Blog

ContentBox v1.5.7 Released!

Luis Majano September 24, 2013

Spread the word

Luis Majano

September 24, 2013

Spread the word


Share your thoughts

We are announcing the release of ContentBox v1.5.7 which includes some critical patch fixes and managed to squeeze in some new functionality.  You can either download the updates or use our auto-update panel to upgrade.  The updates are now cumulative for the 1.5.X series only as well, so you can upgrade from any 1.2 version or higher.  However, please remember to read the update instructions before auto-updating.

We are also formalizing our releases, all releases will be placed in the bleeding edge channel before general release.  If all goes well after 1 week of being in the beta channel, then it moves to the general release.

  • ContentBox Source: To deploy in any CFML engine (Adobe or Railo)
  • ContentBox WAR: To deploy in any J2EE engine
  • ContentBox Express: To deploy in any machine

Download

Release Notes

You can read our very detailed release notes in our archive page.  Below we will cover the major enhancements this release brings to the table a part from all the improvements and bugs that where squashed.

Admin Themes

Module developers can now implement their own admin theme via our interface: contentbox.model.ui.admin.IAdminTheme and our AdminThemeService


interface{

	/**
	* Get the internal name of the theme
	*/
	string function getName();
	
	/**
	* Get the display name of the theme
	*/
	string function getDisplayName();
	
	/**
	* Get the list of CSS/LESS assets that will be loaded for this theme
	*/
	string function getCSS();
	
	/**
	* Get the list of JavaScript assets that will be loaded for this theme
	*/
	string function getJS();

}

Once registered, you will see the theme chooser in the ContentBox System Settings:

Here is the default theme we use and how we register it:


component implements="contentbox.model.ui.admin.IAdminTheme" singleton{

	property name="log" 			inject="logbox:logger:{this}";
	property name="moduleConfig" 	inject="coldbox:moduleConfig:contentbox-admin";

	function init(){
		return this;
	}
	
	/**
	* Get the internal name of the theme
	*/
	
	string function getName(){
		return "contentbox-default";
	}
	
	/**
	* Get the display name of the theme
	*/
	
	string function getDisplayName(){
		return "ContentBox Default";
	}
	
	/**
	* Get the list of CSS/LESS assets that will be loaded for this theme
	*/
	
	string function getCSS(){
		return getContextRoot() & moduleConfig.mapping & "/includes/css/contentbox.css";
	}
	
	/**
	* Get the list of JavaScript assets that will be loaded for this theme
	*/
	
	string function getJS(){
		return "";
	}
	
}

To register the theme you must get a handle on the object via WireBox ID: adminThemeService@cb  and use the registerTheme( obj ) method:


// register my Theme
var myTheme = wirebox.getInstance( "path.to.MyTheme" );

adminThemeService.registerTheme( myTheme );

Embedded Database

The datasource creator in our ContentBox installer has been updated to allow for the usage of a Hypersonic SQL Embedded database when used within Railo.  This will allow you to create packagable and deployable ContentBox instances.

Media Manager Permissions

We have added a new permission called: MEDIAMANAGER_LIBRARY_SWITCHER that allows administrators to select which users can switch media library management.

UI Updates

Lots of small UI updates to make the look and feel consistent and some straglers from the old UI design.

 

Add Your Comment

Recent Entries

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

The MatchBox open beta is live at https://boxlang.ortusbooks.com/boxlang-framework/matchbox, and it brings something genuinely new to the BoxLang ecosystem: a path into WebAssembly.

That means BoxLang code can now move into browser applications, static-site deployments, edge runtimes, and WASI-style containers - without requiring a JVM. The feature is still beta, but the core direction is already useful: write BoxLang, compile it with MatchBox, and ship the generated WASM artifact to wherever a small portable runtime makes sense.

Jacob Beers
Jacob Beers
June 04, 2026