Blackstone: Some Early Thoughts

 
Jul 03, 2004

(Based on an interview with Tim Buntel, ColdFusion Product Manager)

    by Michael and Judith Dinowitz

Feature-Rich

Tim Buntel, ColdFusion Product Manager, described Blackstone as a "feature-rich" release. He said, "In the last few years, Macromedia has made a significant investment in the architecture of ColdFusion. We felt it was a good time now to dig back into the wish list that has been building."

The ColdFusion product team examined a variety of applications that ColdFusion programmers typically build, and tried to add features that would make the process easier for developers.

Following are highlights of the high-end features that Tim described:

Data Presentation

Since ColdFusion developers so often deal with data management and presentation, Macromedia is providing several new document creation features. These include:
  • Document Printing:
    Developers can now control the look and feel of their printable content by creating PDF and Flashpaper documents rather than trusting the browser to print the document properly. This feature, now built directly into ColdFusion, allows for more capability than many of the extensions previously written. A great time saver, the new CFDOCUMENT tag retains the look and feel of the original page and eliminates the need to recode a separate page for printing. It also gives developers more control over pagination and style.

  • Report Builder/Generator:
    Macromedia's new structured report generator makes it possible to design and deploy structured, repeating group reports. A Report Builder tool lets developers easily design reports that can contain groups of data, sub-totals and totals, subreports, and embedded graphs. The reports are then generated using a modified version of the CFREPORT tag. Blackstone now makes it possible to create a class of reports that is otherwise only possible using expensive, third party reporting products.

  • Flash Forms and XFORMS:
    When CFFORM was included into ColdFusion, it allowed new form elements that were previously not possible. Unfortunately, this had to be done in Java. Blackstone takes this to its logical next stop, allowing you to create form elements in Flash and XHTML.

    This goes a step forward with XFORMs, as the reason people do not like them is that they are very difficult to code. Blackstone takes the pain out of coding by auto-generating the XHTML for you.

    Flash forms bring in layouts that are not easy to replicate in HTML, such as tabs, accordion fold and trees, and built-in data validation and data binding. Some alpha customers have used XFORMs in very ingenious ways, such as the datepicker (a little calendar widget that lets the user choose a date to put into a form field.) Blackstone will ship with a few prebuilt forms and examples so that people can build their own.

  • Skins:
    Blackstone will also give developers the option to use a "skin," or stylesheet theme, that can be applied to forms, charts, graphs and reports. Skins can be set up in one specific directory, but are applied as an attribute of the individual form or chart tag, and can be selected in the report builder tool when designing a new report. While Blackstone will ship with some prebuilt skins, this feature is extensible, allowing customers to create their own themes.

J2EE/CF Integration

J2EE/CF integration features expand upon ColdFusion's J2EE foundation in two key areas:
  • Deployment of an EAR or WAR file:
    Developers can create a standard EAR or WAR file, without the ColdFusion source code, and place it on any J2EE server.

  • Enterprise manager:
    ColdFusion customers can manage multiple instances of ColdFusion on the J2EE server from within ColdFusion itself. This is a great help to CF programmers, who won't have to learn the complexities of a J2EE server to make use of its benefits.

Event Gateways

The event gateway is one of the most exciting new features for high-end developers because it opens up ColdFusion in many ways. Buntel explains that with gateways you can "take your existing CF skills and respond to any type of event that you can imagine." He points to examples like Telnet gateways, Instant Messaging gateways and SMS gateways. Want to know more? Take a look at one of Buntel's recent blog entries, which provides an excellent explanation of gateways, highlighted in this issue.

So What Makes Blackstone Better Than Other Releases?

Macromedia has stated that this release, more than anything else, is based on features people have asked for. That's not 100% true. While a chunk of the new features are based on end user requests, there are two other groups that Macromedia has paid attention to when adding new features.

The first group is the end users. As Macromedia does have a reputation for client-side User Interface (in Flash, for example), it comes as no surprise that Macromedia would want to leverage its vast knowledge to make it easier for ColdFusion developers to gain access to Flash, advanced user interfaces and printing, just to mention a few features. Yes, these features were requested by people, but even if they weren't, it's actually a logical step for Macromedia to take, especially with their release of Flex (a way for programmers to create advanced user interface applications).

The second group is the forgotten. These are people who have just come into ColdFusion, who have just installed ColdFusion, and have no idea what to do next. They don't know what to write and how to go forward with the program after installing. These new programmers need help, and Macromedia has added new features to Dreamweaver for them.

You may not think of Dreamweaver as being something necessary for a ColdFusion programmer, but every programmer needs an IDE and Dreamweaver is the IDE of choice for Macromedia.

So here we have three groups of people, who will all be happy with this release of ColdFusion. The old time/advanced developers will get features such as gateways, the newbies will get ease of editing, and the end users will get cleaner, more standard user interfaces.

And of course, everyone wins, because this release of ColdFusion is not a total rewrite, as MX was. It is not an update or bug fix, as Redsky was. This is a true advancement of the package, and because of the way ColdFusion was written, there will be few things changed in the features, which means greater stability. Therefore, people can make use of this release of ColdFusion much sooner than they would have with CFMX.

Rate of Adoption

In the ColdFusion world, a new software release is not immediately accepted and adopted by everyone. While approximately 50% of the people may take the new version on the first day and make use of it, the rest usually wait. Some wait due to timing issues (not being able to install the new version and test the applications) while others wait out of fear, not trusting the new release to be stable.

This behavior has its time and place, but is really based on fear. For example, when ColdFusion 5 came out, it was a truly excellent release and could be used the very second it was announced. When ColdFusion MX came out, on the other hand, it was a truly new release on a new code base, and as such needed some breaking-in time. But once Redsky was put out, this breaking-in time was past and there should have been no problem using ColdFusion MX.

The fear will return with the release of Blackstone. There will be a large number of early adopters. Blackstone has that many new and useful features that early adoption is almost mandatory.

There are still those who will hold off out of fear, but they shouldn't, because Blackstone is not a new release. It has many new features, but it is really an upgrade -- an upgrade of a Java product. This is not something that has to be rewritten from scratch every time new features are added. This is based on an object-oriented language, where every feature is simply a new module. The new gateway services are ColdFusion front ends to the Java gateway services. The new Flash services leverage the technology that was innovated in Flex. We're not dealing in things that are totally brand new to Macromedia here. We're dealing with things that are already tried, already tested, and already in use (in some cases for a while now) and what we're getting is really the standard ColdFusion ease over complex subjects.

If Macromedia made any changes to CFSET, CFIF or CFQUERY, I'd be quite surprised. This is a new feature release. New features rarely have a major impact on older ones. Therefore, the fear of something being broken should be mitigated.

But Macromedia takes it a step further. How? By saying publicly that they will be having a larger and more open beta in this release, so they can be sure to have any bugs out of the system before they go public.

Therefore, it is the obligation of ColdFusion users to take part in the beta - to take an ACTIVE part in the beta - and find and report every feature change and bug that they can. With a large group of people examining the product before it releases, the chances of something bad getting through are slim. And if nothing bad gets through, then everyone, or close to everyone, will want to make use of Blackstone early on.

Add a Comment
(If you subscribe, any new posts to this thread will be sent to your email address.)
  
Privacy | FAQ | Site Map | About | Guidelines | Contact | Advertising | What is ColdFusion?
House of Fusion | ColdFusion Jobs | Blog of Fusion | AHP Hosting