Good things from Macromedia

Last night, I attended Ben Forta's presentation to the Philadelphia ColdFusion User's Group. Ben presented a ColdFusion "state of the union" and then spent a significant amount of time demonstrating new features in the coming ColdFusion Blackstone release. Before starting, however, he was sure to explain that there are no guarantees about which features will make the final cut. Macromedia has started to open up its internal server development process to ColdFusion developers to allow them to see what's coming down the road, but everything is subject to change.



Ben first presented some statistics about current ColdFusion deployments. According to Google, there are millions of additional ".cfm" URLs now on the web, and Macromedia believes there are even more deployments behind corporate firewalls. Sales of ColdFusion server licenses continue to grow and have grown for each of the past 8 quarters. Macromedia has already invested 8000 man hours in the Blackstone release, which started shortly after ColdFusion MX was released.



This summer, Macromedia will be releasing an updater for ColdFusion MX 6.1. The updater will include 60 some hotfixes that have already been released as well as a new version of the JDBC drivers. This will be provided mainly as a convenience to the CF community, since it is difficult to manage the numerous hotfixes that have been released.



In the fall, the public beta of Blackstone will be launched, with an expected product launch of "soon", according to Ben. (actual release is anticipated in "early 2005" after some audience grumbling about "soon" )



Ben then dove into some of the new features of Blackstone. Blackstone is planned as being a feature-centric release, unlike CFMX which was primarily an architectural release, having moved from C to a Java base.



The first area Ben demonstrated are some powerful enhancements to CFFORM. The new CFFORM essentially makes ColdFusion a server-side XForms processor. Using an XSL stylesheet, you can use the CFINPUT tags to define your fields and labels, and then use a separate stylesheet to determine the exact layout of the controls. No changing tables, adding breaks, etc. Ben demonstrated taking a plain-looking form and changing it using a theme called "Happy Tomato", which added borders, formatting, and a background image. Powerful stuff.



Along the same lines, CFTREE and CFGRID are now Flash-enabled, doing away with the sometimes clunky Java applet controls. Elements of Macromedia Flex have been worked into the product as well - any control (text fields, etc) can be rendered as a swf, or the entire form can be rendered as a Flash movie. This opens up some great possibilities for doing tab-based form navigation and the like. Lastly, some additional validation functions are being added to make it easier to ensure end-user data is correct.



The next area Ben demonstrated was printing and reporting. Blackstone includes an awesome CFDOCUMENT tag. The short story here is anything placed inside this tag will be rendered or saved as a PDF or FlashPaper document, suitable for printing. Of course, this wouldn't be complete without additional tags for doing headers and footers, page breaks, and sections. Output can be customized further by page size (letter, legal, etc).



Taking this one step further, Ben then demonstrated the new CFREPORT tag. Usage is remarkably simple - do a SQL query, pass it to the cfreport tag along with your report template, and select an output format (PDF, FlashPaper). The report template (.cfr file) is an XML file that contains the report definition, including data grouping and summarization. A GUI report builder tool will be included that will run on Windows computers, with other OS versions to follow later. As an XML file, however, any XML aware application (including ColdFusion) can create or modify the templates.



ColdFusion Blackstone will include a number of long-awaited deployment options, including the ability to run ColdFusion applications without the CFML source. CF apps can also be bundled in a EAR or WAR file along with the ColdFusion application itself for easy deployment atop existing J2EE servers. Additionally, support for multiple instances of ColdFusion will be built into the CF Administration tool, so little outside configuration will be needed.



Ben then demonstrated some other smaller enhancements. One area Macromedia has spent a significant amount of time researching is how new users use ColdFusion. While an very easy language to pick up, using it correctly is more difficult. Ben demonstrated a new extension for Dreamweaver for securing a directory with a username and password. The resulting code from Dreamweaver was very tight, and included CFC's AND a readme.txt with documentation.



Other new enhancements include the ability to embed images in CFMAIL, a new CFNTAuthenticate tag for easy Active Directory authentication, a CFTIMER tag for debugging use (times code execution), many additions to XML functionality including the ability to validate XML against a DTD, as well as some additions to charting and graphing. ColdFusion Blackstone will also include the ability to call ColdFusion code from Java (think about THAT for a second) as well as a documented API for performing ColdFusion Administrative functions.



Thanks much to Ben Forta for taking the time to travel the country talking to many of the user groups. See Ben's site for a schedule of the remainder of his tour.