Standard Speck Configuration Settings

Each application has its own application configuration settings file in the /webapps/speck/config directory. The name of the file must match the name of the application, i.e. the value of the name attribute of the cf_spApp tag, with a .app extension.

Speck configuration settings files are similar to those in Windows initialisation or configuration settings files (e.g. win.ini, system.ini). Each file contains one or more sections with each section indicated by a section head enclosed in square brackets. Within a section, each setting is on a separate line along with its corresponding value, e.g.

[sectionName]
setting1 = value1
setting2 = value2

For an example, take a look at the application configuration file for the sydneyjabiru sample application, /webapps/speck/config/apps/sydneyjabiru.app

Note: Section names must be valid variable names and Speck assumes that an opening square bracket indicates the start of a section, whether the opening square bracket is the first character on a new line or not.

There is one required section for each Speck application configuration file, "settings". Within this "settings" section, the following values are set:

Setting Required Description
description No Short description for this application
appInstallRoot Yes Physical path to the application's root directory. e.g. c:\inetpub\webapps\sydneyjabiru
codb No Datasource to use for content object database. The default value is the name of the application as defined by the value of the name attribute of the cf_spApp tag.
dbtype No Database type for codb datasource. By default Speck assumes the database management system is compliant with ANSI SQL standards. In practice, this is rarely the case, so you should specify the dbtype. The value should match the name of a DBMS in the databases.cfg configuration file. Currently supported values are access, sqlserver, postgresql, oracle, mysql, sybase, db2, interbase and firebird. Support for other DBMSs can be added by adding sections to the configuration file.
Note RE postgresql - even though there is no postgresql section in the databases.cfg file, because it's close enough to being ANSI compliant not to need one, you should still set the dbtype to postgresql to take advance of some performance optimisations within the Speck code base.
mapping No ColdFusion logical path mapping to the physical directory containing tags/modules for the application. This setting is only required if your application's root directory is not inside the same parent directory as the "speck" directory. For example, if you have installed the Speck core files to c:\speck, but are your applications are stored within e:\webapps. If you install all of your Speck applications within the same parent directory (e.g. e:\webapps), you can just add one CF template mapping (e.g. /webapps), mapped to that parent directory. Then use this CF mapping as the basis for the mapping setting for each application, e.g. "/webapps/sydneyjabiru/tags". Note the lack of a trailing slash.
securityZones No List of security zones to use for this application. Each value in the list should match the filename minus extension of a users file, and optionally groups and roles files, in the Speck security directory. The default value is the application name, so by default Speck looks for a new security zone with the same name as the application. If this security zone doesn't exist, it will be created on application initialisation with one admin user and a random password.
appWebRoot No Path to the web root of the application. Used to run Speck applications in virtual directories, the value is used as a prefix when building paths relative to the web server/site root; e.g. "/sydneyjabiru". Default ""
sesUrls No Enable support for standard search engine safe URLs (i.e. /index.cfm/param/value). Note: more elaborate search engine optimised URLs that rely on an external URL rewriting engine are available as part of the portal framework. Default "no".
sesSuffix No A dummy suffix added to the end of search engine safe URLs which should be discarded when parsing the URL to obtain name/value pairs which would normally be part of the querystring (e.g. .html). Default "".
xSendFile No Use X-SendFile header when sending files using asset script, rather than have CF read the file and deliver it (asset script is used to deliver secure assets). Requires a web server configured with X-SendFile support. Default "no". Only tested with Apache and mod_xsendfile. Note that if you are using mod_xsendfile, you must set XSendFileAllowAbove on to allow access to files in the secureassets directory.
locale No ColdFusion Locale for the application. Default is to use the locale returned by the ColdFusion getLocale() function.
adminStylesheets No Sub-directory of speck/www/stylesheets within which speck should look for default admin, content and toolbar stylesheets. Defaults to "custom". If stylesheets aren't found in this directory, speck will use the default system stylesheets in the system directory. Note that each individual stylesheet can also be specifically overridden using the settings listed below, though this isn't recommended.
adminStylesheet No Stylesheet for Speck administration windows (popups). Must be a path to the stylesheet file, not just the filename; e.g. "/stylesheets/cms/admin.css". The default stylesheet, which you can copy and then modify, can be found in the speck/www/stylesheets/system directory.
toolbarStylesheet No Stylesheet for Speck toolbar. Must be a path to the stylesheet file, not just the filename; e.g. "/stylesheets/cms/toolbar.css". The default stylesheet, which you can copy and then modify, can be found in the speck/www/stylesheets/system directory.
contentStylesheet No Stylesheet for Speck administration links embedded into the output. Must be a path to the stylesheet file, not just the filename; e.g. "/stylesheets/cms/content.css". The default stylesheet, which you can copy and then modify, can be found in the speck/www/stylesheets/system directory.
adminLayout No Layout for admin windows. The value should be the name of a ColdFusion template (with a .cfm extension) in /speck/www/admin/layouts/ OR a logical path to a layout file which can be used by cfinclude to include the layout. Layout files are similar to Fusebox layout files and an example is provided in /speck/www/admin/layouts/.
enableOutputCaching No Enable output caching (i.e. use of cf_spCacheThis tag) for this application. Default "yes". It can be useful to set this to "no" while developing the HTML for a site to avoid having to reset the cache every time you make a change to the HTML.
persistentOutputCache No Save output caches to persistent storage. Default "yes". This value is used as the default value for the persistent attribute of the cf_spCacheThis tag. By storing output caches to persistent storage, the in-memory output caches can be built from the persistent cache after a CF server restart.
strings No Value should match a file containing user-interface strings in the /speck/config/strings/ directory. Defaults according to locale setting. For more info see the section on localisation.
manageKeywords No Allow users with spSuper or spKeywords roles manage a list of application keywords. When saving content items, keywords can only be chosen from this list. Default "no", if "yes" a manage keywords link appears in the toolbar.
maxKeywordLevels No Speck creates a tree from the application keywords by separating each level with a dot, e.g. "news.local" and "news.global" are two keywords with the same parent keyword "news". This setting limits the number of levels that are allowed. Default 2. Only applicable if manageKeywords is true.
labelRoles No Default read and write permissions for the label in the edit content form. Default "", i.e. no access control, anyone who can edit content can edit the label. See sections on creating content types and access control for more details.
keywordsRoles No Default read and write permissions for the keywords in the edit content form. Default "", i.e. no access control, anyone who can edit content can edit the keywords. See sections on creating content types and access control for more details.
keywords No Use to specify a source for application keywords other than the spKeywords content type. Value should match a file in the /speck/config/keywords/ directory.
useKeywordsIndex No All Speck content items have a system defined keywords property which can be used to retrieve content items with matching keywords. The keywords are stored in a single column as a comma-delimited list, so retrieving content items based on a keywords match requires a sequential scan. This is fine when there are only a small number of content items of any particular type, but when you have tens of thousands you need to use an index to retrieve the content items if you don't want to kill your poor server. Being nice guys, we've also made sure that Speck maintains a separate keywords index table which effectively maps keywords to content items and is indexed. If you set useKeywordsIndex to true, then cf_spContentGet will run a subquery on this table to determine which content items match the keywords rather than a full table scan on the content type table.
enableRevisions No Default "no". If enabled, new revision every time content is updated and maintain a complete content history, allowing old versions of content to be viewed.
historySize No The maximum number of revisions per content items to keep in the history. Default 100. Set to empty string to keep all revisions. Note: Speck currently stores all revisions of a content item, including the current revisions, in one table per content type, so it's a good idea to place some limit on the number of revisions to keep per content item.
enablePromotion No Default "no". If enabled, new revisions are created at edit level, then promoted for review and only appear on the live site after being approved/published.
debug No Output debug info. Default "No"
sessionManagement No Value to pass to CFAPPLICATION, default "Yes"
sessionTimeout No Number of minutes to use when generating timespan to pass to CFAPPLICATION, default 30.
applicationTimeout No Number of days to use when generating timespan to pass to CFAPPLICATION, default 7.
setDomainCookies No Value to pass to CFAPPLICATION, default "No"
clientManagement No Value to pass to CFAPPLICATION, default "No"
clientStorage No Value to pass to CFAPPLICATION, default ""
setClientCookies No Value to pass to CFAPPLICATION if clientManagement is "Yes". Default "No" (by default Speck creates the cfid and cftoken cookies as per-session cookies).