ColdFusion MX 7 Feature Tour

Share this article

This article will focus on what’s new on CFMX7 and how this new release is shaking up the Web application server market. I won’t try to teach you how to use all the new additions; instead, we’ll look at the new and exciting features of this release.

ColdFusion MX7 is packed with new features. The ones we’ll focus on here include Flash Forms, document generation, event gateways and reporting capabilities, though there are many others.

Flash Forms

Macromedia brought a little of its presentation server, Flex, into ColdFusion with the addition of Flash Forms. This feature enables developers to create attractive, user friendly forms that can be delivered cross-platform to any Flash-compatible media.

To start using Flash in CFMX7, you’ll need to specify the form’s format, as well as its width and height, in the CFFORM tag:

<cfform format="flash" width="400" height="300"> 
</cfform>

You may notice that HTML and XML formats are also available. For now, we’ll stick with the Flash format.

If you run the code above, a Flash movie with the specified width and height is created, though nothing displays in it. Don’t worry: that’s just because we haven’t added any content to the movie yet!

Information in Flash Forms is organized in form groups that are identified by the CFFORMGROUP tag. This tag holds 13 different types of groups, but for this article, we’ll explore just a couple of them.

First, let’s look at this simple form:

<cfform format="flash" width="400" height="300"> 
 <cfformgroup type="tabnavigator" height="200">
   <cfformgroup type="page" label="First Tab">
     <cfformitem type="text">This tab hold just plain text.</cfformitem>
   </cfformgroup>
   <cfformgroup type="page" label="Second Tab">
     <cfformitem type="text">This is tab hold some form elements!</cfformitem>
     <cfinput type="text" label="My name" width="190" name="myName">
     <cfinput type="radio" label="I'm using ColdFusion MX 7.0" name="CFver" value="70">
     <cfinput type="radio" label="I'm using ColdFusion MX 7.0.1" name="CFver" value="701">
     <cfinput type="checkbox" label="This is a SitePoint.com article" name="sitePoint" value="yes">
   </cfformgroup>
 </cfformgroup>
</cfform>

You’ve probably noticed the several CFFORMGROUP tags in the code. These tags are used whenever you want to group form elements. In this case, we’ve created a tab navigator with two tabs (pages). Each tab is a form group of its own. If you wanted to create three tabs, you would have to create three child form groups with type “page”.

All the other tags included in the form were already present in previous editions of ColdFusion. Make sure you have at least Flash Player 7 installed.

This is what you’ll get when you run the code above:

1500_flashform

You can choose between “First Tab” and “Second Tab” to view different content.

Document Generation

Getting on-screen information to appear elsewhere with the same look and feel has presented a constant problem for the creators of Web-based applications. Well, not any more! Now you can specify the generation of PDF or Flash Paper documents with the exact format you want. Just use the CFDOCUMENT tag in CFMX7 — it’s that easy! Try this:

<cfdocument format="pdf"> 
 SitePoint.com - Introduction to ColdFusion 7
 <h1>PDF Generation</h1>
 <hr />
 This is an example of PDF generation using ColdFusion 7.
</cfdocument>

What will you end up with? A full-featured PDF containing your content, styled exactly as you want it to appear:

1500_pdfgen

Event Gateways

From version 7 onwards, ColdFusion supports gateways. Gateways are interfaces to other systems; they’re ways for events to trigger ColdFusion actions. CFMX 7 supports several gateways, including asynchronous processing, JMS, XMPP and SMS gateways.

How do gateways work? Well, if you have an online SMS gateway in your system, ColdFusion can listen to incoming SMS messages that contain commands, then trigger processing of those commands (e.g. an authorization request). It can even send an SMS back to you to communicate the result of such processing.

To see how gateways work, check out the CFDOCS for instant messaging implementation by Macromedia’s Ben Forta. If you have Yahoo! Messenger, you can add a pal named “cflivedocs”. Then, open a conversation and write CFDOCUMENT. Surprise! The server returns the tag’s information straight from Macromedia’s product reference manual. This works with any ColdFusion tag.

1500_cfdocs

Reporting

Report Builder is another exciting feature of CFMX7. This is a stand-alone application that ships with the Coldfusion package, enabling you to create dynamic report templates (CFR files, for ColdFusion Report).

1500_report

CF Report Builder also includes a visual query builder, and allows you to specify layouts, and format each report element at your convenience.

You can display these reports on your pages using the CFREPORT tag. The output can be exported to PDF, Flash Paper, Excel and RTF formats, though, to get support for this last format, you must have ColdFusion 7.0.1 installed. Here’s how it’s done:

<cfreport template="YourReport.cfr" format="pdf"> 
</cfreport>
Developing for the New ColdFusion

All these new features can render some current IDE software, like Dreamweaver, out of date when it comes to working with CFMX7. Dreamweaver 8 ships with full CFMX7 support, but if you’re using a prior version (such as MX 2004), you can download the CFML 7.0 support plug-in from the Macromedia Website. There are also updated code and help files available for Homesite+. If you’re already using ColdFusion 7.0.1, the new features introduced in this version are not yet supported on IDEs.

If you’re after an alternative to Macromedia’s own software, you can use the excellent CFEclipse plug-in for the Eclipse 3.x platform. The current version (2.0) features full CFML 7.0 support. Get used to the Eclipse environment, as it will be the base for the upcoming Macromedia’s Flex IDE.

Moving into the Java World

Everyone knew that ColdFusion made the use of Java classes very easy. Now, with version 7.0.1, the benefits become bidirectional.

ColdFusion now has the CFCProxy, which enables programmers to invoke CFC components directly from Java code. This will, for sure, reinforce the enterprise aspect of ColdFusion. With this new functionality, Macromedia ensures that investments made either in Java or ColdFusion can be reused, offering added value to customers.

Wrapping Up

There’s a lot more to say on Macromedia ColdFusion’s new features — the market is already reacting to this new feature-rich release. Macromedia’s upcoming merge with Adobe will confirm ColdFusion’s place in the market, and I’m sure we’ll see great things on the next release. These are exciting times for the CF community!

Hugo SombreireiroHugo Sombreireiro
View Author

Hugo's the senior product manager for Vexis, a Portuguese software development company. Vexis is a Macromedia Alliance Partner for Coldfusion and Flex platforms.

Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week