![]() |
Release Notes |
Last updated: May 15, 2002 11:00 PM |
|
For the most current release notes, click here. |
Welcome to Macromedia ColdFusion MX, the next generation of ColdFusion Server!
The following release notes describe known issues, installation notes, and late-breaking news about ColdFusion MX. Use the online forums at http://www.macromedia.com/go/prod_forums to share ideas and techniques with other users.
To help you get up to speed quickly, we’ve assembled Getting Started information geared to fit your needs—whether you’re new to ColdFusion or an experienced web developer. Follow the Getting Started links in the ColdFusion Administrator. (To access the ColdFusion Administrator in Windows, select Start > Programs > Macromedia ColdFusion MX > Administrator.)
To learn more about ColdFusion MX, see the product information and FAQ at http://www.macromedia.com/software/coldfusion and visit our MX Application Development Centers on the Designer & Developer Center.
Note: The release notes for Flash Remoting (which lets you interact with ColdFusion pages, components, and server-side ActionScript from a Flash movie), are located at http://www.macromedia.com/go/flashremoting_releasenotes.
The following table describes the latest changes in ColdFusion MX, beyond what is included in the documentation:
Product Area | Change | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Configuring IIS | Please see the Windows installation notes for an important change in configuring IIS for ColdFusion MX. | ||||||||||||||||||||||||||
Installing ColdFusion MX on HP-UX | The following are the required settings for HPUX:
|
||||||||||||||||||||||||||
(Linux SuSE) Configuring the Zeus web server 4.1 | The Zeus connector uses the following Netscape module: libjrun_nsapi35.so Configuring Zeus 4.1 for ColdFusion MX To configure Zeus 4.1 to use ColdFusion MX on SuSE, run the following command on a single (long) line: cf_root/jre/bin/java -jar /opt/coldfusionmx/runtime/lib/wsconfig.jar -ws zeus -dir /usr/local/zeus/ns-config/https-<your site>/config -v The following is a sample command: /opt/coldfusionmx/jre/bin/java -jar /opt/coldfusionmx/runtime/lib/wsconfig.jar -ws zeus -dir /usr/local/zeus/ns-config/https-surf/config -v Removing the Zeus 4.1 configuration for ColdFusion MX To remove the Zeus 4.1 configuration for ColdFusion MX, run the following command on a single (long) line: cf_root/jre/bin/java -jar /opt/coldfusionmx/runtime/lib/wsconfig.jar -ws zeus -dir /usr/local/zeus/ns-config/https-<your site>/config -v -r The following is a sample command: /opt/coldfusionmx/jre/bin/java -jar /opt/coldfusionmx/runtime/lib/wsconfig.jar -ws zeus -dir /usr/local/zeus/ns-config/https-surf/config -v -r |
||||||||||||||||||||||||||
Changing the web document root for the built-in ColdFusion MX web server | Note: cf_root in the following instructions refers to the directory
in which you installed ColdFusion MX. By default, this is C:\CFusionMX in Windows and
/opt/coldfusionmx on UNIX.
Windows
|
||||||||||||||||||||||||||
cfhttp |
You can now use cfhttp to post raw XML data, by using a new
parameter type called XML. This sends the raw XML data with content-type = text/xml.
The following is a sample cfhttp call to post raw XML data:
<cfhttp url="..." method="POST"> <cfhttpparam name="param1" value="<xml string>" type="XML"> </cfhttp>Also, cfhttp allows only one cfhttpparam for a
post when posting raw XML data.
|
||||||||||||||||||||||||||
cfregistry (Windows only) |
To support very large sets of registry data, cfregistry now
supports the startRow and maxRows attributes when
used in conjunction with action="GETALL" and type="KEY" .
The startRow value is the first row of the results to actually
include in the result query (default: 1). The maxRows value
is the number of rows after the startRow to include in the
result query (default: all remaining). These attributes will help you to
avoid running out of memory with very large data sets. However, please note
that the ColdFusion-related values that are stored in the registry are subject
to change; therefore, for best results, store your data in a database.
|
||||||||||||||||||||||||||
cfset |
The cfset tag has a new keyword, var , that specifies that the
variable being defined is a function-local variable, a variable that is only available inside
the body of a function. The usage is as follows:
The cfset tag var keyword is the equivalent of the var
statement in cfscript . You must place all cfset tags that use the
var keyword at the beginning of the cffunction tag body, before any
other ColdFusion tags. You can use the var keyword in a cfset tag
only if the tag is inside the body of a cffunction tag. If you use the
var keyword in a cfset tag outside a cffunction tag body,
ColdFusion displays an error message. The following example shows how to use the new keyword:
In this example, the variable<cffunction name="myFunct"> <cfset var myVar = "This is a test"> <cfreturn myVar & " message."> </cffunction> <cfoutput>#myFunct()#</cfoutput> myVar exists only when the function
myFunct executes, and it is not available elsewhere on the ColdFusion page.
For more information on using the var keyword, see the
Documentation Updates page on the Macromedia website. |
||||||||||||||||||||||||||
REFind() |
The REFind() function returns subexpressions as follows:
it returns one position/length pair for the entire match and subsequent
position/length pairs for each parenthesized group within the match. In
ColdFusion 5, in some cases this function would not include a position/length
pair for each parenthesized group.
|
||||||||||||||||||||||||||
Date and time formatting | The following functions now support the mask attribute values short, medium,
long, and full: DateFormat , TimeFormat , LSDateFormat ,
and LSTimeFormat .
For more information, see CFML Reference. |
||||||||||||||||||||||||||
Query of Queries | If you create a Query object with QueryNew() and populate a column with
dates that have one-digit months (for example, 4/24/02), the dates are preserved as a string
inside the Query object until a Query a Query is applied to the Query object, as in the
following example:
Once a Query a Query is applied to the query object, the string representations of the dates are turned into date objects. For example, (row 1, col2) becomes {ts '2002-04-24 00:00:00}. Any subsequent access to these cells is in that format. If you want to retrieve it back in its original format you must use use<cfset queryAddRow(q1,3)> <cfset q1['col1'][1] = 1> <cfset q1['col2'][1] = "4/24/02"> <cfset q1['col1'][2] = 2> <cfset q1['col2'][2] = "3/26/04"> <cfset q1['col1'][3] = 3> <cfset q1['col2'][3] = "2/28/03"> DateFormat and apply the "mm/dd/yy" mask.
|
||||||||||||||||||||||||||
Secure LDAP connections | You no longer need a Netscape Cert7 format certificate store file (cert7.db)
to make a secure LDAP (SSL v2) connection. You can now omit the second
token of the string for the secure attribute of the cfldap
tag that was formally used to specify the location of the cert7.db file,
and just use SECURE="CFSSL_BASIC" instead. This
is because cfldap SSL support in ColdFusion MX now uses Java
Secure Socket Extension (JSSE), and JSSE does not accept cert7.db as a keystore.
This is how it works: ColdFusion MX uses Java Native Directory Interface (JNDI), the LDAP provider, and an SSL package to create the client side of an SSL communication. The LDAP server provides the server side. The LDAP server that cfldap is connecting to using SSL holds
an SSL server certificate. During the initial SSL connection, the LDAP
server presents its server certificate to the client. If the client trusts
this certificate, the SSL connection is established and secure LDAP communication
can begin.
The simplest way to establish this trust is to store the server's certificate in the jre/lib/security/cacerts keystore of the JRE used with ColdFusion MX. This certificate is different from cert7.db—this certificate must be in X.509 format to import it. The simplest way to import to the client's keystore is to use the keytool command to import the server's cert into the cacerts store in /jre/lib/security. For example, enter the following: keytool -import -keystore cacerts -alias ldap -file ldap.crt
(The keytool utility is in the jre/bin directory and the initial password is "change it"). |
||||||||||||||||||||||||||
Accessing Component Object Model (COM) objects | ColdFusion MX includes a utility, com2java.exe, that creates Java stub files for COM objects.
ColdFusion can use Java stub files to access COM objects more efficiently than when the
cfobject tag or CreateObject tag creates the connection to the objects
directly. Also, you must generate Java stubs to correctly access complex COM objects that do not
properly make all their features available through the COM IDispatcher interface.
If you create Java stub files for a COM object, you do not have to change your ColdFusion code. You continue to use the cfobject tag with a type attribute value of
COM or the CreateObject function with a first argument of COM, and you access the
object properties and methods as you normally do for COM objects in ColdFusion.
For instructions on how to create Java stub files for COM objects, see Technical Brief 22922. |
||||||||||||||||||||||||||
Verity searches | The Index Verity Collections page now recognizes the language with which a Verity collection was created and needs to be indexed, and ColdFusion MX automatically indexes a collection using the language with which it was created. | ||||||||||||||||||||||||||
Sandbox security |
You must use absolute paths for security sandbox names. | ||||||||||||||||||||||||||
Flash example applications | If you use Netscape 6.2 or an earlier version, you cannot view the Flash example applications installed with ColdFusion MX. Netscape 6.3 will resolve this issue. |
This section contains important installation information for all platforms, Windows, and UNIX. This section does not list system requirements or provide installation instructions. For this information, see Installing ColdFusion MX.
Note: In this section, cf_root refers to the directory in which you installed ColdFusion MX. By default, this is C:\CFusionMX in Windows and /opt/coldfusionmx on UNIX.
The following table lists other installation-related tasks and where you can find the information that you need to complete them:
Task | Information resource |
---|---|
Migrate a ColdFusion application to ColdFusion MX | The Migrating from ColdFusion section of this document and Migrating ColdFusion 5 Applications |
Interact with ColdFusion pages, components, and server-side ActionScript from a Flash movie, using the Flash Remoting service in ColdFusion MX. | Using Flash Remoting and
Using Server-Side ActionScript with ColdFusion MX.
Note: You must install the Flash Remoting Components in the Flash MX authoring environment. The Flash MX authoring environment is required to build applications that connect to and interact with the Flash Remoting service in ColdFusion. |
Install ClusterCATS | To download the appropriate setup file for your platform, see
http://www.macromedia.com/go/cfmx_clustercats.
For installation instructions, see Using ClusterCATS. |
The following table contains important information for installing and configuring ColdFusion MX that applies to all platforms.
Task | Issue |
---|---|
Preparing to install | If you installed a prerelease version of ColdFusion MX, you must uninstall the prerelease
version and then do one of the following, depending on your platform:
|
ColdFusion MX uses the Java Runtime Environment (JRE) to run, and installs its own
private copy of the Sun JRE 1.3.1_03 by default into the ..\runtime\jre directory on Windows
and the ../jre directory on Solaris and Linux. (On HP-UX, ColdFusion MX uses the HP JRE
release 1.3.1_01.)
Please make sure that your computer meets the minimum system requirements for the JRE. The SUN JRE 1.3.1_03 release notes are at http://java.sun.com/j2se/1.3/. |
|
Installing on a computer with an existing JRun 4.0 installation | If you install ColdFusion MX on a computer that has JRun 3.x or 4.0 installed and JRun is configured to connect to an external web server, choosing to configure the same external web server for ColdFusion MX will cause JSP pages and servlets to be processed through ColdFusion MX instead of through JRun. |
Configuring web servers | ColdFusion MX supports the following web servers: IIS 4.0 and 5.x (Windows only), Apache 1.3.2x and later as well as 2.x, Netscape 3.6x, iPlanet 4.x and 6.x, Zeus 4.1 (Linux SuSE only), and the ColdFusion MX built-in web server. |
If you configure the Apache or Netscape/iPlanet web server to use ColdFusion MX, the ColdFusion Administrator launches on port 80 by default. If your web server runs on a different port, you must change the URL for the ColdFusion Administrator to reflect this. | |
If you configure an instance of Apache web server that supports EAPI for ColdFusion MX,
when you start this instance of Apache server, an error similar to the following appears:
You should be able to safely ignore this error; the ColdFusion Apache module is not compiled
with EAPI because it does not utilize any of the EAPI funtionality.
However, if you do encounter a problem, please contact Macromedia Technical Support. |
|
Websites that use multiple host names with different document roots for accessing the
ColdFusion MX server must change the cacheRealPath option of the
ProxyService to false. This setting might cause slower performance;
this is why the option is set to true by default.
Edit c:/cfusionmx/runtime/servers/default/SERVER-INF/jrun.xml and change the value of the following option from true to false.
|
|
You can run ColdFusion MX on multiple web servers on the same computer; for example, to compare the same templates on different web servers. To do so, configure each web server following the instructions in Installing ColdFusion MX. Then create a virtual mapping that points to the CFIDE directory. | |
If you have any problems with the IIS, Apache or Netscape webserver connectors, there is a log file that will have information about the failure. Please provide this to a technical support engineer to help them diagnose the problem. This log file is located in cf_root\runtime\lib\wsconfig\wsconfig.log in Windows and cf_root/runtime/lib/wsconfig/wsconfig.log on UNIX. |
The following table contains important information for installing and configuring ColdFusion MX in Windows.
Task | Issue |
---|---|
Installing on a computer with an existing ColdFusion installation
(For compatibility issues between ColdFusion and ColdFusion MX, see the Migrating from ColdFusion section of this document.) |
If the ColdFusion MX installer detects an earlier version of ColdFusion on the computer,
an upgrade dialog box with the following options appears:
|
When migrating ColdFusion settings to ColdFusion MX (after upgrading from
ColdFusion), the client variable data that is stored in the
registry is moved to the ColdFusion MX registry locations. If you have an extremely large
amount of client data in your registry from your ColdFusion installation, your registry
might reach capacity during the copy operation. In this case, ColdFusion MX aborts the
copy operation and continues migrating your other ColdFusion settings. In addition, you might
see the following error:
Unable to set value hkey_local_machine\software\macromedia\coldfusion\currentversion\ |
|
Installing ColdFusion MX in Windows | During the installation you are prompted for the location of the program files and the web root directory for ColdFusion MX. There might be a delay when you click the Next button; please do not cancel the installation. The installer is checking for any conflicting folders in the web root path (such as CFIDE or CFDOCS) and backing them up with "_0" at the end of the name (for example, CFIDE_0 and CFDOCS_0). |
The Repair and Modify options have been removed and are not supported with the final release. If you have a prerelease version of ColdFusion MX installed, you must uninstall before installing the final version. If you attempt to install the final version over an existing version, you are prompted to repair, modify, or remove the program. However, only the Remove option is supported. This is a limitation of the installer for Windows, which launches the remove program of the installed version rather than the remove program of the version that you are attempting to install. | |
Configuring IIS for ColdFusion MX | To configure IIS for ColdFusion MX, enter the following command as a single
(long) line:
The following is a sample command:cf_root\runtime\jre\bin\java -cp cf_root\runtime\lib -jar cf_root\runtime\lib\wsconfig.jar -ws IIS -site "0" -filter-prefix-only -map .cfm,.cfc,.cfml,.jsp -v This is contrary to what is published in Installing ColdFusion MX (Chapter 2: Configuring your System > Configuring web servers > Configuring Internet Information Server (IIS) in Windows), which hasc:\cfusionmx\runtime\jre\bin\java -cp c:\cfusionmx\runtime\lib -jar c:\cfusionmx\runtime\lib\wsconfig.jar -ws IIS -site "0" -filter-prefix-only -map .cfm,.cfc,.cfml,.jsp -v -wd instead of -ws .
Note: Using -site "0" configures all IIS websites
for ColdFusion MX; whereas using -site "1" configures only Default Web Site.
You can also enter a named web site as well; for example,
-site "foo" . |
The web server connector for IIS creates an IIS ISAPI filter and IIS application mappings. These are both set at the IIS master properties level, so the installer configures all IIS websites for ColdFusion MX by default. Also, if you add a site to IIS, it should automatically inherit the ColdFusion MX settings. If not, you must manually apply the application mappings from the master level. | |
The web server connector for IIS has changed for the final release. In the prerelease versions,
the ColdFusion MX connector for IIS configured the IIS master properties so that the changes
applied to all sites. However, due to issues with these settings not propagating down to the
site level, the connector now configures only the Default Web Site for
ColdFusion MX. If you want to change this so that all IIS sites are configured for
ColdFusion MX, do the following:
|
The following table contains important information for installing and configuring ColdFusion MX on UNIX.
Task | Issue |
---|---|
Preparing to install | You must stop all ColdFusion-related or JRun-related services before running the ColdFusion MX installation. |
To install and run ColdFusion MX on Linux, you must first install the latest version of the glib, glibc, libstdc++, and gcc libraries. See your Linux vendor's website for these packages. For example, Red Hat 7.1 ships with glibc-2.2.2-10, but ColdFusion MX requires glibc-2.2.4-24. Also, on all versions of Red Hat 7 and above, please make sure that the compat-libstdc++ rpm is installed. You can get this and all other RPMs for Red Hat from ftp://ftp.redhat.com/pub/redhat. SuSE users can find the RPM updates at ftp://ftp.suse.com/pub/suse. | |
To install on UNIX you must have 400MB free disk space (500 MB recommended). This is contrary to what is documented on the product packaging and in Installing ColdFusion MX. | |
Installing on a computer with an existing ColdFusion installation
(For compatibility issues between ColdFusion and ColdFusion MX, see the Migrating from ColdFusion section of this document.) |
The ColdFusion MX UNIX installer does not automatically detect an earlier version of
ColdFusion on your computer. Instead it displays the following prompt:
Is there already a version of ColdFusion installed on this computer?If you answer N, you are not prompted to upgrade or migrate ColdFusion settings into ColdFusion MX. If you answer Y, you will be given the option to migrate your ColdFusion settings into ColdFusion MX after the installation, once you start the ColdFusion Administrator. Also, the installer displays the following prompt: Would you like to upgrade the existing ColdFusion installation?If you answer N, your existing ColdFusion installation will not be upgraded; you will be able to run both versions of ColdFusion on the computer, and by default, ColdFusion MX will run on the built-in web server on port 8500. To configure ColdFusion MX to run on a different web server after the installation, see the Configuring your System chapter of Installing ColdFusion MX. If you answer Y, the installer removes the earlier version of ColdFusion and installs ColdFusion MX. |
Installing ColdFusion MX on UNIX | Admin and RDS passwords are displayed in plain text during the installation. |
The UNIX installer displays a status bar at the end of the installation that stops for a while. This is expected behavior; the installer has not hung. Please be patient and let the installer run to completion. | |
After installing, if you do not see a runtime directory under the cf_root directory,
you might have run out of of temporary disk space during the installation. (The installer does
not properly detect if the temporary directory has insufficient disk space for the installer to
expand itself.) To remedy this, uninstall ColdFusion MX, change the temporary directory
to a directory on a partition with more free disk space (400 MB minimum, 500 MB recommended),
and reinstall.
To change the temporary directory, run the following commands in the order in which they are listed. Note: '/home/tmp' in the following commands refers to a directory on a partition with more free disk space; for example, you could use /home on most Linux systems and /export/home on Solaris. Running themkdir /home/tmp IATEMPDIR=/home/tmp export IATEMPDIR echo $IATEMPDIR echo command should confirm what you set the environment variable to. |
|
If you have an earlier version of ColdFusion installed on the target computer, and you choose the upgrade option during the installation, note that any native data sources that you had in ColdFusion will not be automatically migrated to ColdFusion MX on UNIX. | |
Running ColdFusion MX | On Linux, running a 'ps' command outputs multiple cfusion processes. This is expected behavior. These are not individual processes, but threads, due to the manner in which Linux handles threads. |
On Solaris, ColdFusion MX might shut down when you log out of your session. This is
an issue with Java and nohup on Solaris. To avoid this issue, drop into the Korn or Bash shell
(enter ksh or bash ), and then start ColdFusion MX. |
The following table describes differences between ColdFusion MX and ColdFusion that could require you to change your application in order for it to run on ColdFusion MX.
Note: These differences are in addition to those listed in Migrating ColdFusion 5 Applications.
Product Area | Compatibility Issue |
---|---|
Double-byte character storage in SQL Server | If you store double-byte data in a SQL Server database that is not Unicode in nchar, nvarchar, or ntext data types, you might need to convert your data to Unicode encoding. |
Error variables | The cferror variable structure has changed. A cfdump
of the error variables (<cfdump var=#error#> ), shows
a single-level array in ColdFusion 5, while in ColdFusion MX it is a multilevel
array. To access certain error variables with the "error." notation
you must use additional array values. For example, ErrorCode
in ColdFusion 5 is ERROR.ERRORCODE , while it is
ERROR.ROOTCAUSE.ERRORCODE in ColdFusion MX. You can use
<cfdump> to see all of the values. |
Variables with more than 3 dots in name | In ColdFusion 5 and earlier releases, you could have a variable with more that 3
dots in its name, such as in the following example:
Such variables fail in ColdFusion MX with the following error:<cfset a.b.c.d.e = "foo"> <cfoutput> "#a.b.c.d.e#" </cfoutput> Element B.C.D.E is undefined in AThis is because the new structure auto-creation functionality is failing to properly create structures that are more than 3 levels deep. Any variable with less than or equal to 3 dots in its name should work properly. |
Binary values | In ColdFusion MX, binary strings are represented as byte arrays (assign-by-reference), so you can manipulate them using standard CFML array logic. In ColdFusion 5, binary values are immutable (assign-by-copy). |
Columns with the same name | In all versions of ColdFusion, when two columns with the same name are returned from a database, the choice of the column selected for the ColdFusion result set is undefined (theoretically, it is random). However, in practice you could predict the column selection in earlier versions of ColdFusion. This is no longer the case in ColdFusion MX. Do not rely on a predictable selection of identically-named columns in any case; instead, use column aliases to remove all uncertainty. |
Duplicate URL parameters | ColdFusion MX handles duplicate URL parameters differently than in ColdFusion 5.
In ColdFusion 5, calling Test.cfm?a=1&a=2 returns the
value a=2 for the URL parameter; in ColdFusion MX, it returns
the value a=1,2 . |
Reserved words in ColdFusion MX | Currently in ColdFusion MX, you can create a variable with the same name
as a scope (Application, CGI, Client, Cookie, Form, Request, Server, Session,
URL, or Variables). The created variable is only visible if the Variables
scope prefix is explicitly used; otherwise, an error results. However, scope
names are reserved in ColdFusion MX and might be enforced in a later version.
Therefore, Macromedia strongly recommends that you do not use scope names
as variable names.
Also, in a Query of Queries, you can no longer use SQL reserved words as variable or column names, unless they are escaped using brackets []; for example, SELECT [count] FROM MYTABLE. For more information about reserved words in ColdFusion MX, see Chapter 2: Elements of ColdFusion and Chapter 22: Using Query of Queries in Developing ColdFusion MX Applications with CFML. |
Scheduler data | In ColdFusion 5, all scheduler information is stored in the registry. Each of the registry keys has a name without spaces; for example, StartDate. In ColdFusion MX, the scheduler information is stored in an XML file, and the format of what formerly were registry keys has also changed, so that all compound variable names are separated with underscores; for example, Start_Date. This only affects applications that use the scheduler information in the ColdFusion 5 registry. |
Use operating system logging facilities option in the ColdFusion Administrator |
(Windows only) In the ColdFusion Administrator, on the Debugging & Logging > Logging Settings page, there is no longer an option to Use operating system logging facilities, because ColdFusion MX always uses the Windows logging facilities. |
Verity searches | (Windows only) If you previously added cfusion\bin or cfusion\verity\_nti40\bin to your system path for ColdFusion 5, you must remove it before upgrading to ColdFusion MX in order for ColdFusion MX to find the correct Verity DLL files. |
Japanese version, sort functions |
Sort functions such as ListSort() and ArraySort()
return items in a slightly different order in ColdFusion MX than they
do in the Japanese version of ColdFusion 5. This is because ColdFusion MX
sorts characters by their Unicode char number, whereas the Japanese version
of ColdFusion 5 sorts characters by their shift_jis char number. |
LSIsDate() |
In ColdFusion MX, LsIsDate("3-1-2002") returns No, whereas in
ColdFusion 5 it returns Yes. This function only accepts the hyphen character (-) as a
date delimiter in the Dutch(Standard) and Portuguese(Standard) locales. |
DateFormat() , TimeFormat() LSDateFormat() ,
LSTimeFormat() |
If an invalid mask is passed into one of these functions (for example, "dd-mm-yymm"), the function outputs the invalid characters in ColdFusion 5 and ColdFusion MX. However, ColdFusion 5 delimits each character of the output with an apostrophe (') character. |
cfdirectory |
When action=list , cfdirectory only reports the
ReadOnly and Hidden attributes in Windows and on UNIX. On UNIX, it returns
the mode and attributes as empty. If you need additional information about
directories on a Windows local machine, use cfexecute . On UNIX,
use cfexecute and ls -l. |
cfheader |
To access the status code header for a page that was set with the cfheader
statusCode attribute, use <cfdump var="#cfhttp#">
or <cfdump var="#cfhttp.statuscode#"> . Do not use <cfdump var="#cfhttp.responseheader#"> .
Note: The statuscode value that is set
with the statusCode attribute is not the same as the
status_code value that is set with the name attribute. |
cfloop |
This tag no longer returns struct keys in alphabetical order, as in ColdFusion 5. It returns struct keys in no particular order, contrary to what is published in Migrating ColdFusion 5 Applications. |
The following table contains information for maximizing performance with ColdFusion MX.
Product Area | Notes |
---|---|
Installed JRE | By default, ColdFusion MX installs with the SUN 1.3.1_03 Java Runtime Environment
(JRE) on all platforms except HP-UX. (ColdFusion MX on HP-UX uses the HP JRE release
1.3.1_01.) Macromedia tests show that nearly every CFML operation exceeds ColdFusion 5
in performance and scalability when ColdFusion MX uses this JRE. However, advanced
ColdFusion MX users might want to experiment with other JREs (for example, the IBM
1.3.x JRE with Windows or Linux) to achieve even faster runtime performance. You can switch
JREs (also known as virtual machines or VMs) in the ColdFusion Administrator on the Java
and JVM page—just set the Java Virtual Machine Path option to the \JRE directory of the
JRE that you want ColdFusion MX to use and then restart the server.
Caution: If you specify an invalid path, you cannot start ColdFusion MX. To remedy this problem, correct the path in the cf_root\runtime\bin\jvm.config file in Windows or the cf_root/runtime/bin/jvm.config file on UNIX. |
Simultaneous Requests option | By default, ColdFusion MX installs with the Simultaneous Requests option in the ColdFusion Administrator set to 10. This setting should provide reasonable performance for most applications on 1- or 2-CPU machines, but for large SMP machines, or for applications with more input/output (I/O) or CPU-bound characteristics, you can achieve significant performance gains by adjusting this setting. As a general guideline to adjust this setting, Macromedia recommends that you start with a value of 3-5 for each CPU, and fine-tune from there as necessary. |
Trusted Cache option | For maximum performance in a production environment, make sure that the Trusted Cache option in the ColdFusion Administrator is enabled. |
Isolation levels | Macromedia tests indicate that some database-intensive applications can improve their
performance by changing the default Isolation Level of their data sources from the implicit
default setting of READ_COMMITTED to READ_UNCOMMITTED.
To change this setting, edit the cf_root\runtime\servers\default\SERVER-INF\jrun-resources.xml file in Windows or the cf_root/runtime/servers/default/SERVER-INF/jrun-resources.xml file on UNIX. Add the following line to the definition of your data source (as its own line):
Note: If you edit your data source definition later using the ColdFusion
Administrator, the definition is saved without the Isolation Level setting; you
must add this value to the jrun-resources.xml file again. |
If you do not want to change the isolation level for the entire data source, you can
explicitly set the isolation level for a transaction by specifying the isolation
attribute with the cftransaction tag.
The default isolation level of the JDBC database drivers in ColdFusion MX might differ from the ODBC and native drivers in ColdFusion 5 that you used to connect to your database. Higher isolation levels result in stronger data consistency but less concurrency, which can impact performance. Setting the isolation level to lower levels for a transaction can improve performance. |
|
Accessing Component Object Model (COM) objects | The Java call to create a new COM object instance can take substantial time. As a
result, creating COM objects in ColdFusion MX is substantially slower than in
ColdFusion 5. You can work around this issue to improve COM performance to near
ColdFusion 5 speed under certain circumstances: If your COM object can be shared
throughout your application—that is, it does not need to be created for every
request or session—create the object in the Application scope and use the same
object throughout the application. This technique works only for COM objects that are
designed for sharing.
Because the object can be accessed from multiple sessions simultaneously, you must also consider the following threading and locking issues:
You can also improve performance of all COM objects by creating Java stubs, as described in Technical Brief 22922. Java stubs do not improve processing time as much as sharing the COM object, but you can use them with all COM objects. Also, you must generate Java stubs to correctly access complex COM objects that do not properly make all their features available through the COM IDispatcher interface. Therefore, to get the greatest performance increase and prevent possible problems, combine the two techniques. |
The following table describes the known localization issues in ColdFusion MX.
Notes:
Issue | ID |
---|---|
When using the SUN JRE 1.3.1 on an English(UK) locale, the LSIsDate function
returns False for a date that has a one-digit month or day (for example, 1/1/01). To work around
this, insert a zero in a one-digit month or day (for example, 01/01/01). |
38440 |
The ParseDateTime function does not handle Japanese formatted dates in
ColdFusion MX. You must use the LSParseDateTime function when using Japanese dates. |
34000 |
ColdFusion MX does not support using double-byte characters in links. | 36913 |
You cannot use cfinclude to include a file with a double-byte file name. |
36910 |
If an invalid mask is passed into LSTimeFormat() or LSDateFormat
(for example, "dd-mm-yymm"), the function outputs the invalid characters in both
ColdFusion 5 and ColdFusion MX. However, ColdFusion 5 delimits each character of
the output with an apostrophe (') character. |
36388 |
The Encrypt and Decrypt functions do not work with double-byte
character sets. If you pass a string containing double-byte characters to the Encrypt
function, and later pass the encrypted value to the Decrypt function, the string
is not properly decrypted. |
38614 |
When reading and writing a binary file, you should specify ReadBinary in the
action attribute of cffile and then create the new file, as
the following example shows:
<cffile action="ReadBinary" variable="x" file="c:\input-binaryfile">
On computers that do not use a Cp1252 file encoding by default (like computers that are set to work with Japanese), specifying action="read" in the
cffile tag for a binary file will corrupt the file. |
39473 |
(Windows) If you are using the Microsoft Access driver or ODBC Socket driver on a multi-byte
character set operating system, you must do the following:
cf_root\db\slserver52\admin\setcp.bat OS OS and Default . If no parameter or an invalid value is passed, the
service code page is returned to its default state—that is, no setting ServiceCodePage OS
is used for multi-byte character set operating systems like Japanese or Korean. ServiceCodePage
Default supports only ASCII/EBCIDIC transliteration. |
39730 39735 |
(Windows) On a multi-byte operating system, you can change the ColdFusion MX ODBC
services (SequeLink) to multi-byte code page support mode. To do so, run the following command
from a command prompt:
You can go back to the default by executing the setcp.bat, either with no parameters or with
Default as the parameter, as in the following sample command:
Make sure that both the ColdFusion MX ODBC Agent and ColdFusion MX ODBC Server services
are running when you execute the commands. After executing the commands, you must restart both
services for the change to take effect. |
38855 |
You cannot create Verity collections and search using double-byte text. | 37650 |
For information about localization changes from ColdFusion 5 to ColdFusion MX, see the Locales section of Migrating ColdFusion 5 Applications.
The following table lists the known issues for configuring data sources in ColdFusion MX.
Issue | Bug # |
---|---|
A data source that was created with an early beta release of ColdFusion MX might have too short of a connection timeout period for it to function as a client variable store. Delete and recreate any data source that was created with an early beta version before you designate it as a client variable store. | 36167 |
When using Microsoft Access as a client store, an error is generated if the cumulative size of client variables exceeds 255 characters. | 45548 |
The (OEM) JDBC Microsoft SQL Server driver in ColdFusion MX
does not support SQL Server 6.5. If you run a query using this driver,
the following error is thrown:
The SQL statement [ select 1 ] caused an database query exception. |
28436 |
You must add the following line to the connectstring for a DB2 Data
Source Name (DSN) (under Advanced Settings in the ColdFusion Administrator):
where pkgname is the name of the package (maximum of 7 characters) that the
driver uses to process SQL statements.
If neither a CollectionID or packageName already exists, set CreateDefaultPackage=true for the first connection, and then modify the
data source and set CreateDefaultPackage=false . |
36798 |
The Sybase JDBC connection requires a stored procedure on the Sybase server that does not get installed by default on Sybase 11.9 or higher. ColdFusion MX ships this stored procedure in the directory <install dir>/db/sybase. If, when creating a data source, you get an error message stating that procedure 'sp_default_charset' is not found, install this stored procedure on Sybase. | 32230 |
Sybase servers that are configured to use the CP437 character set might fail to connect.
If you receive the following error message when you try to connect to your Sybase server,
you must update your [Macromedia][Sybase JDBC Driver]Character set CP437 not found in macromedia.util.transliteration.properties.A Technical Brief about this issue is forthcoming, which will explain the required changes. |
35691 |
(Windows NT 4.0, Windows 2000) To work with ODBC data sources, run a recent version of
Microsoft Data Access Components (MDAC) and Jet. Otherwise, you might receive the following
error:
Connection verification failed for data source: exampleapps [MERANT][SequeLink JDBC Driver] [ODBC Socket][Microsoft][ODBC Microsoft Access 97 Driver] Can't open database '(unknown)'. It may not be a database that your application recognizes, or the file may be corrupt. The root cause was that: nullYou can download these from the following locations:
|
|
In Windows 98/ME, there is no SequeLink driver. Select JDBC-ODBC bridge instead of ODBC Socket. | |
In Windows 98 and Windows ME, you cannot use cfinsert and
cfupdate against a Microsoft Access database; you must use cfquery
instead. The JDBC-ODBC bridge database driver that is used for Access
databases on these platforms does not work with cfinsert and
cfupdate with the lastest MDAC 2.7 and JetEngine 4.0 SP 3.
The following are examples of using cfquery to insert and update data:
<cfquery> insert into tblEmp (employee_id, firstname, lastname, department) values (#empid#,'#fname#','#lname#','#dept#') </cfquery> |
45486 |
The following table lists the known issues for using web services in ColdFusion MX.
Issue | ID |
---|---|
ColdFusion MX does not support the .NET dataset data type. Make sure that you do not have a CFML template consuming a .NET web service that expects a dataset argument. | 39621 |
Consuming a ColdFusion Component (CFC) web service that returns a CFC instance will throw a Class Not Found error when the CFC is in the virtual path. To work around this, refer to the CFC with the absolute path, not a relative path. | 45505 |
To consume a web service that is implemented in a technology other than ColdFusion MX, you
must set the following web service options:
<binding name="BabelFishBinding" type="tns:BabelFishPortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="BabelFish"> <soap:operation soapAction="urn:xmethodsBabelFish#BabelFish" /> <input> <soap:body use="encoded" namespace="urn:xmethodsBabelFish" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output> <soap:body use="encoded" namespace="urn:xmethodsBabelFish" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation> </binding> The WSDL file for the BabelFish web service is compatible with ColdFusion MX because it uses RPC as the binding style and encoding as the encodingStyle. |
|
You cannot use the cfinvoke tag attributes for username
and password to invoke a secured web service. |
37005 |
Avoid non-alphanumeric characters such as the underscore character (_) in ColdFusion Component names, method names, and argument names. | 44924 |
ColdFusion MX does not have access to files under web server virtual directories.
For example, if a web server has a virtual mapping /myvirtual that points to c:/myvirtual,
ColdFusion MX cannot include c:/myvirtual/index.cfm using the following call:
Also, if there is a component file c:/myvirtual/bank/account.cfc, you can access the file
directly as a web service (http://myserver/myvirtual/bank/account.cfc?wsdl), or by using
URL component invocation
(http://myserver/myvirtual/bank/account.cfc?method=deposit&amount=300). However,
the component file cannot be referred to by another component or cfml page as
myvirtual.bank.account. This is also true if such referring component would be
invoked as a web service.
Either avoid web server virtual directories if the resource in these should be accessed internally by other ColdFusion MX resources, or create a ColdFusion mapping with the same name and location as the web server mapping. |
44546 |
The following table lists the known issues for the ColdFusion Administrator:
Issue | ID |
---|---|
The Administrator must reside in its default installation path (.../CFIDE/administrator/) in order for it to function properly. | |
If your default web browser has pop-up windows disabled, the ColdFusion Administrator might not run the first time after you install. To remedy this, enable pop-up windows in your browser and run the ColdFusion Administrator. After running the ColdFusion Administrator for the first time, you can disable pop-up windows in your browser again. | 45481 |
(Windows only) You must provide a username for Microsoft Access and ODBC Socket
Data Source Names (DSNs), even if the data sources do not require any user authentication.
Provide a username as follows:
|
45484 |
On the System Probes page, if you change the URL, username, or password for probe.cfm, you must trigger an update for each existing probe by editing the probe and clicking Submit. | 39738 |
Currently, when you register or edit a CORBA connector, the Classpath field is not used. Specify CORBA (and all other) classpaths on the Java and JVM page instead. | |
You cannot use single quotes (') in named resources (for example, data sources, probes,
Verity collections, and so on). Using a single quote--for example, creating a scheduled task
with name="Let's Rock" --causes a WDDX parsing error when the server
restarts, and the service whose data contains the single quote fails.
To remedy this, back up and edit the XML file for the failing service. For example, if the Cron service is failing after naming a scheduled task "Let's Rock", make a backup copy of cf_root\lib\neo-cron.xml and edit the original version of the file to change every instance of "Let's Rock" to "Lets Rock". |
45409 |
In the Verity Collections page, when you map an unregistered collection, select the same
language that was used to create the collection. Currently, if you select a different
language to map to a collection, no error appears. However, if you map, or subsequently index,
a collection in a language other than the one in which it was created, you might damage the
collection's index and your ability to search the collection.
Examples of unregistered collections include:
|
The following table lists the known issues for graphing in ColdFusion MX.
Issue | ID |
---|---|
In the cfgraph and cfchart tags, ColdFusion MX
only uses the values in the scaleFrom and scaleTo
attributes as a starting point; ColdFusion MX considers the actual data
values and the number of labels that need to be displayed and then determines
the actual scaleFrom and scaleTo values. For
example, ColdFusion MX adjusts the user-specified scaleFrom and scaleTo
values to avoid cutting off decimal labels and data. |
32837 |
If the legend for a pie chart contains long labels, the pie chart might
appear distorted. To resolve this, increase its width by setting or increasing
the value of the graphwidth or chartwidth attribute. |
32835 |
The cffile tag has changed to use a different default encoding
when writing to a file. Therefore, to write a generated graph to a file
using the name attribute of cfchart , you now
have to add the following attribute to the cffile tag: charset="ISO-8859-1" . |
38867 |
The following table lists the general known issues in ColdFusion MX for this release:
Product Area | Issue | ID |
---|---|---|
Memory usage | ColdFusion MX requires more memory to run than ColdFusion 5.
For more information, see the system requirements listed in Installing ColdFusion MX. |
35820 |
ColdFusion Components (CFCs) | In this release, within a component <cfset x = 1>
puts x in the Variables scope local to the component and
<cfset variables.x = 1> puts x in the Variables scope
of the calling page.
Once this bug is fixed, both <cfset x = 1> and
<cfset variables.x = 1> will do exactly the same thing
and put x in the Variables scope local to the component.
Until this bug is fixed, avoid using <cfset variables.x = 1> ,
as this would conflict with <cfset x = n>
in the calling page. |
45387 | When using components, or when interoperating with Java case-sensitive containers
(for example, Hashtable), the dot notation fails to resolve the keys. For example,
(newTC.foo.moo) might not be found even though it exists, as in the
following code sample:
To work around this, use the equivalent bracket notation; for example,<cfset newTC = createObject( "component", testComponent ) /> <cfset foo = newTC.foo.moo /> (newTC["foo"]["moo"]) . |
45461 |
Initializing arrays | A heterogeneous array initializer, such as a[1]["moo"][1]
(where a has not been defined), throws an exception. To work
around this issue, assign the heterogeneous parts in separate assignment
statements, as in the following example: <cfset a1[1] = structNew()> <cfset a1[1]["moo"][1] = 12> |
31535 |
Server-side validation for post forms | When using ColdFusion's server-side validation to validate post forms (for example,
input type="hidden" name="myInput_require" ),
ColdFusion MX ignores the custom message that you place in the value
field, and instead displays a message indicating that the field is required. |
45443 |
Server-side redirects | Using getpageContext().forward('<your page name>.cfm') to do a
server-side redirect throws an "err.io.short_read" error if there is any data
in the Form scope. |
45337 |
File Server Browser Applet | The File Server Browser Applet (allaire.cfide.CFNavigationApplet) does not render icons properly in Netscape 4.x. | 31958 |
User Defined Functions (UDFs) | An error results if you have a UDF with N defined arguments, you pass N+1, and then call
structKeyList with the arguments. The same error results if you have
cfdump inside the function with an undeclared argument. |
44635 |
cfhttp |
cfhttp has some behaviors which are subject to the performance
of the underlying Java Runtime Environment (JRE). For example, when using
an IBM JRE, cfhttp does not properly connect to "https"
URLs, but it does when using a SUN JRE. However, when using a SUN JRE,
cfhttp does not always return a 404 status code page when
an http request to a URL contains a nonexistent page, but it does when
using an IBM JRE.Finally, the timeout attribute does not work with the SUN
JDK versions 1.3 and 1.3.1_03. For the timeout attribute to be functional,
you must use JDK 1.4.0. |
37683 37684 30267 |
cfimport |
When importing custom tags using cfimport , you cannot use the namespace
"CF" as this is reserved for ColdFusion custom tags. |
45544 |
cfldap |
In ColdFusion MX, cfldap does not support SSL v3 client
authentication (certificate authentication), as in ColdFusion 5. In ColdFusion
MX, cfldap only supports SSL v2 (basic username/password
authentication over SSL). |
38693 |
Updating or modifying an LDAP server using cfldap might cause the server
to hang on HP-UX 11. This is a known JNDI issue. To work around this, add the
-XdoCloseWithReadPending JVM argument in the Java & JVM page in the
ColdFusion Administrator. |
45384 | |
ExpandPath() GetRealPath() |
If you use ExpandPath() or GetRealPath() for a directory that
exists in both the ColdFusion MX web root and the web root for an external web server,
and you are using the external web server, the functions return the directory under the
ColdFusion MX web root. For example, if you have C:\CFusionMX\wwwroot\foo and
C:\inetpub\wwwroot\foo, and you have configured IIS for ColdFusion MX, then
ExpandPath("foo") returns C:\CFusionMX\wwwroot\foo. |
|
CORBA invocations | When using CORBA (Visibroker 4.5), an "out" call for an array of structs or multi-dimensional array throws a CORBA_UNKNOWN exception. Use "inout" instead. This is a Visibroker bug. | |
When using the CORBA IOR method in CreateObject /cfobject ,
make sure that you use an IOR that has been obtained in the same environment
as your deployment environment. Visibroker IORs are not interchangeable.
If you decide to deploy your CORBA server on a different computer, you
must obtain new IORs. Visibroker IORs contain IP address information. |
36866 | |
ColdFusion Administrator Security Settings | If you enter a server IP address for sandbox security (under Sever/Ports) and forget the port number, you will receive an error when you try to edit this entry. To work around this issue, delete the server IP address and re-enter it with the port number. | 39860 |
Verity searches | Verity does not support VSpider on Linux. Also, note that Linux does not support PDF files. | |
You might receive the following error when attempting to create a Verity collection or
to migrate a Verity collection:
Error: An error occurred while performing an operation in the Search Engine native library. coldfusion.tagext.lang.CFCollectionTagException: Error # -10. To work around this issue, locate the file [installdrive]:/winnt/system32/VDK200.DLL, and rename it to VDK200.dll_old. Restart the ColdFusion server. This is a conflicting file from a previous version of ColdFusion. |
38917 | |
Sample applications on UNIX | On Unix, you cannot use the sample aplications that use the Pointbase databases when security is enabled (Sandbox Security in the Enterprise edition, Resource Security in the Professinal edition). You must disable security on Unix to use the Pointbase sample data sources. | 45527 |
The following table lists the known documentation issues for ColdFusion MX:
Book | Section | Update |
---|---|---|
Installing ColdFusion MX | Chapter 1: Installing Macromedia ColdFusion MX > Using the ColdFusion MX web server | This section states the following:
...to display a page in your application, you must append :8500 to the host name or IP address in the URL; for example, http://localhost:8500/YourApp1/index.cfm.Addition: Note that the URL path is case-sensitive. |
Chapter 2: Configuring your System > Connecting to an external JDBC Type 4 data source | This section states the following:
ColdFusion MX includes JDBC Type 4 database drivers from Merant and MySQL, and JDBC Type 3 database drivers from Merant and SQL Link.ColdFusion MX includes JDBC Type 3 database drivers from Merant and DataDirect (SequeLink). |
|
Developing ColdFusion MX Applications with CFML | Chapter 3: Using ColdFusion Variables > About scopes | The information about the This scope in the tables under Scope
types and Creating and using variables in scopes is incorrect.
The following information correctly describes the This scope:
The This scope is available inside of ColdFusion component as a reference to the current instance of the component and is used to store component variables. Therefore, if you define a variable in a component constructor or method using the syntax This.variableName , the variable is available
to any method using the same syntax for the duration of the component
instance. Component variables can be also set and read from the page
that references the component using the
componentInstanceName.variableName syntax.
If a user-defined function is not part of a ColdFusion component, the function has a This scope only if the function is contained in another object. Thus, if you assign the function as an element in a ColdFusion structure and access the function using the format myStruct.myFunct() ,
the function has a This scope that consists of the contents of the structure.
The function can access the structure variables by using the format
This.structVar and if the function assigns a variable such
as This.myVar it is available to the calling page as
myStruct.myVar . |
Chapter 3: Using ColdFusion Variables > Ensuring variable existence > Variable existence notes | The following statement in the third paragraph is incorrect:
To check for the existence of an array element, copy the element to a simple variable and
use
Copying an undefined array element causes an exception. Instead, use a
try/catch method to determine if a position in an array is defined. |
|
Chapter 9: Writing and Calling User-Defined Functions > Creating user-defined functions | The following note under Using a CFML tag in a user-defined function
is incorrect and should be deleted:
Note: The
The cfquery tag does not have any special behavior with respect
to scopes. |
|
The procedure described in the following note under The contents
of the Arguments scope is incorrect:
Note: TheCopying an undefined array element causes an exception. Instead, use a try/catch method to determine if a position in an array is defined. |
||
Chapter 9: Writing and Calling User-Defined Functions > Using the Arguments scope as a structure | This section contains the following text:
If the function can take unnamed optional arguments, use an index number as the key to reference the argument in the structure. For example, if the function declaration includes two named arguments and you call the function with three arguments, refer to the third argument as Arguments.3.Although you can use references such as Arguments.3 for unnamed optional
arguments in ColdFusion assignment statements, this format is not valid syntax and cannot
be used in arguments to some functions, including the IsDefined function.
Therefore, you should refer to unnamed optional arguments using array notation.
The following text replaces the inaccurate description: If the function can take unnamed optional arguments, use array notation to reference these arguments. For example, if the function declaration includes two named arguments and you call the function with three arguments, refer to the third argument as |
|
Chapter 11: Building and Using ColdFusion Components | CFML code that exists outside of component method definitions in a component
file serve as component constructors. Component constructors let multiple
method definitions share common CFML code when the component is instantiated.
For example, using component constructors, you can set variables for all
component methods to use, as shown in the following example:
<cfcomponent hint="This component returns the future and the past."> <cfset currentTime = Now()> <cffunction name="future" access="remote" hint="one hour from now"> <cfset futureHour = dateAdd("h",1,currentTime)> <cfreturn futureHour> </cffunction> <cffunction name="past" access="remote" hint="one hour ago"> <cfset pastHour = dateAdd("h",-1,currentTime)> <cfreturn pastHour> </cffunction> </cfcomponent>In this example, the component constructor sets the currentTime variable to the current time, which is used by the future and past method definitions. Any CFML tag or function can be used in a constructor. In addition, you can perform any ColdFusion processing, such as querying a database or data validation and manipulation. When inherited, the parent component's constructors are executed first. |
|
To further describe component functionality, you use the hint and displayName
attributes of the cfcomponent , cffunction , cfargument ,
and cfproperty tags. These attributes let you provide component
metadata that is used to generate component documentation in the Component
Browser. The following example uses the hint and displayName
attributes for a simple directory component:
<cfcomponent hint="This component returns the directory contents for the supplied path." displayName="Directory Explorer Component"> <cffunction name="getDirectory" returnType="query" hint="This method returns a query object that contains the directory contents" displayName="Get Directory Method"> <cfargument name="dirPath" type="string" required="true"> <cfdirectory action="LIST" directory="#arguments.dirPath#" name="dirQuery"> <cfreturn dirQuery> </cffunction> </cfcomponent> In cfcomponent , cffunction , cfargument ,
and cfproperty tags, any attributes other than reserved attributes,
including hint and description , are considered
user-defined metadata attributes. While these attributes are not used
in ColdFusion, you can access them using the GetMetadata
function. The following example illustrates a few user-defined attributes:
<cfcomponent hint="This component returns the directory contents for the supplied path." displayName="Directory Explorer Component" privateMessage="Beta 3 of Directory Explorer Component."> <cffunction name="getDirectory" returnType="query" hint="This method returns a query object that contains the directory contents" displayName="Get Directory Method" usageGuidelines="Pass the fully-qualified path as an argument. Returns a query object."> <cfargument name="dirPath" type="string" required="true"> <cfdirectory action="LIST" directory="#arguments.dirPath#" name="dirQuery"> <cfdump var=#getMetadata(this)#> <cfreturn dirQuery> </cffunction> </cfcomponent> In this example, the cfcomponent tag contains the custom
attribute privateMessage , which shows the beta version of
the component. The getMetadata function returns a structure
of component metadata. In the metadata structure, you will see a privateMessage
entry. Note: You should avoid using runtime expressions in custom metadata attributes. Using runtime expressions in metadata attributes can cause unpredictable behavior, because all metadata expressions are replaced by strings in the metadata structure returned from the GetMetadata function.
Also, do not use the reserved attributes as your metadata attribute names.
The reserved words for the cfcomponent tag are name ,
path , properties , functions , and
extends . The reserved words for the cffunction
tag are name , returnType , access ,
roles , output , and arguments . The
reserved words for the cfargument tag are name ,
required , default , and type . The
reserved words for the cfproperty tag are name
and type . |
||
If you define a UDF in a component method definition, you cannot set access, roles, or output attributes for that method. | ||
Chapter 18: Debugging and Troubleshooting Applications > Execution Time | This section does not describe or show the execution time debugging output of the final ColdFusion MX product. The figures and descriptions omit the TOTAL EXECUTION TIME line that displays at the bottom of the execution time output. This line lists the total time required to process the current request, and includes the times for the individual page requests and for compiling, loading, and shutdown. | |
Chapter 30: Using XML and WDDX > Referencing the contents of an XML object | The list of variables that refer to the EmpType attribute
of the first name element in the XML document has two incorrect entries.
These entries are:
mydoc.employee.XmlChildren[1].EmpTypeThe following are the correct entries: mydoc.employee.XmlChildren[1].XmlAttributes.EmpType |
|
Chapter 32: Integrating J2EE and Java Elements in CFML Applications > About ColdFusion and JSP | The first bulleted item includes the following statement:
Instead, you use CFML include and import tags to include pages and import tag libraries.You do not use a ColdFusion include tag to include JSP pages in ColdFusion pages. You use the include (or forward) method of the page context object returned by the ColdFusion GetPageContext function to access JSP pages from ColdFusion pages. The correct technique is described later in the chapter, in the Interoperating with JSP pages and servlets section. |
For the latest documentation updates, see the Documentation Updates page on the Macromedia website.