Developing ColdFusion Applications
|
|
Reusing Code
|
Managing Custom Tags
If you deploy custom tags in a multideveloper environment or distribute your tags publicly, you can use additional ColdFusion capabilities:
- An advanced invocation syntax to resolve possible name conflicts
- Advanced security
- Template encoding
Resolving filename conflicts
To avoid errors caused by duplicate custom tag filenames, use the cfmodule
tag in the calling page. You must use either a template
or name
attribute in the tag, but you cannot use both The following table lists the basic cfmodule
attributes:
Attribute |
Description |
template
|
Required if the name attribute is not used. Specifies a relative path to the cfm file. Same as template attribute in cfinclude . Note that the directory must have a mapping defined in ColdFusion Administrator. Example: <cfmodule template="../MyTag.cfm"> identifies a custom tag file in the parent directory.
|
name
|
Required if template attribute is not used. Use period-separated names to uniquely identify a subdirectory under the Custom Tags root directory. Example: <cfmodule name="MyApp.GetUserOptions"> identifies the file GetUserOptions.cfm in the Custom Tags\MyApp directory under the ColdFusion root directory.
|
attributes
|
The custom tag's attributes.
|
Securing custom tags
ColdFusion's security framework enables you to selectively restrict access to individual tags or to tag directories. This can be an important safeguard in team development.
To avoid name conflicts, you can register custom tags as a security resource on the ColdFusion Administrator Advanced Security page. For details, see Advanced ColdFusion Administration .
Encoding custom tags
You can use the command-line utility cfencode
to encode any ColdFusion application page. By default, the utility is installed in the /cfusion/bin directory. It is especially useful for securing custom tag code before distributing it.
The cfencode
tag uses the following syntax:
cfencode infile outfile [/r /q] [/h "message"] /v"2"
The following table describes the options:
Option |
Description |
input file
|
Name of the file you want to encode. cfencode does not process an encoded file.
|
output file
|
Path and filename of the output file. Warning: If you do not specify an output filename, a warning message asks if you want to continue, in which case the encoded file will overwrite the source file.
|
/r
|
Recursive, when used with wildcards, recurses through subdirectories to encode files.
|
/q
|
Suppresses warning messages.
|
/h
|
Header, allows custom header to be written to the top of the encoded file(s).
|
/v
|
Required parameter that allows encoding using a specified version number. Use "1" for pages you want to be able to run on ColdFusion 3.x. Use "2" for pages you want to run strictly on ColdFusion 4.0 and later.
|
Note While it is possible to encode binary files with cfencode , it is not recommended.
|
Copyright © 2001, Macromedia Inc. All rights reserved. |
|