show header

Configuration Reference

Configuration keys

  • content.mediaprocessing.tempfiledirectorypath
    • Temporary directory used for media processing temporary files.
    • Defined in   com.tenduke.multimedia.MediaProcessingToolchain
    • Default   Value of default.tmp.dir, or ./tmp if default.tmp.dir not defined.
  • content.storage.configuration.default
    • Configuration for the default storage provider stack. The value of this configuration parameter holds the configuration XML directly or it can optionally define an URL (e.g. file) that has the configuration as it's content. Use notation: <![CDATA[<?value url="URL to configuration file / source here" encoding="utf-8" cache="true"?>]]> to define a separate file to hold the actual configuration. The value of this configuration parameter has the following formal structure:
      <!ELEMENT StorageProviders (StorageProvider+)>
      <!ELEMENT StorageProvider ANY>
      <!ATTLIST StorageProvider className CDATA #REQUIRED>
      
      The className attribute of StorageProvider element defines the StorageProvider implementation class to load and instantiate. The value must be a fully qualified class name. StorageProvider element can hold any combination of parsable data. The data contained by the StorageProvider element is passed to the corresponding provider instance as it's configuration. Example configuration XML:
       <StorageProviders>
          <StorageProvider className="com.tenduke.storage.HashingLocalDiskStorageProvider">
              ... provider instance configuration...
          </StorageProvider>
          <StorageProvider className="com.tenduke.amazon.s3.S3StorageProvider">
              ... provider instance configuration...
          </StorageProvider>
      </StorageProviders>
      
    • Defined in   com.tenduke.storage.StorageProviders
    • Default   N/A
  • content.storage.configuration.internal.lan
    • Configuration for the internal LAN tier storage provider. The value of this configuration parameter holds the configuration XML directly or it can optionally define an URL (e.g. file) that has the configuration as it's content. Use notation:: <![CDATA[<?value url="URL to configuration file / source here" encoding="utf-8" cache="true"?>]]> to define a separate file to hold the actual configuration. The value of this configuration parameter has the following formal structure:
      <!ELEMENT StorageProviders (StorageProvider+)>
      <!ELEMENT StorageProvider ANY>
      <!ATTLIST StorageProvider className CDATA #REQUIRED>
      
      The className attribute of StorageProvider element defines the StorageProvider implementation class to load and instantiate. The value must be a fully qualified class name. StorageProvider element can hold any combination of parsable data. The data contained by the StorageProvider element is passed to the corresponding provider instance as it's configuration. Example configuration XML:
       <StorageProviders>
          <StorageProvider className="com.tenduke.storage.HashingLocalDiskStorageProvider">
              ... provider instance configuration...
          </StorageProvider>
          <StorageProvider className="com.mycompany.storage.NfsStorageProvider">
              ... provider instance configuration...
          </StorageProvider>
      </StorageProviders>
      
    • Defined in   com.tenduke.storage.StorageProviders
    • Default   N/A
  • content.storage.configuration.internal.localdisk
    • Configuration for the internal local disk storage provider. The value of this configuration parameter holds the configuration XML directly or it can optionally define an URL (e.g. file) that has the configuration as it's content. Use notation:: <![CDATA[<?value url="URL to configuration file / source here" encoding="utf-8" cache="true"?>]]> to define a separate file to hold the actual configuration. The value of this configuration parameter has the following formal structure:
      <!ELEMENT StorageProviders (StorageProvider+)>
      <!ELEMENT StorageProvider ANY>
      <!ATTLIST StorageProvider className CDATA #REQUIRED>
      
      The className attribute of StorageProvider element defines the StorageProvider implementation class to load and instantiate. The value must be a fully qualified class name. StorageProvider element can hold any combination of parsable data. The data contained by the StorageProvider element is passed to the corresponding provider instance as it's configuration. Example configuration XML:
       <StorageProviders>
          <StorageProvider className="com.tenduke.storage.HashingLocalDiskStorageProvider">
              ... provider instance configuration...
          </StorageProvider>
      </StorageProviders>
      
    • Defined in   com.tenduke.storage.StorageProviders
    • Default   N/A
  • content.storage.configuration.internal.wan
    • Configuration for the internal WAN tier storage provider. The value of this configuration parameter holds the configuration XML directly or it can optionally define an URL (e.g. file) that has the configuration as it's content. Use notation:: <![CDATA[<?value url="URL to configuration file / source here" encoding="utf-8" cache="true"?>]]> to define a separate file to hold the actual configuration. The value of this configuration parameter has the following formal structure:
      <!ELEMENT StorageProviders (StorageProvider+)>
      <!ELEMENT StorageProvider ANY>
      <!ATTLIST StorageProvider className CDATA #REQUIRED>
      
      The className attribute of StorageProvider element defines the StorageProvider implementation class to load and instantiate. The value must be a fully qualified class name. StorageProvider element can hold any combination of parsable data. The data contained by the StorageProvider element is passed to the corresponding provider instance as it's configuration. Example configuration XML:
       <StorageProviders>
          <StorageProvider className="com.tenduke.services.storage.WanTierStorageProvider">
              ... provider instance configuration...
          </StorageProvider>
      </StorageProviders>
      
    • Defined in   com.tenduke.storage.StorageProviders
    • Default   N/A
  • content.storage.containername.by
    • Files in storage are stored in virtual containers. Clients using StorageProvider may call StorageUtils.getStorageContainerName(com.tenduke.types.StorageContainerNaming) to select container name to use. This method takes an object that implements com.tenduke.types.StorageContainerNaming, typically com.tenduke.objectmodel.Profile object representing owner of the object to be accessed via StorageProvider. The method returns container name based on value of the configuration parameter. Recognized parameter values defining returned container names are:
      • {id}: Use UUID given by the com.tenduke.types.StorageContainerNaming object
      • {id_base64}: Use UUID given by the com.tenduke.types.StorageContainerNaming object and encode it using URL-safe Base64 encoding
      • {name}: Use name given by the com.tenduke.types.StorageContainerNaming object, e.g. Profile shortName
      • All other values: Always use the configured value as such
    • Defined in   com.tenduke.storage.StorageUtils
    • Default   {id}
  • content.storage.import.file.tmp.dir.path
    • Directory where files can be temporarily be downloaded to.
    • Defined in   com.tenduke.storage.StorageUtils
    • Default   Value of default.tmp.dir, or ./tmp if default.tmp.dir not defined.
  • content.storage.multipart.max.item.memorysize
    • Threshold (in bytes) for switching to disk storage when processing a multipart form item.
    • Defined in   com.tenduke.networking.http.MultipartFormParser
    • Default   10240
  • content.storage.multipart.tmp.dir
    • Temporary directory where data and files can be stored while processing a multipart form.
    • Defined in   com.tenduke.networking.http.MultipartFormParser
    • Default   value of configuration parameter default.tmp.dir
  • content.storage.multipart.tmp.file.dir.path
    • Temporary directory used for temporary files created during upload.
    • Defined in   com.tenduke.services.multimedia.http.MultiMediaFileUploadRequestHandler
    • Default   Value of default.tmp.dir, or ./tmp if default.tmp.dir not defined.
  • content.storage.storageprovider.filenameencoding
    • Name of encoding type to use for file names on disk. File name on disk is based on storage key. Allowed values are none (key used as such), clean (key is cleaned from not allowed characters), base64 (key is base64 encoded) and hex (key is hex encoded).
    • Defined in   com.tenduke.storage.BasicLocalDiskStorageProvider
    • Default   clean
  • content.storage.storageprovider.fireeventonput
    • Flag to control if a StorageProviderEvent should be fired when a file is put into storage.
    • Defined in   com.tenduke.storage.BasicLocalDiskStorageProvider
    • Default   false
  • content.storage.storageprovider.readonly
    • Flag to control if read only operation is required.
    • Defined in   com.tenduke.storage.BasicLocalDiskStorageProvider
    • Default   false
  • content.storage.storageprovider.s3.accesskey
    • Access key for Amazon API client authentication.
    • Defined in   com.tenduke.amazon.s3.S3StorageProvider
    • Default   N/A
  • content.storage.storageprovider.s3.bucketaccessispublic
    • Flag to enable direct HTTP access to stored objects without any authentication.
    • Defined in   com.tenduke.amazon.s3.S3StorageProvider
    • Default   false
  • content.storage.storageprovider.s3.bucketname
    • Name of S3 bucket to store files in.
    • Defined in   com.tenduke.amazon.s3.S3StorageProvider
    • Default   N/A
  • content.storage.storageprovider.s3.lookup.cache.size
    • Size of cache to hold lookup results. Using a cache to hold lookup result will speed up calls to locate and get in this class. Using a size of <= 0 will disable the cache.
    • Defined in   com.tenduke.amazon.s3.S3StorageProvider
    • Default   0
  • content.storage.storageprovider.s3.secretkey
    • Secret key for Amazon API client authentication.
    • Defined in   com.tenduke.amazon.s3.S3StorageProvider
    • Default   N/A
  • content.storage.storageprovider.storagerootpath
    • Path to storage root where files are stored.
    • Defined in   com.tenduke.storage.BasicLocalDiskStorageProvider
    • Default   ./userdata
  • content.storage.upload.max.size
    • Maximum size limit in bytes for a multipart form data. If request payload size exceeds the specified value it will be discarded.

      The default value 1073741824 is a result of 1024*1024*1024.

    • Defined in   com.tenduke.networking.http.MultipartFormParser
    • Default   1073741824
  • content.upload.allow.anonymous
    • If true, no authenticated session is required for upload.
    • Defined in   com.tenduke.services.multimedia.http.EntryUploadServlet
    • Default   N/A
  • data.database.connections.max
    • Maximum number of allowed connections to database. This configuration parameter is accessed from the instance of com.tenduke.utils.DatabaseInfo provided by caller to method initialize (not from main configuration). Configuration is applied only if value is defined and is an integer > 0
      Example value: 100
    • Defined in   com.tenduke.sqldb.PostgreSQLPoolingDataSourceInitializator
    • Default   N/A
  • data.database.hsqlserver.configuration
    • Configuration of the Hsqldb database to be started by StartHsqlDatabaseServer command. The value must be a java.util.Properties XML document with parameters required by com.tenduke.services.hsqldb.hsqlv1.HsqldbDataSourceInitializator.
      When Hsqldb is used by the application, the same configuration is typically referenced from data.dataprovider.configuration data provider configuration parameter (this configuration parameter is not in the main configuration but in data provider configation that is referenced from the main configuration e.g. by data.dataprovider.configuration.businessObjects configuration parameter).
      Example snippet that could be applied to main configuration file for referencing externalized configuration (allowing reusing one single configuration for using HSQL database with different configuration keys and entry point):
      <entry key="data.database.hsqlserver.configuration">
         <![CDATA[<?value url="sqlDbDefaultConfig.xml" encoding="utf-8" cache="true"?>]]>
      </entry>
      
    • Defined in   com.tenduke.services.hsqldb.hsqlv1.command.StartHsqlDatabaseServer
    • Default   N/A
  • data.database.schema.table.names.column.name
    • Value for this configuration parameter defines the name of the column in table defined by data.database.schema.table.names.table.name to use for reading value of table name. This configuration is used to dynamically check if a table exists. This configuration parameter is accessed from configuration provided by user of Jdbc2DatabaseImpl class (not from main configuration).
    • Defined in   com.tenduke.sqldb.Jdbc2DatabaseImpl
    • Default   TABLE_NAME
  • data.database.schema.table.names.table.name
    • Value for this configuration parameter defines the name of the table that holds all table names in the active database schema. This configuration is used to dynamically check if a table exists. This configuration parameter is accessed from configuration provided by user of Jdbc2DatabaseImpl class (not from main configuration).
    • Defined in   com.tenduke.sqldb.Jdbc2DatabaseImpl
    • Default   INFORMATION_SCHEMA.SYSTEM_TABLES
  • data.database.server.hostname
    • Host name where database server is located and serves clients. This configuration parameter is accessed from the instance of com.tenduke.utils.DatabaseInfo provided by caller to method initialize (not from main configuration).
      Example value: localhost
    • Defined in   com.tenduke.sqldb.PostgreSQLPoolingDataSourceInitializator
    • Default   localhost
  • data.database.server.port
    • Port in which database server listens to client connections. This configuration parameter is accessed from the instance of com.tenduke.utils.DatabaseInfo provided by caller to method initialize (not from main configuration).
      Example value: 5433
    • Defined in   com.tenduke.sqldb.PostgreSQLPoolingDataSourceInitializator
    • Default   5432
  • data.database.sqldialectname
    • The 10Duke SDK default SQL bind implementation is mostly based on identical statement serialization for all supported databases. A few exception exists. This configuration parameter allows to deploy an application so that dedicated statement serialization is activated. Currently PostgreSql as dialect name is the only needed and supported one. It controls the case of serializing order by section of statements. If the value is set to PostgreSql, then NULLS LAST is added the order by section of statements. If the key is undefined or contains any other string, no additions are made.

      This is one of the few places where database specific handling and serialization is needed and supported.

    • Defined in   com.tenduke.binding.sql.JdbcBindObject
    • Default   N/A
  • data.dataprovider.alias.*
    • Configuration keys in this key space define alias names for logical databases and DataProvider instance identification. An alias in this context means that this class returns the same DataProvider by several different names. An example real key could be data.dataprovider.alias.userManagement and it's value could be businessObjects, which would imply that the DataProvider used for user management must be the same as the one used for business objects.
    • Defined in   com.tenduke.patterns.DataProviders
    • Default   N/A
  • data.dataprovider.classname
    • Fully qualified class name of DataProvider to load and create.
    • Defined in   com.tenduke.patterns.DataProviders
    • Default   N/A
  • data.dataprovider.databasename
    • Database name that this data provider will use. This configuration parameter is accessed from configuration provided by user of JdbcDataProvider class (not from main configuration).
    • Defined in   com.tenduke.binding.sql.JdbcDataProvider
    • Default   N/A
  • data.dataprovider.implementation.configuration
    • Optional parameter that can contain any string value that is passed to the created instance of DataProvider. For example, the value may refer to a nested java.util.Properties XML document.
    • Defined in   com.tenduke.patterns.DataProviders
    • Default   N/A
  • data.dataprovider.isdefault
    • Flag with value true or false indicating if the data provider is the default one.
    • Defined in   com.tenduke.patterns.DataProviders
    • Default   N/A
  • data.dataprovider.reflection.classnamefilter
    • DataProvider implementation uses reflection to set and get object field values. In some cases, class and its superclasses are iterated to find fields by annotated field names. This configuration parameter can be used to optimize the iteration by restricting iteration to only allowed class names. If the parameter is not defined, iteration is not restricted.

      The parameter value must be a list of class names or class name prefixes delimited using comma character.

    • Defined in   com.tenduke.patterns.dataprovider.DataProvider
    • Default   N/A
  • data.dataproviders.configuration
    • Value must be java.util.Properties XML format configuration, which is used to control the behavior of this singleton. The configuration is optional and supports currently definition of alias names for logical databases.
      Example snippet that could be applied to main configuration file for referencing externalized configuration for this class:
      <entry key="data.dataproviders.configuration">
         <![CDATA[<?value url="dataProviders.xml" encoding="utf-8" cache="true"?>]]>
      </entry>
      
      This example shows how to load configuration for this class from a file called dataProviders.xml located in the same folder as the main configuration file resides in.
      Example configuration value for this class:
      <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
      <properties version="1.0">
        <!-- Alias configs -->
        <entry key="data.dataprovider.alias.userManagement">businessObjects</entry>
      </properties>
      
      This example snippet shows how to define that the logical database for user management is the same as the logical database for business objects (same DataProvider instances).
      See data.dataprovider.alias.* documentation for more information about aliases.
    • Defined in   com.tenduke.patterns.DataProviders
    • Default   N/A
  • data.jdbc.database.file.path
    • Path to HSQL database file to use. This configuration parameter is accessed from configuration provided by user of HsqlDatabaseServerManager class in call to startServer(com.tenduke.utils.AbstractJdbcDatabase) and startServer(int, com.tenduke.utils.AbstractJdbcDatabase)} (not from main configuration).
    • Defined in   com.tenduke.services.hsqldb.hsqlv1.HsqlDatabaseServerManager
    • Default   N/A
  • data.jdbc.database.url
    • Database connection string. This configuration parameter is accessed from the instance of com.tenduke.utils.DatabaseInfo provided by caller to method initialize (not from main configuration).
      Example value: jdbc:hsqldb:file:./db/mydatabase
    • Defined in   com.tenduke.services.hsqldb.hsqlv1.HsqldbDataSourceInitializator
    • Default   jdbc:hsqldb:file:./db/sqldb_default_hsql_db
  • data.jdbc.database.username
    • User name for database connection authentication. This configuration parameter is accessed from the instance of com.tenduke.utils.DatabaseInfo provided by caller to method initialize (not from main configuration).
      Example value: john
    • Defined in   com.tenduke.services.hsqldb.hsqlv1.HsqldbDataSourceInitializator
    • Default   sa
  • data.jdbc.database.userpassword
    • Password for database connection authentication. This configuration parameter is accessed from the instance of com.tenduke.utils.DatabaseInfo provided by caller to method initialize (not from main configuration).
      Example value: badpassword
    • Defined in   com.tenduke.services.hsqldb.hsqlv1.HsqldbDataSourceInitializator
    • Default   Empty string: ""
  • data.query.querydefinitionbuilderfactory.default.class
    • Fully qualified class name for query definition builder factory.
    • Defined in   com.tenduke.patterns.QueryDefinitionBuilderFactories
    • Default   com.tenduke.binding.sql.querydefinitionbuilder.SqlQueryDefinitionBuilderFactory
  • data.sqldb.datasource.initializer.classpath
    • Fully qualified class name for the data source initializer class to use for opening and connecting to database. This configuration parameter is accessed from configuration provided by user of Jdbc2DatabaseImpl class (not from main configuration).
    • Defined in   com.tenduke.sqldb.Jdbc2DatabaseImpl
    • Default   com.tenduke.services.sqldb.PostgreSQLPoolingDataSourceInitializator
  • data.write.writedefinitionbuilderfactory.default.class
    • Fully qualified class name for write definition builder factory.
    • Defined in   com.tenduke.patterns.WriteDefinitionBuilderFactories
    • Default   com.tenduke.binding.sql.writedefinitionbuilder.SqlWriteDefinitionBuilderFactory
  • default.tmp.dir
    • Directory for temporary files.
    • Defined in   com.tenduke.utils.Configuration
    • Default   ./tmp
  • distribution.distributionrequestfactories.configuration
    • This value is accessed from the main configuration and the value must be a java.util.Properties format XML document. The value (Properties XML) must contain a key by name distribution.distributionrequestfactory.classname.
    • Defined in   com.tenduke.distribution.DistributionRequestFactories
    • Default   N/A
  • distribution.distributionrequestfactory.classname
    • This value is accessed from the configuration provided for this class (not from main configuration). The value must be a fully qualified class name of a specific distribution request factory to load in class DistributionRequestFactories.
    • Defined in   com.tenduke.distribution.DistributionRequestFactories
    • Default   N/A
  • event.feed.tmp.directory
    • Event feed temporary directory.
    • Defined in   com.tenduke.event.EventUtils
    • Default   Value of default.tmp.dir, or ./tmp if default.tmp.dir not defined.
  • external.curl.path
    • Path to curl command line executable.
    • Defined in   com.tenduke.networking.CurlWrapper
    • Default   curl
  • external.imagemagick.convert.path
    • Path to convert, command line image processing tool, which is available in the ImageMagick software suite. This command line tool is used to scale, rotate and process images. Use of convert is wrapped in methods in ImageUtils class.
    • Defined in   com.tenduke.utils.ImageUtils
    • Default   convert
  • external.process.maximumchildprocessttl
    • Maximum child process time to live in milliseconds.
    • Defined in   com.tenduke.utils.ExternalProcess
    • Default   6000000
  • lifecycle.concurrent.callername.*
    • Configuration keys in this key space define caller names that thread pools are dedicated for. Use a continuous integer series appended to the base configuration key to define several caller names. e.g: lifecycle.concurrent.callername.1, lifecycle.concurrent.callername.2 , ..., lifecycle.concurrent.callername.N. This configuration parameter is read from configuration dedicated to this class (not a parameter on main configuration root level).
    • Defined in   com.tenduke.patterns.concurrent.ConcurrentExecutionManagerImpl
    • Default   N/A
  • lifecycle.concurrent.core.pool.size.*
    • Configuration keys in this key space define core pool size for a specific thread pool. Use a continuous integer series appended to the base configuration key to configure core pool size per specific caller name. e.g: lifecycle.concurrent.core.pool.size.1, lifecycle.concurrent.core.pool.size.2 , ..., lifecycle.concurrent.core.pool.size.N. This configuration parameter is read from configuration dedicated to this class (not a parameter on main configuration root level).
    • Defined in   com.tenduke.patterns.concurrent.ConcurrentExecutionManagerImpl
    • Default   5
  • lifecycle.concurrent.execution.configuration
    • Value must be java.util.Properties XML format configuration, which is used to control the behavior of this class. The configuration is optional and omitting it will result in only the default thread pool to be used.
      Example entry in main configuration:
      <entry key="lifecycle.concurrent.execution.configuration">
         <![CDATA[<?value url="concurrent.xml" encoding="utf-8" cache="true"?>]]>
      </entry>
      
      This example shows how to load configuration for this class from a file called concurrent.xml located in the same folder as the main configuration file resides in.
    • Defined in   com.tenduke.patterns.concurrent.ConcurrentExecutionManagerImpl
    • Default   N/A
  • lifecycle.concurrent.keepalive.time.millis.*
    • Configuration keys in this key space define the keep alive time for unused thread in a specific thread pool. Use a continuous integer series appended to the base configuration key to configure keep alive time per specific caller name. e.g: lifecycle.concurrent.keepalive.time.millis.1, lifecycle.concurrent.keepalive.time.millis.2 , ..., lifecycle.concurrent.keepalive.time.millis.N. This configuration parameter is read from configuration dedicated to this class (not a parameter on main configuration root level).
    • Defined in   com.tenduke.patterns.concurrent.ConcurrentExecutionManagerImpl
    • Default   2000
  • lifecycle.concurrent.maximum.pool.size.*
    • Configuration keys in this key space define maximum pool size for a specific thread pool. Use a continuous integer series appended to the base configuration key to configure maximum pool size per specific caller name. e.g: lifecycle.concurrent.maximum.pool.size.1, lifecycle.concurrent.maximum.pool.size.2 , ..., lifecycle.concurrent.maximum.pool.size.N. This configuration parameter is read from configuration dedicated to this class (not a parameter on main configuration root level).
    • Defined in   com.tenduke.patterns.concurrent.ConcurrentExecutionManagerImpl
    • Default   20
  • lifecycle.concurrent.queue.size.*
    • Configuration keys in this key space define queue size for a specific thread pool. Use a continuous integer series appended to the base configuration key to configure queue size per specific caller name. e.g: lifecycle.concurrent.queue.size.1, lifecycle.concurrent.queue.size.2 , ..., lifecycle.concurrent.queue.size.N. This configuration parameter is read from configuration dedicated to this class (not a parameter on main configuration root level).
    • Defined in   com.tenduke.patterns.concurrent.ConcurrentExecutionManagerImpl
    • Default   5
  • lifecycle.concurrent.thread,priority.*
    • Configuration keys in this key space define the priority for threads in a specific thread pool. Use a continuous integer series appended to the base configuration key to configure priority per specific caller name. e.g: lifecycle.concurrent.thread,priority.1, lifecycle.concurrent.thread,priority.2 , ..., lifecycle.concurrent.thread,priority.N. This configuration parameter is read from configuration dedicated to this class (not a parameter on main configuration root level).
    • Defined in   com.tenduke.patterns.concurrent.ConcurrentExecutionManagerImpl
    • Default   Thread.NORM_PRIORITY
  • lifecycle.concurrent.total.maximum.pool.size
    • Total allowed number of thread pools that this class will use. This configuration parameter is read from configuration dedicated to this class (not a parameter on main configuration root level).
    • Defined in   com.tenduke.patterns.concurrent.ConcurrentExecutionManagerImpl
    • Default   20
  • lifecycle.servicemanager.service.classname.*
    • Fully qualified class name of a service that must loaded when beginning application lifecycle (at process startup). Positive integer starting from 1 must be appended (substituting the wildcard character '*' appearing in this documentation) to each key that defines a service to be managed by ServiceManager. When there are several services, the positive integers appended to the key names must form a continuous series.

      Example configuration:

      ...
      <properties version="1.0">
        ...
        <entry key="lifecycle.servicemanager.service.classname.1">com.tenduke.services.multimedia.Multimedia</entry>
        <entry key="lifecycle.servicemanager.service.classname.2">com.tenduke.services.eventfeed.EventFeedService</entry>
        <entry key="lifecycle.servicemanager.service.classname.3">com.mycompany.services.MagicExtensionService</entry>
        ...
      </properties>
      
    • Defined in   com.tenduke.services.ServiceManager
    • Default   N/A
  • logging.logwriter.debug.level
    • Highest debug level value of received log entry that is written to log. Example: Debug level is set to 3, which means that any LogEntry with debug level set to 3 or less will be printed and LogEntry objects with debug level 4 and 5 will be omitted.
    • Defined in   com.tenduke.diagnostics.AbstractLogWriter
    • Default   N/A
  • logging.logwriter.template.error
    • Formatting template for log entries with event type com.tenduke.diagnostics.LogEntry.EventType.Error.
    • Defined in   com.tenduke.diagnostics.AbstractLogWriter
    • Default   N/A
  • logging.logwriter.template.info
    • Formatting template for log entries with event type com.tenduke.diagnostics.LogEntry.EventType.Info.
    • Defined in   com.tenduke.diagnostics.AbstractLogWriter
    • Default   N/A
  • logging.logwriter.template.warning
    • Formatting template for log entries with event type com.tenduke.diagnostics.LogEntry.EventType.Warning.
    • Defined in   com.tenduke.diagnostics.AbstractLogWriter
    • Default   N/A
  • media.conversion.configuration
    • Configuration parameter by which media conversion configuration is accessed (allows MediaProcessingToolchainConfiguration to access the media conversion configuration via com.tenduke.utils.Configuration).
    • Defined in   com.tenduke.multimedia.MediaProcessingToolchainConfiguration
    • Default   N/A
  • media.mediaprocessingprovider.classname
    • Fully qualified class name for provider implementing com.tenduke.multimedia.MediaProcessingProvider interface.
    • Defined in   com.tenduke.multimedia.MediaProcessingProviderFactory
    • Default   com.tenduke.multimedia.MediaProcessingToolchain
  • media.mimetypes.configuration
    • Defines configuration for file format name to mime type mapping. In case the configuration is not defined this class tries to load an embedded mime types configuration file as a resource stream providing a base set of mime type configuration. The embedded resource resides in the 10Duke SDK library and is called mimeTypes.xml.

      The format of the mime types configuration is (example):

      <MimeTypes>
           <MimeType fileExtension="mp4" mimeType="video/mp4" />
           <MimeType fileExtension="mpeg4" mimeType="video/mp4" />
           <MimeType fileExtension="3gp" mimeType="video/3gpp" />
           ...
      </MimeTypes>
      

      The value of media.mimetypes.configuration configuration value has the following formal structure:

      <!ELEMENT MimeTypes (MimeType+)>
      <!ELEMENT MimeType>
      <!ATTLIST MimeType fileExtension CDATA #REQUIRED>
      <!ATTLIST MimeType mimeType CDATA #REQUIRED>
      
    • Defined in   com.tenduke.utils.MimeUtils
    • Default   N/A
  • media.transcoding.failure.notification.recipients
    • List of email recipients to receive failure notifications
    • Defined in   com.tenduke.services.multimedia.command.TranscodeBase
    • Default   N/A
  • messaging.send.mail.host
    • Smtp server host used when sending email and constructing email messages.
    • Defined in   com.tenduke.utils.EmailUtils
    • Default   N/A
  • networking.crawler.ignore.url.parameters
    • Crawling supports configuration for ignoring certain URL parameters for certain URLs. Configuration is based on defining conditional expressions using com.tenduke.patterns.ConditionalConfiguration
      Example:
      <ignoreLists>
         <ignoreList>
            <!-- Ignore tags, sort, search and showLogin url parameters for all url:s -->
            <ConditionalConfiguration>
              <condition>
                <Condition>
                  <conditionalStatement>
                    <MatchConditionalStatement>
                      <matchPattern>/.?my/</matchPattern>
                      <test>{documentUrlFile}</test>
                    </MatchConditionalStatement>
                  </conditionalStatement>
                </Condition>
              </condition>
             <successConfiguration>&lt;ignoreUrlParameters&gt;tags,sort,search,showLogin,slide,s,step,p&lt;/ignoreUrlParameters&gt;</successConfiguration>
            </ConditionalConfiguration>
         </ignoreList>
      </ignoreLists>
      
    • Defined in   com.tenduke.networking.http.crawling.Crawler
    • Default   N/A
  • networking.crawler.scheduler.allow.crawling.domains
    • Allowed domains where crawler may crawl. Each <allowedDomain> is a regexp, crawling to a domain is allowed if at least one configure regexp mathes.

      An example value is <allowedDomains><allowedDomain>localhost</allowedDomain></allowedDomains>

    • Defined in   com.tenduke.networking.http.crawling.CrawlerScheduler
    • Default   N/A
  • networking.crawler.scheduler.crawl.cycle.interval.ms
    • Crawling is done as a scheduled recurring batch job. This configuration parameter defines the time interval between consecutive crawling cycles. The value is given in milliseconds.
    • Defined in   com.tenduke.networking.http.crawling.CrawlerScheduler
    • Default   300000
  • networking.crawler.scheduler.crawl.start.url
    • URL of the page where the crawling starts. An example value is http://www.targetdomain.com.
    • Defined in   com.tenduke.networking.http.crawling.CrawlerScheduler
    • Default   N/A
  • networking.crawler.scheduler.initial.crawl.wait.ms
    • Crawling is done as a scheduled recurring batch job. This configuration parameter defines the initial time to wait before the timer based first scheduling of the task occurs. The value is given in milliseconds.
    • Defined in   com.tenduke.networking.http.crawling.CrawlerScheduler
    • Default   30000
  • networking.endpoints.callendpointfactoryclass
    • Fully qualified class name for a factory that creates endpoint implementations. The factory implements CallEndpointFactory interface.

      An example value is com.tenduke.services.platform.HttpCallEndpointFactory

    • Defined in   com.tenduke.networking.Endpoints
    • Default   N/A
  • networking.externalhttpsessionhandler.configuration
    • Configuration for stack of HTTP session handler to use for authentication and session validation for endpoints that serve external clients.
    • Defined in   com.tenduke.networking.http.ExternalHttpSessionHandler
    • Default   N/A
  • networking.globalpeergroup.classname
    • Fully qualified class name to global peer group implementation class that GlobalPeerGroupFactory will create instances of.
    • Defined in   com.tenduke.networking.peergroup.GlobalPeerGroupFactory
    • Default   com.tenduke.networking.peergroup.globalpeergroup.StaticConfiguredGlobalPeerGroup
  • networking.http.internal.headername.applicationcontext
    • The name of a HTTP header field that is used to identify internal transmit of an application context name. Application context name is applied in cases such as reporting and tracking.
    • Defined in   com.tenduke.utils.NetworkUtils
    • Default   10Duke-Internal-ApplicationContext
  • networking.http.internal.request.header.name
    • The name of a HTTP header field that is used to identify 10Duke SDK application internal HTTP requests.
    • Defined in   com.tenduke.utils.NetworkUtils
    • Default   10Duke-Internal
  • networking.http.internal.request.header.value
    • The value of a HTTP header field that is used to identify 10Duke platform internal HTTP requests.
    • Defined in   com.tenduke.utils.NetworkUtils
    • Default   0
  • networking.http.messagebroker.threadpool.size
    • Size of thread pool for group messaging: group messaging will execute a number of HTTP requests concurrently using a thread pool.
    • Defined in   com.tenduke.networking.http.HTTPMessageBroker
    • Default   N/A
  • networking.http.session.max.ttl.ms
    • Session maximum time-to-live in milliseconds. The default value 10800000 corresponds to three hours.
    • Defined in   com.tenduke.networking.http.WebUtils
    • Default   10800000
  • networking.http.temp.session.max.ttl.ms
    • Temporary session time-to-live in milliseconds.
    • Defined in   com.tenduke.networking.http.TemporarySessionInfo
    • Default   4000
  • networking.httprequestwrapper.default.connect.timeout
    • Connection timeout for Http requests in milliseconds.
    • Defined in   com.tenduke.networking.http.HTTPRequestWrapper
    • Default   60000
  • networking.httprequestwrapper.default.read.timeout
    • Connection timeout for Http reads in milliseconds.
    • Defined in   com.tenduke.networking.http.HTTPRequestWrapper
    • Default   60000
  • networking.httpserver.classname
    • Fully qualified class name to a web server to use. Web servers are represented via implementations of con.tenduke.networking.http.WebServer abstract base class. This configuration defines which web server implementation class to instantiate and use for web server life cycle management.
    • Defined in   com.tenduke.services.http.HttpServerService
    • Default   com.tenduke.networking.jetty.JettyWebServer
  • networking.internalhttpsessionhandler.configuration
    • Configuration for stack of HTTP session handler to use for authentication and session validation for endpoints that serve internal requests.
    • Defined in   com.tenduke.networking.http.InternalBaseServlet
    • Default   N/A
  • networking.ip2location.profile.placemark.resolving.enabled
    • Controls if Placemark will be resolved based on clients IP address. Valid values are true and false.
    • Defined in   com.tenduke.services.platform.command.RegisterUser
    • Default   false
  • networking.ip2location.resolverclassname
    • Fully qualified class name for a class implementing com.tenduke.patterns.net.IpToLocationProvider interface. Classes implementing this interface provide location information based on client (usually browser) IP address.

      An example value if com.tenduke.networking.geoip.LocationLookup

    • Defined in   com.tenduke.patterns.net.GeoIpLocationLookup
    • Default   N/A
  • networking.jetty.configuration
    • Configuration key for defining Jetty web server configuration XML. To externalize the Jetty configuration XML from the main configuration file you can include the configuration value by using the value instruction:
      <entry key="networking.jetty.configuration">
         <![CDATA[<?value url="webServerConf.xml" encoding="utf-8" cache="false"?>]]>
      </entry>
      
      in main configuration file. The example URL value webServerConf.xml refers to the file to read the configuration value from.
      Note: the Jetty configuration must not include the <?xml version="1.0"?> or any <!DOCTYPE ...> lines at the head of the content.
    • Defined in   com.tenduke.networking.jetty.JettyWebServer
    • Default   N/A
  • networking.local.httpserver.port
    • Port for transmitting Xml using Http protocol. An example value is 80
    • Defined in   com.tenduke.networking.http.WebUtils
    • Default   N/A
  • networking.local.httpserver.secureport
    • Port for transmitting Xml using secure https protocol. An example value is 443
    • Defined in   com.tenduke.networking.http.WebUtils
    • Default   N/A
  • networking.local.peer
    • Local peer configuration.
    • Defined in   com.tenduke.networking.peergroup.Peers
    • Default   
      <entry key="networking.local.peer" >
           <![CDATA[
              <GlobalPeer id="2523d845-71ec-45b4-9e3e-f7db9b815ecf">
                  <displayName>local test peer</displayName>
                  <endpoints>
                      <InternalGlobalCommandEndPoint id="20a5e5c2-5757-4c36-9aeb-bf1e125b8778" url="http://local.peers.url">
                          <name>Endpoint for internal global command execution</name>
                          <userName>tester</userName>
                          <password>test</password>
                          <acceptedContentType>text/x-10duke-command-xml</acceptedContentType>
                      </InternalGlobalCommandEndPoint>
                  </endpoints>
              </GlobalPeer>
           ]]>
      </entry>
      
  • networking.localpeergroup.classname
    • Fully qualified class name to local peer group implementation class that LocalPeerGroupFactory will create instances of. Default value of this configuration parameter is: com.tenduke.networking.peergroup.jgroups.JGroupsPeerGroup.
    • Defined in   com.tenduke.networking.peergroup.LocalPeerGroupFactory
    • Default   
  • networking.maxmind.geoip.data.file
    • Path to MaxMind GeoIP database that is used to resolve IP to location. An example value is /usr/local/geoip/geoip.dat
    • Defined in   com.tenduke.networking.geoip.LocationLookup
    • Default   N/A
  • networking.peer.<peer index>
    • Second level nested configuration for modeling remote nodes. The value must be com.tenduke.patterns.XmlSerializer format XML and is used to create instances of com.tenduke.networking.peergroup.Peer objects by deserialization. Parameter name syntax for listing other peers in the peer group: networking.peer.<peer index>, where <peer index> identifies a peer and the index is: [1...N].
    • Defined in   com.tenduke.networking.peergroup.globalpeergroup.StaticConfiguredGlobalPeerGroup
    • Default   5
  • networking.peer.1
    • Configuration for remote nodes from local peer's point of view (other members in peer group): Parameter name syntax for listing other peers in the peer group: networking.peer., where identifies a peer and the index is: [1...N].
    • Defined in   com.tenduke.networking.peergroup.Peers
    • Default   
      <entry key="networking.peer.1" >
           <![CDATA[
               <GlobalPeer id="433ba452-f1a7-47e6-9a98-e6d904eaf5b7">
                   <displayName>remote test peer</displayName>
                   <endpoints>
                       <InternalGlobalCommandEndPoint id="44e1c616-99e4-432f-8c37-11f39b660c62" url="http://remote.peers.url">
                           <name>Endpoint for internal global command execution</name>
                           <userName>tester</userName>
                           <password>test</password>
                           <acceptedContentType>text/x-10duke-command-xml</acceptedContentType>
                       </InternalGlobalCommandEndPoint>
                   </endpoints>
               </GlobalPeer>
           ]]>
      </entry>
      <entry key="networking.peer.2" >
           <![CDATA[
               <GlobalPeer id="bfc2cbc4-284d-48e6-b03a-eeef05d910a0">
                   <displayName>remote test peer #2</displayName>
                   <endpoints>
                       <InternalGlobalCommandEndPoint id="69fb9218-4734-4dab-855b-9737b536b23b" url="http://remote.peers.url">
                           <name>Endpoint for internal global command execution</name>
                           <userName>tester</userName>
                           <password>test</password>
                           <acceptedContentType>text/x-10duke-command-xml</acceptedContentType>
                       </InternalGlobalCommandEndPoint>
                   </endpoints>
               </GlobalPeer>
           ]]>
      </entry>
      
  • networking.peergroup.jgroups.channelproperties.configurationname
    • Path to properties file for instantiating org.jgroups.JChannel class. An example value is ./conf/jgroups_udp.xml
    • Defined in   com.tenduke.networking.peergroup.jgroups.JGroupsPeerGroup
    • Default   N/A
  • networking.peergroup.remote.sibling.server.addresses
    • Remote sibling server addresses.
    • Defined in   com.tenduke.networking.peergroup.jgroups.JGroupsPeerGroup
    • Default   N/A
  • networking.peergroup.request.broker.threadpool.size
    • Thread pool size for the request broker on this node. This configuration is read from the configuration passed to instance of this class (not from root level main configuration).
    • Defined in   com.tenduke.networking.peergroup.globalpeergroup.StaticConfiguredGlobalPeerGroup
    • Default   5
  • networking.peergroup.staticconfiguredglobalpeergroup.configuration
    • Nested level configuration for this class. The value must be in java.util.Properties XML format and contain documented key value pairs specifying this nodes thread pool size, local peer and remote peers.
    • Defined in   com.tenduke.networking.peergroup.globalpeergroup.StaticConfiguredGlobalPeerGroup
    • Default   N/A
  • networking.request.proxy.allowed.url.regexp.whitelist
    • Whitelist of URLs that this proxy servlet is allowed to dispatch requests to. The configuration allows use of regular expression syntax for Java.
    • Defined in   com.tenduke.services.http.ProxyServlet
    • Default   
  • object.changetracking.trackchanges
    • Change tracking rules for EventChangeTracker service. Value of the configuration parameter is an xml configuration in the following format:
      <trackChanges>
       <trackChange>
         <!-- Change tracking instructions 1 -->
       </trackChange>
       <trackChange>
         <!-- Change tracking instructions n... -->
       </trackChange>
      </trackChanges>
      
      Each <trackChange> element may contain one of the following:
      • <ConditionalConfiguration>, an xml serialized ConditionalConfiguration object. <ConditionalConfiguration> are evaluated and the evaluation must result to one of the elements listed here.
      • <commands>, a wrapping element for multiple commands. Each child element must be one of the elements listed here.
      • <updateObject> element containing a serialized object model object. A format specifier can be used, e.g. <updateObject>{eventObjectXmlEncoded}</updateObject> instructs EventSubscriberForChangeTracking to insert the current object for which the currently handled event is. <updateObject> updates the updated and updatedByProfileId fields of the object.
      • Any xml serialized Command
    • Defined in   com.tenduke.services.objectmodel.eventchangetracker.EventSubscriberForChangeTracking
    • Default   N/A
  • object.shortid.tentative.increment
    • Number of ShortId objects generated at once when adding new short ids in the local tentative short id queue.
    • Defined in   com.tenduke.services.objectmodel.ShortIdUtils
    • Default   200
  • object.shortid.tentative.min.count
    • Minimum number of ShortId objects kept in the local tentative short id queue. If number of the tentative ShortId objects goes below this, new tentative ShortId objects are generated.
    • Defined in   com.tenduke.services.objectmodel.ShortIdUtils
    • Default   50
  • profile.profilesettings.default
    • Default ProfileSettings for all profiles. Value of the configuration parameter is xml in the following format:
      <ProfileSettingsList>
       <ProfileSettings>
         <name>[ProfileSettings setting name]</name>
         <description>[Description of the ProfileSettings setting]</description>
         <permissions>
           <PermissionList>
             <!-- A permission that defines a permission rule fot the ProfileSettings setting -->
             <Permission grantedPermissionActions="[integer value definition granted permission actions]">
               <name>[permissionName]</name>
               <permissionControlFlag>[control flag value]<permissionControlFlag>
             </Permission>
           </PermissionList>
         </permissions>
       </ProfileSettings>
      </ProfileSettingsList>
      
      There may be several <ProfileSettings> elements, and each <PermissionList> element may contain several <Permission> elements.
    • Defined in   com.tenduke.event.EventFilterUtils
    • Default   N/A
  • reporting.client.allow.buffering.failed.entries
    • Controls if failed entries are allowed to be buffered. Valid values are true and false
    • Defined in   com.tenduke.reporting.BufferingReportingClient
    • Default   false
  • reporting.client.buffer.directory
    • Directory where buffered report entries are temporarily written to.
    • Defined in   com.tenduke.reporting.BufferingReportingClient
    • Default   ./tmp
  • reporting.client.buffer.file.extension
    • Filename extension for files holding buffered report entries.
    • Defined in   com.tenduke.reporting.BufferingReportingClient
    • Default   .tmp
  • reporting.client.buffer.filename.prefix
    • Filename prefix for files holding buffered report entries.
    • Defined in   com.tenduke.reporting.BufferingReportingClient
    • Default   ReportingClientBuffer_
  • reporting.client.buffering.client.enabled
    • Controls if buffering reporting client is enabled. If value is configured to false then instance of ReportEntrySubscriber delegating report entries to BufferingReportingClient singleton is not created (reporting at the node is disabled).
    • Defined in   com.tenduke.reporting.ReportingClientInitializer
    • Default   false
  • reporting.client.enableinternalentries
    • Controls processing of internal entries. Valid values are true and false. If configuration parameter value is set to false then report entries that have isSystemInternal field set to true will be omitted.
    • Defined in   com.tenduke.reporting.ReportEntryQueue
    • Default   true
  • reporting.client.error.log.path
    • Directory path where the reporting client writes error logs to.
    • Defined in   com.tenduke.reporting.BufferingReportingClient
    • Default   ./logs/BufferingReportingClient
  • reporting.client.max.flush.interval.ms
    • Maximum time, in milliseconds, between processing report entry queue. Time since last processing exceeding the limit will trigger processing alone (number of entries controlled by reporting.client.queue.max.entries is not required to have exceeded the configured maximum amount)
    • Defined in   com.tenduke.reporting.ReportEntryQueue
    • Default   5000
  • reporting.client.queue.enable.eager.processing
    • Controls eager processing of the reporting queue. Valid values are true and false.
    • Defined in   com.tenduke.reporting.ReportEntryQueue
    • Default   true
  • reporting.client.queue.max.entries
    • Maximum number of report entries to queue before processing. Number of entries exceeding the limit will trigger processing alone (flush interval controlled by reporting.client.max.flush.interval.ms is not required to have exceeded the configured time).
    • Defined in   com.tenduke.reporting.ReportEntryQueue
    • Default   500
  • reporting.client.writetoserver.log.errors
    • Boolean flag to control if write errors are logged. Valid values are true and false.
    • Defined in   com.tenduke.reporting.BufferingReportingClient
    • Default   false
  • reporting.server.buffer.directory
    • Directory where the reporting server writes buffer files temporarily.
    • Defined in   com.tenduke.reporting.BufferingReportingServer
    • Default   ./tmp
  • reporting.server.buffer.file.extension
    • File name extension for files holding buffered report entries.
    • Defined in   com.tenduke.reporting.BufferingReportingServer
    • Default   .tmp
  • reporting.server.buffer.filename.prefix
    • Filename prefix for files holding buffered report entries.
    • Defined in   com.tenduke.reporting.BufferingReportingServer
    • Default   ReportingServerBuffer_
  • reporting.server.error.log.path
    • Directory path where the reporting server writes error logs to.
    • Defined in   com.tenduke.reporting.DatabaseReportingServerEntryConsumer
    • Default   ./logs/BufferingReportingServer
  • reporting.server.queue.size
    • Queue size for queue that holds client submited sets of report entries.
    • Defined in   com.tenduke.reporting.BufferingReportingServer
    • Default   3
  • reporting.server.receive.password
    • Reporting server password for password based authentication. To be used with the user name defined in reporting.server.receive.username key.
    • Defined in   com.tenduke.reporting.BufferingReportingClient
    • Default   N/A
  • reporting.server.receive.url
    • URL for endpoint where the reporting server receives report entries. Example value: http://my.reportingserver.com/servlets/ReportEntries
    • Defined in   com.tenduke.reporting.BufferingReportingClient
    • Default   N/A
  • reporting.server.receive.username
    • Reporting server user name that is used for password based authentication for processing request from a client.
    • Defined in   com.tenduke.reporting.BufferingReportingClient
    • Default   N/A
  • security.authorization.pseudoroles
    • Pseudo role configuration in xml format.
    • Defined in   com.tenduke.patterns.authorization.PseudoRoles
    • Default   N/A
  • security.authorization.pseudoroles.superuserids
    • Comma-separated list of Profile id:s. These Profiles shall be handled as super users. Super user configuration is read, as any other pseudo role configuration, from security.authorization.pseudoroles. However, if super user configuration is not found in this configuration, a default super user role is created for super users. It is recommendable to avoid using super users configuration and instead configure roles and permissions.
    • Defined in   com.tenduke.patterns.authorization.PseudoRoles
    • Default   N/A
  • security.cipherutils.ciphertransformationname
    • Cipher algorithm to use for encrypting and decrypting data. The value is an example only and there is no default value. Users of CipherUtils can specify the transformation name as an argument in construction phase as well. Example values: DES, CBC, PKCS5Padding
    • Defined in   com.tenduke.utils.security.CipherUtils
    • Default   N/A
  • security.cookiebasedhttpsessionhandler.sessionsignaturekey
    • A key that is used to sign a session. Once a session has been created and signed using the configured kay it can be validated based on data in client cookies, the signature stored in a client cookie and the re-computed signature.
    • Defined in   com.tenduke.services.http.CookieBasedHttpSessionHandler
    • Default   Randomly generated signature
  • security.external.interface.certificate
    • Contains X.509 certificate string with Base64 encoding. The certificate is bounded at the beginning by -----BEGIN CERTIFICATE-----, and bounded at the end by -----END CERTIFICATE-----.
    • Defined in   com.tenduke.security.certificates.ServiceCertificatesAndKeys
    • Default   N/A
  • security.external.interface.certificate.private.key
    • Contains RSA private key in PKCS#8 format with Base64 encoding. The key in bounded at the beginning by -----BEGIN PRIVATE KEY-----, and bounded at the end by -----END PRIVATE KEY-----
    • Defined in   com.tenduke.security.certificates.ServiceCertificatesAndKeys
    • Default   N/A
  • security.sessionservlet.require.secure.connection
    • Controls if secure channel is required. Valid values are true and false.
    • Defined in   com.tenduke.services.platform.SessionServlet
    • Default   true
  • send.mail.host
    • SMTP host for sending email. An example value is mail.mydomain.com
    • Defined in   com.tenduke.services.platform.command.RequestPasswordChange
    • Default   N/A
  • serialization.serializableobjectfactory.jarwhitelist
    • Java class path is scanned for *.jar files whose file name starts with any of the prefixes in the list. If a match is found, that jar file is inspected and all classes with @SerializableObject annotation are loaded for future use.

      To include a specific jar file, specify the full file name in the prefix list.

      An example value list is tenduke, mycompany.jar. You need to include at least tenduke or com.tenduke to the list when you're using the 10Duke SDK.

    • Defined in   com.tenduke.patterns.SerializableObjectFactory
    • Default   N/A
  • services.multimedia.tmp.file.dir.path
    • Path to folder where temp and working files may be created
    • Defined in   com.tenduke.services.multimedia.command.TranscodeBase
    • Default   N/A
  • system.default.locale
    • System default locale. If the key is undefined or empty, then the default locale is obtained with java.util.Locale.getDefault() method.
    • Defined in   com.tenduke.utils.Configuration
    • Default   java.util.Locale.getDefault()
  • system.support.provider.email
    • System support provider email.
    • Defined in   com.tenduke.services.platform.command.RequestPasswordChange
    • Default   N/A
  • usermanagement.ignoreloginnamecase
    • Controls if case should be ignored in login names. Valid values are true and false.
    • Defined in   com.tenduke.services.http.CookieBasedHttpSessionHandler
    • Default   false
  • usermanagement.login.require.valid.primaryemail
    • Controls if user's primary email must have been validated to to grant session at login. Valid values are true and false.
    • Defined in   com.tenduke.services.platform.SessionServlet
    • Default   false
  • usermanagement.logincontext.*.loginmodules
    • Login module configuration for a login context. * in the key name must be substituted with respective login context name.
    • Defined in   com.tenduke.usermanagement.LoginConfiguration
    • Default   N/A
  • usermanagement.logincontext.BasicLoginContext.loginmodules
    • Login module configuration for basic login context (the default login context).
    • Defined in   com.tenduke.usermanagement.LoginConfiguration
    • Default   
      <![CDATA[<loginModules>
        <loginModule class="com.tenduke.usermanagement.LoginModuleForPasswordAuthentication" controlFlag="SUFFICIENT">
        </loginModule>
      </loginModules>]]>
      
  • usermanagement.password.minimumlength
    • Minimum required user password length. An example value is 6
    • Defined in   com.tenduke.usermanagement.UserManager
    • Default   N/A
  • usermanagement.requestpasswordchange.expiry.time.ms
    • Time in milliseconds until one-time password expires. An example value is 3600
    • Defined in   com.tenduke.services.platform.command.RequestPasswordChange
    • Default   N/A
  • usermanagement.requestpasswordchange.response.sender.emailaddress
    • Email address used as sender address for password change request response message. Fallbacks to value defined in system.support.provider.email key.
    • Defined in   com.tenduke.services.platform.command.RequestPasswordChange
    • Default   <from key system.support.provider.email>
  • usermanagement.requestpasswordchange.responsetype.bitmask
    • Bitmask to determine which end-user responses should be sent. An example value is 1
    • Defined in   com.tenduke.services.platform.command.RequestPasswordChange
    • Default   N/A
  • usermanagement.session.profile.additional.information
    • Configuration for what data related to profile should be included in response to client when user logs in. Configuration value is a bitmask of flags available in com.tenduke.dataprovider.querydefinitionbuilder.RecursiveProfileQueryInformationFlags. Example Value 1006699268 is the result of RecursiveProfileQueryInformationFlags.AllContactDetails | RecursiveProfileQueryInformationFlags.Companies | RecursiveProfileQueryInformationFlags.Accounts | RecursiveProfileQueryInformationFlags.OBJECT_PROPERTIES.
    • Defined in   com.tenduke.services.platform.SessionServlet
    • Default   N/A
  • validate.account.primary.email.sender.email.address
    • Email address used as sender address for validate password request messages. Fallbacks to value defined in system.support.provider.email key.
    • Defined in   com.tenduke.services.platform.command.RequestUserActivation
    • Default   <from key system.support.provider.email>

Web application environment entries

  • 10duke.configuration.main
    • Location of main configuration file.
    • Defined in   com.tenduke.lifecycle.webapp.ServletContextLifecycleManager
    • Default   webapp:/META-INF/conf/conf.xml
  • 10duke.logger.logentrysubscriber
    • Fully qualified class name of class that implements com.tenduke.diagnostics.LogEntrySubscriber and that is used for writing log entries. Logger com.tenduke.diagnostics.Logger is initialized by calling initializeDefaultLogWriter(...) method with the value defined in this entry.
    • Defined in   com.tenduke.lifecycle.webapp.ServletContextLifecycleManager
    • Default   com.tenduke.diagnostics.JavaLoggerLogWriter

JVM system properties

  • 10duke.configuration.main
    • Main configuration file url. If relative url is given, it is resolved as being relative to JVM process execution directory.
    • Defined in   com.tenduke.utils.Configuration
    • Default   ./conf/conf.xml
  • 10duke.configuration.variables.url
    • Url of a separate variables file used to define variables for reading configuration. If this configuration parameter is defined, it extends configuration reading by loading java.util.Properties xml file defined by the parameter. When variable references are used in the actual configuration, this java.util.Properties is used to return values for the referenced variables.
    • Defined in   com.tenduke.utils.PropertyBasedConfigurationProvider
    • Default   N/A
  • 10duke.logger.logentrysubscriber
    • Fully qualified class name of class that implements com.tenduke.diagnostics.LogEntrySubscriber and that is used for writing log entries. Use empty String to disable default logging.
    • Defined in   com.tenduke.diagnostics.Logger
    • Default   com.tenduke.diagnostics.ConsoleLogWriter
  • logging.logwriter.debug.level
    • Highest debug level value of received log entry that is written to log. Example: Debug level is set to 3, which means that any LogEntry with debug level set to 3 or less will be printed and LogEntry objects with debug level 4 and 5 will be omitted.
    • Defined in   com.tenduke.diagnostics.AbstractLogWriter
    • Default   5
  • logging.logwriter.template.error
    • Formatting template for log entries with event type com.tenduke.diagnostics.LogEntry.EventType.Error.
    • Defined in   com.tenduke.diagnostics.AbstractLogWriter
    • Default   N/A
  • logging.logwriter.template.info
    • Formatting template for log entries with event type com.tenduke.diagnostics.LogEntry.EventType.Info.
    • Defined in   com.tenduke.diagnostics.AbstractLogWriter
    • Default   N/A
  • logging.logwriter.template.warning
    • Formatting template for log entries with event type com.tenduke.diagnostics.LogEntry.EventType.Warning.
    • Defined in   com.tenduke.diagnostics.AbstractLogWriter
    • Default   N/A

Default mime types

MimeUtils contains a method for resolving mime type based on file type extension. If mime type mapping is not defined in the media.mimetypes.configuration configuration key, then the following default mapping is used.

<MimeTypes>
    <MimeType fileExtension="mp4" mimeType="video/mp4"/>
    <MimeType fileExtension="mpeg4" mimeType="video/mp4"/>
    <MimeType fileExtension="3gp" mimeType="video/3gpp"/>
    <MimeType fileExtension="3gpp" mimeType="video/3gpp"/>
    <MimeType fileExtension="asf" mimeType="video/x-ms-asf"/>
    <MimeType fileExtension="asr" mimeType="video/x-ms-asf"/>
    <MimeType fileExtension="asx" mimeType="video/x-ms-asf"/>
    <MimeType fileExtension="wmv" mimeType="video/x-ms-wmv"/>
    <MimeType fileExtension="flv" mimeType="video/x-flv"/>
    <MimeType fileExtension="htc" mimeType="text/x-component"/>
    <MimeType fileExtension="ai" mimeType="application/postscript"/>
    <MimeType fileExtension="aif" mimeType="audio/x-aiff"/>
    <MimeType fileExtension="aifc" mimeType="audio/x-aiff"/>
    <MimeType fileExtension="aiff" mimeType="audio/x-aiff"/>
    <MimeType fileExtension="asc" mimeType="text/plain"/>
    <MimeType fileExtension="asf" mimeType="video/x.ms.asf"/>
    <MimeType fileExtension="asx" mimeType="video/x.ms.asx"/>
    <MimeType fileExtension="au" mimeType="audio/basic"/>
    <MimeType fileExtension="avi" mimeType="video/x-msvideo"/>
    <MimeType fileExtension="bcpio" mimeType="application/x-bcpio"/>
    <MimeType fileExtension="bin" mimeType="application/octet-stream"/>
    <MimeType fileExtension="cab" mimeType="application/x-cabinet"/>
    <MimeType fileExtension="cdf" mimeType="application/x-netcdf"/>
    <MimeType fileExtension="class" mimeType="application/java-vm"/>
    <MimeType fileExtension="cpio" mimeType="application/x-cpio"/>
    <MimeType fileExtension="cpt" mimeType="application/mac-compactpro"/>
    <MimeType fileExtension="crt" mimeType="application/x-x509-ca-cert"/>
    <MimeType fileExtension="csh" mimeType="application/x-csh"/>
    <MimeType fileExtension="css" mimeType="text/css"/>
    <MimeType fileExtension="csv" mimeType="text/comma-separated-values"/>
    <MimeType fileExtension="dcr" mimeType="application/x-director"/>
    <MimeType fileExtension="dir" mimeType="application/x-director"/>
    <MimeType fileExtension="dll" mimeType="application/x-msdownload"/>
    <MimeType fileExtension="dms" mimeType="application/octet-stream"/>
    <MimeType fileExtension="doc" mimeType="application/msword"/>
    <MimeType fileExtension="dtd" mimeType="application/xml-dtd"/>
    <MimeType fileExtension="dvi" mimeType="application/x-dvi"/>
    <MimeType fileExtension="dxr" mimeType="application/x-director"/>
    <MimeType fileExtension="eps" mimeType="application/postscript"/>
    <MimeType fileExtension="etx" mimeType="text/x-setext"/>
    <MimeType fileExtension="exe" mimeType="application/octet-stream"/>
    <MimeType fileExtension="ez" mimeType="application/andrew-inset"/>
    <MimeType fileExtension="flac" mimeType="audio/flac"/>
    <MimeType fileExtension="gif" mimeType="image/gif"/>
    <MimeType fileExtension="gtar" mimeType="application/x-gtar"/>
    <MimeType fileExtension="gz" mimeType="application/gzip"/>
    <MimeType fileExtension="gzip" mimeType="application/gzip"/>
    <MimeType fileExtension="hdf" mimeType="application/x-hdf"/>
    <MimeType fileExtension="hqx" mimeType="application/mac-binhex40"/>
    <MimeType fileExtension="html" mimeType="text/html"/>
    <MimeType fileExtension="htm" mimeType="text/html"/>
    <MimeType fileExtension="ice" mimeType="x-conference/x-cooltalk"/>
    <MimeType fileExtension="ico" mimeType="image/x-icon"/>
    <MimeType fileExtension="ief" mimeType="image/ief"/>
    <MimeType fileExtension="iges" mimeType="model/iges"/>
    <MimeType fileExtension="igs" mimeType="model/iges"/>
    <MimeType fileExtension="jar" mimeType="application/java-archive"/>
    <MimeType fileExtension="java" mimeType="text/plain"/>
    <MimeType fileExtension="jnlp" mimeType="application/x-java-jnlp-file"/>
    <MimeType fileExtension="jpeg" mimeType="image/jpeg"/>
    <MimeType fileExtension="jpe" mimeType="image/jpeg"/>
    <MimeType fileExtension="jpg" mimeType="image/jpeg"/>
    <MimeType fileExtension="js" mimeType="application/x-javascript"/>
    <MimeType fileExtension="jsp" mimeType="text/plain"/>
    <MimeType fileExtension="kar" mimeType="audio/midi"/>
    <MimeType fileExtension="latex" mimeType="application/x-latex"/>
    <MimeType fileExtension="lha" mimeType="application/octet-stream"/>
    <MimeType fileExtension="lzh" mimeType="application/octet-stream"/>
    <MimeType fileExtension="man" mimeType="application/x-troff-man"/>
    <MimeType fileExtension="mathml" mimeType="application/mathml+xml"/>
    <MimeType fileExtension="me" mimeType="application/x-troff-me"/>
    <MimeType fileExtension="mesh" mimeType="model/mesh"/>
    <MimeType fileExtension="mid" mimeType="audio/midi"/>
    <MimeType fileExtension="midi" mimeType="audio/midi"/>
    <MimeType fileExtension="mif" mimeType="application/vnd.mif"/>
    <MimeType fileExtension="mol" mimeType="chemical/x-mdl-molfile"/>
    <MimeType fileExtension="movie" mimeType="video/x-sgi-movie"/>
    <MimeType fileExtension="mov" mimeType="video/quicktime"/>
    <MimeType fileExtension="mp2" mimeType="audio/mpeg"/>
    <MimeType fileExtension="mp3" mimeType="audio/mpeg"/>
    <MimeType fileExtension="mpeg" mimeType="video/mpeg"/>
    <MimeType fileExtension="mpeg2" mimeType="video/mpeg"/>
    <MimeType fileExtension="mpe" mimeType="video/mpeg"/>
    <MimeType fileExtension="mpga" mimeType="audio/mpeg"/>
    <MimeType fileExtension="mpg" mimeType="video/mpeg"/>
    <MimeType fileExtension="ms" mimeType="application/x-troff-ms"/>
    <MimeType fileExtension="msh" mimeType="model/mesh"/>
    <MimeType fileExtension="msi" mimeType="application/octet-stream"/>
    <MimeType fileExtension="nc" mimeType="application/x-netcdf"/>
    <MimeType fileExtension="oda" mimeType="application/oda"/>
    <MimeType fileExtension="oga" mimeType="audio/ogg"/>
    <MimeType fileExtension="ogg" mimeType="video/ogg"/>
    <MimeType fileExtension="ogv" mimeType="video/ogg"/>
    <MimeType fileExtension="ogx" mimeType="application/ogg"/>
    <MimeType fileExtension="pbm" mimeType="image/x-portable-bitmap"/>
    <MimeType fileExtension="pdb" mimeType="chemical/x-pdb"/>
    <MimeType fileExtension="pdf" mimeType="application/pdf"/>
    <MimeType fileExtension="pgm" mimeType="image/x-portable-graymap"/>
    <MimeType fileExtension="pgn" mimeType="application/x-chess-pgn"/>
    <MimeType fileExtension="png" mimeType="image/png"/>
    <MimeType fileExtension="pnm" mimeType="image/x-portable-anymap"/>
    <MimeType fileExtension="ppm" mimeType="image/x-portable-pixmap"/>
    <MimeType fileExtension="ppt" mimeType="application/vnd.ms-powerpoint"/>
    <MimeType fileExtension="ps" mimeType="application/postscript"/>
    <MimeType fileExtension="qt" mimeType="video/quicktime"/>
    <MimeType fileExtension="ra" mimeType="audio/x-pn-realaudio"/>
    <MimeType fileExtension="ra" mimeType="audio/x-realaudio"/>
    <MimeType fileExtension="ram" mimeType="audio/x-pn-realaudio"/>
    <MimeType fileExtension="ras" mimeType="image/x-cmu-raster"/>
    <MimeType fileExtension="rdf" mimeType="application/rdf+xml"/>
    <MimeType fileExtension="rgb" mimeType="image/x-rgb"/>
    <MimeType fileExtension="rm" mimeType="audio/x-pn-realaudio"/>
    <MimeType fileExtension="roff" mimeType="application/x-troff"/>
    <MimeType fileExtension="rpm" mimeType="application/x-rpm"/>
    <MimeType fileExtension="rpm" mimeType="audio/x-pn-realaudio"/>
    <MimeType fileExtension="rtf" mimeType="application/rtf"/>
    <MimeType fileExtension="rtx" mimeType="text/richtext"/>
    <MimeType fileExtension="ser" mimeType="application/java-serialized-object"/>
    <MimeType fileExtension="sgml" mimeType="text/sgml"/>
    <MimeType fileExtension="sgm" mimeType="text/sgml"/>
    <MimeType fileExtension="sh" mimeType="application/x-sh"/>
    <MimeType fileExtension="shar" mimeType="application/x-shar"/>
    <MimeType fileExtension="silo" mimeType="model/mesh"/>
    <MimeType fileExtension="sit" mimeType="application/x-stuffit"/>
    <MimeType fileExtension="skd" mimeType="application/x-koan"/>
    <MimeType fileExtension="skm" mimeType="application/x-koan"/>
    <MimeType fileExtension="skp" mimeType="application/x-koan"/>
    <MimeType fileExtension="skt" mimeType="application/x-koan"/>
    <MimeType fileExtension="smi" mimeType="application/smil"/>
    <MimeType fileExtension="smil" mimeType="application/smil"/>
    <MimeType fileExtension="snd" mimeType="audio/basic"/>
    <MimeType fileExtension="spl" mimeType="application/x-futuresplash"/>
    <MimeType fileExtension="src" mimeType="application/x-wais-source"/>
    <MimeType fileExtension="sv4cpio" mimeType="application/x-sv4cpio"/>
    <MimeType fileExtension="sv4crc" mimeType="application/x-sv4crc"/>
    <MimeType fileExtension="svg" mimeType="image/svg+xml"/>
    <MimeType fileExtension="swf" mimeType="application/x-shockwave-flash"/>
    <MimeType fileExtension="t" mimeType="application/x-troff"/>
    <MimeType fileExtension="tar" mimeType="application/x-tar"/>
    <MimeType fileExtension="tar.gz" mimeType="application/x-gtar"/>
    <MimeType fileExtension="tcl" mimeType="application/x-tcl"/>
    <MimeType fileExtension="tex" mimeType="application/x-tex"/>
    <MimeType fileExtension="texi" mimeType="application/x-texinfo"/>
    <MimeType fileExtension="texinfo" mimeType="application/x-texinfo"/>
    <MimeType fileExtension="tgz" mimeType="application/x-gtar"/>
    <MimeType fileExtension="tiff" mimeType="image/tiff"/>
    <MimeType fileExtension="tif" mimeType="image/tiff"/>
    <MimeType fileExtension="tr" mimeType="application/x-troff"/>
    <MimeType fileExtension="tsv" mimeType="text/tab-separated-values"/>
    <MimeType fileExtension="txt" mimeType="text/plain"/>
    <MimeType fileExtension="ustar" mimeType="application/x-ustar"/>
    <MimeType fileExtension="vcd" mimeType="application/x-cdlink"/>
    <MimeType fileExtension="vrml" mimeType="model/vrml"/>
    <MimeType fileExtension="vxml" mimeType="application/voicexml+xml"/>
    <MimeType fileExtension="wav" mimeType="audio/x-wav"/>
    <MimeType fileExtension="wbmp" mimeType="image/vnd.wap.wbmp"/>
    <MimeType fileExtension="wmlc" mimeType="application/vnd.wap.wmlc"/>
    <MimeType fileExtension="wmlsc" mimeType="application/vnd.wap.wmlscriptc"/>
    <MimeType fileExtension="wmls" mimeType="text/vnd.wap.wmlscript"/>
    <MimeType fileExtension="wml" mimeType="text/vnd.wap.wml"/>
    <MimeType fileExtension="wrl" mimeType="model/vrml"/>
    <MimeType fileExtension="wtls-ca-certificate" mimeType="application/vnd.wap.wtls-ca-certificate"/>
    <MimeType fileExtension="xbm" mimeType="image/x-xbitmap"/>
    <MimeType fileExtension="xht" mimeType="application/xhtml+xml"/>
    <MimeType fileExtension="xhtml" mimeType="application/xhtml+xml"/>
    <MimeType fileExtension="xls" mimeType="application/vnd.ms-excel"/>
    <MimeType fileExtension="xml" mimeType="application/xml"/>
    <MimeType fileExtension="xpm" mimeType="image/x-xpixmap"/>
    <MimeType fileExtension="xpm" mimeType="image/x-xpixmap"/>
    <MimeType fileExtension="xsl" mimeType="application/xml"/>
    <MimeType fileExtension="xslt" mimeType="application/xslt+xml"/>
    <MimeType fileExtension="xul" mimeType="application/vnd.mozilla.xul+xml"/>
    <MimeType fileExtension="xwd" mimeType="image/x-xwindowdump"/>
    <MimeType fileExtension="xyz" mimeType="chemical/x-xyz"/>
    <MimeType fileExtension="z" mimeType="application/compress"/>
    <MimeType fileExtension="zip" mimeType="application/zip"/>
</MimeTypes>

Configuration details by features

This chapter refers to pages giving more detailed description of 10Duke SDK features that have several related configurations or complex configurations.