OpenBD v2.0 is released

Version 2.0 of OpenBD is one of our biggest releases to date, bringing bug fixes, improvements and major new features. Full details of all these features can be found at

Here is the brief overview of all the major components, in no particularly order:

  • argumentsCollection support for core functions
    The majority of the core functions can now be called using the argumentCollection feature for argument passing.
  • attributeCollection support for tags
    Many of the popular tags now support the attributeCollection feature for passing in attributes in a single structure.
  • cfscript language="java"
    Create snippets, function or complete classes in pure Java, right inline with your CFML pages. The fastest and easiest way to code Java, write, refresh and run.
  • cfscript language="javascript"
    Create snippets, function or complete classes in pure JavaScript, right inline with your CFML pages. Fully integration with the CFML runtime passing variables/functions in and out.
  • Core Language Options
    CFML, while a great language, is not without its quirks. You can turn off some of these quirks and make OpenBD CFML behave like you would expect. Arrays can be passed by object or by reference to UDF functions. Declaring locally scoped function variables inside CFC's no longer require explicitly 'var' declarations. Declare 'var' inside loops without provoking errors.
  • Amazon S3 Functions upgraded
    Our Amazon support got a whole lot better complete with a whole set of new functions for utilising the latest Amazon S3 features, including signed URLs, meta-data, storage location choices.
  • ImageYYY() suite added
    Complete suite of Image functions that let you perform a whole host of functions and transformations on images, including JPG, PNG, TIFF and BMP files.
  • Application.cfc additions
    We've added some more hooks here for you; onSessionEnd() and onCFCRequest(). Timeouts can now be set per session request.
  • JSON performance updates
    JSON has become the new data transport format and OpenBD has increased its parsing performance dramatically. Large or small, OpenBD has no problems, including providing support for date, boolean (true/yes) and null support.
    This is the release we added cfinterface support
  • CFMAIL callback methods
    CFMAIL has always been a bit of a black hole. No longer. You can now have CFC callbacks (onMailSend()/onMailFail()) for when email is delivered or fails to be delivered.
  • html()
    One of the more powerful functions added to the OpenBD family. This function gives you JQuery style selectors/manipulation for HTML blocks of code. Makes changing blocks of HTML code a breeze and a joy.
  • catchemail
    CFMAIL is a great way to send email. However during development and testing you usually don't wish to send real emails to real users. We've all come up with our hacks to stop this. No more. You can now specify a one or more catchemails in the bluedragon.xml that will intercept all outgoing emails and send them to those inboxes instead.
  • JavaCast()
    JavaCast method got a major overhaul, supporting string[], classes, BigDecimal, short, char and byte types.
  • fixEOL()
    It's always the simple things that can trip up a good web application. Carriage returns is one of those things that plague web apps, as Windows, Linux, Mac users produce different results. This handy little function normalizes your block to a given standard.
  • Search Overhaul
    Our embedded search engine, based around the popular Apache Lucene, has been completely rewritten to support a whole host of new features. Firstly, all our the tags have their own function versions. You can index web sites, paths, and files (including images, PDF, DOC, TXT and MP3 files). No longer limited to just 4 custom fields; you can have as many as you wish. Many other features. See the manual page
  • QueryRenameColumn()
    Another simple but very useful function, rename columns in queries without any overhead
  • DateTimeFormat()
    Tired of always having to do DateFormat() and TimeFormat() one after another? How about a combined function that takes one mask and outputs the complete date/time in one function call.
    Make AJAX development a breeze with this wonderful tag that exposes your CFC as local remote JavaScript objects. There is more. It supports rich objects being passed back and forth. So pass structures/arrays (nested combinations) and have your CFC receive them as they are intended.
  • Accept Incoming Email
    We've not only merged our popular CFSMTP plugin into the core branch, but we've added a whole host of functions to support this powerful feature. Process incoming emails like you would web requests. Start building email applications.
  • SpreadSheet support
    The popular SpreadSheet plugin has been integrated to the core branch with a number of bug fixes, new functions and upgraded support for XLS and XLSX.
  • Advanced Security Layer
    We've integrated a new security feature that lets you handle user authentication without having access to their passwords. Great for integration with Microsoft Active Directory or LDAP servers.
  • crontab for CFML
    As powerful as CFSCHEDULE is, the Linux crontab view of scheduling is simple: drop a file into a directory that is scheduled to run at a given interval. This is now available inside the code engine. You may never use CFSCHEDULE again.
  • MongoDB Integration
    OpenBD introduces full integrated support for working with the popular MongoDB. Quickly and easily manage collections of documents, with CFML. Whole host of new MongoYYY() functions as well as engine changes to accomondate fast and efficient interactions.
    Improvements made, including new attributes and better backend handling of resources.
  • Reduced Memory footprint
    Major changes have been made to how we handle requests, significantly reducing the number of objects that are created on each request. This has increased not only performance, but the memory overhead required for each request. We were extremely efficient under heavy load as it was, but this takes us to a new level.
  • Rendering Improvements
    We streamlined how we render each request particularly when it comes to exception handling. Many frameworks use exception handling as flow control so they will see a difference here. Improved error reporting should things go wrong helping you pinpoint where exactly.
  • 3rd Party Library upgrades
    We've kept uptodate with all the latest updates from around the community, including MySQL, Lucene, Apache, Yahoo.
  • ReadyToRun Jetty Upgraded
    We've upgraded the Jetty that powers the Ready2Run including providing the tools to support Microsoft Windows startup help to have OpenBD up and running on startup.
  • OpenBD Desktop
    One of your most exciting developments this year, is the desktop GUI that gets you running OpenBD CFML in literally seconds. Knock up new apps in minutes as we prepare the folders for you and then hit a buttton to export as a standard Java WAR file.
  • /manual/ completely overhauled
    Our manual continues to increase in popularity and comes to you now completely with a new look and feel. It is shipped with every distribution.
  • Admin Console completely overhauled
    Inline with our new manual, the admin console has been overhauled with a fresh new look and new features.
  • Over 250+ fixes/additions/improvements
    and finally, we've clocked up over 250+ that cover a wide range of changes. Keep an eye on our ReleaseNotes for full details.

Huge thanks to everyone that helped with this release, including those on our mailing list and Steering Committee for their continual advice/input and testing skills. We're very proud of this release and marks a significant milestone in the evolution of CFML.

Head over to to download OpenBD v2.0 and start playing with the goodies.


Recent Cloud posts

Recent JAVA posts

Latest CFML posts

Site Links