Welcome to Macromedia ColdFusion MX 7, the most feature-rich release of ColdFusion since version 1.5! ColdFusion MX 7 delivers something for everyone:

Application developers can use features such as rich forms, document printing, business reporting, and enhanced charting, to make an immediate impact on application usability and effectiveness.

System administrators can use features such as the Enterprise Manager, sourceless deployment, and Java 2 Enterprise Edition (J2EE) archive creation to streamline the integration of ColdFusion MX into existing application infrastructure.

Emerging developers can use features such as the ColdFusion MX Dreamweaver extensions and the Getting Started Experience to quickly understand ColdFusion concepts and usage.

These Release Notes describe what is new and changed in this release, provide late-breaking news, include information about installing the release, and list additional documentation for the release.

For additional information on ColdFusion MX 7, see the following web pages:

What's new in ColdFusion MX 7

ColdFusion MX 7 offers a range of significant new features that increase developer productivity, simplify management, enhance J2EE integration, and open ColdFusion up to a new universe of clients beyond the web. Regardless of your interests, skill level, or application requirements, you are sure to find features that will have an immediate impact on your ColdFusion application development.

Note: Some features may not be available in all editions of ColdFusion MX.

The following table describes the new features in ColdFusion MX 7:

ColdFusion MX 7 features

Feature

Description

Documentation

Rich Forms using Flash

Generate forms in Macromedia Flash. These forms include the following features:

You can use Flash format for an entire form, or for cftree, cfcalendar,or cfgrid elements on a form.

You can use new display formats, including accordion, tabbed navigator, horizontal and vertical divided boxes, tile, and panel.

Generate forms in XML format. When using skinnable forms, you apply a skin to transform the XML to HTML. ColdFusion MX 7 provides several basic skins, which include support for vertical and horizontal layouts, field sets, and JavaScript validation.

Create well structured, repeating-group reports quickly and easily with the Report Builder and the cfreport tag. ColdFusion reporting includes banded reports, subreports, and charting and creates output in Macromedia FlashPaper, PDF, or Excel format.

Install the ColdFusion Report Builder from the ColdFusion MX 7 CD, the CFIDE/installers directory, or the ColdFusion MX Product page.

Execute code based on certain application events, such as onSessionStart and onSessionEnd. You use an Application.cfc file instead of Application.cfm to let you control your application and keep track of application events. ColdFusion triggers Application.cfc methods when the application, sessions, and requests start or stop, and when the application encounters an exception.

If you did not choose the Getting Started Experience when running the Install Wizard, you can view it on the Macromedia website.

Open the ColdFusion MX Administrator and click the Getting Started link at the top of the page or go to the ColdFusion Developer Center on the Macromedia website.

J2EE deployment

Create an enterprise application archive (EAR) or web application archive (WAR) file that contains the ColdFusion MX web application, settings for ColdFusion MX (such as data source definitions), and the CFM pages used by your application. This feature, which works in all configurations, lets you quickly create an archive file that a J2EE administrator can use to deploy your ColdFusion MX application.

Create and manage server instances and clusters from within the ColdFusion MX Administrator. This feature, which lets you automatically deploy the ColdFusion application as part of the server instance creation process, is available in the multiserver configuration only.

Provide a mechanism for ColdFusion to react to (or generate) external events or messages. Event gateways do not require HTTP requests. You can write event gateway applications without using CFM pages; you only need ColdFusion components (CFCs), which listen for and respond directly to external events.

Send and receive instant messages in a ColdFusion application. The gateway for Open Source Instant Messaging Server is based on Extensible Messaging and Presence Protocol (XMPP). ColdFusion MX 7 also includes an IM event gateway for Lotus Sametime.

Interact with mobile phones that use text messaging or with other devices, such as text messaging pagers. In addition, the lightweight Short Message Server Center (SMSC) server and SMS device simulator let you do initial SMS application development without an external SMS provider.

Review example code to help you get started with event gateways. These samples are located in the cf_root/gateway (server configuration), jrun_root/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/gateway (multiserver configuration) or cf_webapp_root/WEB-INF/cfusion/gateway (J2EE configuration) directory.

Change ColdFusion settings programmatically, without logging into the ColdFusion MX Administrator. For example, you can use the Administrator API to add, modify, or delete a data source, scheduled task, or ColdFusion mapping.

Verity

The ColdFusion MX Verity implementation has been completely rewritten to use Verity 5.5 and its all-Java interface, which has many implications, including the following:

Verity 5.5 uses a client-server paradigm.

Because ColdFusion uses a pure Java interface to Verity, native libraries are no longer required.

The Verity search service consists of three separate processes:

k2server  for searching

k2index  for indexing

k2admin  for administration

Verity searches now return Keyword Scores for the alternate keywords returned in the Status structure.

ColdFusion MX no longer manages collections directly.

There is no longer the concept of external and internal collections.

All collections are managed by the Verity search server.

Verity pages in the ColdFusion MX Administrator have changed.

Although the Verity search server is very similar to K2 functionality previously available in ColdFusion MX, the interface between ColdFusion and Verity has completely changed. For example, there is no longer a k2server.ini file.

There are major changes to the following tags. For more information, see CFML Reference.

cfcollection

cfindex

cfsearch

There are additional fields in the search results.

In general, you no longer need to wrap cfcollection, cfindex, and cfsearch calls within a cflock tag.

Using cfform in a multihomed environment

In ColdFusion 5, the cfform tag used inline JavaScript code for validation. In ColdFusion MX, cfform includes the CFIDE/scripts/cfform.js file, which contains all JavaScript. However, if your application runs in a hosted environment with multiple virtual websites, your virtual website may not contain a CFIDE directory, which causes JavaScript errors when using cfform.

If you encounter this problem, use one of the following solutions:

Ask your hosting provider to provide a copy of cfform.js and change your cfform tags to use the scriptsrc attribute, specifying the location of this file.

Use the Default CFFORM ScriptSrc Directory field in the ColdFusion MX Administrator to specify the default path (relative to the web root) of the directory containing the cfform.js file.

Ask your hosting provider to modify your virtual website to include a virtual mapping for the CFIDE directory.

Data source changes

The cfsnippets, CompanyInfo, and CFExamples data sources have been combined into the cfdocexamples data source. This database includes all tables from the previous three data sources. It is provided to support the ColdFusion documentation code examples and does not necessarily represent best practices in database design (for example, there is an employee table and an employees table).

The Application.cfc file

The updated application framework in ColdFusion MX 7 lets you use a file named Application.cfc to control your application and keep track of application events. You use Application.cfc instead of Application.cfm. Application.cfc methods are triggered when the application, sessions, and requests start or stop, and when the application encounters an exception.
If your application already uses a file named Application.cfc, you must rename it.

Web Server Configuration tool and web server connector

The Web Server Configuration tool and the web server connector have the following changes:

The Web Server Configuration tool creates the following additional properties:

ConnectTimeout  The number of seconds to wait on a socket connection to a JRun server. The default value is 15.

RecvTimeout  The number of seconds to wait on a socket receive to a JRun server. The default value is 300.

SendTimeout  The number of seconds to wait on a socket send to a JRun server. The default value is 15.

ProxyRetryInterval - The number of seconds to wait before trying to reconnect to an unreachable clustered server . The default value is 600.

In addition to the suffix mappings used previously (.cfm, .cfml, .cfc, .jsp, and .jws), the Web Server Configuration tool now creates web server mappings for .cfr (used by ColdFusion reports) and .cfswf (used for Flash forms generated by the cfform tag).

In earlier ColdFusion versions, web server connector source code for Apache was made available in a connectors/src directory. In ColdFusion MX 7, web server connector source code is in the wsconfig.jar file, located in cf_root/runtime/lib (server configuration) or jrun_root/lib (multiserver configuration).

Classloader changesColdFusion MX 7 now loads all the JAR files in cfusion/lib and cfusion/lib/update. You no longer need to add cfusion/lib to the system classpath. Additionally, ColdFusion MX 7 has its own class loader, for which you define the classpath using the cf.class.path element in the WEB-INF/web.xml file.

In the multiserver configuration, the installer creates a JRun user named admin, with the same password as the ColdFusion Administrator password.

These files are typically located in C:\Program Files\Crystal Decisions\Report Designer Component.

Other installation and configuration changes

The following changes have been made to ColdFusion configuration:

In the Server configuration, the JRun server name is coldfusion (cf_root/runtime/servers/coldfusion). In ColdFusion MX 6.1, the server name was default (cf_root/runtime/servers/default). Having different server names allows ColdFusion MX 6.1 and ColdFusion MX 7 to run at the same time.

The installer for the multiserver configuration (formerly known as the ColdFusion MX with JRun 4 option) automatically creates a JRun user named admin with the same password as the ColdFusion MX Administrator password. Use this user ID and password to log into the JRun Management Console (JMC).

The Install Wizard now includes processes formerly done by the Configuration Wizard.

During installation, the JRun default server is not installed in the multiserver configuration, which means that the jrun_root/servers/default directory structure is not created, and a service for the JRun default server is not defined.

The ports for the ODBC services have been changed from 19997 and 19998 to 19995 and 19996, in order to let ColdFusion MX and ColdFusion MX 7 ODBC services run at the same time. Depending on your configuration, you may need to modify firewall settings to enable use of these ports.

If the Install Wizard detects an existing installation of ColdFusion MX or ColdFusion MX 6.1 and you specify use of the built-in web server, it uses port 8501 (or the next-highest unused port) for the built-in web server.

In the Developer Edition, in addition to localhost, ColdFusion MX 7 allows two additional IP addresses.

The JavaMail.jar file has been updated to version 1.3.1.

The cfx.jar file has been moved to one of the following locations:

Server configuration: cf_root/wwwroot/WEB-INF/lib

Multiserver and J2EE configurations: cf_webapp_root/WEB-INF/lib

General enhancements

The following table describes general enhancements in ColdFusion MX 7:

ColdFusion MX 7 Enhancements

Enhancement

Description

Documentation

Query of queries enhancements

Query of queries now includes the following:

More lenient type comparisons. Query of queries now makes the best effort to compare expressions of different types by doing implicit casts.

Support for the CAST( expression AS casttype) function.

Support for the varchar concatenation operator ||.

Support for SQL and ODBC-style dates inside a query of queries

Size is no longer a reserved word when you create a query of queries, so you can create a query of queries using cfdirectory with a column named Size.

Sandbox security lets you secure the CreateObject function by type. You can now turn off access to Java, COM, or Web Service objects without turning off access to ColdFusion components through the CreateObject function.

Note: Turning off access to Java, COM, or Web Service objects through the CreateObject function also turns off access through the cfobject tag.

You can now call user-defined functions using the same name as the following obsolete advanced security functions: IsAuthenticated, IsAuthorized, IsProtected, AuthenticatedUser, and AuthenticatedContext.

Not applicable

Enhanced PDF/SWF streaming support

ColdFusion MX 7 can now recognize Internet Explorer agent conttype requests, and can send back content type responses. This results in more reliable PDF/SWF streaming in Internet Explorer.

Not applicable.

ColdFusion MX Administrator

In addition to changes that support new features, the ColdFusion MX Administrator contains the following changes:

New look and feel

The Settings page includes a Default CFFORM ScriptSrc Directory field, which lets you specify the default path (relative to the web root) to the directory containing the cfform.js file.

Removed StringFormat from the data source pages for DB2, Informix, Oracle, and Sybase.

Certain options, such as Maximum Number of Simultaneous Requests, which were previously unavailable in the J2EE configuration, are now available in the multiserver configuration even though, technically, it is a variant of the J2EE configuration.

ColdFusion MX Administrator online Help

Enhancements and changes to tags and functions

The following table describes major enhancements and changes to tags and functions in ColdFusion MX 7. For a complete list of tag and function changes, including change history back to ColdFusion MX, see Migrating Applications to ColdFusion MX 7, which is available in PDF only.

ColdFusion MX 7 Enhancements

Enhancement

Description

Documentation

Form validation

You can now select any combination of the following forms of validation in the cfform tag:

onsubmit: Validation using JavaScript or ActionScript on the client when the user submits the form. This validation corresponds to the standard cfform validation technique in previous releases.

onblur: Validation using JavaScript or ActionScript on the client when the user changes focus from the input field.

onserver: Validation by ColdFusion when it starts processing a submitted form. This validation format corresponds to the hidden form field validation technique in earlier releases, but it provides a simpler and more consistent method for specifying the validation.

You can now specify multiple validation types for each field.

The available validation algorithms have been made as consistent as possible across form validation locations (on client and on server) and form type (Flash, HTML, and XForms). Wherever possible, all validation types are now supported for all form locations and types and by the cfparam tag. All form validation options and cfparam options are enhanced.

Includes an IsValid function that tests whether a value meets a validation or data type rule. This function supports the same validation tests as are provided in the cfinput, cftextarea, and cfparam tags, including range and regular expression validation.

The cfchart tag lets you specify the style of the chart in either an XML file or string.

Use the new title attribute in the cfchart tag to specify the title of the chart. In addition, the charting engine has been updated. Charting output has also been improved. You can now use dates on the y-axis of a chart.

Enhanced status information, including number of documents searched, how long the search took, and a keyword score, which returns the weights associated with the suggested spellings for a misspelled keyword. (The value of the keyword score is between 0 and 99, with a higher score indicating a better quality result.)

Spelling correction, which offers suggestions for an alternate query if there are too few search results.

Use the new scriptProtect attribute of the cfapplication tag to help protect against cross-site scripting attacks. You can also use this feature in an Application.cfc file. To maintain backwards compatibility, this feature is disabled by default.

Support has been added for using strong encryption algorithms in encrypting and decrypting data, and for generating hash and random number values. An Algorithm parameter has been added to the following functions:

Encrypt

Decrypt

Hash

Rand

RandRange

Randomize

Use the new GenerateSecretKey function to generate a key for use in the Encrypt and Decrypt functions.

Note: Two additional parameters were added to the Encrypt and Decrypt functions after the ColdFusion MX 7 manuals were sent to the printer. These changes make it possible to interact with password-based encryption algorithms and other advanced encryption technologies. For more information, see the Encryption TechNote.

XML handling has been enhanced with the addition of several new functions, including decision and information functions, the ability to create an XML document object, and validation functions and attributes. Support has been added for validation against both XML Schemas and DTDs.

The XMLTransform function now allows you to pass in parameters to the XSL.

Use the following new XML functions and parameters:

XmlNew

Decision and information functions:

IsXML

IsXMLAttribute

IsXMLDoc

IsXMLElem

IsXMLNode

IsXMLRoot

XmlGetNodeType

Validation support:

XmlParsevalidator attribute

XmlValidate

Enhancements to XMLParse:

Support has been added for specifying a document path or URL, including a relative URL, in the XMLParsexmlText attribute.

The CreateObject function and the port attribute of the cfcomponent tag let you select the port to use in a Web Services Description Language (WSDL) file that contains more than one service, such as the MapPoint web service.

The cfinvokeargument tag has a new omit attribute that allows you to omit arguments to a web service that you invoke.

Use the new ToScript function to create JavaScript variables from a ColdFusion variable. This function can convert ColdFusion strings, numbers, arrays, structures, and queries to JavaScript syntax that defines equivalent variables and values.

Installation

Introduction

You can install ColdFusion MX 7 in the following configurations:

Server configuration - Lets you install one instance of ColdFusion MX 7 with an embedded J2EE server (JRun 4). This configuration most closely resembles the ColdFusion MX base release and other releases prior to ColdFusion MX, such as ColdFusion 5 and ColdFusion 4.5. This was formerly known as the stand-alone configuration.

Multiserver configuration (Enterprise and Developer Edition only) - Installs JRun and automatically deploys ColdFusion MX 7 in a separate JRun server instance. This configuration contains the Enterprise Manager, which lets you create server instances with ColdFusion automatically deployed as well as manage clusters and ColdFusion MX 7 deployments on multiple JRun servers.
The multiserver configuration differs from the ColdFusion MX with JRun 4 option in ColdFusion MX 6.1. Specifically, the multiserver configuration offers additional ColdFusion MX Administrator options and the Enterprise Manager. If you installed ColdFusion MX 6.1 using the ColdFusion MX with JRun 4 option and wish to use the Enterprise Manager, you must uninstall JRun before installing ColdFusion MX 7. Alternatively, you can continue defining server instances using the JRun Management Console (JMC).

J2EE configuration (Enterprise and Developer Edition only) - Lets you deploy ColdFusion MX 7 as a Java application running on a Java 2 Enterprise Edition (J2EE) application server, either using the bundled license of JRun or using a third-party J2EE server, such as IBM WebSphere or BEA WebLogic. When you use the J2EE configuration, you can deploy ColdFusion MX 7 multiple times on a single computer.

The installation process has two parts: the Install Wizard and the Configuration and Settings Migration Wizard. The Configuration and Settings Migration Wizard, which runs automatically the first time you open the ColdFusion MX Administrator, migrates data sources and other settings to ColdFusion MX 7, in addition to configuring ColdFusion.

The ColdFusion MX Administrator automatically upgrades settings from ColdFusion MX 6.1, ColdFusion MX, and ColdFusion 5. You can run multiple versions side-by-side. However, only one version can use an external web server to access ColdFusion pages.

Installation notes

The following notes include important information and late-breaking news:

The Windows installer requires a computer that supports at least 256 colors.

Before you install ColdFusion MX 7 on the same computer where ColdFusion MX or ColdFusion MX 6.1 resides, copy the CFIDE and cfdocs directories, which are subdirectories of the wwwroot directory, to another location that is not a subdirectory of wwwroot. After you install ColdFusion MX 7, if you uninstall ColdFusion MX or ColdFusion MX 6.1, the uninstall process deletes these directories. You can restore the CFIDE and cfdocs directories by copying them from the location where you copied them before installing ColdFusion MX 7.

To use RedHat AS 2.1 or 3.0, the Linux installation must have the corresponding RedHat libc compatibility libraries to run ColdFusion MX 7, as follows:

On Red Hat AS3, if you configure Apache or Apache2, you must either have the Red Hat rpm compat-glibc-7.x installed or build the connector locally using the new wsconfig -apxs switch, as the following example shows:

If you are running IIS 6, the web server connector upgrade does not automatically enable certain performance optimizations. If you are currently running ColdFusion MX or ColdFusion MX 6.1 on IIS 6, perform the following steps after installing ColdFusion MX 7:

Uninstall the web server connector, using either the Web Server Configuration tool or the wsconfig command-line utility.

Configure the web server connector, using either the Web Server Configuration tool or the wsconfig command-line utility.

Alternatively, you can update the following registry setting and restart IIS:

Installing ColdFusion MX 7

For additional information on installing the ColdFusion MX 7 J2EE configuration on specific J2EE servers, go to the ColdFusion Support Center.

Documentation

The following list describes the ColdFusion documentation for ColdFusion MX 7 and includes links to the latest versions of the documentation in the Macromedia LiveDocs system. The LiveDocs documentation includes comments and updates to the documentation that might be made after the product is released. The documentation is also installed in HTML format with ColdFusion MX 7, and PDF copies of the documentation are available from the Macromedia website:

Configuring and Administering ColdFusion MX Part I describes how to manage the ColdFusion MX environment, including connecting to your data sources and configuring security for your applications. Part II describes Verity search tools and utilities that you can use for configuring the Verity Search Server engine, as well as creating, managing, and troubleshooting Verity collections.

Installing and Using ColdFusion MX Describes system installation and basic configuration for Windows, Solaris, and Linux. Also includes a troubleshooting chapter to help you handle installation problems.

Getting Started with ColdFusion MX Contains an overview of ColdFusion MX features and application development procedures. Includes a tutorial that guides you through the process of developing a sample ColdFusion application.

ColdFusion Report Builder online Help This online Help system contains topics that explain usage for the ColdFusion Report Builder. It is located in the same directory as the ColdFusion Report Builder.

Migrating Applications to ColdFusion MX 7 Describes migration considerations and functionality changes that apply when moving to ColdFusion MX 7 from ColdFusion 5, ColdFusion MX, or ColdFusion MX 6.1. This document is available in PDF only.