Helma Logo
main list history
previous version  overview  next version

Version 7 by Philipp on 19. August 2009, 17:36

This is a list of properties recognized by Helma that can be set in the server.properties and/or app.properties files.

Hints about which property can be set in which property file are displayed in the "Range" column.

<table width="95%" border="1" cellspacing="0" cellpadding="5">
<tr class="small">
<th>Property</th>
<th>Range</th>
<th>Description</th>
</tr>

<a name="ajp13Port"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>ajp13Port</tt></td>
<td valign="top">server</td>
<td valign="top">Specifies the port number where Helma should listen for AJP13 connections.</td>
</tr>

<a name="allowAJP13"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>allowAJP13</tt></td>
<td valign="top">server</td>
<td valign="top">Specifies ip adresses that are allowed to connect to the Helma AJP13 server (port 8009). By default, only connections from localhost are accepted.</td>
</tr>

<a name="allowRMI"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>allowRMI</tt></td>
<td valign="top">server</td>
<td valign="top">Specifies ip adresses (or networks) that are allowed to connect to the Helma rmi servlet server (port 5055). For more than one ip adress put a comma, semicolon or space between the entries, subnets should be written as e.g. "192.168.0.*". (the same setting is also settable using the somewhat misleading property name allowWeb)</td>
</tr>

<a name="allowXmlRpc"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>allowXmlRpc</tt></td>
<td valign="top">server, app</td>
<td valign="top">Same as <a href="#allowRMI">allowRMI</a>, but for the XML-RPC server (port 5056).</td>
</tr>

<a name="appHome"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>appHome</tt></td>
<td valign="top">server</td>
<td valign="top">Defines the path to the location of Helma applications. If not specified, [hopHome]/apps will be used.</td>
</tr>

<a name="appsPropFile"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>appsPropFile</tt></td>
<td valign="top">server</td>
<td valign="top">Sets the location of the apps.properties file (i.e. for security reasons). The default is the root directory of your Helma installation.</td>
</tr>

<a name="autoETags"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>autoETags</tt></td>
<td valign="top">app</td>
<td valign="top"> Enables ("autoETags = true") or disables ("autoETags = false") automatic generation of ETag headers for HTTP conditional GET. Switched on per default.
</td>
</tr>

<a name="baseURI"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>baseURI</tt></td>
<td valign="top">server, app</td>
<td valign="top">Specifies the prefix to add to urls generated by a Helma application. For example, if your application is "mounted" at /myapp in the server's document tree, you'd state "baseURI = /myapp".</td>
</tr>

<a name="cachesize"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>cachesize</tt></td>
<td valign="top">server, app</td>
<td valign="top">Defines the size of the node cache. See the *caching* documentation</td>
</tr>

<a name="charset"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>charset</tt></td>
<td valign="top">server, app</td>
<td valign="top">Defines the character encoding. The default is ISO-8859-1 (Western) encoding. You can use any of the <a href="http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html">encodings supported by Java</a>.</td>
</tr>

<a name="country"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>country</tt></td>
<td valign="top">server</td>
<td valign="top">Like language, this is used to set the country for proper localisation. For details you can refer to this <a href="http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html">list of country codes</a>.</td>
</tr>

<a name="cron"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>cron</tt></td>
<td valign="top">app</td>
<td valign="top">Allows cron jobs to be defined, similar to the unix cron daemon, *but with a nicer configuration syntax|Cronjobs*.</td>
</tr>

<a name="dbHome"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>dbHome</tt></td>
<td valign="top">server</td>
<td valign="top">Defines the path to the location of the embedded database files. If not specified, [hopHome]/db will be used</td>
</tr>

<a name="debug"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>debug</tt></td>
<td valign="top">server, app</td>
<td valign="top">Switches between "normal" logging output ("debug = false") and the extensive "debug" output ("debug = true") which may be useful when developing. Default setting is "false".</td>
</tr>

<a name="error"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>error</tt></td>
<td valign="top">server, app</td>
<td valign="top">The name of the Action defined in the Root prototype that will be called if an application error occurs. This provides the facility to output a nice error page to the user, rather then the default helma one.</td>
</tr>

<a name="hopHome"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>hopHome</tt></td>
<td valign="top">server</td>
<td valign="top">This property defines the Helma working directory, e.g. "hopHome = /hop/apps". If not specified, the current directory is used.</td>
</tr>

<a name="hrefFunction"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>hrefFunction</tt></td>
<td valign="top">app</td>
<td valign="top">The name of a function to be called to postprocess the result of the HopObject <% shortcut name="href()" %> function. If this option is specified, Helma will walk up the object's path until it finds an object that does have a function with the given name. If it is found, the function is called with the raw href string as only argument. The return value of this function is then returned to the original caller of href().</td>
</tr>

<a name="hrefSkin"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>hrefSkin</tt></td>
<td valign="top">app</td>
<td valign="top">The name of the skin that is assigned to this property is used to extend the <% shortcut name="href()" %> function. E.g. setting "hrefSkin = customLink" will cause Helma to set param.path to the result of href() and to render the skinfile customLink.skin as if the function renderSkin("customLink", param) was invoked. Take a look at the <% shortcut name="hrefSkin example" %> for the whole picture.</td>
</tr>

<a name="httpOnlySessionCookie httpOnlySessionCookie"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>httpOnlySessionCookie </tt></td>
<td valign="top">app</td>
<td valign="top"><a href="http://www.owasp.org/index.php/HTTPOnly">HttpOnly session cookies</a> are enabled by default since Helma 1.6.3. This means that browsers might prevent client-side JavaScript from accessing session cookies stored in the document.cookie property. If client-side JavaScript needs to access session cookies, you have to set httpOnlySessionCookies to <tt>false</tt>!</td>
</tr>

<a name="idBaseValue"></a>
<tr bgcolor="#ccccff">

<td valign="top" nowrap="nowrap"><tt>idBaseValue</tt></td>
<td valign="top">server, app</td>
<td valign="top">Used to set the current value of the internal ID generator. This is useful when starting a new internal db (where the id value would normally start at 1), but relational dbs are used that already contain data. Only applied if the current counter value is smaller than idBaseValue.</td>
</tr>

<a name="language"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>language</tt></td>
<td valign="top">server</td>
<td valign="top">Used to set the language on systems where the Java runtime doesn't recognize it by itself (e.g. Linux), which may be important for date formatting and the like. Refer to this <a href="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt">list of language codes</a> for details.</td>
</tr>

<a name="logDir"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>logDir</tt></td>
<td valign="top">server, app</td>
<td valign="top">Defines the path to the location where log files will be written. Either in the form  "logdir = /path/to/log/directory" or "logdir = console" to log directly to the console. If not specified, [hopHome]/log will be used</td>
</tr>

<a name="loggerFactory"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>loggerFactory</tt></td>
<td valign="top">server</td>
<td valign="top">Can be set to a class name, enabling the <a href="http://helma.org/docs/howtos/log4j/">use of alternative loggers like log4j</a></td>
</tr>

<a name="logSQL"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>logSQL</tt></td>
<td valign="top">server, app</td>
<td valign="top">With this option set to "true", Helma writes out all SQL select statements to the logging device (and just those, so you won't find any insert, update or delete statements in there).</td>
</tr>

<a name="maxThreads"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>maxThreads</tt></td>
<td valign="top">server, app</td>
<td valign="top">Sets the maximum number of Helma's Java threads, e.g. "maxThreads = 12". This is one of the parameters you should adjust for each server depending on the applications you run. If you see an error like "maximum thread count reached" you should increase the value of this property.</td>
</tr>

<a name="minThreads"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>minThreads</tt></td>
<td valign="top">server, app</td>
<td valign="top">Sets the minimum number of Helma's Java threads and evaluators to be allocated at application startup time, e.g. "minThreads = 3". This is one of the parameters you should adjust for each server depending on the applications you run. If you expect lots of traffic and experience slow evaluator inialization when the server is started you might want to set this property.</td>
</tr>

<a name="notfound"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>notfound</tt></td>
<td valign="top">server, app</td>
<td valign="top">The name of the Action defined in the Root prototype that will be called if the object specified by a http request cannot be found. This provides the facility to output a nice 404 'not found' page to the user, rather then the default helma one.</td>
</tr>

<a name="paranoid"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>paranoid</tt></td>
<td valign="top">server</td>
<td valign="top">If set to "true", Helma switches to "paranoid" mode which means that it won't accept connections from servers with unknown ip adresses >you can specify allowed ip adresses with the <a href="#allowWeb">allowWeb</a> and <a href="#allowXmlRpc">allowXmlRpc</a> properties. Default setting is "paranoid = false".</td>
</tr>

<a name="persistentSessions"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>persistentSessions</tt></td>
<td valign="top">server, app</td>
<td valign="top">Setting "persistentSessions=true" in the app.properties file will attempt to preserve sessions through an application reset or server shutdown/restart, except for sessions that have expired in the meantime. Optional read-only property, default is false.</td>
</tr>

<a name="requestTimeout"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>requestTimeout</tt></td>
<td valign="top">server, app</td>
<td valign="top">Defines the time in seconds after which a request receives a timeout. Normally there is no need to change this value, but if you have tasks in your Helma application that take a longer time, you should increase this value.</td>
</tr>

<a name="requestTimeoutStop"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>requestTimeoutStop</tt></td>
<td valign="top">app</td>
<td valign="top">If set to true threads get stopped using Java's deprecated Thread.stop() (see <a href="http://java.sun.com/j2se/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html">related notes from Sun</a>). The default value is false.</td>
</tr>

<a name="rhino.debug"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>rhino.debug</tt></td>
<td valign="top">app</td>
<td valign="top">If set to true, the visual Rhino debugger activated (this happens on the server-side, of course). The default value is false.</td>
</tr>

<a name="rhino.languageVersion"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>rhino.languageVersion </tt></td>
<td valign="top">server, app</td>
<td valign="top">If set to "170", new Javascript 1.7 features will be enabled when using a Rhino 1.7 jar file.</td>
</tr>

<a name="strictvars"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>strictvars</tt></td>
<td valign="top">server, app</td>
<td valign="top">If set to true, reports errors for variables with missing var statement. The default value is false.</td>
</tr>

<a name="rmiPort"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>rmiPort</tt></td>
<td valign="top">server</td>
<td valign="top">Specifies the port number where Helma should listen for Java RMI connections.</td>
</tr>

<a name="schedulerInterval"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>schedulerInterval</tt></td>
<td valign="top">server, app</td>
<td valign="top">The time in seconds after which scheduled cron jobs are executed again. Makes it possible to cause cron jobs to be run several times per minute.  Note that this will have the side effect to invoke *all* cronjobs at the specified seconds interval within the minute that they are scheduled to run. For example, with this setting set to 5, a cron job that is scheduled to run once a week, will run every five seconds during one minute once a week.</td>
</tr>

<a name="sessionTimeout"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>sessionTimeout</tt></td>
<td valign="top">server, app</td>
<td valign="top">This determines the time (in minutes) after which an inactive session becomes invalid. The default is 30 minutes.</td>
</tr>

<a name="skinCharset"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>skinCharset</tt></td>
<td valign="top">server, app</td>
<td valign="top">Defines the character encoding for skins. If not set, the platform's default encoding is used. You can use any of the <a href="http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html">encodings supported by Java</a>.</td>
</tr>

<a name="skinPath"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>skinPath</tt></td>
<td valign="top">app</td>
<td valign="top"></td>
</tr>

<a name="smtp"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>smtp</tt></td>
<td valign="top">server, app</td>
<td valign="top">Specifies an SMTP server, e.g. "smtp = mail.server.dom". If you want Helma to send e-mail you should define this property.</td>
</tr>

<a name="sourceCharset"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>sourceCharset</tt></td>
<td valign="top">server, app</td>
<td valign="top">Defines the character encoding for source files (*.js, *.hac). If not set, the platform's default encoding is used. You can use any of the <a href="http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html">encodings supported by Java</a>.</td>
</tr>

<a name="timezone"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>timezone</tt></td>
<td valign="top">server</td>
<td valign="top">It might be necessary to explicitly set the timezone for Helma. If "new Date()" puts out the wrong date, check if this option was set correctly. For details, refer to this <a href="http://greenwichmeantime.com/info/timezone.htm">list of timezones</a>.</td>
</tr>

<a name="webPort"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>webPort</tt></td>
<td valign="top">server</td>
<td valign="top">Specifies the port number where Helma should listen for HTTP connections.</td>
</tr>

<a name="xmlParser"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>xmlparser</tt></td>
<td valign="top">server</td>
<td valign="top">Can be used to specify a different XML parser, e.g. "xmlparser = minml". If not specified, the system property "sax.driver" is considered before defaulting to OpenXML. Note that this setting effects XML-RPC and the Xml host object only, but not the E4X XML object, nor the global.getHtmlDocument() and global.getXmlDocument() methods.</td>
</tr>

<a name="xmlRpcAccess"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>xmlRpcAccess</tt></td>
<td valign="top">app</td>

<td valign="top">Functions which should be callable via XML-RPC need to be listed in this property on a per-application basis. The list contains entries of the kind "prototype.function" for each exposed function separated by commata, e.g. "xmlRpcAccess = weblog.getStory, weblog.showStatus".</td>
</tr>

<a name="xmlRpcHandlerName"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>xmlRpcHandlerName</tt></td>
<td valign="top">app</td>
<td valign="top">Setting this property makes it possible to change the name under which an application is registered with the XML-RPC server. For example, this means that the functions exposed via XML-RPC could be given a "blogger" prefix. For instance a function called "newPost" will then be XML-RPC callable as "blogger.newPost" instead of "antville.newPost".</td>
</tr>

<a name="xmlrpcPort"></a>
<tr bgcolor="#ccccff">
<td valign="top" nowrap="nowrap"><tt>xmlrpcPort</tt></td>
<td valign="top">server</td>
<td valign="top">Specifies the port number where Helma should listen for XML-RPC connections.</td>
</tr>

</table>

     removed
     added