Article How do I configure environment options?

While most features of Verint Community are configured through the Administration User Interface or Contextual Management User Interface , some options can only be configured outside of the User Interface. These options largely configure the infrastructure and security components of Verint Community.

Specifying Environment Configuration

Environment configuration is a set of categorized keys and values. Configuration can be layered set or configuration sources where later-defined sources override individual keys of earlier-defined sources. The layers and sources of configuration are defined using the environment variable EVOLUTION_CONFIGURATION_SOURCES which is a semi-colon limited list of configuration sources layered from left to right (where sources defined on the right override sources defined on the left). For example, the default set of configuration sources are:

EVOLUTION_CONFIGURATION_SOURCES=file=~/communitySettings.json;env;command

This defines:

  1. The JSON file located at ~/communitySettings.json (where ~/ represents the root of the community installation)
  2. Environment variables defining Verint Community configuration.
  3. Command-line options specifying Verint Community configuration options when Verint Community components are executed.

Supported Environment Configuration Sources and Formats

File (file)

Format: file={FULL_OR_APPLICATION_ESCAPED_PATH}

Defines a JSON formatted file located at an absolute path or an application escaped (prefixed with ~/) path.

Multiple file sources can be defined in the value for EVOLUTION_CONFIGURATION_SOURCES and each file included will be layered based on the order of its inclusion.

The JSON of the file represents a single object with object properties for each configuration section (documented below). Within each section, keys/values are defined. A full JSON example is at the bottom of this article.

Environment Variables (env)

Format: env

Enables environment variables referencing Verint Community configuration key/value pairs to be read.

Environment variables following the format EVOLUTION_{Configuration_Section}_{Configuration_Key}={Value} will be read and applied to the resolved Verint Community environment configuration. Within environment variable keys and values, the following replacements can be made to prevent conflicts with host operating systems and environment variable definitions:

  • Period (.): _P_
  • Comma (,): _CM_
  • Colon (:): _CL_
  • Space ( ): _SP_ or __

When specifying a value that represents a list, list values can be delimited by double colons (;;).

Command Line Options (command)

Format: command

Enables command-line variables referencing Verint Community configuration key/value pairs to be read.

Command line options following the format --EVOLUTION-{Configuration_Section}_{Configuration_Key}={Value} will be read and applied to the resolved Verint Community environment configuration.

When specifying a value that represents a list, list values can be delimited by double colons (;;).

AWS Secrets (awssecret)

Format: awssecret={AWS_KEY_NAME}

Enables reading a JSON-formatted AWS Secret value as Verint Community configuration. To use AWS Secrets, the AWS SDK must be configured by setting the AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_DEFAULT_REGION environment variables to the access credentials required to read the specified AWS Secret.

Multiple AWS secrets can be defined in the value for EVOLUTION_CONFIGURATION_SOURCES and each secret will be layered based on the order of its inclusion.

The JSON value of the secret represents a single object with object properties for each configuration section (documented below). Within each section, keys/values are defined. A full JSON example is at the bottom of this article.

Environment Configuration Sections

The following options are available to be specified via Environment Configuration:

Core

Configuration options affecting the base Verint Community functionality. All keys in this section are within the programmatic section name Core.

Key Type Description Default
RunJobsInternally Boolean For development, allows running all jobs within the web application. false
EnableDeveloperMode Boolean For development, enables developer mode where scripted extensions are saved to the file system. false
EnableAdminTranslations Boolean Enables translating the administration user interface. When disabled, the administration user interface is always rendered in en-US. false
MaxNumberOfJobThreads Integer The maximum number of concurrent jobs. When set to null, this value is calculated based on the number of available processor cores. null
JobLookAheadInterval String The amount of time to load upcoming jobs when populating the job execution queue. "00:00:02"
DisableEmail Boolean For development, enables turning off all email. When set to true, email will not be sent. false
AnnouncementRssUrl String The URL of the announcements RSS feed shown on the Administration > About panel. "https:community.telligent.com/r?43"
EnableRestStatusMessageOnUser Boolean For legacy support, enables status messages to be included in user representations in REST responses. false
DisallowedFileExtensions String Comma-delimited list of file extensions which are not allowed to be uploaded by any user (including administrators). "dll,exe"
SiteUrl String The full public URL of the community with protocol (and port if non-standard). null
KeyEncryptionCertificateBase64 String The base64-encoded X.509 certificate used to secure the mastor key used for encryption. null
KeyEncryptionCertificatePassword String The password to use the provided certificate defined in KeyEncryptionCertificateBase64. null
EnableCors Boolean Enables cross-origin resource sharing (CORS). false
CorsOrigins List of String List of allowed CORS hosts. null
EnableMaintenanceMessage Boolean When enabled, Verint Community will not be accessible and the maintenance message (defined in MaintenanceMessageHtml or the default message) will be shown for every page request. false
MaintenanceMessageHtml String When EnableMaintenanceMessage is set to true, this key holds the message to be shown within the maintenance page. Note that this is an HTML fragment and not a complete document. It is intended to document the public reason for the site being inaccessible. null
MemoryLimitMB Integer The number of megabytes of RAM available to Verint Community. This setting does not limit the memory used but is used to calculate the memory pressure metric. To limit the memory used, specify the DOTNET_GCHeapHardLimit environment variable for the .net runtime. If not specified, the total RAM available is considered the limit. null
ProcessorLimit Integer The processor limit (where a single core presents 100 processor units). This setting does not limit the CPU used but is used to calculate the CPU pressure metric. If not specified, all available CPUs are considered processor limit. null
ReadForwardedHeader Boolean When enabled, the Forwarded or X-Forwarded-For / X-Forwarded-Proto HTTP headers (or the CustomProxyHeader if configured) will be read and used to adjust the detected URL and client details.  false
CustomProxyHeader String When specified, this header will be read to identify client proxy details instead of the standard Forwarded or X-Forwarded-For HTTP headers when ReadForwardedHeader is enabled. null
PluginSourceVersion String When specified, only plugins in the sub-folder of /plugins in the configured centralized file system location will be loaded. This key can be used to enable rolling upgrades to plugins by deploying the new set of plugins to a new version folder within the /plugins folder enabling newly running application containers/pods to load the new configuration while allowing older containers/pods to shutdown. null
InternalApplicationStatusPort Integer When specified, local liveness and readiness status endpoints will be enabled for HTTP access at the specified port at /liveness and /readiness null
EmergencyLoginKey String When specified, the emergency login page is enabled at /emergency/login. To login through the emergency login page, the value of this key and a valid email address of a user with manage site permissions must be provided to login. null
ShutdownDelaySeconds Integer When greater than zero, this will delay shutdown requests by the specified number of seconds. This can be used to allow a shutdown request to initiate a load balancer target group deregistration while still handling HTTP requests through the deregistration period. 0
MaxTagFilterDepth Integer The maximum number of tags that can be used to filter tag clouds and tagged content lists. 5

Connection Strings

Connection strings used to connect to database resources that enable the Community to function. All keys in this section are within the programmatic section named ConnectionStrings.

Key Type Description Default
SiteSqlServer String The SQL Server connection string for the main Verint Community database. null
Reporting String The SQL Server connection string for the Verint Community reporting database. null

Plugin Connection Strings

Within the Verint hosting environment, connection strings are generated as needed for ISqlServerConnectedPlugin implementations. When hosting for development purposes or on-premise, each ISqlServerConnectedPlugin will require a connection string to be defined within this section. All keys in this section are within the programmatic section named PluginConnectionStrings.

Key Type Description Default
{TYPE_NAME} String The SQL Server connection string for the plugin defined by the TYPE_NAME (which represents a full type name and assembly name such as MyNamespace.MyPlugin, MyAssembly).

When connection strings are provided to plugins within Verint's hosted environment, each plugin gets its own unique default schema and only has access to that schema. When creating connection strings explicitly using the Plugin Connection Strings section, it is recommend that each connection string reference a unique user  in SQL Server with a unique default schema.

Throttling

Controls HTTP throttling behavior which prevents attacks to the community by throttling HTTP requests by client IP when the web container is under load. All keys in this section are within the programmatic section named Throttling.

Key Type Description Default
Enable Boolean Enables HTTP throttling. true
GlobalConcurrentRequestThreshold Integer The maximum number of concurrent HTTP requests allowed by an individual web container before throttling is enforced. 30
CpuPressureThreshold Integer The maximum CPU pressure allowed before throttling is enforced. 50
MaxClientQueueLength Integer The maximum number of queued HTTP requests allowed by client IP before 429 HTTP responses will be returned. This value may adjust to be lower based on the load on the web container when throttling is enabled. 255
MaxConnectionCount Integer The maximum number of HTTP connections allowed to an individual web container. This value may adjust to be lower based on the load on the web container when throttling is enabled. 12500
TargetMaxCpuPressure Integer The target max CPU pressure used to adjust MaxClientQueueLength and MaxConnectionCount while throttling is enabled. 85
AlwaysAllowedIpAddressRanges List of String List of IP addresses or ranges that should never be subject to HTTP throttling. Ranges can be specified using wildcards (192.168.0.*) or ranges (192.168.0.1-192.168.0.50) null

Review Mode

Review mode places a message and optional access-code gate in front of web access to the community. API and system-oriented requests (CFS files, robots.txt, sitemap access) is allowed when review mode is enabled.

Key Type Description Default
Enable Boolean When set to true, the Review Mode UI is shown when attempting to access the Communtiy web UI. false
TitleHtml String Optional title to show on the Review Mode UI. If not set, a default message will be shown. null
MessageHtml String Optional message to show on the Review Mode UI. If not set, a default message will be shown. null
AccessCode String If specified, this code can be entered on the Review Mode UI to enable access to the community. null
AllowedIpAddressRanges List of String List of IP addresses or ranges that should not be subject to the review mode UI. Ranges can be specified using wildcards (192.168.0.*) or ranges (192.168.0.1-192.168.0.50) null

Hosting

Controls badging and critical error reporting in cases where responsible party for infrastructure related issues is different from the configured administrators of the installation of Community. All keys in this section are within the programmatic section named Hosting.

Key Type Description Default
EnableInfrastructureSystemIndicatorBadging Boolean When enabled, community administrators are shown infrastructure-related system indicator badges. When disabled, infrastructure-related system indicator issues are not included in badges. true
EnableInfrastructureSystemIndicatorNotifications Boolean When enabled, community administrators are send infrastructure-related system indicator notifications. When disabled, infrastructure-related system indicator notifications will not be sent. true
SendCriticalSystemIndicatorsToEmailAddress String The email address to whom infrastructure-related issues should be sent. null
RemoteAllowedIpAddressRanges List of String List of IP addresses or ranges that should have access to health endpoints for remote monitoring. This configuration affects the api/v2/systemstatus.json/xml endpoint and the api/v2/applicationstatus.json/xml endpoint. Ranges can be specified using wildcards (192.168.0.*) or ranges (192.168.0.1-192.168.0.50) null

Tracing

Controls tracing of Community processes and observability of tracing data. All keys in this section are within the programmatic section named Tracing.

Key Type Description Default
EnableConsole Boolean Enables writing tracing data to the console. false
EnableOtlp Bool Enables writing tracing data to the configured open telemetry endpoint (specified by OtlpEndpoint). false
OtlpEndpoint String The OTLP endpoint to which tracing data should be sent. This value should include the protocol and port. null
OtlpEndpointHeaders String Optional headers that may be required to send OTLP trace data to the OTLP endpoint, specified as a comma-separated list of key/value pairs (for example, "api-key=key,other-config-value=value") null
OtlpEndpointProtocol String The format used to send OTLP tracing data. Supported options are "grpc" and "protobuf". "protobuf"
Filters List of String When specified, only trace trees containing matching trace entries will be recorded. 
Format for each filter: [{ACTIVITY_DISPLAY_NAME}]:[{TAG_NAME}={TAG_VALUE},{TAG_NAME}={TAG_VALUE},duration>{DURATION_IN_MILLISECONDS},...]
[
"exception:logged=1",
"sql.command:duration>500"
]

Metrics

Controls metrics calculated by Community and observability of metrics data. All keys in this section are within the programmatic section named Metrics.

Key Type Description Default
EnableConsole Boolean Enables writing metric data to the console. false
EnableOtlp Bool Enables writing metric data to the configured open telemetry endpoint (specified by OtlpEndpoint). false
OtlpEndpoint String The OTLP endpoint to which metric data should be sent. This value should include the protocol and port. null
OtlpEndpointHeaders String Optional headers that may be required to send OTLP metric data to the OTLP endpoint, specified as a comma-separated list of key/value pairs (for example, "api-key=key,other-config-value=value") null
OtlpEndpointProtocol String The format used to send OTLP metric data. Supported options are "grpc" and "protobuf". "protobuf"

Logging

Controls logs written by Community and observability of logging data. All keys in this section are within the programmatic section named Logging.

Key Type Description Default
EnableEventLog Boolean Enables writing log data to the Verint Community Event Log. true
EnableConsole Boolean Enables writing log data to the console. true
EnableOtlp Bool Enables writing log data to the configured open telemetry endpoint (specified by OtlpEndpoint). false
OtlpEndpoint String The OTLP endpoint to which log data should be sent. This value should include the protocol and port. null
OtlpEndpointHeaders String Optional headers that may be required to send OTLP log data to the OTLP endpoint, specified as a comma-separated list of key/value pairs (for example, "api-key=key,other-config-value=value") null
OtlpEndpointProtocol String The format used to send OTLP log data. Supported options are "grpc" and "protobuf". "protobuf"
MinimumLevel List of String Minimum level (Trace, Debug, Information, Warning, Error, Critical) of logs to be written to configured outputs. To specify the limit for a specific log category, levels can be prefixed with the log type.
[
"Information",
"Microsoft.AspNetCore:Warning"
]

Open Telemetry Tags

Controls tags applied to all open telemetry representations of traces, metrics, and logs. All keys in this section are within the programmatic section named OtlpTags.

Key Type Description Default
{Key} String Writes the tag with {Key} and the specified value to the OTLP output.

Open Telemetry Resource Tags

Controls tags applied to all open telemetry representations of resources associated to traces, metrics, and logs. All keys in this section are within the programmatic section named OtlpResourceTags.

Key Type Description Default
{Key} String Writes the tag with {Key} and the specified value to the OTLP output representing a resource.

HTTP Logging

Controls the enablement and behavior of the file-based HTTP access log. All keys in this section are within the programmatic section named HttpLogging.

Key Type Description Default
Enable Boolean Enables HTTP logging. false
LogFileBasePath String The local path where HTTP log files should be written. The path can use the application prefix (~/). "~/logs"
LogFileNamePrefix String Prefix to apply to all HTTP logs written by this Verint Community instance. "httplog"
LogFileMaxDurationMinutes Integer The maximum number of minutes to keep a single HTTP log file open. After this time, the log file will be closed and a new log file will be created. 1440
LogFileMaxSizeMegabytes Integer The maximum size of a single HTTP log file. After the file exceeds this limit, the file will be closed and a new log file will be created. 10
ExcludeHttpStatusCodes List of String A list of HTTP response codes to exclude from the HTTP log. [ 429 ]
EnableS3Shipping Boolean Enables AWS S3 log file shipping. When enabled, as HTTP log files are completed, they will be sent to AWS S3 using the configured S3BucketName, S3Region, and S3Region and deleted from the local log storage folder defined by LogFileBasePath. To use AWS HTTP log file shipping, the AWS SDK must be configured by setting the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables to the access credentials required to add objects to the configured AWS S3 bucket. false
S3BucketName String The name of the AWS S3 bucket to which log files should be shipped when EnableS3Shipping is enabled. null
S3Region String The AWS region in which the S3BucketName exists. null
S3KeyPrefix String An optional S3 object key prefix (sub-folder) to use when shipping log files to AWS S3 from this Verint Community instance when EnableS3Shipping is enabled. null

Plugin Enablement

Optionally, environment configuration can force-enable or disable plugins. When a plugin is force-enabled or disabled, the Verint Community Administration User Interface will not present the option to enable/disable the affected plugin. All keys in this section are within the programmatic section named PluginEnablement.

Key Type Description Default
{TYPE_NAME} Boolean The force-enablement status of the plugin defined by TYPE_NAME (which represents a full type name and assembly name such as MyNamespace.MyPlugin, MyAssembly).

Plugin Configuration

Optionally, environment configuration can force-set plugin configuration--either the full configuration of a plugin or individual properties. When a plugin has some or all of its configured force-set, the Verint Community Administration User Interface will not the force-set configuration options. All keys in this section are within the programmatic section named PluginConfiguration.

Key Type Description Default
{TYPE_NAME} String The force-set configuration data for the plugin identified by TYPE_NAME (which represents a full type name and assembly name such as MyNamespace.MyPlugin, MyAssembly). Note that the configuration data is URL form encoded.
{TYPE_NAME}:{PROPERTY_NAME} String The force-set configuration value for the plugin identified by TYPE_NAME and the property PROPERTY_NAME. The value only sets the value of the property identified by PROPERTY_NAME. Other properties of the plugin will still be presented in the Administration user interface (unless force-set by other configuration keys).

Job Schedules

Optionally, environment configuration can force-set job schedules. When a job is force-scheduled, the Verint Community Administration User Interface show the job's force-set schedule as read-only. All keys in this section are within the programmatic section named JobSchedules.

Key Type Description Default
{TYPE_NAME} String

The force-set schedule of the job plugin defined by TYPE_NAME (which represents a full type name and assembly name such as MyNamespace.MyPlugin, MyAssembly). The schedule is defined in one of the following formats:

  • NUMBER{s|m|h} = Every NUMBER seconds/minutes/hours
  • HH:mm DAYOFWEEK[,DAYOFWEEK...] = At HH:mm on day(s) of week (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday)
  • default = Lock to the default schedule defined by the job's implementation

Search

Configure search support. All keys in this section are within the programmatic section named Search.

Key Type Description Default
SolrContentUrl String The URL of the content search Solr endpoint including the protocol and port. "http://localhost:8983/solr/telligent-content/",
SolrConversationsUrl String The URL of the conversations search Solr endpoint including the protocol and port. "http://localhost:8983/solr/telligent-conversations/"
MaxAttachmentTermCount Integer The maximum number of terms to extract from an attached or embedded file in content. 1000000
BestMatchFieldName String The search field name used to determine the best match. "content"
BestMatchTitleFieldName String The search field name identifying the title used for best matches. "title"
EnableFieldCollapsing Boolean When set to true, field collapsing in Solr queries is enabled. true

Mail Gateway

Configure email gateway which enabled incoming and bidirectional email support. All keys in this section are within the programmatic section named MailGateway.

Key Type Description Default
Mailboxes List of string
List of accounts in connection string format. Connection string options:
  • server: The host name of the mail server
  • type: The type of mail server (options: pop3, imap, pop3ssl, imapssl)
  • uid: The user id to connect to the server / mailbox name
  • pwd: The password for the user/mailbox to access the mail server
  • apop: Use APOP to connect to a pop3/pop3ssl server (True/False)

For example,

[
"server=domain.com;type=pop3;uid=mailbox1;pwd=pa$$word;apop=True",

"server=domain.com;type=pop3;uid=mailbox2;pwd=pa$$word;apop=True"
]

null
SubjectPrefixesToStrip List of String
Email subject prefixes to remove when converting an email to content.
[
"RE:",
"FW:",
"FWD:"
]
QuoteRegex List of String
Regular expressions used to detect quoted text prefixes that should be removed when reading email as content. 
[
// Mail.app, iPhone, Gmail
"(?:<div>(?:\\s*<br ?/?>)?)\\s*On [^"]+"[\\s\\w']+"(?:\\s(?:<|<<a href="[\\w:\\./@]+">)[\\w\\./@]+(?:>|</a>>))? wrote",
// OSX Mail
"<div[^>]*>(?:(?!</div).)*[^>]*?>?\\s*?On[^<&]*(?:(?:<|<)<a [^>]*?href="[^<>@"]*@[^<>@"]*"[^>]*>[^<>@]*@[^<>@]*(?:>|</a>>))? wrote.*",
// Yahoo, Entourage
"(?:---\\s)?On(?:\\s\\w+,)?\\s\\d{1,4}[-/\\.]\\d{1,2}[-/\\.]\\d{1,4}(?:\\s\\d{1,2}:\\d{2}(?:\\s(?:am|pm))?)?(?:,)?\\s(?:"|")?[\\s\\w]+(?:"|")?(?:\\s(?:<|<|<<a\\shref="[\\w:\\./@]+">)[\\w:\\./@]+(?:>|>|</a>>))?\\swrote",
// Windows Mobile, Blackberry
"(?:-{2,})?Original\\sMessage(?:-{2,})?",
// Gmail
"<div\\sclass=['"]gmail_quote['"]>",
// Hotmail
"<DIV\\sstyle=['"]BACKGROUND:\\s#f5f5f5['"]>",
// HTML Blackberry
"<hr\\salign=['"]center['"]>",
// Outlook, Windows Phone 8
"(?:<div[^>]*>)?\\s*(?:<hr[^>]*>)?\\s*(?:<div[^>]*>)?(?:<font[^>]*>)?(?:<p[^>]*>)?(?:<b>)?(?:<span[^>]*>)?(?:<b>)?From:(?:</b>)?\\s*(?:</span>)?\\s*(?:</b>)?"
]

Centralized File Storage (CFS)

The centralized file system manages all dynamic file content for Verint Community. All keys in this section are within the programmatic section named CentralizedFileStorage. In general, key-value pairs defined in this section are provided to the configured ICentralizedFileStorageProvider defined by the Type and/or SourceProviderType key via its Initialize() method for configuration and to the configured ICentralizedFileStorageDeliveryProvider  defined by the DeliveryType key via its TryInitialize() method.

Key Type Description Default
Type String The implementation of ICentralizedFileStorageProvider to use for file storage represented as {FULL_TYPE_NAME}, {ASSEMBLY_NAME}. "Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Platform"
DeliveryType String The implementation of ICentralizedFileStorageDeliveryProvider to use for HTTP file delivery from the CFS. In general, most CDNs can be configured using the default provider. "Telligent.Evolution.Extensibility.Storage.Providers.Version1.DeliveryProvider, Telligent.Evolution.Platform"
SourceType String Optional implementation of ICentralizedFileStorageProvider representing a migration source for CFS files. This should only be specified if migrating from one CFS provider type to another. null

FileSystemFileStorageProvider

Configuration keys when the CFS provider or source provider type is configured as "Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Platform"

Key Type Description Default
RootPath String When using the FileSytemFileStorageProvider, the full or application-escaped (~/) path to the root folder in which all CFS file should be stored. "~/filestorage"
CaseSensitivity String When using the FileSystemFileStorageProvider, this sets the level of verification for case sensitivity. Options are Ignore, Log, or Required. "Required"

AmazonS3FileStorageProvider

Configuration keys when the CFS provider or source provider type is configured as "Telligent.Evolution.Extensibility.Storage.Providers.Version1.AmazonS3FileStorageProvider, Telligent.Evolution.Platform"

Key Type Description Default
bucket String The Amazon S3 bucket name in which files should be stored.
host String Optional custom host name for the S3 bucket.

Note that the Amazon S3 provider will use the AWS environment variables to identify the region and access credentials to access the Amazon S3 API.

DeliveryProvider

Configuration keys when the CFS delivery provider type is configured as "Telligent.Evolution.Extensibility.Storage.Providers.Version1.DeliveryProvider, Telligent.Evolution.Platform"

Key Type Description Default
DeliveryRootUrl String The root URL of the delivery provider. For a CDN, this would be the root URL (including the protocol and port, if non-standard) of the root of the CDN.
DeliveryProvider String The name of the provider. This is only used for logging and does not affect behavior. "Unknown"
IncludeOriginPath Boolean If enabled, the CDN URL will include the same path information as the local CFS URL. When disabled, the CDN URL will begin with the __key path. true
DeliverProviderPath Boolean If enabled, CFS file references will be added to the DeliveryRootUrl without the Community handler prefix (/sys/file). If disabled, the full Community URL path to the file will be added to the DeliveryRootUrl for CDN delivery. false

MIME Types

Mappings between file extensions and MIME types are used when adding and serving files from the centralized file system. All keys in this section are within the programmatic section named MimeTypes.

Key Type Description Default
{FILE_EXTENSION} String
The MIME-type and any additional configuration for the file extension FILE_EXTENSION (which excludes any leading period). The first component of the value is the MIME type. Optionally, semi-colon-delimited options can be appended:
  • is-text: Identifies that the file contains plain text that can be read.
  • is-inline: Identifies that the file should be served inline (not as an attachment which is forced to be downloaded by most browsers).

For example,

"text/css; is-text"

Sample JSON Configuration

Below is a sample JSON configuration file showing how options are defined and configured as a full set. When defining overrides in a layered JSON format, only include the sections, keys that you intend to override.

{
  "Core": {
    "RunJobsInternally": false,
    "EnableDeveloperMode": false,
    "EnableAdminTranslations": false,
    "MaxNumberOfJobThreads": null,
    "JobLookAheadInterval": "00:00:02",
    "DisableEmail": false,
    "AnnouncementRssUrl": "https://community.telligent.com/r?43",
    "EnableRestStatusMessageOnUser": false,
    "DisallowedFileExtensions": "dll,exe",
    "SiteUrl": "https://net.local.computer:7161",
    "KeyEncryptionCertificateBase64": null,
    "KeyEncryptionCertificatePassword": null,
    "EnableCors": false,
    "CorsOrigins": null,
    "EnableMaintenanceMessage": false,
    "MaintenanceMessageHtml": null,
    "MemoryLimitMB": null,
    "ProcessorLimit": null,
    "DatabaseManagerServiceBaseUrl": null,
    "ResetDatabaseToVersion": null,
    "RollbackToDate": null,
    "ReadForwardedHeader": false,
    "CustomProxyHeader": null,
    "PluginSourceVersion":  null,
    "InternalApplicationStatusPort": null,
    "EmergencyLoginKey": null
  },
  "ConnectionStrings": {
    "SiteSqlServer": "server=(local);uid=username;pwd=passw0rd;Trusted_Connection=no;database=Community.App;TrustServerCertificate=True",
    "Reporting": "server=(local);uid=username;pwd=passw0rd;Trusted_Connection=no;database=Community.Reporting;TrustServerCertificate=True"
  },
  "PluginConnectionStrings": {
    "MyNamespace.MyPlugin, MyAssembly": "server=(local);uid=MyPlugin;pwd=passw0rd;Trusted_Connection=no;database=Community.App;TrustServerCertificate=True"
  },
  "Throttling": {
    "Enable": true,
    "GlobalConcurrentRequestThreshold": 50,
    "CpuPressureThreshold": 30,
    "MaxClientQueueLength": 200,
    "AlwaysAllowedIpAddressRanges": ["127.0.0.1","192.168.0.*"]
  },
  "Hosting": {
    "EnableInfrastructureSystemIndicatorBadging": true,
    "EnableInfrastructureSystemIndicatorSystemNotifications": true,
    "SendCriticalSystemIndicatorsToEmailAddress": null,
    "RemoteAllowedIpAddressRanges": []
  },
  "Tracing": {
    "EnableConsole": false,
    "EnableOtlp": true,
    "OtlpEndpoint": "http://127.0.0.1:5317/",
    "OtlpEndpointHeaders": null,
    "OtlpEndpointProtocol": "grpc",
    "Filters": [
      "exception:logged=1",
      "sql.command:duration>500"
    ]
  },
  "Metrics": {
    "EnableConsole": false,
    "EnableOtlp": true,
    "OtlpEndpoint": "http://127.0.0.1:5317/",
    "OtlpEndpointHeaders": null,
    "OtlpEndpointProtocol": "grpc"
  },
  "Logging": {
    "EnableEventLog": true,
    "EnableConsole": true,
    "ConsoleFormat": "text",
    "EnableOtlp": true,
    "OtlpEndpoint": "http://127.0.0.1:5317/",
    "OtlpEndpointHeaders": null,
    "OtlpEndpointProtocol": "grpc",
    "MinimumLevel": [
      "Information",
      "Microsoft.AspNetCore:Warning"
    ]
  },
  "OtlpTags": {
    "environment": "dev",
    "developer": "me"
  }
  "HttpLogging": {
    "Enable": false,
    "LogFileBasePath": "~/logs",
    "LogFileNamePrefix": "httplog",
    "LogFileMaxDurationMinutes": 1440,
    "LogFileMaxSizeMegabytes": 10,
    "ExcludeHttpStatusCodes": [ 429 ],
    "EnableS3Shipping": false
  },
  "PluginEnablement": {
    "Telligent.Evolution.Infra.Connector.InfraPlugin, Telligent.Evolution.Infra.Connector": true,
    "Telligent.Evolution.Api.Plugins.FileValidators.ClamAvFileValidator, Telligent.Evolution.Platform":  true
  },
  "PluginConfiguration": {
    "Telligent.Evolution.Infra.Connector.InfraPlugin, Telligent.Evolution.Infra.Connector:host": "http://127.0.0.1:5700",
    "Telligent.Evolution.Api.Plugins.FileValidators.ClamAvFileValidator, Telligent.Evolution.Platform:host": "127.0.0.1",
    "Telligent.Evolution.Api.Plugins.FileValidators.ClamAvFileValidator, Telligent.Evolution.Platform:port": 5310
  },
  "JobSchedules": {
    "Telligent.Evolution.Api.Plugins.FileValidators.ClamAvFileValidator, Telligent.Evolution.Platform": "default",
    "Telligent.ReportingETL.ReportingETLJob, Telligent.Reporting.ETL": "2h",
  },
  "Search": {
    "SolrContentUrl": "http://localhost:8983/solr/telligent-content/",
    "SolrConversationsUrl": "http://localhost:8983/solr/telligent-conversations/",
    "MaxAttachmentTermCount": 1000000,
    "BestMatchFieldName": "content",
    "BestMatchTitleFieldName": "title",
    "EnableFieldCollapsing": true
  },
  "MailGateway": {
    "Mailboxes": [
        "server=domain.com;type=pop3;uid=mailbox1;pwd=pa$$word;apop=True",
        "server=domain.com;type=pop3;uid=mailbox2;pwd=pa$$word;apop=True"
    ],
    "SubjectPrefixesToStrip": [
      "RE:",
      "FW:",
      "FWD:"
    ],
    "QuoteRegex": [
      "(?:---\\s)?On(?:\\s\\w+,)?\\s\\d{1,4}[-/\\.]\\d{1,2}[-/\\.]\\d{1,4}(?:\\s\\d{1,2}:\\d{2}(?:\\s(?:am|pm))?)?(?:,)?\\s(?:"|")?[\\s\\w]+(?:"|")?(?:\\s(?:<|<|<<a\\shref="[\\w:\\./@]+">)[\\w:\\./@]+(?:>|>|</a>>))?\\swrote",
      "(?:-{2,})?Original\\sMessage(?:-{2,})?",
      "(?:<div[^>]*>)?\\s*(?:<hr[^>]*>)?\\s*(?:<div[^>]*>)?(?:<font[^>]*>)?(?:<p[^>]*>)?(?:<b>)?(?:<span[^>]*>)?(?:<b>)?From:(?:</b>)?\\s*(?:</span>)?\\s*(?:</b>)?"
    ]
  },
  "CentralizedFileStorage": {
    "Type": "Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Platform",
    "RootPath": "~/filestorage",
    "CaseSensitivity": "Required",
    "DeliveryType": "Telligent.Evolution.Extensibility.Storage.Providers.Version1.DeliveryProvider, Telligent.Evolution.Platform",
    "DeliveryProvider": "CloudFront",
    "DeliveryRootUrl": "https://cdn.mysite.com/",
    "DeliverProviderPath": true,
    "SourceProviderType":  null
  },
  "MimeTypes": {
    "aac": "audio/aac",
    "csv": "application/vnd.ms-excel",
    "css": "text/css; is-text",
    "less": "text/css; is-text",
    "js": "text/javascript; is-text",
    "doc": "application/msword",
    "gif": "image/gif; is-inline",
    "bmp": "image/bmp; is-inline",
    "htm": "text/html; is-text",
    "html": "text/html; is-text",
    "jpg": "image/jpeg; is-inline",
    "jpeg": "image/jpeg; is-inline",
    "heic": "image/heic; is-inline",
    "heif": "image/heic; is-inline",
    "pdf": "application/pdf; is-inline",
    "png": "image/png; is-inline",
    "ppt": "application/vnd.ms-powerpoint",
    "rtf": "application/msword",
    "txt": "text/plain; is-text",
    "xls": "application/vnd.ms-excel",
    "xml": "text/xml; is-text",
    "wmv": "video/x-ms-wmv",
    "wma": "video/x-ms-wmv",
    "mpeg": "video/mpeg",
    "mpg": "video/mpeg",
    "mpa": "video/mpeg",
    "mpe": "video/mpeg",
    "webm": "video/webm",
    "webp": "image/webp; is-inline",
    "ogv": "video/ogg",
    "mov": "video/quicktime",
    "qt": "video/quicktime",
    "avi": "video/x-msvideo",
    "asf": "video/x-ms-asf",
    "asr": "video/x-ms-asf",
    "asx": "video/x-ms-asf",
    "flv": "video/x-flv",
    "zip": "application/zip",
    "mp3": "audio/mpeg",
    "wav": "audio/wav",
    "mp4": "video/mp4",
    "ogg": "audio/ogg",
    "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
    "ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
    "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
    "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    "xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
    "otf": "font/opentype",
    "ttf": "font/truetype",
    "eot": "application/vnd.ms-fontobject",
    "svg": "image/svg+xml; is-inline",
    "woff": "application/x-font-woff",
    "ico": "image/x-icon",
    "vm": "text/x-velocity-macro; is-text",
    "jsm": "text/x-javascript-macro; is-text"
  }
}