We have also updated the theming engine in ContentBox with ColdBox 4 goodness and extreme modularity. Here you can find the major updates for the theming engine.
Themes is our new mantra. We have transitioned layouts to what we now call ContentBox Themes. They have been revamped to support ColdBox 4.
The theme descriptor CFC is now named Theme.cfc
. Backwards compatibility still remains, but now the new descriptor will provide a nice way for editors and tools to target.
You can now create theme setting groups in the theme descriptor Theme.cfc
and the new admin UI will present them in a categorized and ordered format. This is a great way to visualize theme settings.
Themes can now include ContentBox modules in a new folder convention called modules
. This allows you to ship your theme with 1 or a billion modules.
The theme life-cycle now presents several new events:
cbadmin_preThemeSettingsSave
- Before saving theme settings
cbadmin_postThemeSettingsSave
- After saving theme settings
cbadmin_onThemeSettings
- When displaying theme settings in the admin UI
cbadmin_onThemeInfo
- When displaying theme information on the admin UI
The following are major system architecture updates we have done in ContentBox 3.
We have updated the entire core to leverage ColdBox 4 and modularity. We have completely re-architected all modules to adhere to ColdBox 4 standards and rely on CommandBox CLI for package management and resolutions. This update in itself is worth noting as it not only modularized even more ContentBox, but gave it a source code reduction and performance boosts.
Oracle and PostgreSQL are now fully supported.
The default algorithm for passwords is now based on BCrypt with work factors for better security and entropy. You can read more on bcrypt here: https://en.wikipedia.org/wiki/Bcrypt
A new password policy is now in place for ContentBox for new and current users, which must be greater than 8 characters with at least one:
Lower case character
Upper case character
Digit
Special character
The ContentBox administrator module now comes with a login tracker which if enabled can track invalid logins and be able to block individual ip addresses from brute-force attempts. We even track all valid logins into the new ContentBox Security Audit Log.
ContentBox now comes with a rate limiter module that can limit count and duration and very configurable. This can stop denial of service attacks or just penetration hacking attempts.
Introduction of core and user based system settings. This allows for the distinguishing of what are ContentBox core settings and custom user or module settings when managing them from the geek panel.
You can now decide in which caching engine to store global ContentBox settings. This provides the way to fully scale ContentBox in any cloud provider.
SSL support can now be found everywhere in ContentBox for both the UI and admin modules. Users can even select specific pages for users to transition into or out of SSL for richer eCommerce or secure experiences.
The majority of all modules have been now translated into English, Spanish, Italian, German and French. There is still work to do to localize the entire source, but it is coming.
Our entire build process has been revamped and now we can produce ContentBox Express editions with included Java runtimes for Linux, Mac OS X and Windows.
We have completely re-architected our asset pipeline and ContentBox now comes with an integrated development pipeline for front-end development. All assets are now tracked via bower and npm. We have created a developer guide for anybody working with the admin assets and collaborating.
All development is now done with CommandBox and all dependencies are tracked via CommandBox. This provides a smoother update processes for users and also a great workflow for collaboration.
DocBox now generates all API docs with much better documentation and readability.
ContentBox 3.0.0 is a major release and with a completely rewritten administration module. If you are upgrading from a previous release, please make sure you read the . You can find the full release notes here:
ContentBox 3 is a collection of more than 150 tickets resolved. It has been a massive undertaking with some great results. We have divided all the major updates in this release by category below:
If you already have a ContentBox 2.X installation you will have to follow this guide in order to update your installation. Please note that ContentBox 3 is a major upgrade and will require some manual steps on your part in order to have a seamless upgrade.
Like with any automated process, there is room for error. So backup your files and database, we will not be held responsible for any mishaps.
We have created a special ContentBox 2 module that will update your installation. Please visit and download the master branch by clicking on the download button.
Unzip the download and copy over the folder to your current ContentBox installation in the modules
folder. Make sure the folder is called cbcms-updater-v3
. It should be placed alongside the other ContentBox modules.
In order for the module to take effect, you must restart your application or even better your server.
Now open your application and visit the module by using the /CB3Updater
URL entry point. Here is an example: http://mysite.com/cb3updater
The module will be active and it will tell you to upgrade your application's config/ColdBox.cfc
that you must do so manually according to the instructions presented. Once you have done this manual step, then save your file and click on the Continue button.
Now you will be in step2 of the module wizard. It will show you an updated Application.cfc
according to your old Application.cfc
on disk. If there are any custom changes that are not reflected, then update as you see fit. Once done, then click on the continue and save button. This will start the upgrade process, grab a cup of coffee and wait for the installer to show you the finalization screens.
If you are on a Windows machine, unfortunately, you will have to have an extra step due to the fact the OS creates file locks on certain files. This means that the upgrader will not be able to upgrade the coldbox
folder in its entirety. You will have to stop the ColdFusion/Java server, and remove the following folder: coldbox/system/core/javaloader
manually. Once removed, restart the server and click on the button that says Continue so you can finalize the process.
If all went well, then you should see the screenshot above. You can now log in to your new application and site. We would recommend a final server restart if possible as well. IMPORTANT: Now you must delete the module from disk
Below is a listing of all the major updates in the administration modules.
The administration module sports a completely re-designed responsive UI. Our goal was to think mobile first and build from there. So you will see tons of great additions for working on mobile devices, new editors, new fullscreen mdoes and much much more. Below is a nice image gallery of all the changes in the administration module. Please note that every single screen has changed.
ContentBox now sports native Markdown support for writing all content objects. You can even choose markdown on a per-user level as your preferred writing style.
We have included a new code editor that supports HTML and Markdown natively. This will allow developers or editors to write in native markup and have all the integrations into ContentBox. It also sports realtime previews and side-by-side editing in full screen. Your editing experience is about to get a whole lot better now.
We have introduced local storage auto saving capabilities for all editors in ContentBox. No matter the implementation, we will provide auto-save capabilities. This is a great way to know that silently your work is secure.
You can now use the <escape></escape>
syntax in any content editor to escape ContentBox translations for settings, markdown, etc.
All live previews are now responsive. Meaning you can choose from the responsive previewer the type of device and get immediate feedback of the content result in real-time.
The content editors have completely been re-designed for mobile first paradigm. They sport new tabbed interfaces for history, comments, custom fields and editing. You also have much more real estate when editing and even full screen editing support.
The dashboard now supports a cleaner interface for visualizing the latest content edits, drafts, comments and news.
Improved UI to match the new admin UI with responsive updates. It also has a smoother uploading and drag and drop uploading capabilities.
We have added HTML5 fullscreen mode capabilities for the admin UI. This will allow you to go full screen to edit, create and manage in a gorgeous huge display.
RSS feed options and caching options can now be customized via settings.
All content objects now have the ability to set natively a featured image alongside the content.
The author details now sports two new panels to showcase their latest edits and latest drafts. It will make it much easier for authors or administrators to discover what they are working on.
The CBHelper sports some new methods:
getPrivateRequestCollection()
- Get the ColdBox private request collection
isHomePage()
- Verify if the current rendered page is the home page
prepareUIRequest()
- Use in any ColdBox module to prepare rendering under the ContentBox theme
Here is a collection of all the new admin interception points:
onGlobalSearchRequest
- When a global search is made
onGlobalSearchDisplay
- When the global search is displayed
cbadmin_beforeLoginForm
- Before the login form renders
cbadmin_afterLoginForm
- After the login form renders
cbadmin_preThemeSettingsSave
- Before saving theme settings
cbadmin_postThemeSettingsSave
- After saving theme settings
cbadmin_onThemeSettings
- When displaying theme settings in the admin UI
cbadmin_onThemeInfo
- When displaying theme information on the admin UI
We have a new official UI theme that you will come to love. It has over 10 different skins and configurations that will give you a plethora of configuration patterns for your site. It is based on bower and grunt assets, so you can easily fork and customize.
The UI module now allows you to be able to export your pages, or blog entries in many response formats by adding the formats as extensions to the URL or using a ?format=XXX
URL variable.
json
XML
word
The JSON and XML support means you can now build alternative UI modules based on modern JavaScript or other language frameworks. This is a game changer for ContentBox as it will provide you with the ability to export any piece of content or blog in a tranportable RESTFul format. You can get a response format from any page, blog entry, blog archive, and blog filters.
A new header will be sent to the browser if a content page is cached: x-contentbox-cached-content
. This can provide proxies or cache engines the ability to tell when a page is cached by ContentBox.