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. |
| 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 (note: only tested with Apache and mod_xsendfile). Default "no". |
| locale | No | ColdFusion Locale for the application. Default is to use the locale returned by the ColdFusion getLocale() function. |
| adminStylesheet | No | Stylesheet for Speck administration windows (popups). Must be a path to the stylesheet file, not just the filename; e.g. "/styles/admin.css". The default stylesheet, which you can copy and then modify, can be found in the speck/www/stylesheets directory. |
| toolbarStylesheet | No | Stylesheet for Speck toolbar. Must be a path to the stylesheet file, not just the filename; e.g. "/styles/toolbar.css". The default stylesheet, which you can copy and then modify, can be found in the speck/www/stylesheets 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. "/styles/content.css". The default stylesheet, which you can copy and then modify, can be found in the speck/www/stylesheets directory. |
| layout | 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 full table 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. |
| enableContentAdminTable | No | In admin mode, speck normally wraps content items inside span tags with style set to display:block. This allows the content item to be highlighted when a user moves the mouse over the relevant admin links. Span tags were chosen to avoid problems with table tags breaking text formatting, but there is an empty span after each block in admin mode to clear floating elements which itself can cause problems with CSS positioning. Default value is "no", set to "yes" to force Speck to wrap content items inside table cells rather than span tags, but watch out for problems with tables breaking CSS text formatting if you do. |
| 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. |
| enablePromotion | No | Default "no". If enabled, new revision are created at edit level and are promoted through the available promotion levels before appearing live. Available levels are currently "edit", "review" and "live". |
| enableChangeControl | No | Change control is not supported in current Speck release, always set this value to "No" until change control is supported. |
| debug | No | Output debug info. Default "No" |
| sessionManagement | No | Value to pass to CFAPPLICATION, default "Yes" |
| sessionTimeout | No | Value to pass to CFAPPLICATION, default "createTimeSpan(0, 0, 20, 0)" |
| applicationTimeout | No | Value to pass to CFAPPLICATION, default "createTimeSpan(1, 0, 0, 0)" |
| setDomainCookies | No | Value to pass to CFAPPLICATION, default "Yes" |
| 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" |