If you've ever worked with jars or raw java in ColdFusion, you will love the JavaLoader module for ColdBox. The JavaLoader module will interface with Mark Mandel's JavaLoader to allow you to do a network class loader, compiler and proxy. You can keep jars with your application's code instead of putting them in ColdFusion classpath, and you can even dynamically compile java co...
Blog
The Global View Helper
Since the early ColdBox 2 versions we had the ability to declare helpers for our layouts and views by creating a file right next to the view and adding the suffix Helper to it. This would allow the framework to bind the two templates together at run-time. This is a great way to provide further separation by convention. However, there was no way to affect layouts and views globally. You only had the global application helper which injected functions and...
The Security Module
Looking to secure your ColdBox application? The Security Module can be your security rules engine for your application. It provides flexible options to rules based security for you to use.
We have often talked about how a module can be either complex or as simple as an interceptor. Our Security Module is basically just an interceptor that gets registered in your application to enforce rules you define. Installing it is easy u...
Get your i18n on in ColdBox 4.0
As part of the core cleanup for ColdBox 4.0, the internationalization aspects (i18n) have been moved out into their own module. Up until ColdBox 4.0, i18n was a plugin, like messageBox, and Logger, and Validator. All of these plugins have been reworked into ColdBox 4.0 modules and are available on ForgeBox.
Without i18n being in the core, your smaller, focused applications that don't leverage i18n's features won't have i18n weighing down your server.
But, for the i18...
ColdBox 4.0 ORM Services
ColdBox's ORM services have always been a very compelling part of the framework for those using ORM in their applications. The provide you with an automatic, extendable service layer for an ORM entity complete with common methods, pagination and really sweet syntactical sugar such as dynamic finders:
user = userService.findByLastName("Majano"); users = userService.findAllByLastLoginBetween( "01/01/2014", "01/01/2015" ); count = userService.countByLastLoginGreaterThan( "01/01/2013" );
RESTFul Content auto-marshalling with ColdBox
ColdBox 4 introduces yet more nifty tools for RESTFul web services. In ColdBox 4, we introduced the capability to do auto-marshaling of RESTFul body content from either JSON or XML formats. We will take care of the defaults, nulls and incompatibility requirements. All you have to do is use our event.getHTTPContent()
method and pass the appropriate conversion argument.
The possible conversion boolean arguments are:
- json
Hey, where'd my debugger go?
You may be wondering where all that amazing debugging information went in your ColdBox 4.0 application. Have no fear. You can still have your cake and eat it too. We modularized it (sensing a theme in ColdBox 4.0 yet?) So, how do you get all that wonderful debugging info?
Easy! Using CommandBox, run the following command.
ColdBox 4.0 CFML Compatibility
The Obvious Question
For those who haven't yet dived into ColdBox 4.0, the obvious question is this: "Will ColdBox 4.0 work with my flavor of CFML?"
What The Flavor?
You may not have thought about CFML this way before. CFML is the language. The servers that interpret that language are the flavors.
ColdFusion (Adobe) is a flavor of CFML, also referred to as ...
ColdBox 4.0 and Async Loggers
The Asynchronous loggers in LogBox have been removed in preference to the new async property that can be used in any logger. The affected loggers are:
- AsyncDBAppender -> DBAppender
- AsyncFileAppender -> FileAppender
- AsyncRollingFileAppender -> RollingFileAppender
To Plural or not to Plural: The Models Location Changes
Have you ever looked at the folder structure of ColdBox and noticed that, grammatically speaking, model
was the odd man out? No longer! With ColdBox 4.0, the model folder has been renamed to models
for consistency.
To upgrade your application, there are two choices to make it compatible with this change: