Scarab Properties

DATABASE

      The properties in this section are only needed in the 
      database creation phase, which is the last thing you do 
      before you can start Scarab. 
      
      Please see the documentation on the website and  README.txt file 
      for how to configure your specific database setup.
      
      uses in Scarab:
      ---------------
      
      ant deploy          (source distribution)
      ant generate-om     (source distribution)
      Scarab Setup Wizard (binary distribution)
      
      Important for builders (source distribution): 

      This section allows you to define your runtime 
      environment together with your build time environment
      in one specific file (this one).
      But since the runtime properties must be propagated
      to the final webapp, these properties will eventually
      be propagated to the file
      
          WEB-INF/conf/defaultCustom.properties
      
      This copy is automatically done in the 
      deploy phase (ant deploy) where the file default.properties 
      is used as blueprint for the layout, but the property values 
      are taken from the current user settings, i.e. all of your
      property modifications from build.properties will show 
      up in the webapp under WEB-INF/conf/defaultCustom.properties
      
      Hence if you build your own instance, defaultCustom.properties
      will allready contain your individual setup and you can
      start your instance without further property modifications in
      the webapp.
      If you build a generic binary distribution, all you need to
      do after a fresh checkout will be:
      
      ant deploy
      
      The result will be a generic binary distribution.
    

Property name Type Details
scarab.database.type Build This property defines, for which database the Scarab instance shall be built. The following values are currently allowed (the default value is underlined) mysql, postgresql, oracle, hypersonic, mssql, db2 -----
scarab.database.username Build
scarab.database.password Build
scarab.database.admin.username Build Database user to use when creating and seeding the database.
scarab.database.admin.password Build Password to use when creating and seeding the database.
scarab.database.host Build The name of the host that the database is running on. Remind, that the host to be used must be known to the box, where the Scarab webapplication is started. The default setting assumes, that the database runs on the same host as Scarab.
scarab.database.port Build/Runtime The port on which the database server is listening for connections. This property is per default generated depending on the property "scarab.database.type".
scarab.database.url Runtime This property is specific to a database driver and is built up from other user-specified properties. I guess this goes hand-in-hand with 'scarab.database.jdbc.driver'. This property is per default generated depending on the property "scarab.database.type".
scarab.database.admin.url Runtime JDBC URL to use when creating and seeding the database. This property is generated depending on the property "scarab.database.type".
scarab.database.url.extension Runtime This property is per default generated depending on the property "scarab.database.type".
scarab.database.name Runtime The name of the database that Scarab connects to. You will have to change this property only, if your database name differs from the default "scarab" This usually occurs when you plan to run multiple Scarab instances with different databases on the same host.
scarab.user.username Runtime Scarab administration user. This is the account name of the administrator account in Scarab. After installation you can login to Scarab with that user name. Note: The initial password can not be preset here. It is always set to "1" (one, without the quotes) and can only be changed online from the administrator account. We recommend, that you change the initial password immediately for security reasons.
scarab.database.adapter Runtime [FIXME] add documentation, what is this ? How is it related to scarab.database.driver ?
scarab.database.pool.validationQuery Runtime This property is per default generated depending on the property "scarab.database.type".
scarab.database.jdbc.driver Runtime The JDBC driver to use for the database connection. We supply standard ones for several databases, but users should have the option to supply their own. This property is per default generated depending on the property "scarab.database.type".
scarab.database.jdbc.driver.jar Runtime This property is per default generated depending on the property "scarab.database.type".
scarab.jdbc.handler Runtime This property is per default generated depending on the property "scarab.database.type".
scarab.module.code.length Runtime Default length for the Module code. The module code is prepended to each issue id in order to identify the module to which the Issue belongs. There is usually no need to change the default value.

RUNTIME

      This is the custom settings section for Scarab. These properties
      affect the runtime behaviour of Scarab. 
      Alternatively, you may define the value in your web.xml or 
      server.xml file for Scarab.
      
      See http://jakarta.apache.org/commons/configuration/examples.html
      
      Note that strings containing "," (comma) characters must backslash 
      escape the comma (i.e. '\,')
      
      For the full set of available properties, see the files
      
          src/conf/conf/TurbineResources.properties 
      
      Relation to ant build:
      -------------
      
        deploy
    

Property name Type Details
scarab.issue.comment.renderer Runtime Scarab can display issue comments in three ways. Either all comments are simply rendered as plaintext ("plaintext", the default), or they are rendered using a very restricted subset of html ("html") or they are rendered using the wiki syntax of the radeox wiki rendering engine ("radeox"). The used rendering engine can be configured individually for each module from within the module editor. The value given in this property only defines the default engine to be used when it has not yet been defined in the module.
system.mail.host Runtime This is the host on which your Email service runs as seen from Scarab. This is usually a named host, e.g. mailserver.mydomain.com. If the mail service runs on the same host as Scarab, you can use the default (localhost)
system.mail.smtp.user Runtime Username for the SMTP authentication (if required by the system.mail.host mail server).
system.mail.smtp.pwd Runtime Password for the SMTP authentication (if required by the system.mail.host mail server).
system.mail.smtp.debug Runtime Scarab uses the JavaMail API to send email. Set this property to true to enable debug output from that API. This can be helpful in diagnosing problems with sending email from Scarab. Output from JavaMail will appear in the Tomcat log (catalina.out).
scarab.email.domain Runtime This is the domain on which your Email service rund (the part right from the "@" in the email adress
scarab.email.default.fromName Runtime This is the username, Scarab inserts into the FROM part of each Email it sends to the world. Please note, that some Email services insist on finding a locally existing mailuser in this field. NOTE: As this will be part of an email address, whitespaces are not allowed.
system.mail.pseudohtml Runtime The emails sent will contains special formating chars (* and _) that are interpreted by some mailer clients (e.g. Thunderbird or Mozilla) as pseudo HTML. As a result, the email will contains bold and underlined text aimed to make it clearer.
system.email.html Runtime Email sent by Scarab is always in multi-part/alternate MIME format containing a message section in plain text. If enabled by this property, the plain text is followed by an alternate section with the equivalent message in HTML format. Modern email clients will render the HTML part, while older clients will print the plain part. The alternate HTML messages must be defined by Velocity templates. For any plain text template eg "myTemplate.vm" an alternate HTML template "myTemplateHtml.vm" will be used, if available. If the alternate template is unavailable, or if this property is false, Scarab sends a plain text section only.
scarab.email.register.fromName Runtime
scarab.email.forgotpassword.fromName Runtime
scarab.email.archive.toAddress Runtime
scarab.email.default.fromAddress Runtime The 'from' address for e-mails that are sent by Scarab. I think this generally needs to be a valid e-mail address, or at least a valid domain. I vaguely remember someone having problems because they were using the default from address which had an invalid domain. Something didn't like it.
scarab.email.register.fromAddress Runtime
scarab.email.forgotpassword.fromAddress Runtime
system.mail.smtp.from Runtime
scarab.automatic.role.approval Runtime Per default every user request for a role configured in Scarab needs manual approval from a Scarab admnistrator. Sometimes it makes sense to automatically approve for specific roles (e.g. for the Obeserver Role)) If you want more, than one role to be automatically approved, write them down as comma separated list, example: scarab.automatic.role.approval=Developer,Observer,QA,Partner This setting will allow the four roles Developer, Observer, QA and Partner to be automatically approved (without further manual interaction) Since all roles can be freely customized in Scarab, we cant't set any default here.
locale.default.charset Runtime The characterset to be used on screen. Example settings: - locale.default.charset=EUC-KR - locale.default.charset=ISO-8859-1 - If you want Turbine to determine the characterset dynamically, The default charset is set to UTF-8 for best l10n support.
scarab.email.encoding Runtime Encoding used to send emails. This property can be set to a native encoding, though if left unset an encoding generally appropriate for the language used in the email will be used. The default encoding is set to UTF-8 for best l10n support
scarab.timezone Runtime Default timezone for Scarab. The ID must be a valid one (returned from java.util.TimeZone.getAvailableIds() ) or a format GMT[+|-]hh[[:]mm]
scarab.datefields.editable Runtime If true, the user will be able to edit the date fields. If false, he will be required to use the calendar.
scarab.email.replyto.sender Runtime When set to false the ReplyTo field in the scarab generated email will be the default email address scarab.email.default.fromAddress. When set to true, ReplyTo is set to the originator of the email, i.e. the one the created or last modified the issue.
scarab.register.email.checkValidA Runtime If true, will check if an email address is from a valid domain with A record
scarab.register.email.badEmails Runtime Listing (comma separated) of invalid email addresses.
scarab.login.password.expire Runtime Period in days a login password will last before a new one must be entered. Leave blank if the password should never expire.
scarab.login.ntlm.active Runtime If set to true, the system will try to authenticate users against an NTLM domain. This property needs scarab.login.ntlm.domain to work.
scarab.login.ntlm.domain Runtime The name of the NTLM domain to authenticate users, if scarab.login.ntlm.active is TRUE.
scarab.login.ldap.synchronizeOnStartUp Runtime This property lets you choose to synchronize the database with the useraccounts in the LDAP server during intialization of the ScarabLDAPDBSecurityService. (true/false)
scarab.login.ldap.providerFactory Runtime This property lets you choose the LDAP providerfactory instead of relying on the default settings for your container (from jndi.properties usually).
scarab.login.ldap.providerUrl Runtime This property lets you choose the LDAP providerURL instead of relying on the default settings for your container (from jndi.properties usually).
scarab.login.ldap.ldapQuery Runtime This property lets you choose to limit the records returned by using the LDAP query you provide here. This is to avoid to add dummy accounts which do not correspond to real users and might have weak passwords
scarab.login.ldap.baseDn Runtime This property lets you choose to limit the records returned by specifying the base dn for LDAP below which to search for records.
scarab.workflow.classname Runtime The workflow tool to be used by Scarab.
scarab.notificationmanager.classname Runtime The implementation of NotificationManager to be used by Scarab.
scarab.notificationmanager.issuequiettime Runtime Waiting time after which all queued notifications for an issue are sent to their recipients. The waiting time is measured begining from the time of last activity on the issue until the current time. Time unit is [msec], e.g. 300000 is equivalent to a waiting time of 5 minutes.
scarab.instance.id Runtime This name will be used to distinguish specific scarab instances from other instances that it may interact with (in the future). It is the prefix to all issue ids created in response to an issue entered against a module in this instance's database. per default this value is set to "local" .
scarab.common.status.id Runtime Every issue tracking system has got an attribute, that keeps the current status of the handled issues, i.e. it stores whether an issue has been created, closed, reopened and so on. This is also true for Scarab. But since Scarab is highly configurable, this attribute can have virtually ANY name and it even (theoretically) can change from issue type to issue type and/or from module to module. In the Scarab sample data the common attribute that handles the issue status information is the attribute "status". If your instance uses a different common attribute for this purpose, you may modify this property accordingly. At the moment we only support ONE single attribute name here assuming that it makes sense to handle this uniquely within a given instance. And the only place where we use this property is during generation of the E-Mail headers for issue change notifications.
session.timeout Runtime
services.UploadService.repository Runtime
searchindex.path Runtime Path where e.g. Lucene will store its index files.
searchindex.analyzerClass Runtime Analyzer class which Lucene uses to index text entered into Scarab. The default Analyzer is optimized for indexing English text. If your Scarab contains mostly non-English text you may want to switch to an Analyzer optimized for your language. Eg. for German you could use: org.apache.lucene.analysis.de.GermanAnalyzer The package org.apache.lucene.analysis contains Analyzers for a lot of other Languages. Of course you are free to write your own Analyzer.
scarab.http.scheme Runtime Drop this? I guess that this is used for generating e-mail links.
scarab.http.domain Runtime This also appears in the database, and I'm really not sure what to do about it. It causes a lot of problems with the generated e-mail links.
scarab.http.port Runtime See 'scarab.http.domain'.
scarab.context Runtime What shall we do with this? Normally the context comes from the name of the deployed WAR file, unless a different context name is configured in server.xml. Maybe just allow the user to configure the context name via server.xml directly?
scarab.http.scriptname Runtime This property must NEVER be modified. They will eventually be removed from this file.
scarab.attachment.remove.permanent Runtime If set to "false" all file attachments will be kept on disk, when the associations to the attachments are removed from their issues. If you change this property to "true" the files will also be removed physically.
scarab.attachments.repository Runtime This property defines the location of the directory in which all attachments will be stored.
scarab.dhtml.hide_bars Runtime scarab.dhtml.hide_bars enables hiding the top blue bar and the left nav bar by double clicking on it
scarab.dhtml.autoresize_textarea Runtime scarab.dhtml.autoresize_textarea enables textareas to automatically adjust the number of rows.
scarab.site.name Runtime The scarab.site.name is the name of your personal scarab instance. it is diplayed in the top-bar centered to the middle. It may contain any HTML-construct. You should take care on the visible constraints (if your construct consumes too much space it may destroy the Scarab layout!) It is nbest advice to enter a short text only message here. This text is accompanied with the scarab.site.logo, see below.
scarab.site.logo Runtime The site.logo is displayed centered at the top bar. Here you can add your own logo. It is rendered left to the scarab.site.name (see above). The default setting displays a null-image (transparent thus invisible)
scarab.admin.password.reset.allowed Runtime This property controls, whether the administrator may reset the password of other users. Per default this property is set to false.
scarab.anonymous.enable Runtime If this property is set to true, anonymous login will be enabled, using the user stated in scarab.anonymous.username Note: the anonymous user account must exisst in the database. If you do not want an anonymous user, please set this property to false: scarab.anonymous.enable=false
scarab.anonymous.username Runtime Choose which user will act as Anonymous user. This property will only be used if scarab.anonymous.enable=true
scarab.anonymous.rolename Runtime Choose which role will hold the permissions for anonymous access. This property will only be used if scarab.anonymous.enable=true
scarab.public.modules.display.count Runtime If Anonymous login is enabled, this property controls, how many public modules are shown on the Login screen. Following values are allowed: 0 : Don't display public modules on the Login screen >0 : Display at maximum the specified amount of public modules
scarab.dataexport.encoding Encoding to be used for data exports, including XML, TSV and XLS outputs.
scarab.issue.max.view Max number of issues that can be be viewed simultaneously on a single page.
scarab.issue.max.assign Max number of issues that can be be simultaneously assigned with users.
scarab.issue.max.move Max number of issues that can be moved in one shot.
scarab.issue.max.copy Max number of issues that can be copied in one shot.
scarab.issue.dependencies.additionalDisplayAttributes Additional Attributes which are displayed for in the Dependencies-Tab.
scarab.viewIssue.singleScreenOnly Runtime Scarab.properties key for restricting viewIssue to long form (single screen).

DEPLOY (For Source distribution only)

      This section defines some properties, which affect, how the
      webapplication is deployed.
      
      Relation to ant build:
      ----------------------
      
          deploy

      NOTE: These properties are only needed in the Source distribution 
      and have no effect in the Runtime distribution.
    

Property name Type Details
custom.properties.tmpl Build This property tells the build system, which template it shall use to build the default Runtime properties file. Normally the default setting is what you want.
default.custom.properties Build
custom.properties Build
scarab.database.ant.buildfile Runtime
scarab.database.ant.target Runtime

MIGRATION

      These are some default values that are required for
      the b18-b19 migration build target. DO NOT MODIFY THEM!
      
	  Currently it seems these properties (and the "b18-b19" task)
	  are not used/needed anymore - EXCEPT "scarab.file.max.size"!!
	  
      Relation to ant build:
      ----------------------
      This section directly corresponds to the ant task
      
        migrate-b18-b19  
    

Property name Type Details
scarab.tomcat.http.port Build
scarab.tomcat.shutdown.port Build
scarab.webapp.reloadable Build
scarab.webapp.checkInterval Build
scarab.welcome.file Build
scarab.file.max.size Build Maximum file size for file uploads/attachments.
scarab.tomcat.proxy.name Build
scarab.tomcat.proxy.port Build

PROPERTY-MAPS

      Following mappings are fixed and shall never be changed!
      [FIXME] [HD]Maybe they should better move to TurbineResources.properties ?
    

Property name Type Details
torque.database.scarab.adapter Runtime
torque.dsfactory.scarab.pool.validationQuery Runtime
torque.dsfactory.scarab.connection.driver Runtime
torque.dsfactory.scarab.connection.url Runtime
torque.dsfactory.scarab.connection.user Runtime
torque.dsfactory.scarab.connection.password Runtime

SETUP WIZARD

      The properties defined in this section are used
      to provide the Setup Wizard with default values.
    

Property name Type Details
jdbc Runtime nasty trick. used for the SetupWizard only quick explanation: The setup Wizzard does not resolve values starting with "${" . This is intended so that we can use the ${} notation also in the wizzard properties. So if we want to keep the dynamic character of the variable, it must start with "${" . Otherwise it would be fully resolved. See the property [scarab.database.url.mysql] below to see what i mean [HD].
scarab.jdbc.handler.mysql Runtime
scarab.database.port.mysql Runtime
scarab.database.admin.url.mysql Runtime
scarab.database.url.mysql Runtime
scarab.database.url.extension.mysql Runtime scarab.database.url.extension.mysql = useUnicode=true&characterEncoding=utf8
scarab.database.pool.validationQuery.mysql Runtime
scarab.database.jdbc.driver.mysql Runtime
scarab.database.admin.username.mysql Runtime
scarab.database.admin.password.mysql Runtime
scarab.database.username.mysql Runtime
scarab.database.password.mysql Runtime
scarab.test.database.name.mysql Runtime
scarab.test.database.url.mysql Runtime
scarab.test.database.username.mysql Runtime
scarab.test.database.password.mysql Runtime
scarab.database.jdbc.driver.jar.mysql Runtime
scarab.jdbc.handler.postgresql Runtime
scarab.database.port.postgresql Runtime
scarab.database.admin.url.postgresql Runtime
scarab.database.url.postgresql Runtime
scarab.database.url.extension.postgresql Runtime
scarab.database.pool.validationQuery.postgresql Runtime
scarab.database.jdbc.driver.postgresql Runtime
scarab.database.admin.username.postgresql Runtime
scarab.database.admin.password.postgresql Runtime
scarab.database.username.postgresql Runtime
scarab.database.password.postgresql Runtime
scarab.test.database.name.postgresql Runtime
scarab.test.database.url.postgresql Runtime
scarab.test.database.username.postgresql Runtime
scarab.test.database.password.postgresql Runtime
scarab.database.jdbc.driver.jar.postgres Runtime
hsqldb.database Runtime
hsqldb.dbname Runtime
scarab.jdbc.handler.hypersonic Runtime
scarab.database.port.hypersonic Runtime
scarab.database.admin.url.hypersonic Runtime
scarab.database.url.hypersonic Runtime
scarab.database.url.extension.hypersonic Runtime
scarab.database.pool.validationQuery.hypersonic Runtime
scarab.database.jdbc.driver.hypersonic Runtime
scarab.database.admin.username.hypersonic Runtime
scarab.database.admin.password.hypersonic Runtime
scarab.database.username.hypersonic Runtime
scarab.database.password.hypersonic Runtime
scarab.test.database.name.hypersonic Runtime
scarab.test.database.url.hypersonic Runtime
scarab.test.database.username.hypersonic Runtime
scarab.test.database.password.hypersonic Runtime
scarab.database.jdbc.driver.jar.hypersonic Runtime
scarab.jdbc.handler.mssql Runtime
scarab.database.port.mssql Runtime
scarab.database.admin.url.mssql Runtime
scarab.database.url.mssql Runtime
scarab.database.url.extension.mssql Runtime
scarab.database.pool.validationQuery.mssql Runtime
scarab.database.jdbc.driver.mssql Runtime
scarab.database.admin.username.mssql Runtime
scarab.database.admin.password.mssql Runtime
scarab.database.username.mssql Runtime
scarab.database.password.mssql Runtime
scarab.test.database.name.mssql Runtime
scarab.test.database.url.mssql Runtime
scarab.test.database.username.mssql Runtime
scarab.test.database.password.mssql Runtime
scarab.database.jdbc.driver.jar.mssql Runtime
scarab.database.manual.creation.mssql Runtime
scarab.jdbc.handler.oracle Runtime
scarab.database.port.oracle Runtime
scarab.database.admin.url.oracle Runtime
scarab.database.url.oracle Runtime
scarab.database.url.extensionoracle Runtime
scarab.database.pool.validationQuery.oracle Runtime
scarab.database.jdbc.driver.oracle Runtime
scarab.database.admin.username.oracle Runtime
scarab.database.admin.password.oracle Runtime
scarab.database.username.oracle Runtime
scarab.database.password.oracle Runtime
scarab.test.database.name.oracle Runtime
scarab.test.database.url.oracle Runtime
scarab.test.database.username.oracle Runtime
scarab.test.database.password.oracle Runtime
scarab.database.jdbc.driver.jar.oracle Runtime
scarab.jdbc.handler.db2 Runtime
scarab.database.port.db2 Runtime
scarab.database.admin.url.db2 Runtime
scarab.database.url.db2 Runtime
scarab.database.url.extension.db2 Runtime
scarab.database.pool.validationQuery.db2 Runtime
scarab.database.jdbc.driver.db2 Runtime
scarab.database.admin.username.db2 Runtime
scarab.database.admin.password.db2 Runtime
scarab.database.username.db2 Runtime
scarab.database.password.db2 Runtime
scarab.test.database.name.db2 Runtime
scarab.test.database.url.db2 Runtime
scarab.test.database.username.db2 Runtime
scarab.test.database.password.db2 Runtime
scarab.database.jdbc.driver.jar.db2 Runtime

ANT

      This section contains the ant related properties.

      Relation to ant build:
      ----------------------
      This section directly corresponds to the ant tasks
      
          compile

    

Property name Type Details
Name Build Name of the project ("Scarab" for the standard distribution).
version Build Project version.
project Build Name of the project, used for???.
year Build Year, possibly used for copyright message.
build.dir Build
build.project Build
build.project.webinf Build
build.project.webinf.lib Build
build.sql.scarab Build
build.src.scarab Build
build.dest.scarab Build
deploy.dir Build
deploy.project Build
scarab.torque.schemas Build The list of Torque-format schemas used by Scarab. This is useful for performing an up-to-date check on generated Java code.
repository.dir Build
lib.dir Build
src.dir Build
extensions.dir Build

MAVEN


Property name Type Details
askAdminstratorUsername Build This property contains the default value for the administrator's username (the default value is ${scarab.user.username}).
scarab.scarabgen.home Build
scarab.docs.head Build
scarab.docbook.enable Build
maven.multiproject.type Build
maven.repo.remote Build
maven.docbook.src Build
maven.sdocbook.src.dir Build
maven.sdocbook.files Build
statcvs.exclude Build
statcvs.include Build
statcvs.verbose Build
statcvs.history Build
statcvs.log.options Build
maven.velocity.version Build Version flag for velocity used by maven build. You have to change this value e.g. to "1.5" for maven goal "site". This is necessary for the sake of version incompatiblities of the maven xdoc plugin.
maven.eclipse.output.dir Build
maven.eclipse.classpath.include Build
maven.netbeans.exec.rebuild Build
maven.netbeans.exec.build Build
maven.junit.fork Build
maven.junit.usefile Build
maven.test.failure.ignore Build
maven.javadoc.useexternalfile Build
maven.pmd.excludes Build
maven.pmd.includes Build
maven.simian.excludes Build
maven.simian.includes Build
maven.findbugs.excludes Build
maven.findbugs.includes Build
maven.checkstyle.format Build
maven.xdoc.version Build display the date on the site maven.xdoc.date = left Display the version the web site is documenting
maven.dist.bin.assembly.dir Build Maven NSIS Properties
maven.nsis.build.dir Build Maven NSIS Properties