Configuration Options  Configuration Options

On this page, you will find information about configuration options. Configuration options provide control over operations ranging from message execution to task scheduling or e-mail notification. All configuration options are saved in a .config XML file (on the server). Each individual option must be specified using the following syntax:

<add key="Option_Name" value="Option_Value"/>

OptionMinPasswordStrength (Integer)

A value from 0 to 5 which indicates the minimum allowed password strength during user registration.
Lower value allow users to register with weaker passwords.
Higher value require users to register with stronger passwords.
Data Applied uses a proprietary algorithm to assess password strength.

  • Default value: 2

OptionMaxPasswordResets (Integer)

A positive value which indicates the maximum allowed number of password reset e-mails which can be requested.
Once the per-user limit has been reached, additional requests to send a password reset e-mail will be denied.
This configuration option is designed to prevent abuse.

  • Default value: 5

OptionMaxRegistrationConfirmations (Integer)

A positive value which indicates the maximum allowed number of registration confirmation e-mails which can be requested.
Once the per-user limit has been reached, additional requests to send a registration confirmation e-mail will be denied.
This configuration option is designed to prevent abuse.

  • Default value: 3

OptionCaptcha (String)

A string value which, if set, specifies the text to display within CAPTCHA images during user registration.
If set, the string displayed by CAPTCHA images is therefore pre-determined and constant.
If empty, the string displayed within CAPTCHA images is therefore randomized for each generated image.

  • Default value: empty (randomize CAPTCHA text)

OptionPreCallout (String)

A string value which, if set, specifies the name of a .NET assembly which will intercept all message requests before they execute.
The format to register a pre-callout is: <Full_Assembly_Name>:<Full_Class_Name>:<Method_Name>.
Pre-callout methods must use the following signature: PreCallout(Guid id, Message message).
The id parameter is a unique ID which uniquely identifies each request.
The message parameter contains a message which will be executed as soon as the pre-callback method returns.

  • Default value: empty (no pre-callout registered)

OptionPostCallout (String)

A string value which, if set, specifies the name of a .NET assembly which will intercept all message requests after they execute.
The format to register a post-callout is: <Full_Assembly_Name>:<Full_Class_Name>:<Method_Name>.
Post-callout methods must use the following signature: PostCallout(Guid id, Message message, Exception e).
The id parameter is a unique ID which uniquely identifies each request.
The message parameter contains a message which was just executed and can now be evaluated by the post-callout.
The exception parameter contains any exception received while executing the message.

  • Default value: empty (no post-callout registered)

OptionSqlTracing (String)

A string value which specifies a regular expression which SQL statements should be logged.
SQL statements are logged as follows: Statement Parameters:{param1},{param2},...
For example, to trace only SQL statements with a delete action, you could set a value of "^Delete.+".
For example, to trace only SQL statements with table MyTable, you could set a value of "*.MyTable.*".
For example, to trace only SQL statements with parameter value MyVal, you could set a value of ".*Parameters:.*{MyVal}.*".
Tracing has a negative impact on performance, and should be used only when troubleshooting.
Ensure the regular expression is valid, and that it can be evaluated in an efficient manner.
Traced SQL statements can be found in the Windows Application event log.

  • Default value: "" (no tracing)

OptionSqlOperationsDatabase (String)

A string value which specifies the name of the master database.
Ensure the name is not that of an existing database, because it may result deletion of this database.
Ensure the name complies with database naming rules for the SQL product you use.

  • Default value: "DataApplied"

OptionSqlConnectionString (String)

A string value which specifies the connection string to connect to a database server.
MySQL example: "Driver={MySQL ODBC 5.1 Driver};Server=serverName;uid=root;pwd=password;"
SQL Server example: "Server=serverName;Trusted_Connection=yes"
SQL Express example: "Server=localhost\SQLEXPRESS;Trusted_Connection=yes"
Specifying an ODBC driver is required for MySQL.

  • Default value: "None" (must be supplied)

OptionSqlConnectionExpiry (Integer)

An integer (milliseconds) value which specifies the time after which a cached SQL connection should expire (i.e. be removed from the cache).
Data Applied implements a complex database connection caching & prioritization scheme, which uses a custom SQL connection pool.
Cached connections which remain unused for a duration greater than the specified value will be removed from the cache (but not closed yet).
For example, assuming the value is 30 minutes, any connection not used within the last 30 minutes will be considered expired and removed from the cache.

  • Default value: 3600000 (1 hour)

OptionSqlConnectionCleanup (Integer)

A millisecond value which specifies the time after which a SQL connection previously removed from the cache should be closed.
Data Applied implements a complex database connection caching & prioritization scheme, which uses a custom SQL connection pool.
Cached connections which remain unused for too long ultimately expire, are removed from the cache, and at some point of time must be closed.
For example, assuming the value is 1 day, any expired connection previously removed from the cache and not used within the last day will be closed.

  • Default value: 86400000 (1 day)

OptionSqlExecutionTimeout (Integer)

A millisecond value which specifies the maximum time to execute any SQL query.
Any SQL query taking more time to execute than the specified value will result in an error.

  • Default value: 120000 (2 minutes)

OptionSqlMaxConnections (Integer)

A positve integer value which specifies the maximum number of active concurrent SQL connections to each database.
The specified limit may be exceeded but only for short periods of time.
For the maximum number of SQL requests which can be executed using these connections, see SqlMaxRequests.
Note that multiple SQL requests can be executed using a single SQL connection.
This parameter is provided to avoid executing too many SQL requests while allowing for parallel execution.

  • Default value: 5

OptionSqlMaxRequests (Integer)

A positve integer value which specifies the maximum number of active concurrent SQL requests to each database.
The specified limit may be exceeded but only for short periods of time.
For the maximum number of SQL connections which can be used to execute these SQL requests, see SqlMaxConnections.
Note that multiple SQL requests can be executed using a single SQL connection.
This parameter is provided to avoid opening too many SQL connections while allowing for parallel connections.

  • Default value: 10

OptionSqlMaxParameters (Integer)

A positve integer value which specifies the maximum number of SQL parameters which can be specified by a single SQL request.
For example, a bulk SQL insert command may contain many SQL parameters (one per field and per row inserted).
This parameter is provided because some database systems limit the number of SQL parameters per request.

  • Default value: 2000

OptionSqlRetries (Integer)

A positve integer value which specifies the maximum number of retries allowed when a SQL query fails.
For example, a SQL query may fail due to transient database unavailability, and the automatic retry mechanism may achieve graceful recovery.
Once the limit has been reached, attempts to re-execute a SQL query stop.

  • Default value: 3

OptionSqlRetrySleep (Integer)

A millisecond value which specifies how long to sleep before retrying a failed SQL query.
For example, a SQL query may fail due to transient database unavailability, and the automatic retry mechanism may achieve graceful recovery.
Retry attempts are made after the specified sleep time has elapsed.

  • Default value: 100 (0.1 seconds)

OptionJobExecutionTimeout (Integer)

A millisecond value which specifies the maximum time allowed to execute a task.
Tasks whose execution time is greater than this value will be aborted and reported as failed.
No automatic task retry is allowed for tasks whose execution timeout exceeded the specified value.

  • Default value: 28800000 (8 hours)

OptionJobMaxExecutionThreads (Integer)

A positive integer value which specifies the maximum number of concurrent threads which can be used to execute tasks.
If the maximum number of threads has been reached, scheduled tasks will be left unprocessed until another thread completes.
This parameter is provided to avoid executing too many tasks while allowing for parallel execution.

  • Default value: 10

OptionJobMaxMemory (Integer)

A percentage value which specifies the maximum memory allowed for the process, in proportion to total physical memory installed.
If the maximum memory percentage has been reached, scheduled tasks will be left unprocessed until sufficient memory is released.
If the maximum percentage has been reached, but no tasks are currently executing, the system will still allow execution of a single scheduled task.
This prevents blocking in situations where the specified memory value is set too low, preventing execution of any task.

  • Default value: 100 (100% of physical memory)

OptionJobRetrievePeriod (Integer)

A millisecond value which specifies how frequently a server should check if new tasks have been started and await execution.
For example, assuming the value is 1 second, the server will check every second if new tasks require execution, and start executing them.

  • Default value: 100 (0.1 seconds)

OptionJobMonitorPeriod (Integer)

A millisecond value which specifies how frequently each server should check if child tasks running on remote machines have completed.
For example, assuming the value is 1 second, the server will check every second if some remote child tasks have completed.

  • Default value: 500 (0.5 seconds)

OptionJobMarkAlivePeriod (Integer)

A millisecond value which specifies how frequently each server updates tasks to indicate processing is still taking place.
If a server fails to indicate frequently enough that it is still running a task, the task will be considered abandoned.
This scheme allows detection of tasks left unprocessed due to server failure, unplanned server maintenance, etc.
Tasks found to have been abandoned can be automatically restarted (see JobRetries).

  • Default value: 60000 (1 minute)

OptionJobMarkAliveExpirationPeriod (Integer)

A millisecond value which specifies after how much time tasks which have not been updated (to indicate they are still executing) are considered abandoned.
If a server fails to indicate frequently enough that it is still running a task, the task will be considered abandoned.
This scheme allows detection of tasks left unprocessed due to server failures, unplanned server maintenance, etc.
Tasks found to have been abandoned can be automatically restarted (see JobRetries).

  • Default value: 300000 (5 minutes)

OptionJobAcceptWork (Boolean)

A boolean value which specifies whether the current server should retrieve and execute tasks.
Some servers may be used only to support the XML-based Web API, and perform no task scheduling/execution task.
In such cases, the value would be set to false.

  • Default value: true

OptionJobRetries (Integer)

An integer value which specifies the number of restarts allowed following task execution failure.
For example, a task may fail due to transient database unavailability, and the automatic retry mechanism may achieve graceful recovery.
Once the limit has been reached, attempts to restart a task stop.

  • Default value: 10

OptionJobRetrySleep (Integer)

A millisecond value which specifies how long to sleep before trying to restart a task whose execution failed.
For example, a job may fail due to transient database unavailability, and the automatic retry mechanism may achieve graceful recovery.
Retry attempts are made after the specified sleep time has elapsed.

  • Default value: 30000 (30 seconds)

OptionSmtpRetries (Integer)

An integer value which specifies the number of retries when sending task notification, password reset, or registration confirmation e-mails.
For example, e-mail delivery may fail due to transient network unavailability, and the automatic retry mechanism may achieve graceful recovery.
Once the limit has been reached, attempts to re-send an e-mail stop.

  • Default value: 10

OptionSmtpRetrySleep (Integer)

A millisecond value which specifies how long to sleep before trying to send an e-mail whose delivery failed.
For example, e-mail delivery may fail due to transient network unavailability, and the automatic retry mechanism may achieve graceful recovery.
Retry attempts are made after the specified sleep time has elapsed.

  • Default value: 300000 (5 minutes)

OptionSmtpServer (String)

A string value which specifies the name of the SMTP server to connect to send e-mails.

  • Default value: empty

OptionSmtpPort (Integer)

An integer value which specifies the port to use when connecting to the SMTP server to send e-mails.

  • Default value: 25

OptionSmtpEnableSsl (Boolean)

A boolean value which specifies if SSL should be used when connecting to the SMTP server to send e-mails.

  • Default value: false

OptionSmtpUserName (String)

A string value which specifies the name of the user to authenticate with when connecting to the SMTP server to send e-mails.

  • Default value: empty

OptionSmtpPassword (String)

A string value which specifies the password to authenticate with when connecting to the SMTP server to send e-mails.

  • Default value: empty

OptionSmtpFromEmailAddress (String)

A string value which specifies the e-mail address of the sender when sending task notification, password reset, or registration confirmation e-mails.

  • Default value: empty

OptionSmtpToEmailAddress (String)

A string value which specifies the e-mail address of the recipient when using BCCs for task notification, password reset, or registration confirmation e-mails.

  • Default value: empty

OptionSmtpFromEmailDisplayName (String)

A string value which specifies the display name of the sender when sending task notification, password reset, or registration confirmation e-mails.

  • Default value: empty

OptionSmtpSendRegistrationConfirmation (Boolean)

A boolean value which indicates if registration confirmation is required (if so, e-mails with account activation links are sent).

  • Default value: true

OptionSmtpSendRegistrationConfirmationBcc (Boolean)

A boolean value which indicates if sent registration confirmation e-mails should be BCC-ed to the SmtpToEmailAddress e-mail address.

  • Default value: false

OptionSmtpRegistrationConfirmationSubject (String)

A string value containing a subject template used for registration confirmation e-mails.
If empty, the following file is used to obtain this content: /Templates/SmtpRegistrationConfirmationSubject.html.
See file content to understand how user "slugs" can be used by templates.

  • Default value: empty

OptionSmtpRegistrationConfirmationBody (String)

A string value containing an HTML body template used for registration confirmation e-mails.
If empty, the following file is used to obtain this content: /Templates/SmtpRegistrationConfirmationBody.html.
See file content to understand how user "slugs" can be used by templates.

  • Default value: empty

OptionSmtpSendPasswordReset (Boolean)

A boolean value which indicates if password resets are allowed (if so, e-mails with password reset links can be sent).

  • Default value: true

OptionSmtpSendPasswordResetBcc (Boolean)

A boolean value which indicates if sent password reset e-mails should be BCC-ed to the SmtpToEmailAddress email address.

  • Default value: false

OptionSmtpPasswordResetSubject (String)

A string value containing a subject template used for password reset e-mails.
If empty, the following file is used to obtain this content: /Templates/SmtpPasswordResetSubject.html.
See file content to understand how user "slugs" can be used by templates.

  • Default value: empty

OptionSmtpPasswordResetBody (String)

A string value containing an HTML body template used for password reset e-mails.
If empty, the following file is used to obtain this content: /Templates/SmtpPasswordResetBody.html.
See file content to understand how user "slugs" can be used by templates.

  • Default value: empty

OptionSmtpSendTaskNotification (Boolean)

A boolean value which indicates if task notifications are allowed (if so, e-mails with task completion information can be sent).

  • Default value: true

OptionSmtpSendTaskNotificationBcc (Boolean)

A boolean value which indicates if sent task notification e-mails should be BCC-ed to the SmtpToEmailAddress email address.

  • Default value: false

OptionSmtpTaskNotificationSubject (String)

A string value containing a subject template used for task notification e-mails.
If empty, the following file is used to obtain this content: /Templates/SmtpTaskNotificationSubject.html.
See file content to understand how task "slugs" can be used by templates.

  • Default value: empty

OptionSmtpTaskNotificationBody (String)

A string value containing an HTML body template used for task notification e-mails.
If empty, the following file is used to obtain this content: /Templates/SmtpTaskNotificationBody.html.
See file content to understand how task "slugs" can be used by templates.

  • Default value: empty

OptionOther Options

You can also specify min/max limits for all numeric properties of analysis tasks.
For example, for similarity map tasks, you may set the maximum allowed number of iterations to 10.
This prevents execution of tasks which could consumme too many resources.
Review the list of task entities and properties for more details.

<add key="RootSomMapTaskInfo.Iterations.Max" value="10"/>