Server Settings section



The Server Settings section lets you manage client and memory variables, mappings, charting, and archiving. It also allows you to configure e-mail and Java settings.

Settings page

The Settings page of the ColdFusion Administrator contains configuration options that you can set or enable to manage ColdFusion. These options can significantly affect server performance. The following table describes the options:

Option

Description

Timeout Requests After (Seconds)

Prevents unusually lengthy requests from using up server resources. Enter a limit to the time that ColdFusion waits before terminating a request. Requests that take longer than the time-out period are terminated.

Enable Per App Settings

Lets developers programmatically define ColdFusion settings such as mappings and debugging per application.

Use UUID For cftoken

Specify whether to use a universally unique identifier (UUID), rather than a random number, for a cftoken.

Enable HTTP Status Codes

Configures ColdFusion to set a status code of 500 Internal Server Error for an unhandled error. Disable this option to configure ColdFusion to set a status code of 200 OK for everything, including unhandled errors.

Enable Whitespace Management

Compresses repeating sequences of spaces, tabs, and carriage returns and linefeeds. Compressing whitespace can significantly compact the output of a ColdFusion page.

This option is enabled, by default.

Disable CFC Type Check

Turns off verifying the CFC type when calling methods with CFCs as arguments. This option also disables verifying an object that implements the right interface.

Enabling this option can improve the performance of your application. However enable it only on a production server.

Disable Implicit UDF Registration

When checked, Implicit UDFs (setters/getters) are not added into CFC's 'variable' scope, 'this' scope, or metadata. Although you can still invoke the implicit UDFs, this improves CFC creation performance.

Disable Access To Internal ColdFusion Java Components

Prevents CFML code from accessing and creating Java objects that are part of the internal ColdFusion implementation. This prevents a non-authenticated CFML template from reading or modifying administration and configuration information for this server.

Prefix serialized JSON with

Protects web services, which return JSON data from cross-site scripting attacks by prefixing serialized JSON strings with a custom prefix.

Enable In-Memory File System

Enables the in-memory virtual file system support. By default, this is enabled.

Memory Limit for In-Memory Virtual File System

Lets you specify the memory limit in Megabytes (MB) for in-memory virtual file system.

Watch Configuration Files For Changes (Check Every n Seconds)

Sets ColdFusion to monitor its configuration files and automatically reload them if they change. This action is required if you deploy ColdFusion in a Websphere ND vertical cluster, because multiple instances of ColdFusion share the same configuration files. It is recommended that you do not enable this feature for most installations.

Enable Global Script Protection

Protects Form, URL, CGI, and Cookie scope variables from cross-site scripting attacks. Select this option if your application does not contain this type of protection logic.

Allow Extra Attributes in AttributeCollection

Specify whether ColdFusion tags can pass non-standard attributes in the attributecollection structure.

Default ScriptSrc Directory

Specify the default path (relative to the web root) to the directory that contains the cfform.js file. Developers reference this file in the ScriptSrc attribute of the cfform tag.

In a hosted environment, you might need to move the cfform.js file to a directory other than CFIDE.

Google Map API Key

Specify the Google Map API license key that you require to access Google Maps.

Component with onServerStart() method

Specify the absolute path to a CFC having onServerStart() method or specify a dot delimited CFC path under web root, like "a.b.server". By default, ColdFusion looks for server.cfc under web root.

Application.cfc/Application.cfm lookup order

Select the order in which ColdFusion searches for Application.cfm or Application.cfc if it is not found in the current project folder. You can set ColdFusion to search as follows:

  • default search order: ColdFusion looks for an Application.cfc/Application.cfm file from the current folder until the system root directory. On Windows, this could be C:\ and on UNIX, /opt.

  • till web root: ColdFusion looks for an Application.cfc/Application.cfm file from the current folder till web root.

  • in web root: ColdFusion looks for an Application.cfc/Application.cfm file in the current folder or web root.

Missing Template Handler

Specify a page to execute when ColdFusion cannot find a requested page. This specification is relative to the web root.

Note: If the user is running Microsoft Internet Explorer with "Show Friendly HTTP error messages" enabled, Internet Explorer displays this page only if it contains more than 512 bytes.

Site-Wide Error Handler

Specify a page to execute when ColdFusion encounters an error while processing a request. This specification is relative to the web root. When you define a site-wide error handler or missing template handler, ColdFusion does not log page-not-found errors and exceptions.

Note: If the user is running Internet Explorer with Show Friendly HTTP Error Messages enabled, Internet Explorer only displays this page if it contains more than 512 bytes.

Maximum Size Of Post Data

Limits the amount of data that can be posted to the server in a single request. ColdFusion rejects single requests larger than the specified limit.

RequeSt Throttle Threshold

Requests smaller than the specified limit are not queued or counted as part of the total memory. Requests larger than the specified limit are counted as part of total memory and are queued if the request throttle-memory size is exceeded.

Request Throttle Memory

Limits total memory size for the throttle. If sufficient total memory is not available, ColdFusion queues requests until enough memory is free.

Request Tuning page

The Request Tuning page of the Administrator contains configuration options that you use to specify the number of different types of requests and threads that ColdFusion can handle simultaneously.

Option

Description

Maximum Number Of Simultaneous Template Requests

The number of CFML page requests that can be processed concurrently. Use this setting to increase overall system performance for heavy-load applications. Requests beyond the specified limit are queued.

Maximum Number Of Simultaneous Flash Remoting Requests

The number of Adobe Flash® Remoting requests that can be processed concurrently.

Maximum Number Of Simultaneous Web Service Requests

The number of Web Service requests that can be processed concurrently.

Maximum Number Of Simultaneous CFC Function Requests

The number of ColdFusion Component methods that can be processed concurrently through HTTP. This does not affect starting CFC methods from CFML, only methods requested through an HTTP request.

Maximum Number Of Simultaneous Report Threads

The maximum number of ColdFusion reports that can be processed concurrently.

Maximum Number Of Threads Available For CFTHREAD

CFTHREAD that runs concurrently. Threads that CFTHREAD creates in excess of the specified limit are queued.

Timeout Requests Waiting In Queue After n Seconds

If a request has waited in queue beyond the specified limit, time out the request. This value must be at least as long as the Request Timeout setting (currently 60 seconds).

Request Queue Timeout Page

Specify a relative path to an HTML page to send to clients when a template requests time out before getting a chance to run. For example "/CFIDE/timeout.html.” This page cannot contain CFML. If a page is not specified, clients receive a 500 Request Timeout error when their request does not get a chance to run.

Maximum Number Of Running JRun Threads

Maximum number of JRun handler threads that run concurrently. This option is used to set the number of request threads that the underlying JRun J2EE application server runs at the same time. This includes any non-ColdFusion requests such as JSP or HTML pages served through JRun.

Maximum Number Of Queued JRun Threads

Maximum number of requests that JRun can accept at any one time. This is the number of requests that the underlying JRun J2EE application server can accept at the same time.

Caching page

The Caching page of the Administrator contains configuration options that you can set or enable to cache templates, queries, and data sources. These options can significantly affect server performance. The following table describes the settings:

Option

Description

Maximum Number Of Cached Templates

Enter a value that specifies the number of templates that ColdFusion caches. For best application performance, set this option to a value that is large enough to contain the commonly accessed ColdFusion pages, yet small enough to avoid excessive reloading. You can experiment with a range of values on your development server; a suitable starting point is one page per MB of Java Virtual Machine (JVM) size.

Trusted Cache

Use cached templates without checking whether they changed. For sites that are not updated frequently, using this option minimizes file system overhead.

Cache Template in Request

When checked, any requested files are inspected only once for potential updates within a request. If unchecked, requested file are inspected for changes each and every time when it is accessed within the same request. For application where templates/components are not expected to reflect updates within the same request, this minimizes file system overhead. This setting does not require restarting the server.

Component cache

When checked, component path resolution is cached and not resolved again. This setting does not require restarting the server.

Save Class Files

Saves to disk the class files that the ColdFusion bytecode compiler generates. During the development phase, it is typically faster if you disable this option.

Cache Web Server Paths

Caches ColdFusion page paths for a single server. Clear this option if ColdFusion connects to a web server with multiple websites or multiple virtual websites.

Maximum Number Of Cached Queries

Enter a value to limit the maximum number of cached queries that the server maintains. Cached queries allow retrieval of result sets from memory rather than through a database transaction. Because queries reside in memory, and query result set sizes differ, provide a limit for the number of cached queries. You enable cached queries with the cachedwithin or cachedafter attributes of the cfquery tag. When the maximum number of cached queries is reached, the oldest query is dropped from the cache and replaced with the specified query. If you set the maximum number of cached queries to 0, query caching is unlimited.

Clear Template Cache Now

Empties the template cache. ColdFusion reloads templates into memory the next time they are requested and recompiles them if they have been modified.

Clear Component Cache Now

Empties the component cache. ColdFusion ignores the resolved path for components and try resolution again.

Client Variables page

Client variables let you store user information and preferences between sessions. Using information from client variables, you can customize page content for individual users.

You enable client variable default settings in ColdFusion on the Client Variables page of the Administrator. ColdFusion lets you store client variables in the following ways:

  • In database tables

    Note: If your data source uses one of the JDBC drivers bundled with ColdFusion 9, ColdFusion can automatically create the necessary tables. If your data source uses the ODBC Socket or a third-party JDBC driver, you manually create the necessary CDATA and CGLOBAL database tables.
  • As cookies in the web browsers

  • In the operating system registry

    Important: Adobe recommends that you do not store client variables in the registry because it can critically degrade performance of the server. If you use the registry to store client variables, you allocate sufficient memory and disk space.

To override settings specified in the Client Variables page, use the Application.cfc file or the cfapplication tag. For more information, see the Developing ColdFusion Applications.

The following table compares the client variable storage options:

Storage type

Advantages

Disadvantages

Data source

  • Can use existing data source

  • Portable: not tied to the host system or operating system

  • Requires database transaction to read/write variables

  • More complex to implement

Browser cookies

  • Simple implementation

  • Good performance

  • Can be set to expire automatically

  • Client-side control

  • Users can configure browsers to disallow cookies

  • Cookie data is limited to 4-KB

  • Netscape Navigator allows only 20 cookies from one host; ColdFusion uses three cookies to store read-only data, leaving only 17 cookies available

System registry

  • Simple implementation

  • Good performance

  • Registry can be exported easily to other systems

  • Server-side control

  • Possible restriction of the registry’s maximum size limit in Windows in the Control Panel

  • Integrated with the host system: not practical for clustered servers

  • Not available for UNIX

Migrating client variable data

To migrate your client variable data to another data source, determine the structure of the database tables that store this information. Client variables stored externally use two simple database tables, as shown in the following tables:

CDATA Table

Column

Data type

cfid

CHAR(64), TEXT, VARCHAR, or equivalent

app

CHAR(64), TEXT, VARCHAR, or equivalent

data

MEMO, LONGTEXT, LONG VARCHAR, or equivalent

CGLOBAL Table

Column

Data type

cfid

CHAR(64), TEXT, VARCHAR, or equivalent

data

MEMO, LONGTEXT, LONG VARCHAR, or equivalent

lvisit

TIMESTAMP, DATETIME, DATE, or equivalent

Creating client variable tables

Use the following sample ColdFusion page as a model for creating client variable database tables in your own database. However, keep in mind that not all databases support the same column data type names. For the proper data type, see your database documentation.

Note: The ColdFusion Administrator can create client variable tables for data sources that use one of the bundled JDBC drivers. For more information, see the Online Help.

Sample table creation page

<!---- Create the Client variable storage tables in a datasource.  
This example applies to Microsoft Access databases. ---> 
 
<cfquery name="data1" datasource="#DSN#"> 
CREATE TABLE CDATA 
( 
cfid char(20), 
app char(64), 
data memo 
) 
</cfquery> 
 
<cfquery name="data2" datasource="#DSN#">  
    CREATE UNIQUE INDEX id1  
    ON CDATA (cfid,app) 
</cfquery> 
     
<cfquery name="global1" datasource="#DSN#"> 
CREATE TABLE CGLOBAL 
( 
cfid char(20), 
data memo, 
    lvisit date 
) 
</cfquery> 
 
<cfquery name="global2" datasource="#DSN#">  
    CREATE INDEX id2  
    ON CGLOBAL (cfid) 
</cfquery> 
 
<cfquery name="global2" datasource="#DSN#">  
    CREATE INDEX id3  
    ON CGLOBAL (lvisit) 
</cfquery>

Memory Variables page

Use the Memory Variables page of the ColdFusion Administrator to enable application and session variables server-wide. By default, application and session variables are enabled when you install ColdFusion. If you disable either type of variable in the Memory Variables page, you cannot use them in a ColdFusion application.

You can specify maximum and default time-out values for session and application variables. Unless you define a time-out value in an Application.cfc or Application.cfm file, application variables expire in two days. Session variables expire when user sessions end. To change these behaviors, enter new default and maximum time-out values on the Memory Variables page of the Administrator.

Note: Time-out values that you specify for application variables override the time-out values set in the Application.cfc or Application.cfm file.

You can also specify whether to use J2EE session variables. When you enable the J2EE session variables, ColdFusion creates an identifier for each session and does not use the CFToken or CFID cookie value. For more information, see the Developing ColdFusion Applications.

Note: When using J2EE sessions, ensure that the session time out, specified in the WEB‑INF/web.xml session-timeout element, is longer than the session time out specified in the ColdFusion Administrator, and longer than any sessiontimeout attribute specified in a cfapplication tag.

Mappings page

Use the Mappings page of the ColdFusion Administrator to add, update, and delete logical aliases for paths to directories on your server. ColdFusion mappings apply only to pages that ColdFusion processes with the cfinclude and cfmodule tags. If you save CFML pages outside the web_root directory (or whatever directory is mapped to "/"), you add a mapping to the location of those files on your server.

Assume that the "/" mapping on your server points to C:\coldfusion9\wwwroot, but that all of your ColdFusion header pages reside in C:\2002\newpages\headers. Add a mapping in the ColdFusion Administrator that points to C:\2002\newpages\headers, for ColdFusion to find the header pages. For example, add a mapping for /headers that points to C:\2002\newpages\headers. In the ColdFusion pages located in C:\coldfusion9\wwwroot, you reference these header pages using /headers in your cfinclude and cfmodule tags.

Note: ColdFusion mappings are different from web server virtual directories. For information on creating a virtual directory to access a given directory using a URL in your web browser, consult your web server documentation.

Mail page

Use the Mail page of the ColdFusion Administrator to specify a mail server to send automated e-mail messages. ColdFusion supports the Simple Mail Transfer Protocol (SMTP) for sending e-mail messages and the Post Office Protocol (POP) for retrieving e-mail messages from your mail server. To use e-mail messaging in your ColdFusion applications, you must have access to an SMTP server and a POP account.

The ColdFusion Enterprise Edition supports mail-server failover, as well as additional mail delivery options.

The ColdFusion implementation of SMTP mail uses a spooled architecture. This means that when a cfmail tag is processed in an application page, the messages generated might not be sent immediately. If ColdFusion has a large queue, delivery could occur after some delay.

Note: For more information about the cfmail tag, see Sending SMTP e-mail with the cfmail tag in Sending and Receiving E-Mail in the Developing ColdFusion Applications.

Mail Server Settings area

The following table describes basic mail server settings:

Option

Description

Mail Server

Enter a valid mail server for sending dynamic SMTP mail messages in the text box. You can enter an Internet address, such as mail.company.com, or the IP address of the mail server, such as 127.0.0.1.

Username

Enter the user name for the mail server, if necessary.

Password

Enter the password for the mail server, if necessary.

Sign

Select this check box to configure ColdFusion to digitally sign your mails.

Keystore

Location of the Keystore containing the private key and certificate. The supported type is JKS (java key store) and pkcs12.

Keystore Password

Keystore password.

KeyAlias

Alias of the key with which the certificate and private key is stored in Keystore. If it is not specified then the first entry in the Keystore is be picked up.

KeyPassword

Password with which the private key is stored. If it is not specified, KeystorePassword is used as KeyPassword.

Verify Mail Server Connection

Verifies that ColdFusion can connect to your specified mail server after you submit this form.

Even if you do not use this option, send a test message to verify that your mail server connection works.

Server Port

Enter the number of the port on which the mail server is running. Contact your server administrator if you are unsure of the appropriate port number.

Backup Mail Servers (Enterprise Edition only)

Enter zero or more backup servers for sending SMTP mail messages. You can enter an Internet address, such as mail.company.com, or the IP address of the mail server, such as 127.0.0.1. Separate multiple servers with a comma.

If the mail server requires authentication, prepend the mail server with the user name and password, as follows: username:password@mailserveraddress

To use a port number other than the default (25), specify mailserveraddress:portnumber

Maintain Connection To Mail Server

(Enterprise Edition only)

Keeps mail server connections open after sending a mail message. Enabling this option can enhance performance when delivering multiple messages.

Connection Timeout (seconds)

Enter the number of seconds that ColdFusion should wait for a response from the mail server before timing out.

Enable SSL Socket Connections To Mail Server

Enables SSL encryption on the connections to the mail server.

Enable TLS Connection To Mail Server

Enables Transport Level Security (TLS) on the connection to the mail server.

Mail Spool Settings area

The following table describes mail server spool settings:

Option

Description

Spool Interval (Seconds)

Enter the interval, in seconds, at which you want the mail server to process spooled mail.

Mail Delivery Threads

(Enterprise Edition only)

Enter the maximum number of simultaneous threads used to deliver spooled mail.

Spool Mail Messages For Delivery To

(Memory spooling available for Enterprise Edition only)

Routes outgoing mail messages to the mail spooler. If you disable this option, ColdFusion delivers outgoing mail messages immediately. In ColdFusion Enterprise Edition, you can spool messages to disk (slower, but messages persist across shutdowns) or to memory (faster, but messages do not persist).

You can override this setting in the cfmail tag.

Maximum Number Of Messages Spooled To Memory

(Enterprise Edition only)

Enter the maximum number of messages that spool to memory before switching to disk spooling.

View Undelivered Mail

Click to view undelivered mails.

Mail Logging Settings area

Select preferences for handling mail logs, as described in the following table:

Option

Description

Error Log Severity

From the drop-down list object, select the type of SMTP-related error message to write to a log file. The options are the following:

  • Debug (contains Information, Warning, and Error)

  • Information (contains Warning and Error)

  • Warning (contains Error)

  • Error

Log All Mail Messages Sent By ColdFusion

Saves to a log file the To, From, and Subject fields of all e-mail messages.

ColdFusion writes sent-mail and mail-error logs to the following directories:

  • \coldfusion9\logs (Windows server configuration)

  • /opt/coldfusion9/log (Solaris and Linux server configuration)

  • cf_webapp_root/WEB-INF/cfusion/logs (multiserver and J2EE configurations, all platforms)

The following table describes the e-mail log files:

Log

Description

mailsent.log

Records sent e-mail messages.

mail.log

Records general e-mail errors.

Mail Character Set Settings area

Select preferences for the default mail character set, as described in the following table:

Option

Description

Default CFMail CharSet

From the drop-down list object, select the default character set that the cfmail tag uses. The default value is UTF-8. If most of your e-mail clients use a specific character set, you can use this setting to switch to that locale-specific character set. For example, Japanese mail is typically sent using the ISO-2022-JP character set.

Charting page

The ColdFusion charting and graphing server lets you produce highly customizable business graphics, in various formats, using the cfquery tag. Use the Charting page in the Administrator to control characteristics of the server.

The following table describes the caching and thread settings for the ColdFusion charting and graphing server:

Option

Description

Cache Type

Set the cache type. Charts can be cached either in memory or to disk. Memory caching is faster, but more memory intensive.

Maximum Number Of Cached Images

Specify the maximum number of charts to store in the cache. After the cache is full, if you generate a new chart, ColdFusion discards the oldest chart in the cache.

Max Number Of Charting Threads

Specify the maximum number of chart requests that can be processed concurrently. The minimum number is 1 and the maximum is 5. (Higher numbers are more memory-intensive.)

Disk Cache Location

When caching to disk, specify the directory in which to store the generated charts.

Font Management page

The Font Management page lets you review and define fonts for use with Adobe® FlashPaper™ and Acrobat® PDF output formats. ColdFusion generates FlashPaper and PDF output through the cfdocument tag and through the cfreport tag, when used to call a report created with the ColdFusion Report Builder.

ColdFusion automatically registers Acrobat built-in fonts and fonts located in typical font locations (such as the Windows\fonts directory). However, if your server has additional fonts installed in nonstandard locations, you register them with the ColdFusion Administrator so that the cfdocument and cfreport tags can locate and render PDF and FlashPaper reports.

This page contains the following topics:

Register New Font with ColdFusion
Lets you browse to a directory that contains fonts, or select a specific font.

User Defined Fonts
Displays the fonts that have been registered explicitly.

Current System Fonts
Displays fonts stored in platform-specific system font directories.

For more information on font management, see the ColdFusion Administrator online Help. For more information on reporting in ColdFusion, see Creating Reports and Documents for Printing in the Developing ColdFusion Applications.

Document page

The Document page allows you to configure OpenOffice application. If you did not configure during installation, provide the directory path to configure OpenOffice.

Depending on whether your ColdFusion server is installed on a local or remote server, you can configure OpenOffice with your ColdFusion server instance.

For more information about configuring OpenOffice with ColdFusion, see Configuring OpenOffice in Installing ColdFusion.

Java and JVM page

The Java and JVM page lets you specify the following settings, which enable ColdFusion to work with Java:

Option

Description

Java Virtual Machine Path

The absolute file path to the location of the Java Virtual Machine (JVM) root directory. The default is cf_root/runtime/jre.

Minimum JVM Heap Size

The JVM initial heap size.

Maximum JVM Heap Size

The JVM maximum heap size. The default value is 512 MB.

ColdFusion Class Path

The file paths to the directories that contain the JAR files that ColdFusion uses. Specify either the fully qualified name of a directory that contains your JAR files or a fully qualified JAR filename. Use a comma to separate multiple entries.

JVM Arguments

The arguments to the JVM. Use a space to separate multiple entries (for example, -Xint -Xincgc).

Note: This page is available in the server configuration only.

Before ColdFusion saves your changes, it saves a copy of the current cf_root/runtime/bin/jvm.config file as jvm.bak. If your changes prevent ColdFusion from restarting, use the jvm.bak file to restore your system. For more information, see the Online Help.

Settings Summary page

The Settings Summary page shows all ColdFusion configuration settings. Click a group name to open the Administrator section of that group, where you can edit settings. This page is not enabled in the Standard Edition.

In ColdFusion, you can export the server settings to PDF by clicking the Save As PDF button on this page.