Blog

ColdBox 4.0 Module Enhancements

Curt Gratz February 02, 2015

Spread the word

Curt Gratz

February 02, 2015

Spread the word


Share your thoughts

One of the biggest things we changed about ColdBox 4.0 is making tons of the core completely modular.  To support this change, we needed to enhance our modules architecture which brought some cool new features to you.  

Module Inception

Every time I talk about ColdBox modules with people, I get asked if modules can contain modules, which up to now wasn't an option. But the first Module Enhancement I'd like to bring to your attention is just that.  We call it Module Inception.  This will allow for even greater ways for you to build and architect your applications.  Modules can be nested to the Nth degree.  Creating a ton of options and flexibility for you the developer in how you organize your code.

Module Dependencies

The next Module Enhancement I'd like to point out is Module Dependencies.  This allows for you to ensure the modules that are needed to support your module are available and active before before your module is loaded.  This is handy in controlling activation order (avoiding chicken and egg problems) and again gives you better options as you architect your applications with modules.

Module Model Wirebox Mappings.

Now your module models will be mapped in Wirebox automatically similar to how your ColdBox model folder is mapped.  The mappings will be setup with the DSL that is model@modulename.  For example.

property name="orderService" inject="OrderService@store";

Of course, if you don't want it to work this way, we give you a setting called autoMapModules that you can set to false if you don't want to map your models in your modules.

These are just a few of the Module Enhancements.  To check them all out, read our wiki page at 

http://wiki.coldbox.org/wiki/WhatsNew:4.0.0.cfm#Module_Enhancements

Add Your Comment

Recent Entries

CBWIRE 2.2 Released

CBWIRE 2.2 Released

We're excited to announce the release of CBWIRE 2.2. This release includes several added enhancements, such as new lifecycle hooks and simplified Turbo Drive integration. We changed the previous lifecycle hook of mount() to onMount() to be consistent, and several bugs were squashed.

Maria Jose Herrera
Maria Jose Herrera
January 09, 2023
FORGEBOX v7.1.0 Released

FORGEBOX v7.1.0 Released

We are so happy to announce a minor release for our package management system. In this release, we take care of some bug fixes reported and a lot of work for our elastic search engine. Now better search results with an improved response time. We have updated our core modules to the latest versions for better security and performance.

Javier Quintero
Javier Quintero
December 30, 2022
Favorite 2022 Ortus Content

Favorite 2022 Ortus Content

2022 was quite the year. For us, it was all about delivering exceptional content and service to our amazing community of developers. That's why we updated our tools, released new products, and announce upcoming projects and initiatives we are working on for 2023.

We know 2023 will be awesome but 2022 was amazing too. Read on and don't miss anything, review the top content we released in 2022 and improve your projects in 2023. Happy New Year!

Maria Jose Herrera
Maria Jose Herrera
December 29, 2022