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 | (auto-managed) | The shared secret protecting calls between Worker API and the background-task engine. Since 2.9 it is generated, stored encrypted in the CasewhereKeys database, and rotated automatically — do not set it manually. Worker.Api and Hangfire must share the same data-protection certificate and CasewhereKeys database to read it |
Auto-generated | 2.9 |
| cwjobs:RuntimeApiKey:RotationIntervalHours | appSettings |
How often the Runtime API key is rotated, in hours | 720 | 2.9 |
| cwjobs:RuntimeApiKey:GraceWindowHours | appSettings |
How long the previous Runtime API key stays valid after a rotation, in hours. Keep it greater than or equal to CacheTtl plus the request timeout |
24 | 2.9 |
| cwjobs:RuntimeApiKey:CacheTtl | appSettings |
How long, in seconds, each process caches the decrypted Runtime API key before re-reading it | 60 | 2.9 |
| cwjobs:RuntimeApiKey:RotationCron | appSettings |
The cron expression controlling when rotation runs | daily | 2.9 |
| 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 |
| perfLog:minimum-level | appSettings |
The minimum level for performance logging | Debug | 2.6 |
| storage:addInContainer | appSettings |
The container for Office add-in packages (e.g. the Word add-in installer) | add-in | 2.5 |
| CountLimit | appSettings |
The maximum number of records processed per batch during parallel data loading | 5000 | 2.8 |
| search:MinimumSearchWordLength | appSettings |
The minimum length, in characters, of a word accepted in a full-text search query | 3 | 2.8 |
| search:LimitCountingFullTextSearch | appSettings |
The maximum number of matches counted when reporting full-text search result totals | 100000 | 2.8 |
| db:EnableHardDelete | appSettings |
When true, permitted delete operations remove data permanently instead of soft-deleting. Used together with GDPR erasure | false | 2.8 |
| db:Collation:Locale | appSettings |
The default MongoDB collation locale used for string comparison and sorting | da | 2.8 |
| db:Collation:Strength | appSettings |
The default MongoDB collation strength (1–5). 2 is case-insensitive, accent-sensitive |
2 | 2.8 |
| snapshot:threshold | appSettings |
The number of events after which Casewhere writes a new aggregate snapshot to speed up rehydration | 30 | 2.5 |
| snapshot:workers | appSettings |
The number of workers building aggregate snapshots | 1 | 2.5 |
| snapshot:concurrentEventTolerance | appSettings |
The number of concurrent events tolerated before a snapshot rebuild is forced | 10 | 2.5 |
| auditLog:batchSize | appSettings |
The number of audit-log entries written per batch | 100 | 2.5 |
| auditlog:DeprecateUserClaims | appSettings |
When true, user claims are omitted from audit-log entries | false | 2.8 |
| cwEnrichJobs:cacheduration | appSettings |
The cache duration for the data-enrichment job engine | 00:15:00 | 2.5 |
| cwEnrichJobs:jobdelay | appSettings |
The delay, in milliseconds, between data-enrichment job runs | 15000 | 2.5 |
| dataTrigger:batchSize | appSettings |
The number of data-change notifications processed per batch | 100 | 2.7 |
| eventTrigger:batchSize | appSettings |
The number of runtime events processed per batch | 100 | 2.7 |
| events:EnableHotAndCold | appSettings |
Enables hot/cold event-store tiering to keep the active event stream small. Do not enable it unless there is a specific instruction | false | 2.7 |
| events:EnableCompressEvents | appSettings |
When true, large events are compressed before being stored | false | 2.8 |
| events:CompressionEventThreshold | appSettings |
The size threshold above which events are compressed, when compression is enabled | 10 | 2.8 |
| engine:ConcurrencyMaxTimeout | appSettings |
The maximum time the workflow engine waits when resolving a concurrency conflict | 00:03:00 | 2.7 |
| engine:ConcurrencyDelayTime | appSettings |
The delay, in milliseconds, between concurrency-conflict retries | 2000 | 2.7 |
| engine:WorkflowExecutionLockMaxTimeout | appSettings |
The maximum time to wait for a workflow-execution lock | 00:01:00 | 2.7 |
| engine:InvalidateWorkflowAfterTimeSpan | appSettings |
How long a cached workflow definition stays valid before it is invalidated | 04:00:00 | 2.8 |
| cachingService:SlidingExpiration | appSettings |
The sliding-expiration window for the in-memory caching service | 00:15:00 | 2.7 |
| gdpr:CleanupArchivedAfterDuration | appSettings |
How long archived (GDPR) data is retained before cleanup | 1:0:0:0 | 2.6 |
| gdpr:ApplyTransaction | appSettings |
When true, GDPR operations run inside a MongoDB transaction | false | 2.6 |
| amsi:EnableAntimalware | appSettings |
When true, uploaded files are scanned through the Windows Antimalware Scan Interface (AMSI) before use | false | 2.6 |
| amsi:ForbidAccessUnscannedFile | appSettings |
When true, files that have not yet been scanned cannot be accessed | false | 2.6 |
| amsi:MaxDequeueAttempts | appSettings |
The maximum number of attempts to scan a queued file | 3 | 2.6 |
| document:DownloadExpiredTimespan | appSettings |
How long a generated file-download link stays valid | 00:01:00 | 2.6 |
| document:DownloadLimit | appSettings |
The maximum number of times a download link can be used | 1 | 2.6 |
| document:sharedtoken:ExpiredTimeSpan | appSettings |
How long a shared-document token stays valid | 00:01:00 | 2.8 |
| document:sharedtoken:MaxDownloadTime | appSettings |
The maximum number of downloads allowed per shared-document token | 3 | 2.8 |
| dataProtection:SystemLogRule:CachingDuration | appSettings |
How long system-log data-protection rules are cached | 00:05:00 | 2.5 |
| DisableRelayStateSizeValidation | appSettings |
When true, Casewhere skips the size validation of the SAML RelayState parameter |
true | 2.5 |
| PingUrls | appSettings |
Semicolon-separated URLs that are warmed up on start-up to keep dependent services awake. Leave empty to disable | empty | 2.5 |
| runtime:InstanceName | appSettings |
An optional name identifying this Casewhere instance, useful when several instances share infrastructure | empty | 2.8 |
| runtime:BuildAssemblyWithPdbDebugInfo | appSettings |
When true, runtime-compiled code includes PDB debug symbols | true | 2.5 |
| monitoring:ServerMetricsApiKey | secureAppSettings |
The API key required by the server-metrics endpoints (external/v0.1/server-metrics/*) used by the monitoring dashboard. Requests are rejected when it is absent |
A secret value | 2.9 |
| 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 Hangfire background-job database | MongoDb connection string | 2.0 |
| CasewhereLog | connectionStrings |
The MongoDb connection string for the log database | MongoDb connection string | 2.0 |
| CasewhereAuditLog | connectionStrings |
The MongoDb connection string for the audit-log 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 |
| fcn:StopMonitoringSubFolders | appSettings |
Stops IIS file-change-notification monitoring of sub-folders. Recommended false; enabling it has caused performance issues, especially on Azure App Service |
false | 2.7 |
| 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 |
| config:ConfigFolderPath | appSettings |
The folder used as the configuration source of truth (configuration GitOps). Read models are mirrored to {EntityType}/{EntityId}.json. Leave empty to disable |
empty | 2.9 |
| ai:EnableAI | appSettings |
Enable the AI assistant features in Casewhere Admin | true | 2.9 |
| ai:McpBaseUrl | appSettings |
The base URL of the MCP server used by the AI features | https://mcp-local.casewhere.com/ | 2.9 |
| ai:McpName | appSettings |
The display name of the MCP server used by the AI features | CasewhereLocal | 2.9 |
| AcceptableDeviationSeconds | appSettings |
The allowed variation, in seconds, when validating SAML assertion timestamps against the connected IdP | 15 | 2.5 |
| DisableRelayStateSizeValidation | appSettings |
When true, Casewhere skips the size validation of the SAML RelayState parameter |
true | 2.5 |
| SchedulerMinimumInterval | appSettings |
The minimum interval, in minutes, allowed when configuring scheduled tasks in Admin | 1 | 2.5 |
| AutoSaveInterval | appSettings |
The auto-save interval, in minutes, for the configuration editors | 2 | 2.5 |
| DefaultCursorBatchSize | appSettings |
The default MongoDB cursor batch size for Admin queries | 5000 | 2.5 |
| cms:DefaultImageCacheTime | appSettings |
The default browser cache time, in seconds, for CMS images | 3600 | 2.6 |
| ImageFileExtensions | appSettings |
The image file extensions the CMS accepts | .jpg,.png,.gif,.jpeg,.svg | 2.5 |
| DocumentSiteEndpoint | appSettings |
The URL of the Casewhere documentation site linked from Admin | https://docs.casewhere.com/ | 2.8 |
| db:Collation:Locale | appSettings |
The default MongoDB collation locale used for string comparison and sorting | da | 2.8 |
| db:Collation:Strength | appSettings |
The default MongoDB collation strength (1–5). 2 is case-insensitive, accent-sensitive |
2 | 2.8 |
| events:EnableHotAndCold | appSettings |
Enables hot/cold event-store tiering to keep the active event stream small. Do not enable it unless there is a specific instruction | false | 2.7 |
| engine:ConcurrencyMaxTimeout | appSettings |
The maximum time the workflow engine waits when resolving a concurrency conflict | 00:03:00 | 2.7 |
| snapshot:threshold | appSettings |
The number of events after which Casewhere writes a new aggregate snapshot to speed up rehydration | 50 | 2.5 |
| dataProtection:SystemLogRule:CachingDuration | appSettings |
How long system-log data-protection rules are cached | 00:05:00 | 2.5 |
| EnableDownloadLogEnhancement | appSettings |
Enables the enhanced, streamed log-download implementation in the Log Viewer | true | 2.5 |
| RecordsPerRequestLogViewer | appSettings |
The number of log records fetched per request in the Log Viewer | 50000 | 2.5 |
| MaxRecordsToSwitchEnhancement | appSettings |
The record count above which the Log Viewer switches to the enhanced download | 90000 | 2.5 |
| MaxRecordsLogViewer | appSettings |
The maximum number of records the Log Viewer will return | 1000000 | 2.5 |
| logviewer:MaxJsonLength | appSettings |
The maximum JSON payload size, in bytes, for Log Viewer responses | 10000000 | 2.7 |
| systemlogs:ExpiredTime | appSettings |
How long, in seconds, system logs are retained before cleanup | 604800 | 2.8 |
| signalr:UserEditingDocumentExpiredTime | appSettings |
How long a user's editing lock on a document is held before it expires | 00:03:00 | 2.8 |
| signalr:RefreshUserEditingDocumentIntervalTime | appSettings |
How often the editing-document presence is refreshed | 00:01:00 | 2.8 |
| 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 | secureAppSettings |
The thumbprint of the encryption-key certificate | 2.5 | |
| dataProtection:KeyProtection:StoreLocation | secureAppSettings |
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 Hangfire background-job database | MongoDb connection string | 2.0 |
| CasewhereLog | connectionStrings |
The MongoDb connection string for the log database | MongoDb connection string | 2.0 |
| CasewhereAuditLog | connectionStrings |
The MongoDb connection string for the audit-log database | MongoDb connection string | 2.6 |
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 | (auto-managed) | The shared secret protecting calls between the Hangfire instance and Worker API. Since 2.9 it is generated, stored encrypted in the CasewhereKeys database, and rotated automatically — do not set it manually. Hangfire and Worker.Api must share the same data-protection certificate and CasewhereKeys database to read it. The rotation-override keys are documented under Casewhere Api |
Auto-generated | 2.9 |
| hangefire:WorkerCount | appSettings |
The number of workers the Hangfire job server uses to process background jobs | 4 | 2.0 |
| cwjobs:RuntimeApiEndpoint | appSettings |
The Worker API endpoint the background-task engine calls back into |
https://api-local.casewhere.com/external/v0.1/ | 2.5 |
| AcceptableDeviationSeconds | appSettings |
The allowed variation, in seconds, when validating SAML assertion timestamps against the connected IdP | 15 | 2.5 |
| DisableRelayStateSizeValidation | appSettings |
When true, Casewhere skips the size validation of the SAML RelayState parameter |
true | 2.5 |
| db:Collation:Locale | appSettings |
The default MongoDB collation locale used for string comparison and sorting | da | 2.8 |
| db:Collation:Strength | appSettings |
The default MongoDB collation strength (1–5). 2 is case-insensitive, accent-sensitive |
2 | 2.8 |
| cwjobs:Timeout | appSettings |
The timeout for processing background tasks in second | 900 | 2.5 |
| CasewhereData | connectionStrings |
The MongoDb connection string for the snapshot database | MongoDb connection string | 2.0 |
| Hangfire | connectionStrings |
The MongoDb connection string for the Hangfire background-job database | MongoDb connection string | 2.0 |
| dataProtection:KeyProtection:Thumbprint | secureAppSettings |
The thumbprint of the encryption-key certificate | 2.5 | |
| dataProtection:KeyProtection:StoreLocation | secureAppSettings |
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 |