Blog

Gavin Pickin

August 02, 2016

Spread the word


Share your thoughts

In Luis Majanos last webinar, "Widgets, Modules, Themes Oh My" ( View Recording ), there was so much to say about Widgets and Modules, there was no time left for Themes. Since there was a lot of interest, we have extended our whole roadshow one more week, so you'll get this blog post, and 2 more this week, and the final webinar will be Friday August 5th ( 9am PST 11am Central), a Deep Dive on Themes. ContentBox 3 has a lot of updates regarding themes, we'll give you a taste below on what you'll learn about in the webinar.

Register Now

Since ContentBox is built on ColdBox, and ColdBox got a big update from 3.8 to 4.0, so did ContentBox. Layouts were only a small part of what we are now calling Themes. 

New Theme Descriptor - Theme.cfc

Themes now support Theme.cfc for describing your theme, and your settings. This will be backward compatible, this change will make it easier for tooling to tap into the Theme settings.

Theme Setting Groups

Themes are getting bigger, better, and more complex, and so are the theme settings. With this in mind, we introduced Setting Groups, so settings can be logically grouped together, to make it easier to manage your theme once it is installed on your website.

Theme Modules

Themes are build on top of ColdBox 4 modularity, and now Themes can include Modules. Themes today need to do so much more, so tap into modules and do not reinvent the wheel. You can ship your theme with as many modules as your theme needs.

Theme Events

Theme Settings are great for most options you might need to give users of your theme, but sometimes, you might want to have something special in the settings form, or maybe in the Theme Info page. You can control this now, by intercepting Theme Events. You can tie into the following theme 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

Theme Development Process

When developing a theme, we recommend using tools like Grunt, and Bower to streamline your workflow, and deliver only the required assets to your theme user. We have grunt and bower setup for our new themes built for ContentBox 3, and we'll show you how one of those work flows actually works, so you can get up and running in developing your own theme, utilizing all of the work flows needed, including copy assets, minifying, cache busting, Sass compilation, and anything else you may need.

Join Luis Majano on Friday, August 5th at 9am PST, 11am Central to see all of this, ask questions, and more.

Register Now

Add Your Comment

Recent Entries

BoxLang 1.17 Series Part 4 : WriteDump Enhanced!

BoxLang 1.17 Series Part 4 : WriteDump Enhanced!

You call writeDump() on an ORM entity or a very rich class graph . The browser locks up. Thirty seconds later you get a page with forty thousand rows on it, you scroll for a while, you give up, and you go edit your code to dump a sub-key instead. Or worse, you crash the server.

Luis Majano
Luis Majano
September 11, 2026
BoxLang AI 3.4 Blog Series Part 4 : Locking Down Prompt Injection

BoxLang AI 3.4 Blog Series Part 4 : Locking Down Prompt Injection

LLM applications face a class of attack traditional input validation was never built for: prompt injection. An attacker embeds instructions in user input, a retrieved document, a web page your tool fetched, or an MCP result, trying to override your system prompt, exfiltrate data, or hijack a tool call. BoxLang AI 3.4.0 ships four layered, configurable defenses against exactly this, plus one more that's on unconditionally.

Luis Majano
Luis Majano
September 11, 2026