The Ortus BlogBox

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

 

ColdBox at the Boston CFUG

Luis Majano
Oct 15, 2008

 

I had the privilege of presenting at the Boston CFUG last night on the glories of ColdBox. I was cordially invited by mi friend Brian Rinaldi, so first of all, thank you very much Brian for inviting me to speak. It was a very cool presentation showcasing all of the 2.6.0 features, the methodologies behind it and some very cool examples. I showcased a flex app talking to a coldbox application and using the coldbox debugger, being able to monitor and see the data coming in and out of both technologies. Granted my charting blew up (TEST TEST TEST), but overall, it was a great presentation. The presentation recording has been added to the presentations and media section of the wiki or you can launch it here.

ColdBox MVC, Events, News, Presentations 2

ColdBox Eclipse Help Plugins Updated

Luis Majano
Oct 15, 2008

 

Due to the ColdBox 2.6.0 release coming this weekend, the ColdBox eclipse plugin has been updated to reflect the latest API and documentation. So please update to get the latest help and be ready for the release. I have committed some final bug fixes and updates to the repository and hopefully nothing more will pop up until release this Sunday. Thank you for all your input and for making 2.6.0 a great release. If you have any pending issues on 2.6.0, please make sure to send them to me ASAP. Also, don't forget the early bird pricing on ColdBox Training ends July 31st.

ColdBox MVC, News, Releases 0

ColdBox 2.6.0 Final Release is now available.

Luis Majano
Oct 15, 2008

 

ColdBox 2.6.0 is finally out and in final release. You can now download it from the downloads section of the website.  This has been a much anticipated journey and it would have not been possible without all the collaboration from contributors, team members and the community. It would take so many lines to thank everybody, but for this release I want to thank Sana Ullah for a TREMENDOUS amount of work and dedication to the team.  We also welcomed Matt Quackenbush to the team and more might be joining the efforts soon, especially Ernst van der Linden for always helping out and creating tons of sample applications.  So thank you for your time and dedication to this project and making it a true world collaboration project.

As you can see from the image below, ColdBox has become more than just a framework but into a robust application development platform composed of several pieces that when used in conjunction, they can be an incredibly powerful development platform.  ColdBox 2.6.0 introduces tons of new features and optimizations that can be read in the What's New Guide in the official wiki site.


The ColdBox Platform

I also recommend reading the compatibility guide for pre 2.6.0 applications. This guide will show you if there are any compatibility issues with your application when upgrading. It can show you the workarounds and even guide you from version 2.0 if necessary.  Our vision for version 2.6.0 was to solidify our 2.5 features such as caching, interceptions, conventions, stability and tools.  We have included more than 100 cfeclipse snippets, an enhanced insight dictionary for both CFEclipse and Dreamweaver, a new eclipse documentation and reference plugin that will help you read all the documentation about the framework's API and configuration file from within Eclipse Help, a new enhanced ColdBox Dashboard with even more code generation features, more cheatsheets and help.  There are over 500 pages worth of documentation in the ColdBox wiki, searchable and indexed in such a manner that you can find all the information you need.  The entire documentation set has been revised and ready for reading. It has been a long project I undertook more than 2 months ago and finally finalized.  The entire documentation is up to date with version 2.6.0 and also prepared for the upcoming versions.  Version 2.7.0 has already have a few tickets already assigned and the wheels will be spinning to still provide a community based development environment and help developers around the world create better ColdFusion applications. In summary, thank you for the support and contributions to this project, as they are absolutely of the utmost importance to such a community project. 

Also, take note that ColdBox Platform Training Seminars begin this October 4th and 5th in Dallas, Texas. You will be able to register online at our training section of the website and take advantage of our early bird pricing until July 31st.  You will be able to get more than 16 hours of training and several hours of QA with us and discuss your specific needs.  We are extremely excited about how ColdBox will be able to help your business in the future.  So once again, thank you for the support and please enjoy this release.

FAITH

ColdBox MVC, News, Releases 8

Simple CSS Based Graphing ColdBox Plugin

Luis Majano
Oct 15, 2008

 

Russ Johnson, of team coldbox, has just released his new graphing plugin based on CSS. The plugins looks awesome and so simple to use. Thanks Russ!! You can download the plugin here.

ColdBox MVC, Plugins 0

New ColdBox Addons - Transfer Config Factory and Transfer Decorator Injector Observer

Luis Majano
Oct 15, 2008

 

I am releasing today a set of addons for ColdBox-Transfer interactivity:

  1. TransferConfigFactory.cfc : A factory cfc that produces transfer configuration objects based on ColdBox Datasource configurations. This is thanks to Tom de Manincor
  2. TDOBeanInjectorObserver.cfc : A transfer observer based on Brian Kotek's amazing TDOBeanInjectorObserver in his Coldspring Utilities project, used to create rich decorators by injecting them with dependencies from Coldspring and Lightwire.  However, we had to take it a step further, so it can even inject dependencies from the ColdBox Cache.

You can download these tools from here. All you need to do to install them is drop them in the /coldbox/system/extras folder.  This will create a transfer folder that holds these cfc's inside of the extras folder.  That's it. Then you need to configure them via a coldspring.xml or a lightwire configuration object or manually (ohh brave one).  The tools have also been added to the SVN and I will be adding a link to them from the extra downloads section of the website.

Transfer Config Factory

This object is used to create a transfer configuration object based on the datasource information found in the ColdBox configuration file. This idea is thanks to Tom de Manincor and his musings in ColdBox-ColdSpring-Transfer.  This let's you maintain all of your application's configuration in one single location and not create a datasource.xml.  It is meant to be used alongside coldspring but it can be used as a separate object too (You will have to do the wiring).  Anyways, here is a sample coldspring declaration for this usage:

${Setting: TransferDSNAlias not found} ${Setting: TransferConfigPath not found} ${Setting: TransferDefinitionsPath not found}

As you can see, we first define the coldbox factory element and construct a datasource bean element with it.  We then setup the transferConfigFactory.cfc as a coldspring factory bean.  The last step is configuring the transfer factory. We send in a configuration bean and set it up as a call to our transfer config factory with the same parameters we are used to, except that for datasource we use the dsnBean element and have it referenced to the datasource that we want to use, in our case MyDSN, that we defined at the beginning. If you need a refresher on how the ColdBox Factory for IoC works, please read the following IoC Integration Guide. That's it. Simple as that, now you can define all your configurations via the coldbox configuration file and let coldspring do the heavy lifting.

TDOBeanInjectorObserver

This handy tools is based on Brian Kotek's original observer.  I want to say thank you to Brian for his contributions and incredible code. Thanks Brian. 

However, we have modified it to use ColdBox beanFactory plugin to do the autowiring for us.  For those familiar with the ColdBox autowiring conventions, you can do autowiring via annotations using the cfproperty tag or via setter injection.  Not only that, but you can use ColdSpring or Lightwire seamlessly, and to top it off, you can autowire objects from the ColdBox cache.  Here is a sample of some cool autowire annotations:

As you can see from the code we have two dependencies marked by their types: ioc and ocm.  The type of ioc means that this dependency must be injected from the ioc plugin (coldspring/lighwire) and the type of ocm means that the dependency must be injected from the ColdBox Cache.  The scope attribute is also useful as you can define in which scope or pathed scope you would like this dependency injected.  The default value is variables.

The theory behind this tool is to be able to very easily create rich decorators that can be injected with dependencies from the IoC container or the ColdBox Cache.  It is a great way to have your objects be composed of other objects and utilities. So let's see the coldspring.xml, but first, please note that the instructions below are for ColdSpring 1.2 that enables the usage of the lazy-init property. For Coldpsring 1.0, you will have to do some more manual work. (More instructions found in the cfc's themselves).

 

beanFactory true or false onDIComplete true or false

We first define the ColdBox Factory, then the beanFactory plugin we will use.  We then define our Observer with some cool parameters:

  • Transfer : The transfer bean reference
  • ColdBoxBeanFactory : The beanFactory plugin we just defined
  • useSetterInjection : A boolean variable that enables or disabled setter injection in preference of annotations via cfproperty. If enabled, it will do cfproperty annotations first and then look for setters.
  • onDICompleteUDF : The name of the UDF to call in your decorators once they have been injected with their dependencies.  The default value used is onDIComplete.  This means that you create a method in your decorators called onDIComplete or whatever you like and when the bean factory injects the dependencies, it will call this method afterwards. You can use this to do configuration or object setup.
  • debugMode : This boolean variable is part of the bean factory plugin. If set to true, it will log to the logging facilities all the interactions when trying to autowire the objects.

That's it folks. Once application starts up, coldspring will create and register this observer for you. So when transfer objects are created and have autowire dependencies, they will be wired up.

ColdBox MVC, Tutorials, Tutorials 0

Early Bird Pricing on ColdBox Training ends in 4 days!

Luis Majano
Oct 15, 2008

 

The early bird pricing for the ColdBox Training Seminar ends in 4 days, so get to it and register online.

ColdBox MVC, News, Training 0

Some ColdBox Forums Data Lost!

Luis Majano
Oct 15, 2008

 

I had a huuge scare today when my hosting provider's raid system fell and I got corruption on my databases. They where able to recover about 95% of my data, but I lost about 10 days worth of data on the forums and other applications. Although unfortunate, it was not tragic. If you created a forums account or posting since july 20th, please note that they are in limbo now!! Sorry for the inconvenience

ColdBox MVC, News 2

ColdBox Eclipse Plugins Updated

Luis Majano
Oct 15, 2008

 

A new update version 1.0.4 is now online at the eclipse update site. So please update your ColdBox Eclipse plugins to get the latest and greatest. If you don't know how to update your plugins, just head to the Eclipse Plugins Installation Guide Thanks

ColdBox MVC, News, Releases 0

Implicit Views in ColdBox

Luis Majano
Oct 15, 2008

 

I really forgot to blog about this, but Tony Garcia has done an incredibly useful post about how to go about setting up ColdBox for Implicit Views. As part of his trajectory I even committed an update to the layout manager due to what he was trying to do. I really recommend that you read this article if you love conventions. Great Job Tony!!

ColdBox MVC, Tutorials, Tutorials 0

Coldbox and the CFEclipse Frameworks Explorer

Luis Majano
Oct 15, 2008

 

I believed that this functionality was already enabled in the distro of CFEclipse, but like Marc Esher confirmed it has been left out. So if you are reading (mark drew), por favor activalo amigo!! Anyways, he wrote a cool guide on how to activate it and it is very simple. Please go to his blog and read this article.

ColdBox MVC, Tutorials 0