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 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.
Preserve Case for Struct Key for Serialization
Maintains and preserves the case in which keys of a struct have been defined. If not checked, keys will be converted to uppercase.
Cases for struct keys were not preserved in the past versions of ColdFusion. The struct keys get converted to upper case automatically.
For instance, consider the following code:
<cfscript>
data = {};
data.empName = "";
data.age= ;
data.SomeValue = "";
serializedStr = serialize(data);
writeout(serializedStr);
</cfscript>
In ColdFusion 10 and earlier vesions, the output generated by the above code will be:
{'EMPNAME'='', 'AGE'=''}
For the release after ColdFusion Splendor, the output generated will be:
{'empName'='', 'age'=''}
To enable case preservation of struct keys at the application level, modify the application.cfc file by setting:
Protects web services, which return JSON
data from cross-site scripting attacks by prefixing serialized JSON
strings with a custom prefix.
Maximum output buffer size for each request in KB. If the output size for any request exceeds this limit, it would automatically get flushed. Under such circumstances the response cannot be cached.
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.
Do not allow creation of applications when no application name is specified in Application.cfm or Application.cfc
Specify if application variables should be added to Servlet Context. If disabled only unnamed Application, data will be added for JSP/Servlet interoperability.
Clear temporary files created during CFaaS
after
Specify the time in minutes after which
the temporary files created during CF as a Service(CFaaS) operation
must be deleted. The default value is 30 minutes.
ORM Search Index Directory
Specify the index directory (the one in
which all persistent entities, of an application's indexable data, are
saved) either at the server-level or application-level.
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.
Specify the file extensions as a comma separated list which gets compiled when used in the CFInclude tag. By default only cfm files gets compiled in cfinclude tag and all other file types gets included statically.
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 number of POST request parameters
Maximum number of parameters in a POST request sent to the server. ColdFusion rejects requests if the POST parameters exceed the limit you specify.
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
Simultaneous request tuning overview
You can specify the number of simultaneous requests that
can be processed for each of the following types of requests:
CFM page requests
CFC method invocations (via an HTTP GET)
Flash Remoting requests
Web Service requests
The settings are contained completely within ColdFusion code
and work across all J2EE application servers. You do not have to
restart the ColdFusion server for changes to the configuration to
take effect. JSP processing is not affected by these changes.
Note: Note: The Flash Remoting request control setting applies
to remoting that uses ActionScript 2.0 and ActionScript 3.0, with
each type treated independently. For example, a setting of 5 means
that up to 5 ActionScript 2.0 Flash Remoting and 5 ActionScript
3.0. Flash Remoting requests are allowed simultaneously.
Capabilities by edition
You
can create multiple instances and clusters, provided you have an
Enterprise or Developer license.
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.
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.
Use Internal Cache to Store Queries
When you select this option, at server level,
internal cache is used to store cached queries. By default, cached
queries are stored in QUERY region supported by Ehcache.
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 Template Cache of Specific Folder
In the previous releases, you have the option
only to clear the trusted cache, which clears the entire system
cache. Now you can limit the clearing to folder level using this
option.
Clear Component Cache Now
Empties the component cache. ColdFusion
ignores the resolved path for components and try resolution again.
Clear Query Cache Now
Removes the query cache in the server.
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 11, 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.
Store client variables in a data source
On the Client Variables page, in the Select Data Source to
Add as Client Store table, select a data source from the drop-down.
Click Add. The Add/Edit Client Store page for the data source
appears.
Select options for the data source, as described in the following
table. (To exit from the page without saving changes, click the
left-arrow icon.)
Option
Description
Description
A description of the client data store and
its settings. Not displayed for Registry.
Create Client database tables
If ColdFusion can determine that the database
you use supports SQL creation of database tables, this option appears,
and you do not need to create the client variable tables before
they are used. In this case, the Create Client Database Tables option appears
on the Add/Edit Client Store page; if you select this option, ColdFusion
creates the necessary tables in the database.
If the database
does not support SQL table creation, if the database already has
the required tables, or if you are using the Registry, this option
does not appear.
Purge data for clients that remain unvisited
for [n] days
Typically, client data is saved for a limited
time. To delete (purge) client data that has not been accessed in
a specified number of days, select this option and enter a value for
the number of days.
If a cluster of ColdFusion servers uses
this data source, ensure that only one server is configured to purge
client data.
Disable global client variable updates
By default, ColdFusion updates client variables
for every page request. To prevent ColdFusion from updating variables,
select this option.
If updates are disabled, ColdFusion updates
global client variables only when they are first created and when
they are updated. This helps improve application performance.
C lick Submit Changes. The Client Variables page appears,
with your data source in the list.
In the Select Default Storage Mechanism for Client Sessions
table, select the data source.
Click Apply.
Store client variables in a cookie or in the system registry
In the Client Variables page, select
Cookie or Registry.
Click Apply.
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
Applicable only for Windows
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.
Select this check box to allow downloading attachments for undelivered emails. It is recommended not to enable it in case undelivered email functionality is not being used.
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.
Scheduled Tasks
The Scheduling facility in ColdFusion Administrator lest
you schedule the execution of local and remote web pages, to generate
static HTML pages, send mail with the cfmail tag,
update database tables, index collections, delete temporary files,
and any other batch-style processing. The scheduling facility is useful
for applications that do not require user interactions or customized output.
ColdFusion developers use this facility to schedule daily sales
reports, corporate directories, statistical reports, and so on.
Information that is read more often than written is a good candidate
for scheduled tasks. Instead of executing a query to a database
every time the page is requested, ColdFusion renders the static
page with information that the scheduled event generates. Response
time is faster because no database transaction takes place.
You can run scheduled tasks once; on a specified date; or at
a specified time, daily, weekly, or monthly; daily; at a specified
interval; or between specified dates.
When a scheduled page executes, ColdFusion writes a message to
a log file called schedule.log automatically. This file identifies
the name of the scheduled action, the page to be executed, and whether
the task scheduled executed successfully.You can pause and resume
scheduled tasks.
Scheduled Task page
The Scheduled Task page lets you create, edit, pause, resume,
and delete scheduled tasks. This page has the following areas:
Area
Description
Schedule New Tasks
Click to add new scheduled task.
Actions
Click the icons to run, pause, edit or remove
the schedule task.
Task Name
Identifies the names of the existing tasks
scheduled to run.
Duration
Identifies the duration of the task to run.
Interval
Identifies how often this task runs. The
values for this column can be Once, Daily, or DailyEvery.
Application Level Scheduled Tasks: Provides
a list of application-specific tasks that you have scheduled, with
task details in tabular format.
The table provides details
such as actions, application name, group, task name, duration, interval,
last run, next run, repeat count, and if cluster is enabled.
Note: Application-specific
tasks cannot be created using ColdFusion Administrator. But you
can pause, resume, or delete the tasks.
Server Level Scheduled Tasks: Provides a list of server-specific
tasks that you have scheduled, with task details in tabular format.
The
table provides new details such as group, next run, repeat count,
if cluster is enabled, and the remaining task count.
Enable Cluster Setup: Applies if you have at least
one data source configured. Specify the following details:
Select Data source: All the data sources you have
connected to are listed.
Create Tables for Cluster Setup: Check to create scheduler-specific
tables for cluster.
Note: Enable this option only for one node
in the cluster. Otherwise, the tables are overridden. If you have
created tables from one node, in other nodes you need to only select
and choose the data source. All nodes will point to the same data
source and therefore will be part of the cluster.
After you specify the details, click Submit.
To
disable cluster, select the option Disable Cluster.
Add/Edit Scheduled Task page
Add/Edit Scheduled Task page lets you add or edit task.
Click Submit after you specify the following tasks. When the page
loads for the first time, you are provided with only minimum options
to create the task. Click Show Additional tasks to list all settings.
Option
Description
Task Name
Enter a name for the task in the Task Name
text box.
Duration
Enter the start and end dates for the task.
The end date is optional. If you want this task to execute continuously,
leave the End Date text box blank.
Frequency
Select the schedule for running this task:
One-time Schedules the task to run once on the start
date and scheduled time specified. Specify the date and time. The
task must be set at least 15 minutes in the future in order for
the task to execute successfully
Recurring Schedules the task to run daily, weekly,
or monthly at the specified time.
Daily every Schedules the task to repeat during a
day. Specify Start Time and End Time to designate when the task
begins and ends. Specify Hours, Minutes, Seconds to set an interval
after which the task repeats.
URL
Enter the URL for the ColdFusion page that
you want to execute. You can execute a local page or a page on a
remote ColdFusion Server, assuming that you have the proper access rights.
Username
(Optional) Specify a user name only if the
page you want to execute is in a secure location.
Password
(Optional) Specify a password only if the
page you want to execute is in a secure location.
Timeout
(Optional) Specify a timeout setting. This
helps prevent requests from stalling due to an overloaded web server,
a network problem, or a page that takes too long to execute.
Proxy Server: Port
(Optional) If this request must be routed
through a proxy server, enter the URL and Port number of that proxy
server.
Publish; File
(Optional) To publish an output file of
this task, select the Save Output to a File option and then, in
the File text box, enter the full path and filename of the output
file.
Resolve URL
(Optional) Select the Resolve URL option
to replace any relative URLs used in links returned in the result
page to absolute URLs.
Group
The group to which the scheduled tasks belong.
Ensure that the combination of task name and group are unique.
Crontime
Specify task scheduling time in cron job
syntax.
Overwrite
If not selected, creates new output files
every time the task executes.
Select to overwrite the existing
output file, instead of creating a new one.
Note
that Publish file in schedule tasks can now only have TXT and .log
extensions by default. You can add more extensions in cfusion\lib\neo-cron
xml.
Eventhandler
A CFC file whose pre-defined methods are
invoked for various events while running the task.
The path
you specify must be relative to webroot. For example, schedulerdemo.eventhandler.
Exclude
Comma-separated list of dates or date range
for exclusion in the schedule period.
On Misfire
Specify what the server has to do if a scheduled
task misfires.
On Exception
Specify what to do if a task results in
error.
On Complete
The action to be performed after the completion
of current task. Specify the details in the following format:
Task1:Group1,Task3:Group3
Priority
An integer that indicates the priority of
the task.
Retry Count
The number of reattempts if the task results
in an error.
Cluster
Enable to execute tasks in cluster setup.
WebSocket page
Use the ColdFusion Administrator (Server Settings >
WebSocket) to specify the following WebSocket-related details:
Option
Description
Check this box to enable the WebSocket functionality.
Use Proxy
ColdFusion WebSocket requests will be served by WebSocket proxy module configured with an external web server. Restart ColdFusion for the setting to take effect.
ColdFusion WebSocket requests will be served by the built-in ColdFusion WebSocket server. Restart ColdFusion for the setting to take effect.
Port
Port that the WebSocket server listens to.
SSL Port
The port that the WebSocket server listens to for secure communication (SSL). Restart ColdFusion for the setting to take effect.
Keystore
Location of the Keystore. Keystore contains the private key and certificate. The supported type is JKS(Java KeyStore) and pkcs12.
Keystore Password
Password used to open the keystore to load public/private key.
Socket Timeout
Socket timeout
Max Data Size
Data size of packets sent/received.
Enable Web Socket Cluster
Enable/disable the Web Socket cluster
Multicast Port
The port that the WebSocket Cluster will use to broadcast node up/down events. Restart ColdFusion for the setting to take effect.
Start Flash Policy Server
Start Flash cross-domain Policy Server on
port 843. This is required for Flash fallback if there is no native WebSocket
support at the client side.
ColdFusion 11 implemented WebSocket by providing a messaging layer for the WebSocket protocol, which you can control using CFML and JavaScript. The messaging layer has features that make WebSocket reliable and scalable. Using WebSocket, you can develop real-time applications for stock, charting, online gaming, social networking, dashboard for various purposes, and monitoring.
As you are already aware of, WebSocket connections use the standard HTTP ports (80 and 443) for sending and receiving data packets. Due to this reason, WebSockets are mostly firewall-friendly since almost all firewall configurations allow net traffic on the HTTP ports. Hence the HTML5 WebSockets do not require new hardware to be installed, or new ports to be opened on internal networks.
When there is no proxy server, reverse proxy server, or a firewall between the browser and the ColdFusion Server, the WebSocket connection works perfectly, as long as both the server and the client understand the WebSocket protocol. However, most of the times, there will not be any direct connection between the server and the client. ColdFusion 11 has introduced the proxy support for WebSocket. There is a new proxy module (that runs inside IIS and Apache Web Server) that can intercept the ColdFusion WebSocket requests and redirect the requests to the ColdFusion Server.
What is new in ColdFusion 11
ColdFusion 11 supports the following new features:
Proxy support - Support is now provided for setting up a proxy server for using ColdFusion WebSockets.
SSL support – Support is now provided for enabling SSL for ColdFusion WebSockets.
Cluster support – Support is now provided for enabling the cluster support for ColdFusion WebSockets.
Using ColdFusion WebSockets
The support for WebSocket was available in the previous version of ColdFusion. What is new in ColdFusion 11 is the support for WebSocket proxy.
Consider the following usage strategies for WebSocket proxy:
Strategy 1: When you don't have a firewall configured – You CAN use the WebSocket proxy
Strategy 2: When you have a firewall configured – You MUST use the WebSocket proxy
Strategy 1 - Using the built-in WebSocket server (ColdFusion 10)
Strategy 2 - Using a proxy server for WebSockets (ColdFusion 11)
New in ColdFusion 11
ColdFusion 11 has introduced the proxy support for WebSocket. There is a new proxy module (that runs inside IIS and Apache Web Server) that can intercept the ColdFusion WebSocket requests and redirect the requests to the ColdFusion Server.
You can use one of the following external servers along with the ColdFusion Server:
IIS 8 or higher running on Windows 8 or Windows Server 2012
Apache 2.2 or higher
The following steps enable you to quickly configure a WebSocket Proxy server for ColdFusion.
Step 1 – Configuring the external server
Before you begin setting up a WebSocket proxy, you need to configure the external server to support the WebSocket protocol.
Configuring IIS
For enabling WebSocket protocol for IIS, see this document.
Configuring Apache Server
No configuration required.
Step 2 – Enabling WebSocket Proxy
You need to enable the WebSocket Proxy port at the server-level through the ColdFusion Administrator. Perform the following steps:
Go to the ColdFusion Administrator page.
Click Server Settings > Web Socket
Click Enable WebSocket Server and select Use WebSocket Proxy Port:
Step 3 – Adding the external server
You need to configure the external Web Server connector with the ColdFusion Server using the wsconfig tool.
Perform the following tasks:
Go to <CF_INSTALL_HOME>/cfusion/runtime/bin
Run the wsconfig tool
In the GUI, click Add
In the Web Server drop down field, select the external server
In the Configuration Directory field, browse and select the path to the external server's configuration directory:
Click OK
If the external server is not running, you will be prompted to start the server:
Click Yes to start the external server
Click Exit
Step 4 - Setting up the WebSocket Proxy Server
ColdFusion 11 has introduced a new configuration tool, wsproxyconfig, which will allow you to quickly setup a WebSocket Proxy. Perform the following tasks:
Go to <CF_INSTALL_HOME>/cfusion/bin
Run the wsproxyconfig tool
In the GUI, click Add
In the Web Server drop down field, select the external server
In the Configuration Directory field, browse and select the path to the external server's configuration directory:
Click OK
If the external server is not running, you will be prompted to start the server:
Confirm the proxy configuration:
Click Close
Step 5 – Verify the proxy configuration
After you have successfully configured the WebSocket Proxy, verify if the required proxy files are created at <CF_INSTALL_HOME>/config/wsproxy/1
You can also manually modify the config.ini file located at <CF_INSTALL_HOME>/config/wsproxy/1.
Also, a new application, cfws will be made available under the application root of the external servers:
The <cfwebsocket> tag supports a new attribute:
secure – (Optional) If only secure port (SSL) is configured for the WebSocket server (for web service communication), all the WebSocket communication happens over the secure channel automatically. But in the case if both ports (non-SSL and SSL) are defined , if you require the communication to be set through a secured TCP socket, you must set secure to true. Default is false.
ColdFusion 11 has been enhanced to provide enterprise-level capabilities like real-time message broadcasting across cluster of nodes and SSL support for secure websocket communication (WSS protocol).
Cluster Support
If your application is running across various nodes and on publishing a message to a single node, you want the same to be broadcasted across all the nodes, you can use this feature.
For example, Node1 has two clients (C1 and C2) subscribed to the 'stock' channel. Similarly Node2 has two clients (C4, C6) and Node3 has two clients (C8, C10) also subscribed to the 'stock' channel. When client C1 tries to publish a massage on this 'stock' channel, rather than just sending this message to just C1 and C2 only, the clients from other nodes C4, C6, C8, and C10 must also receive this message.
On using this feature, you can publish a message to all the subscribers of the channel across various nodes of the cluster by enabling cluster. To enable the feature, choose the cluster option and define the multicast port to broadcast node up and node down (events).
JavaScript Functions
The following JavaScript functions were enhanced to auto-support the cluster functionality:
publish In ColdFusion 11, this function was enabled to send messages to a specific channel based on the filter criteria. In ColdFusion 11, this function is enhanced to send message to all nodes in a cluster by default.
Publish("channelname ", messageBody, {filterOptions}); getSubscriberCount In ColdFusion 11, this function was enabled to get subscriber count from a specific channel based on the filter criteria. In ColdFusion 11, this function is enhanced to fetch the subscriber count from all nodes by default.
getSubscriberCount("channelname") invokeAndPublish Use this function for message publishing and CFC invocation to be executed as separate thread.
invokeandPublish("channelname ", cfcName, cfcMethod, [function_parameter] ,{custom_options})
In-built ColdFusion functions
To further facilitate cluster support, the following in-built functions are enhanced for ColdFusion 11: WSPublish Trigger a message publish from the server without any input from client. A new parameter "Clustered" has been added to facilitate message broadcasting to all subscribers connected to multiple nodes.
wsPublish("channel name", messageBody [clustered])
Or
wsPublish("channel name", messageBody , {filterOptions},[cluster])
<cfset wsPublish("publishdemochannel","Welcome to publishdemo")/>
If the "clustered" parameter is not defined, then the default value will be taken based on the cluster <Enable/Disable> setup. WSGetSubscribers Fetches the subscriber information from all the configured nodes. A new parameter "Clustered" has been added to fetch subscriber information from all configured nodes.
WSGetSubscribers("channel")
Or
WSGetSubscribers ("channlName" ,[clustered]);
<cfset wsgetSubscribers("stocks", true)>
If the "clustered" parameter is not defined, then the default value will be taken based on the cluster <Enable/Disable> setup. WSGetAllChannels Fetches the sub-channel information from all the configured nodes. A new parameter "Clustered" has been added to fetch sub-channel information from all configured nodes.
WSGetAllChannels ("channel", clustered)
<cfset wsgetAllChannels("stocks" true,)>
If the "clustered" parameter is not defined, then the default value will be taken based on the cluster <Enable/Disable> setup.
Secure WebSocket communication (WebSocket over SSL)
The Websocket screen (Administrator Console > ColdFusion Administrator > Server Settings > WebSocket) has been enhanced in ColdFusion 11 with the following options:
Enable SSL
SSL port
KeyStore File location
KeyStore password
Option
Description
Enable SSL
Enables Secure Sockets Layer (SSL) for running WebSocket over SSL.
KeyStore File location
The location of keyStore in server's file system. For example, C:\OpenSSL\bin\keystore.jks.
KeyStore password
Password for the keyStore.
SSL port
Default port is 8543.
To enable Web socket cluster from the Administrator node, select Server Setting > Web Socket. In the Web Socket screen, select the Enable Web Socket Cluster check box and enter the Multicast Port details. In the Multicast Port field, the default Multicast Port 45566 is displayed. Change the port details if required. Make sure the multicast port value is same across all the nodes in the cluster.
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.
The
following table describes the fields on the Font Management page:
Area
Description
New Font/Font Directory
Specifies a fully qualified path to a directory
that contains font files or to a specific font file. The ColdFusion
Administrator lets you register the following types of font formats:
TTF: TrueType font.
TTC: Collection of TrueType or OpenType fonts.
OTF: OpenType font.
PFB: (Adobe printer fonts).
AFM: Adobe Font Metrics.
Font Family
High-level font name (for example, Arial
or Times New Roman).
Font Face
A specific font face (for example, Arial
Italic or Times New Roman Bold).
PostScript Name
Specifies the PostScript name of the font.
Font Type
Specifies the font type (for example, TrueType
or Adobe Built-In)
Usable In
Specifies whether the font is usable in
PDF, FlashPaper, or both formats. Note that Adobe built-in fonts
are not usable in FlashPaper output format.
Path
Fully qualified path to the font file.
The Font Management page also displays
the built-in Acrobat fonts, which are available for PDF only.
For
more information on reporting in ColdFusion, see Creating Reports
and Documents for Printing in the Developing ColdFusion Applications.
About Font Management
ColdFusion can create documents and reports in both PDF
and FlashPaper format. Both of these formats require that the server
computer have access to the fonts used in the HTML styles (cfdocument
tag) or the report definition (ColdFusion Report Builder). ColdFusion
requires access to these fonts to properly render text in PDF and
FlashPaper documents and, when specified, to embed fonts into a
PDF file.
Types of fonts and font extensions
The
ColdFusion Administrator lets you register the following types of
fonts:
Type
File extension
Description
Usable in
True Type
TTF
Scaleable font format developed by Apple Computer
and supported in all Macintosh and Windows operating systems.
PDF and FlashPaper
True Type Collection
TTC
A file that contains multiple TrueType or OpenType
fonts
PDF and FlashPaper
Open Type
OTF
An extension of the TrueType font format.
PDF and FlashPaper
Adobe printer font
PFB
Adobe printer font
PDF only
Adobe Font Metrics
AFM
A font format that contains general font information
and font metrics information. Typically used on Unix only.
PDF only
The Font Management page also displays the
built-in Acrobat fonts, which are available for PDF only.ColdFusion
does not use PFM or FFT fonts.
Font locations
The ColdFusion Administrator
automatically displays the fonts discovered in platform-specific
default locations, as follows:
Windows -
The Windows/Fonts directory (for example, WINDOWS/Fonts or WINNT/Fonts)
Unix - The following directories:
/usr/X/lib/X11/fonts/TrueType
/usr/openwin/lib/X11/fonts/TrueType
/usr/share/fonts/default/TrueType
/usr/X11R6/lib/X11/fonts/ttf
/usr/X11R6/lib/X11/fonts/truetype
/usr/X11R6/lib/X11/fonts/TTF
Additionally,
you can define fonts stored in other locations on the server. These are
called user-defined fonts. For example, you may want to register
the Lucida family of TrueType fonts, which the Sun JDK ships in
the jdk_root/jre/lib/fonts directory.
Embedding fonts in PDF output
Report developers
can optionally specify that ColdFusion embed fonts in the PDF file
(FlashPaper always embeds fonts). When using the cfdocument tag,
fonts are embedded if fontEmbed is set to yes or selective. When
using reports defined in the Report Builder, fonts are embedded
if specified in the report definition file.
Embedding fonts
increases file size, but ensures that reports display appropriately
regardless of whether or not client computers have the fonts installed.
Note: Some
font licenses prohibit embedding. ColdFusion does not embed fonts marked
as not-for-embedding.
Client requirements
If fonts are not embedded
in the PDF file, fonts must be installed on the client computer
to ensure that reports display appropriately.
Most Windows
computers ship with Internet Explorer, which includes the Microsoft
Core Fonts, a set of TrueType fonts.
UNIX considerations
If you install ColdFusion
on a UNIX computer you must ensure that the appropriate fonts are
installed, even if the computer provides console access only.For more
information on TrueType fonts for UNIX, see http://corefonts.sourceforge.net/.
ColdFusion Report Builder considerations
The
ColdFusion Report Builder has no automatic knowledge of fonts available
on the server so the developer building the report definition must
consult the ColdFusion MX Administrator to determine which fonts
are available on the server and, if necessary, register fonts in
the Administrator or install fonts on the computer that runs Report
Builder.
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
Note: This
page does not apply when deploying ColdFusion on a J2EE server.
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: You must restart ColdFusion after making changes.
When you update the Java and JVM Settings page, ColdFusion writes
the changes to jvm.config, which is located in cf_root\runtime\bin.
Before ColdFusion saves your changes, it saves a copy of the current
jvm.config file as jvm.bak. If your changes prevent ColdFusion from
restarting, use jvm.bak to restore your system. For example, rename
jvm.config to jvm.config_BAD, and then rename jvm.bak to jvm.config.
ColdFusion filters out default settings for the jvm.args attribute
from the jvm.config file, including the following:
To use Server Monitor or Multiserver Monitor on a J2EE deployment
of ColdFusion on Oracle 10g, in JVM Arguments set -Doc4j.jmx.security.proxy.off=true
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.