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"/>
MinPasswordStrength
(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
MaxPasswordResets
(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
MaxRegistrationConfirmations
(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
Captcha
(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)
PreCallout
(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)
PostCallout
(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)
SqlTracing
(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)
SqlOperationsDatabase
(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"
SqlConnectionString
(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)
SqlConnectionExpiry
(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)
SqlConnectionCleanup
(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)
SqlExecutionTimeout
(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)
SqlMaxConnections
(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
SqlMaxRequests
(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
SqlMaxParameters
(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
SqlRetries
(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
SqlRetrySleep
(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)
JobExecutionTimeout
(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)
JobMaxExecutionThreads
(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
JobMaxMemory
(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)
JobRetrievePeriod
(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)
JobMonitorPeriod
(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)
JobMarkAlivePeriod
(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)
JobMarkAliveExpirationPeriod
(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)
JobAcceptWork
(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
JobRetries
(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
JobRetrySleep
(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)
SmtpRetries
(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
SmtpRetrySleep
(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)
SmtpServer
(String)
A string value which specifies the name of the SMTP server to connect to send e-mails.
- Default value: empty
SmtpPort
(Integer)
An integer value which specifies the port to use when connecting to the SMTP server to send e-mails.
- Default value: 25
SmtpEnableSsl
(Boolean)
A boolean value which specifies if SSL should be used when connecting to the SMTP server to send e-mails.
- Default value: false
SmtpUserName
(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
SmtpPassword
(String)
A string value which specifies the password to authenticate with when connecting to the SMTP server to send e-mails.
- Default value: empty
SmtpFromEmailAddress
(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
SmtpToEmailAddress
(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
SmtpFromEmailDisplayName
(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
SmtpSendRegistrationConfirmation
(Boolean)
A boolean value which indicates if registration confirmation is required (if so, e-mails with account activation links are sent).
- Default value: true
SmtpSendRegistrationConfirmationBcc
(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
SmtpRegistrationConfirmationSubject
(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
SmtpRegistrationConfirmationBody
(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
SmtpSendPasswordReset
(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
SmtpSendPasswordResetBcc
(Boolean)
A boolean value which indicates if sent password reset e-mails should be BCC-ed to the SmtpToEmailAddress email address.
- Default value: false
SmtpPasswordResetSubject
(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
SmtpPasswordResetBody
(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
SmtpSendTaskNotification
(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
SmtpSendTaskNotificationBcc
(Boolean)
A boolean value which indicates if sent task notification e-mails should be BCC-ed to the SmtpToEmailAddress email address.
- Default value: false
SmtpTaskNotificationSubject
(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
SmtpTaskNotificationBody
(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
Other 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"/>