Helma Logo
main list history

Server and Application Properties

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.

Property Range Description
ajp13Port server Specifies the port number where Helma should listen for AJP13 connections.
allowAJP13 server Specifies ip adresses that are allowed to connect to the Helma AJP13 server (port 8009). By default, only connections from localhost are accepted.
allowRMI server 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)
allowXmlRpc server, app Same as allowRMI, but for the XML-RPC server (port 5056).
appHome server Defines the path to the location of Helma applications. If not specified, [hopHome]/apps will be used.
appsPropFile server Sets the location of the apps.properties file (i.e. for security reasons). The default is the root directory of your Helma installation.
autoETags app Enables ("autoETags = true") or disables ("autoETags = false") automatic generation of ETag headers for HTTP conditional GET. Switched on per default.
baseURI server, app 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".
cachesize server, app Defines the size of the node cache. See the caching documentation
charset server, app Defines the character encoding. The default is ISO-8859-1 (Western) encoding. You can use any of the encodings supported by Java.
country server Like language, this is used to set the country for proper localisation. For details you can refer to this list of country codes.
cron app Allows cron jobs to be defined, similar to the unix cron daemon, but with a nicer configuration syntax.
dbHome server Defines the path to the location of the embedded database files. If not specified, [hopHome]/db will be used
debug server, app Switches between "normal" logging output ("debug = false") and the extensive "debug" output ("debug = true") which may be useful when developing. Default setting is "false".
error server, app 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.
hopHome server This property defines the Helma working directory, e.g. "hopHome = /hop/apps". If not specified, the current directory is used.
hrefFunction app The name of a function to be called to postprocess the result of the HopObject [Unhandled macro: shortcut] 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().
hrefSkin app The name of the skin that is assigned to this property is used to extend the [Unhandled macro: shortcut] 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 [Unhandled macro: shortcut] for the whole picture.
httpOnlySessionCookie app HttpOnly session cookies 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 false!
idBaseValue server, app 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.
language server 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 list of language codes for details.
logDir server, app 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
loggerFactory server Can be set to a class name, enabling the use of alternative loggers like log4j
logSQL server, app 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).
maxThreads server, app 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.
minThreads server, app 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.
notfound server, app 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.
paranoid server 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 allowWeb and allowXmlRpc properties. Default setting is "paranoid = false".
persistentSessions server, app 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.
requestTimeout server, app 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.
requestTimeoutStop app If set to true threads get stopped using Java's deprecated Thread.stop() (see related notes from Sun). The default value is false.
rhino.debug app If set to true, the visual Rhino debugger activated (this happens on the server-side, of course). The default value is false.
rhino.profile app If set to true, the Rhino profiler is enabled. The default value is false.
rhino.profile.session app If set, the profiler is only applied to requests with a session id matching the property value. The default value is to debug all requests and internal calls.
rhino.languageVersion server, app If set to "170", new Javascript 1.7 features will be enabled when using a Rhino 1.7 jar file.
strictvars server, app If set to true, reports errors for variables with missing var statement. The default value is false.
rmiPort server Specifies the port number where Helma should listen for Java RMI connections.
schedulerInterval server, app 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.
sessionTimeout server, app This determines the time (in minutes) after which an inactive session becomes invalid. The default is 30 minutes.
skinCharset server, app Defines the character encoding for skins. If not set, the platform's default encoding is used. You can use any of the encodings supported by Java.
skinPath app
smtp server, app Specifies an SMTP server, e.g. "smtp = mail.server.dom". If you want Helma to send e-mail you should define this property.
sourceCharset server, app 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 encodings supported by Java.
timezone server 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 list of timezones.
webPort server Specifies the port number where Helma should listen for HTTP connections.
xmlparser server 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.
xmlRpcAccess app 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".
xmlRpcHandlerName app 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".
xmlrpcPort server Specifies the port number where Helma should listen for XML-RPC connections.

Links to this page: Helma and log4j, Cronjobs