Today we are very excited to bring you ContentBox version 3.6.0. This release was all about improvements to the core, localization and internationalization for sites, many bug fixes, UI improvements and updates to our containerization strategy. Please see below the major areas of improvement and our full release notes.

New Installer Module

The installer module is now available as a standalone module using the slug contentbox-installer-module. This will improve our container and your container strategy as now you can bring in the installer on demand via CommandBox.

install contentbox-installer-module

Ability to contribute CSS to CKEditor

Thanks to the Computer Know How guys you can contribute your own CSS files to the CKEditor instance so the content has your theme's look and feel. Please note, this is mostly usable for theme developers and module developers.

The event is called cbadmin_ckeditorContentsCss and it will receive a struct with one key called contentsCss which is an array. You can then append CSS style sheets to that array that CKEditor will showcase.

function cbadmin_ckeditorContentsCss( event, interceptData ){
// Add css
interceptData.contentsCss.append( "/path/theme.css" );
}

Site Localization Updates

Thanks to the Computer Know How guys, this release sports many i18n improvements.

Changing Site Locales

A ContentBox application depends on the ColdBox i18n module which gives you the ability to serve any content in any language, use resource bundles and use the resource utilities. However, we have now exposed the ability natively for users to change locales via the UI module using our URL of: http://site.com/__changelang/en_US. The route expects an ISO valid language code in the format of code_variant.

Note By default, visitor locale's are stored in the cookie scope. You can change this via the config/Coldbox.cfc configuration CFC.

Generating Locale Links

The CBHelper object can now produce these links for you in your layouts, themes and views by leveraging the following method:

/**
* Link to the __changeLang route, this is where the fwLocale is changed
* @lang The iso language code
*/
function linkLanguageChange( string lang = "en_US" ) {
return getRequestContext().buildLink( '__changeLang/' & arguments.lang );
}

Locale Content Caching

All caching strategies have now been updated to allow for locale to determine its key. This way, every visitor's language will be cacheable and performant.

Release Notes

Bugs

  • [CONTENTBOX-442] - Emails sent out to be approved or point back to the dashboard are not adhering to SSL rules of the site
  • [CONTENTBOX-814] - Blog counts in category list include non-published entries.
  • [CONTENTBOX-880] - Admin actions are note multi-tenant, regression
  • [CONTENTBOX-896] - markdown converter not accounting for null markups from upgrades
  • [CONTENTBOX-897] - Importer does not import cbox package
  • [CONTENTBOX-898] - Error on update patch for additonal non-existen argument on log.append()
  • [CONTENTBOX-899] - missing variable exception on module config for environment variables and setting service
  • [CONTENTBOX-901] - On HTTPS reload link are not ssl enabled
  • [CONTENTBOX-909] - Adobe ORM Incompatibilities
  • [CONTENTBOX-910] - bug on maintenance mode when user not logged in, null exception

    New Features

  • [CONTENTBOX-878] - Admin > Settings On/Off toggle
  • [CONTENTBOX-881] - Create new installer slug: contentbox-installer-module
  • [CONTENTBOX-905] - New __changeLang/:lang UI route to allow for User locale changes
  • [CONTENTBOX-906] - New CBHelper method for creating links to change UI locale languages linkLanguageChange()
  • [CONTENTBOX-911] - New ContentsCss interceptor for CKEditor module in order to allow for custom css to be loaded
  • [CONTENTBOX-912] - Add getNumberOfContentStore and PublishedContentStore formulas to categories

Improvements