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 http://openbd.org/manual/
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.
- 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.
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.
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 method got a major overhaul, supporting string, classes, BigDecimal, short, char and byte types.
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
Another simple but very useful function, rename columns in queries without any overhead
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.
- 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 http://openbd.org/ to download OpenBD v2.0 and start playing with the goodies.