Config Settings

Configuration settings contains all the configuration options for the client applications, task service and web service.

File Types

Depending on the application or service there can be different file types that hold the settings:

  • settings.config
    • This is an xml config file holding all the various settings
  • appsettings.json
    • This is a json setting file for use with services that integrate in cloud, iis or standalone environments.

Regardless of the type of file, the settings are all the same, they contain a key and value for each setting.


Settings

The system has the following settings that can be configured through the setting files:

KeyValueDescription
ConStringData Source=.;
Initial Catalog=FinancialServices;
Persist Security Info=True;
Trusted_Connection=True;
Connection Timeout=120;
ConnectRetryCount=3;
ConnectRetryInterval=30

The connection string to the database. 

Required for the Web and Task Services, not required for any client application.

ValidDatabasesFinancialServices=FinancialServices;
Insurance=Insurance
A list of databases the web or task service can connect to using the above ConString.
Each database has the format Alias=DatabaseName.
The Alias the user can see from the client when logging in, it can be different if you want to avoid exposing database names.
VisibleDatabasesFinancialServices;InsuranceThis ensures users can only see certain aliases the service connects to.
RestartServiceOnAddInChanges[Default]
True 
Indicates when an AddIn is changed the service should close and restart to dynamically load in the new changes
ValidIPAddresses1.1.1.1-2.2.2.2;
3.3.3.3;
4.4.4.4-5.5.5.5
You can restrict the allowed IP Addresses that can connect to just those that match specific addresses or ranges.
This ensures no one outside your vpn or other addresses can connect regardless of their credentials.
MaxLoginAttempts[Default]
5
The Maximum number of failed logins before a user is locked out and has to be set to not suspended by another user with access.
SessionTimeoutSeconds[Default]
36000
The number of seconds that a login is valid for before a user is automatically logged off and has to log back in again.
UseSharedCache[Default]
False
Indicates you would like to synchronize the cache between multiple services through the use of a shared cache server
SharedCacheConnectionString The connection string to a shared cache server such as a redis cache server
SharedCacheExpirey2:00:00:00The default timespan to use before items in the cache automatically expire
StorageType

[Default]
Local

Other Options:
Azure

The type of storage to use for saving task server results
StorageConnectionString[Default]
c:\
The default connection string to the storage type.
For azure this is an azure storage connection string, for a local drive it's just the drive name
StorageBasePathLTShare\The base path to store everything in the storage type.
For Azure this is a container, for a local file system it's just a folder path.
UseStorageForTaskServiceQueueFalseIndicates you want the system to use the storage to create a queue for the task service rather than the task service polling the database continually.
For Azure this will use an Azure queue and means you can have a SQL Azure database setup as serverless while the task service uses the azure queue
InitiallyConnectToDatabasesOnStartupFalseIndicates when this service initially starts up that it should connect to each database. This can be configured not to happen if the task service is running from a sturage queue instead, but you may want an initial connection to verify databases.
TaskServiceQueueName
 The name of the queue for the task service
TaskServicePollTimeInMilliSecs[Default]
1000
The gap between the task service polling the database for any new tasks (if it isn't using the storage account as a queue)
LogToFile A local file path for any log files
LogToConsole Indicates if the system should also log to conole output when the services are running in the cloud (or locally).
MinLogLevel[Default]
Information
The minimum log level
LogDatabaseSQLFalseIndicates if SQL requests should be logged as well
MaxPartsPerBatch[Default]
10000
The maximum parts in a batch request as an odata message quota.
Required only for the web service
MaxOperationsPerChangeset[Default]
10000
The maximum number of operations in a single changeset.
Required only for the web service.
MaxReceivedMessageSize[Default]
10000000
The maximum message size for odata requests.
Required only for the web service
EmailSenderName If using the auto email notification functionality of the platform you can provide it the email account details to automatically send from.
EmailSenderAddress The email address to use to send emails from
EmailSMTPAddress The SMTP email address to use to send emails from
EmailSMTPPort The SMTP port for the email address to send emails from
EmailLogin The login for the email address to send emails from
EmailPassword The password for the email address to send emails from
AutoUpdaterPathhttps://web.lemontree.app /install/clients/updater/The path to look for new versions of the AutoUpdater application
UpdatePathhttps://web.lemontree.app
/install/clients/wpfcore/
The path to look for new versions of the currently running application.
UpdatePathSharedAccessKey
xxxxA shared access key the enables access to the specified UpdatePath 
MessageConnectionString
 A service bus end point for using messages to synchronize local caches across multiple services 
MessageTopicForServerSync
 The topic to use for the messages for server synchronization
MessageType
Azure

The type of message service to use.

"Azure" is the only current option.

SQLBulkCopyMinSize
[Default]
25
Indicates that after 25 of the same type of items are being inserted/updated/deleted in a single transaction the system will use sqlbulkcopy to transport the data rather than individual sql commands
SQLBulkCopyBatchSize
[Default]
0
Indicates when using sqlbulkcopy how many items should be sent in a single batch. By default this is 0, meaning all items.
DefaultCommandTimeout
[Default]
300
Indicates the maximum time in seconds the system will wait for sql server before timing out when running most common queries
ShortCommandTimeout
[Default]
120
Indicates the maximum time in seconds the system will wait for sql server before timing out when running queries that are expected to return fast
LongCommandTimeout
[Default]
1800
Indicates the maximum time in seconds the system will wait for sql server before timing out when running queries that can take a long time, such as any server task queries
SSRS_URL
[Default Blank]Indicates the url to connect to your SSRS report server that the SSRS Reports will use by default.
The url needs to connect to the 2005 report execution server, for example:
http://localhost:80/ReportServer/ReportExecution2005.asmx?wsdl
SSRS_Credential_Domain
[Default Blank]The domain to use when using domain/username/password credentials to connect to the SSRS report server.
SSRS_Credential_UserName
[Default Blank]The username to use when using domain/username/password credentials to connect to the SSRS report server.
SSRS_Credential_Password
[Default Blank]The password to use when using domain/username/password credentials to connect to the SSRS report server.
SSRS_Credential_UseDefault
[Default]
true
Indicates when connecting to the SSRS report server if it should use default network credentials or not. You must provide domain/username/password if this is false.

[Default] Indicates this is the default value used by the system if you don't include a value in the settings file at all.


Windows Authentication

If you deploy the web service in a Windows environment you are also able to take advantage of Windows Authentication for login to the application.

To do that you need to add the following settings to the web.config file for the web service:

In system.webServer.security:

<configuration>
  <system.webServer>
    <security>
      <authentication>
        <anonymousAuthentication enabled="false"/>
        <windowsAuthentication enabled="true" />
      </authentication>
    </security>
  </system.webServer>
</configuration>

In system.web:

<configuration>
  <system.web>
    <authentication mode="Windows" />
    <authentication mode="Forms" />
  </system.web>
</configuration>