The Ortus BlogBox

"Ortus: A rise, beginning, coming into being, born, the origin!"


CFObjective ColdBox Framework 101 session posted

Luis Majano
Oct 15, 2008


I just posted my 101 Framework session given this Friday. It was a great presentation and attendance. If you where not there, you can still check it out by going to the wiki presentations area.

ColdBox MVC, Conferences, Events, Presentations 1

ColdBox + Open BlueDragon

Luis Majano
Oct 15, 2008


Sana Ullah of the ColdBox team, just sent me this image. The image says it all, ColdBox + OpenBlueDragon like each other.

ColdBox MVC, News 6

ColdBox 2.6.0 RC 1 and more news.

Luis Majano
Oct 15, 2008


After much hard work by Team ColdBox, we are glad to put out our first release candidate. Below are some of the new features introduced and the fixes introduced in the release candidate. So please enjoy this release as we approach a final 2.6 version. We will probably have one more release candidate before release and we need all the testing you can give us. If you would like to find out all about the 2.6.0 release, please visit the What's New page in our wiki. Also, please remember that there are a few compatibility issues with version 2.5.X, that may or may not apply to you, so please read the Compatibility Guide to learn if you need to alter something or not. The documentation revisions have started for version 2.6 and all documentation is right now in constant update, not only in English, but in Spanish and Japanese. We are also looking for people or companies interested in the translation efforts, if you are interested, please contact us at for more information of how to partner with ColdBox.

Download RC 1

New Features

  • Plugin/Handler Cache integration services re-built. This provides a huge performance boost on object retrievals..
  • New method: uploadFile() on the Utilities plugin for easy file uploading
  • Environment interceptor re factored to include a new method: detectEnvironement() that can be easily extended by your own custom environment interceptor. This will allow you to do any kind of detection algorithm.
  • Query Helper new method: filterNull(qry, field, NULL or IS NOT NULL) a cute utility method to filter out rows.
  • Autowire interceptor can now read cfproperty tags from plugins/handlers/interceptors or anything you send to it. So now the interceptor can inject via cfproperty annotations or via setters. I like cfproperty because of the following:

  • As you can see from above, the cfproperty tag will grab all the properties of type ioc and then will inject them into the object according to the scope attribute you provide. The default scope is the variables scope. How cool is that. The interceptor will still search for setters and will inject them via setter injection if they have not been injected before. cfproperty takes precedence over the setter.
  • The Attesoro i18n tool has been updated to version 1.8
  • The JavaLoader utility has been updated to version 0.6
  • The request context decorator now receives a reference to the ColdBox controller and a getController() method. You can now develop even richer request context objects by using settings, plugins, or anything that you have available from the ColdBox controller. This really expands on the effectiveness of building request context decorators.
  • Interceptor Service: you now have the ability to register and unregister interceptors at runtime. You don't even need to declare them via the config if you want. You can load them up at runtime. You can even now append custom interception points at runtime. This is a great features that can provide auto-registration systems or drop and play functionality to systems by just tapping into the API and register interceptors and observers. Not only that, but you know have access to retrieve the state containers so you can build your own debugging panels, or interact with any of the observable states. You can add/remove and do all kinds of reporting via the interceptor service API.

Bug Fixes-Optimizations

  • Handler dictionaries not clearing on reinitializations or auto reloads
  • ColdBox factory missing a throw() method
  • Unnecessary creation of request context objects during a request. Instead of creating just one it was re-creating about 5-6 objects. This has been fixed and optimized. A common request was optimized by over 100-300 ms due to this bug.
  • ColdBox reader sample application bugs and fixes
  • Flex Tester sample application bugs and fixes
  • Transfer Sample application bugs and fixes
  • Logger plugin was appending an extra OS slash on the log full path
  • Login Sample application refactored
  • Autowire interceptor was not correctly traversing the inheritance tree to find dependencies
  • Handler Service error on exception string when no handlers found in system.
  • Debugging panel css/html cleanup.
  • More unit testing and complete migration to MXUnit for all our test cases and suites.
ColdBox MVC, News, Releases 1

ColdBox Repository Updates

Luis Majano
Oct 15, 2008


Just some notification that the src folder in the repository has been refactored to make it easier on builds. The folder is now called testharness and the system folder has been pulled out to the root to keep consistency with the actual build. I have slacked off on this updated, but finally here. So if you do auto builds from SVN, please update.

ColdBox MVC, News 0

The power of ColdBox Complex Settings.

Luis Majano
Oct 15, 2008


One of my favorite updates to 2.6.0 is the ability to create complex elements on my settings using JSON notation. In previous versions, you had a very limited JSON notation, but now you have the full fledged notation. This is particularly useful if you want to override settings using the environment interceptor. You can actually override datasource elements or any part of the configuration file. It becomes tricky when overriding structures, but the notation helps out incredibly. Let's say that I have a datasource declaration like this on my coldbox configuration file: But I would like to override or maybe add another datasource element. If I want to override then I can create a setting element on my environment file that can look like this: This will override the datasources structure with the JSON inflated structure. This is really helpful when overriding complex variables and also for setting up new complex settings.

ColdBox MVC, Tutorials, Tutorials 0

Creating Charts with WebCharts 3D and ColdBox

Luis Majano
Oct 15, 2008


Ernst van der Linden has created an incredible tutorial on how to leverage the WebCharts (Included in ColdFusion) library to create amazing map charts, extreme charts and so much more. He has created a coldbox plugin for it and does a step by step tutorial on how to build them. It is really fascinating stuff. So check it out for yourself: Download Guide or visit the ColdBox Wiki

ColdBox MVC, Tutorials, Tutorials 2

ColdBox now has Dreamweaver hints

Luis Majano
Oct 15, 2008


Thanks to Aaron Roberson, we now have the ColdBox dictionaries on Dreamweaver (For those that still use it). I will be updating a guide in the wiki on this, but have also uploaded it to the SVN. If you wish to download it now, please click here. Here are some screenshots:

ColdBox MVC, News, Tutorials 3

CFunited 2008 Presentation Posted

Luis Majano
Oct 15, 2008


I am super excited to be going to my first CFUnited Conference in the next few weeks. I will be doing my first presentations on ColdBox and I just posted such presentations in the official ColdBox Wiki. So please check them out as they are different than any of the presentations and it includes most of the 2.6 features.

ColdBox MVC, Conferences, Events, Presentations 0

Amcom Technology Chooses ColdBox

Luis Majano
Oct 15, 2008


Yesterday Amcom Technology, a software development company based in San Francisco, announced that they did some extensive analysis when choosing the framework for their next big CRM project and had chosen ColdBox. The analysis document is very straightforward and very informative. You can find the link to it in their press release. In his statement, Tariq Ahmed, Manager of Product Development, points out the following:

From a technical level, our own experiences and research showed that all the MVC Frameworks we evaluated were generally equal in performance and scalability. However we found that ColdBox offered distinct advantages in other areas; particularly the toolkit nature of the project which offers various features like debugging, custom exception handling, interceptors, and AOP error logging abilities, but also the fine grain ability to hook in and extend the Framework. From a business perspective, it was a no brainer. The level of documentation rivals professional technical publication teams. And the high degree of long term persistent development activity on the project provides security in the sense that these guys have an unlimited amount of passion to remain committed at that level for so long.
ColdBox MVC, News 0

ColdBox 2.6.0 RC2 Released + Announcements

Luis Majano
Oct 15, 2008


ColdBox RC2 includes some new features and bug fixes to complete the entire feature release schedule for version 2.6. There will be no more release candidates after RC2 but the Final Release in July. We are extremely happy to introduce some cool new features we have been working on for quite a while now. So please enjoy this RC update and stay tuned for the final 2.6 FAITH release in July. As always, you can visit the What's New wiki page for all the in depth document. All of the documents in the wiki are in Revision State and almost all of them have been revised for version 2.6. We are expecting to complete our documentation revisions by July, so keep posted to the wiki timeline as guides are being updated with the latest and greatest documentation for the 2.6 release. Below are also some announcements:

The ColdBox Platform:
The following diagram shows the ColdBox Platform and all of its components. This gives you a better understanding of how ColdBox is not a mere MVC framework but an application platform and a set of developer tools.

ColdBox MVC, News, Releases 1