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

12 Days of BoxLang - Day 4: TestBox

12 Days of BoxLang - Day 4: TestBox

Today we’re celebrating one of the most exciting new additions to the BoxLang ecosystem:

the TestBox BoxLang CLI Runner — a fast, native way to run your TestBox tests directly through the BoxLang Runtime. ⚡

No server required. No CommandBox needed. Just pure, ultra-fast BoxLang-powered testing from the command lineon Windows, Mac, and Linux.

If you’re building modern applications with BoxLang — web apps, CLIs, serverless functions, Android apps, or OS-level utilities — this new feature gives you a unified, flexible testing workflow you can run anywhere.

Victor Campos
Victor Campos
December 13, 2025
12 days of BoxLang - Day 3: SocketBox!

12 days of BoxLang - Day 3: SocketBox!

As BoxLang continues evolving into a modern, high-performance, JVM-based runtime, real-time communication becomes essential for the applications we all want to build: dashboards, collaboration tools, notifications, live feeds, multiplayer features, and more.

That’s where SocketBox steps in — the WebSocket upgrade listener built to work seamlessly with CommandBox and the BoxLang MiniServer. ⚡

Today, for Day 3, we’re highlighting how SocketBox supercharges BoxLang development by giving you fast, flexible, and framework-agnostic WebSocket capabilities.

Maria Jose Herrera
Maria Jose Herrera
December 12, 2025
12 Days of BoxLang - Day 2: CommandBox

12 Days of BoxLang - Day 2: CommandBox

BoxLang + CommandBox: The Enterprise Engine Behind Your Deployments

For Day 2 of our 12 Days of Christmas series, we’re diving into one of the most powerful parts of the BoxLang ecosystem: CommandBox the defacto enterprise servlet deployment platform for BoxLang.

If BoxLang is the language powering your applications, CommandBox is the engine room behind it all. ⚙️

Victor Campos
Victor Campos
December 11, 2025