Configuration settings
Casewhere provides a lot of settings you can adjust to specifically customize your deployments.
Casewhere Api
Below are the customizable settings for Casewhere.Worker.Api.
| Key | Type | Description | Default/Sample value | Release |
|---|---|---|---|---|
| storage:sysDocumentContainer | appSettings |
The container for system files. For using with Azure Blob, it's the Blob container. For using with MongoDb GridFs, it's the database collection | systemdocuments | 1.0 |
| storage:pluginContainer | appSettings |
The container for plugins. | plugins | 1.0 |
| storage:documentContainer | appSettings |
The container for runtime files i.e. files added by end-users through workflows | documents | 1.0 |
| storage:sysDocument:clientCacheTime | appSettings |
The cache duration in second | 60 | 2.6 |
| storage:azure:connectionString | secureAppSettings |
The Azure Storage connection string. This setting is for Azure Queue only | Azure Storage connection string | 2.0 |
| storage:gridFS:connectionString | secureAppSettings |
The MongoDb connection string for the file storage database. This setting is for MongoDb GridFs only | MongoDb connection string | 2.6 |
| cwjobs:RuntimeApiEndpoint | appSettings |
The API endpoint to process background tasks. In most deployments, we host the background-task engine using the same Worker Api instance, but it can be deployed separately from the Worker Api if we need to scale them separately |
https://api-local.casewhere.com/external/v0.1/ | 1.0 |
| cwjobs:RuntimeApiKey | secureAppSettings |
The secret key to protect the communication between Worker API and the background task engine |
A secret value | 1.0 |
| cwjobs:Workers | appSettings |
The number of workers to process background tasks | 3 | 2.0 |
| cwjobs:Timeout | appSettings |
The timeout for processing background tasks in second | 900 | 2.5 |
| cwJobs:AzureStorageQueue:queuename | appSettings |
The queue name if you use Azure Queue for the background tasks | cwjobqueue | 2.0 |
| cwjobs:AzureStorageQueue:visibleTimeoutSecs | appSettings |
The visibility timeout in seconds. This setting is for Azure Queue only | 3600 | 2.5 |
| cwjobs:AzureStorageQueue:connectionstrings | secureAppSettings |
The Azure Storage connection string. This setting is for Azure Queue only | A secret value | 2.0 |
| UploadTimeout | appSettings |
The timeout for uploading files from worker sites | 00:15:00 | 2.6 |
| MinifyScript | appSettings |
If true, Casewhere will minify the generated scripts before responding | false | 1.0 |
| WorkerSiteClaimType | appSettings |
The claim in the token from IdP, which is used to authorize users against the worker site. This setting is Deprecated, we recommend using access rules to for user authorization |
http://schemas.microsoft.com/identity/claims/tenantdomain | 1.0 |
| CacheDuration | appSettings |
To improve performance, Casewhere cache configuration data and only query MongoDb when needed | 00:15:00 | 2.0 |
| ApplyTransaction | appSettings |
When true, Casewhere will use transaction when persisting changes to the event source | false | 2.6 |
| QueryMaxTime | appSettings |
The timeout for database queries | 00:01:00 | 2.6 |
| AllowDiskUse | appSettings |
Utilize disk space for sorting. Read here for more | false | 2.6 |
| SearchLimit | appSettings |
The maximum number of records returned for a search query | 5000 | 2.6 |
| AcceptableDeviationSeconds | appSettings |
The assertion validation can be failed due to a difference in server time between Casewhere and connected IdP. This setting controls the variation in seconds allowed when validating assertions | 3 | 2.5 |
| EnableBrowserFingerprint | appSettings |
When true, Casewhere will validate the request signature (IP, Agent) against the issued token | false | 2.6 |
| CleanupUserSessionAfterTimeSpan | appSettings |
User sessions will be deleted in the database after a configurable period to free up disk space | 720:00:00 | 2.6 |
| idpConnection:AllowTokenLifetimeFromConditions | appSettings |
If true, Casewhere will use the value in Conditions.NotOnOrAfter for the token lifetime. |
false | 2.6 |
| idpConnection:DefaultTokenLifetime | appSettings |
The default token lifetime. If none is specified in the SAML token from IdP, Casewhere will use this setting. | 08:00:00 | 2.6 |
| dataProtection:KeyProtection:Thumbprint | appSettings |
The thumbprint of the encryption-key certificate | 2.5 | |
| dataProtection:KeyProtection:StoreLocation | appSettings |
The location to store the encryption-key certificate | LocalMachine | 2.5 |
| dataProtection:KeyPersistence:MongoDBConnection | secureAppSettings |
The MongoDb connection string for the key-storage database | MongoDb connection string | 2.5 |
| dataTrigger:Workers | appSettings |
The number of workers to process data-change notifications | 2 | 2.5 |
| dataTrigger:ExpireAfterDays | appSettings |
Old data-change notifications will be deleted in the database to free up disk space | 30.00:00:00 | 2.5 |
| dataTrigger:AvailableFromHours | appSettings |
It's similar to the visibility timeout in Azure Queue | 01:00:00 | 2.5 |
| dataTrigger:MaxDequeueAttempts | appSettings |
The maximum number of attempts Casewhere will try to process a data-change notification | 10 | 2.5 |
| jobQueue:ExpireAfterDays | appSettings |
Old messages will be deleted in the database to free up disk space. This setting is applicable for Mongo Queue only | 30.00:00:00 | 2.6 |
| jobQueue:AvailableFromHours | appSettings |
It's similar to the visibility timeout in Azure Queue. This setting is applicable for Mongo Queue only | 01:00:00 | 2.6 |
| eventTrigger:ExpireAfterDays | appSettings |
Old events will be deleted in the database to free up disk space | 30.00:00:00 | 2.6 |
| eventTrigger:InvisibleEventDuration | appSettings |
It's similar to the visibility timeout in Azure Queue | 01:00:00 | 2.6 |
| eventTrigger:MaxAttemptsForEvent | appSettings |
The maximum number of attempts Casewhere will try to process an event | 10 | 2.6 |
| eventTrigger:Workers | appSettings |
The number of workers to process runtime events | 2 | 2.6 |
| serilog:minimum-level | appSettings |
The minimum logging level | Verbose | 2.0 |
| serilog:disableSelfLog | appSettings |
To debug logging problem | false | 2.6 |
| serilog:using:MongoDb | appSettings |
MongoDb as logging storage | Serilog.Sinks.MongoDb | 2.0 |
| serilog:write-to:MongoDb.collectionName | appSettings |
The MongoDb collection for storing log data | Logs | 2.0 |
| serilog:write-to:MongoDb.databaseUrl | secureAppSettings |
The MongoDb connection string for the log database | MongoDb connection string | 2.0 |
| perfLog:using:MongoDB | appSettings |
MongoDb as logging storage | Serilog.Sinks.MongoDB | 2.6 |
| perfLog:write-to:MongoDB.collectionName | appSettings |
The MongoDb collection for storing log data | PerfLogs | 2.6 |
| perfLog:write-to:MongoDB.cappedMaxSizeMb | appSettings |
Casewhere use MongoDb capped collection to store performance logs. The capping size is in Mb | 5000 | 2.6 |
| perfLog:enabled | appSettings |
Enable or disable performance log | true | 2.6 |
| perfLog:write-to:MongoDB.databaseUrl | secureAppSettings |
The MongoDb connection string for the log database | MongoDb connection string | 2.6 |
| CasewhereEvents | connectionStrings |
The MongoDb connection string for the event-source database | MongoDb connection string | 2.0 |
| CasewhereData | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
| Hangfire | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
| CasewhereLog | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
| CasewhereAuditLog | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.6 |
Casewhere Web
Below are the customizable settings for Casewhere.Web.CaseWorker.
| Key | Type | Description | Default/Sample value | Release |
|---|---|---|---|---|
| ApiEndPoint | appSettings |
The Worker API endpoint |
https://api-local.casewhere.com/api/v0.1/ | 1.0 |
| RuntimeApiEndPoint | appSettings |
The Runtime API endpoint |
https://api-local.casewhere.com/external/v0.1/ | 1.0 |
| TextResourceEndPoint | appSettings |
The endpoint to download text resources | https://api-local.casewhere.com/languages/ | 1.0 |
| AuthEndPoint | appSettings |
The API endpoint for authentication | https://api-local.casewhere.com/ | 1.0 |
| LoginEndpoint | appSettings |
The login endpoint | https://api-local.casewhere.com/signon?relayState= | 1.0 |
| LogoutEndpoint | appSettings |
The logout endpoint | https://api-local.casewhere.com/signoff | 1.0 |
| AdminEndpoint | appSettings |
The endpoint to Casewhere Admin | https://admin-local.casewhere.com/ | 2.6 |
| serilog:minimum-level | appSettings |
The minimum logging level | Verbose | 2.7 |
| serilog:disableSelfLog | appSettings |
To debug logging problem | false | 2.7 |
| serilog:using:MongoDb | appSettings |
MongoDb as logging storage | Serilog.Sinks.MongoDb | 2.7 |
| serilog:write-to:MongoDb.collectionName | appSettings |
The MongoDb collection for storing log data | Logs | 2.7 |
| serilog:write-to:MongoDb.databaseUrl | secureAppSettings |
The MongoDb connection string for the log database | MongoDb connection string | 2.7 |
Casewhere Admin
Below are the customizable settings for Casewhere.Configuration.Web.
| Key | Type | Description | Default/Sample value | Release |
|---|---|---|---|---|
| idpConnection:SPCertStoreLocation | appSettings |
The store location for the service provider (Casewhere) signing certificate | LocalMachine | 2.6 |
| idpConnection:SPCertStoreName | appSettings |
The name of the store for the service provider (Casewhere) signing certificate | My | 2.6 |
| idpConnection:IdPCertStoreLocation | appSettings |
The store location for the IdP signing certificate | LocalMachine | 2.6 |
| idpConnection:IdPCertStoreName | appSettings |
The name of the store for the IdP signing certificate | TrustedPeople | 2.6 |
| idpConnection:SPSigningCertificateThumbprint | appSettings |
The thumbprint of the service provider (Casewhere) signing certificate | Thumbprint string | 2.6 |
| idpConnection:SignatureAlgorithm | appSettings |
Signing algorithm | SHA256 | 2.6 |
| idpConnection:IdPUrl | appSettings |
The IdP endpoint | https://login-demo.casewhere.com/runtime/ | 2.6 |
| idpConnection:IdPMetadataFolder | appSettings |
The folder contains the SAML metadata from the IdP. Make sure there is a metadata.xml inside it | ~/Metadata/OnPremiseIdP | 2.6 |
| idpConnection:EntityId | appSettings |
If not specified, the current domain will be used | 2.6 | |
| idpConnection:LogoutResponseUri | appSettings |
The Casewhere endpoint to handle logout callback from IdP | https://admin-local.casewhere.com/auth/signoffconsumer | 2.6 |
| idpConnection:EnableSSO | appSettings |
If false, users are always required to login | false | 2.6 |
| authorization:EnableBrowserFingerprint | appSettings |
When true, Casewhere will validate the request signature (IP, Agent) against the issued token | true | 2.6 |
| idpConnection:AllowTokenLifetimeFromConditions | appSettings |
If true, Casewhere will use the value in Conditions.NotOnOrAfter for the token lifetime |
false | 2.6 |
| idpConnection:DefaultTokenLifetime | appSettings |
The default token lifetime. If none is specified in the SAML token from IdP, Casewhere will use this setting. | 08:00:00 | 2.6 |
| CasewhereAdminClaim | appSettings |
The claim type is used for authorization. The issued tokens from IdP must have the claim | BackendRoles | 2.6 |
| CasewhereAdminClaimValue | appSettings |
Casewhere will validate the claim against this value to decide if the user is authorized or not. You can specify multiple values separated by commas | CasewhereAdmin | 2.6 |
| CMSAdminClaim | appSettings |
The claim type is used for authorization for the CMS Admin | BackendRoles | 2.6 |
| CMSAdminClaimValue | appSettings |
Casewhere will validate the claim against this value to decide if the user is authorized for the CMS Admin or not. You can specify multiple values separated by commas | CMSAdmin | 2.6 |
| storage:sysDocumentContainer | appSettings |
The container for system files. For using with Azure Blob, it's the Blob container. For using with MongoDb GridFs, it's the database collection | systemdocuments | 1.0 |
| storage:pluginContainer | appSettings |
The container for plugins. | plugins | 1.0 |
| storage:documentContainer | appSettings |
The container for runtime files i.e. files added by end-users through workflows | documents | 1.0 |
| storage:azure:connectionString | secureAppSettings |
The Azure Storage connection string. This setting is for Azure Queue only | Azure Storage connection string | 2.0 |
| storage:gridFS:connectionString | secureAppSettings |
The MongoDb connection string for the file storage database. This setting is for MongoDb GridFs only | MongoDb connection string | 2.6 |
| CacheDuration | appSettings |
To improve performance, Casewhere cache configuration data and only query MongoDb when needed | 00:15:00 | 2.0 |
| ApplyTransaction | appSettings |
When true, Casewhere will use transaction when persisting changes to the event source | false | 2.6 |
| serilog:minimum-level | appSettings |
The minimum logging level | Verbose | 2.0 |
| serilog:disableSelfLog | appSettings |
To debug logging problem | false | 2.6 |
| serilog:using:MongoDb | appSettings |
MongoDb as logging storage | Serilog.Sinks.MongoDb | 2.0 |
| serilog:write-to:MongoDb.collectionName | appSettings |
The MongoDb collection for storing log data | Logs | 2.0 |
| serilog:write-to:MongoDb.databaseUrl | secureAppSettings |
The MongoDb connection string for the log database | MongoDb connection string | 2.0 |
| dataProtection:KeyProtection:Thumbprint | appSettings |
The thumbprint of the encryption-key certificate | 2.5 | |
| dataProtection:KeyProtection:StoreLocation | appSettings |
The location to store the encryption-key certificate | LocalMachine | 2.5 |
| dataProtection:KeyPersistence:MongoDBConnection | secureAppSettings |
The MongoDb connection string for the key-storage database | MongoDb connection string | 2.5 |
| CasewhereEvents | connectionStrings |
The MongoDb connection string for the event-source database | MongoDb connection string | 2.0 |
| CasewhereData | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
| Hangfire | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
| CasewhereLog | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
Casewhere Job
Below are the customizable settings for Casewhere.Hangfire.
| Key | Type | Description | Default/Sample value | Release |
|---|---|---|---|---|
| idpConnection:SPCertStoreLocation | appSettings |
The store location for the service provider (Casewhere) signing certificate | LocalMachine | 2.6 |
| idpConnection:SPCertStoreName | appSettings |
The name of the store for the service provider (Casewhere) signing certificate | My | 2.6 |
| idpConnection:IdPCertStoreLocation | appSettings |
The store location for the IdP signing certificate | LocalMachine | 2.6 |
| idpConnection:IdPCertStoreName | appSettings |
The name of the store for the IdP signing certificate | TrustedPeople | 2.6 |
| idpConnection:SPSigningCertificateThumbprint | appSettings |
The thumbprint of the service provider (Casewhere) signing certificate | Thumbprint string | 2.6 |
| idpConnection:SignatureAlgorithm | appSettings |
Signing algorithm | SHA256 | 2.6 |
| idpConnection:IdPUrl | appSettings |
The IdP endpoint | https://login-demo.casewhere.com/runtime/ | 2.6 |
| idpConnection:IdPMetadataFolder | appSettings |
The folder contains the SAML metadata from the IdP. Make sure there is a metadata.xml inside it | ~/Metadata/OnPremiseIdP | 2.6 |
| idpConnection:EntityId | appSettings |
If not specified, the current domain will be used | 2.6 | |
| idpConnection:LogoutResponseUri | appSettings |
The Casewhere endpoint to handle logout callback from IdP | https://admin-local.casewhere.com/auth/signoffconsumer | 2.6 |
| idpConnection:EnableSSO | appSettings |
If false, users are always required to login | false | 2.6 |
| authorization:EnableBrowserFingerprint | appSettings |
When true, Casewhere will validate the request signature (IP, Agent) against the issued token | true | 2.6 |
| idpConnection:AllowTokenLifetimeFromConditions | appSettings |
If true, Casewhere will use the value in Conditions.NotOnOrAfter for the token lifetime |
false | 2.6 |
| idpConnection:DefaultTokenLifetime | appSettings |
The default token lifetime. If none is specified in the SAML token from IdP, Casewhere will use this setting. | 08:00:00 | 2.6 |
| CasewhereAdminClaim | appSettings |
The claim type is used for authorization. The issued tokens from IdP must have the claim | BackendRoles | 2.6 |
| CasewhereAdminClaimValue | appSettings |
Casewhere will validate the claim against this value to decide if the user is authorized or not. You can specify multiple values separated by commas | CasewhereAdmin | 2.6 |
| serilog:minimum-level | appSettings |
The minimum logging level | Verbose | 2.0 |
| serilog:disableSelfLog | appSettings |
To debug logging problem | false | 2.6 |
| serilog:using:MongoDb | appSettings |
MongoDb as logging storage | Serilog.Sinks.MongoDb | 2.0 |
| serilog:write-to:MongoDb.collectionName | appSettings |
The MongoDb collection for storing log data | Logs | 2.0 |
| serilog:write-to:MongoDb.databaseUrl | secureAppSettings |
The MongoDb connection string for the log database | MongoDb connection string | 2.0 |
| cwjobs:RuntimeApiKey | secureAppSettings |
The secret key to protect the communication between the Hangfire instance and the Worker API |
A secret value | 1.0 |
| cwjobs:Workers | appSettings |
The number of workers to process background tasks | 3 | 2.0 |
| cwjobs:Timeout | appSettings |
The timeout for processing background tasks in second | 900 | 2.5 |
| CasewhereEvents | connectionStrings |
The MongoDb connection string for the event-source database | MongoDb connection string | 2.0 |
| CasewhereData | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
| Hangfire | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
| CasewhereLog | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
| dataProtection:KeyProtection:Thumbprint | appSettings |
The thumbprint of the encryption-key certificate | 2.5 | |
| dataProtection:KeyProtection:StoreLocation | appSettings |
The location to store the encryption-key certificate | LocalMachine | 2.5 |
| dataProtection:KeyPersistence:MongoDBConnection | secureAppSettings |
The MongoDb connection string for the key-storage database | MongoDb connection string | 2.5 |