Skip to main content
Skip table of contents

Configuring web.config Files

The following configuration is essential for a DPE-inside system to work properly.

A web.config file is the configuration file for a web app in the Microsoft IIS web server. 

The following areas can be configured in the web.config files:

(Shared) Temp Folders

Temp folders are used for storing temporary files and for sharing cached files (e.g. on-the-fly audio conversion, on-the-fly waveform creation). Especially for file caches used from various components running on different computers it is important that the temp folder is configured to an accessible file share.

If no temp folder is defined, DPE uses the standard temp folder provided by the operating system, e.g. %SystemRoot%\temp. If not existing, the temp folder(s) will be re-created automatically.

Both web.config files contain the optional parameter TempFolder in <appSettings>, eg.<add key = "TempFolder" value="C:\Temp" /> . Any folder can be specified as temp folder for DPE. It the temp folder is shared then both web.config files should have the same temp folder configured.


Whatever temp folder is used, a subdirectory "Dpe" will be created. Components may further create subdirectories inside:

<Temp Folder>\DPE\ may contain the following subdirectories:

Download

For Download.ashx, used for:

  • Protocol-Export with traversal-check
  • Parameter-Export
  • Workflow-Template-Export
Upload

For Upload.ashx, used for:

  • Protocol-Import with traversal-check
  • uses "Upload"
  • Workflow-Template-Import
MediaCacheFor Media.ashx with on-the-fly conversion and cleanup
WaveformCacheFor WaveformService with cleanup

Automated Cleanup of Temp Folders

The following parameters can be used to customize the automated cleanup of temp folders:

For WaveformCache folder in DpeWebApplication web.config

WaveformCache.Cleanup.LowWaterMarkGbLow water mark. Disk usage after cleanup task was executed, default value = 10 (GB)
WaveformCache.Cleanup.HighWaterMarkGbHigh water mark. If disk usage is above high water mark, delete oldest files (last access date) until disk usage is lower than low water mark, default value = 20 (GB)
CODE
<add key="WaveformCache.Cleanup.LowWaterMarkGb" value="10" />
<add key="WaveformCache.Cleanup.HighWaterMarkGb" value="20" />


For MediaCache folder in DpeWebApplication web.config

AudioConversionCache.Cleanup.LowWaterMarkGbLow water mark. Disk usage after cleanup task was executed, default value = 10 (GB)
AudioConversionCache.Cleanup.HighWaterMarkGbHigh water mark. If disk usage is above high water mark, delete oldest files (last access date) until disk usage is lower than low water mark, default value = 20 (GB)
CODE
<add key="AudioConversionCache.Cleanup.LowWaterMarkGb" value="10" /> 
<add key="AudioConversionCache.Cleanup.HighWaterMarkGb" value="20" />

Automatic Logout function

DPE application's pages have an automatic logoff time option which can be configured in the web.config file in the DpeWebapplication folder of your installation. The timeout is specified in minutes.

XML
<authentication mode="Forms">
  <forms name="MyFormsAuthCookie" timeout="2880" slidingExpiration="true" loginUrl="Logon.aspx" ticketCompatibilityMode="Framework40" />
</authentication>

Cross-Origin Resource Sharing (CORS)

It is standard procedure that web sites only can access web services of the same domain (http://[domain name]/). With CORS the DPE server can allow other client machines to use the DPE Services within another clients web applications. 

Enable/configure CORS support in web.config : 

CODE
<add key="CorsAllowOrigin" value="[domain]"/>

To allow all cross domain calls to DPE services, enter e.g.

CODE
<add key="CorsAllowOrigin" value="*"/>

Change the Default SAF Service Port

The communication between the SAF servers and the SAF Monitor section of the DPE Admin is using port 31810 as default. The port must be open in the Firewall configuration, see DPE Firewall Settings. To change the port number enter the following lines into the Web.config within the appsettings element:

CODE
<appSettings>
 <add key="SafServicePort" value="[PORT]"/> 
</appSettings>

Configure Retries and Timeouts For Notification

For clients being registrered as observer in the DPE WebServices (such as WorkflowService or JobQueueService, the retries and timeouts for notifications are defined as follows in the section appSettings (Default settings in seconds):

CODE
<add key="NotificationTimeout" value="10"/> 
<add key="NotificationRetries" value="1"/> 
<add key="NotificationThreads" value="2"/>

Index of Options in DpeWebApplication web.config

Parameter

Description

TempFolderOptional, set the temp folder for DPE. Note: workflow-based on-the-fly creation of lores audio or waveform requires the TempFolder to be set to a shared folder.
CorsAllowOriginOptional, configures CORS, e.g. http://crossdpe:8046
ServiceRootAddress

Normally auto-detected, only needed for decentralized environments, e.g. //MyDpe/DpeWebApplication

SafServiceBindToOptional, normally auto-detected, needed in environments with more than one network Adapter, e.g. 10.1.254.15
SafServiceAutomaticStartOptional, starts SafService together with AppPool, e.g. true, default: false
NotificationTimeoutOptional, default=10, default values should be sufficient.
NotificationRetriesOptional, default=1, default values should be sufficient.
ThreadPoolMinThreads

Optional (set to 100 from DpeSetup). Sets the minimum amount of threads waiting in the ThreadPool. Available since DPE 1.9.33. BrowserBridgeService long polling requires a lot of thread pool threads. Value should be not lower than the number of DPE clients.

WaveformCache.Cleanup.LowWaterMarkGb
WaveformCache.Cleanup.HighWaterMarkGb
AudioConversionCache.Cleanup.LowWaterMarkGb
AudioConversionCache.Cleanup.HighWaterMarkGb
OnTheFlyAudioConversion.EnabledAllows to switch off on-the-fly audio conversion, default: true.
OnTheFlyAudioConversion.LocalEnabledDeprecated, default: false. Enables local on-the-fly audio conversion. Please use workflow-based on-the-fly audio conversion instead (which is the default).
OnTheFlyAudioConversion.FormatOverrides the default lores format for the on-the-fly audio conversion. Default: [FILETYPE]RAW[FORMAT]MPEG-LAYER3[SAMPLERATE]48000[BITRATE]128[MODE]Stereo[RELAXED_ERROR_CHECK]1.
OnTheFlyAudioConversion.ExtensionOverrides the default allowed extension for lores audio files. Default: .mp3
OnTheFlyWaveform.EnabledAllows to switch off on-the-fly waveform creation, default: true.

ExtToType

ExtToClass

When streaming files to DPE via the UploadMedium.ashx service, DPE maps file extensions to medium types and entry classes. This is used for example when dropping a file onto Content Manager entry list.

Default mappings can be configured and adapted in web.config.

Example for adding OGG to medium type Audio and to entry class Audio:

CODE
<add key="ExtToType" value="Audio=wav,mp2,mp3,flac,bwf,mus,aac,m4a,ogg"/>
<add key="ExtToClass" value="Audio=wav,mp2,mp3,flac,bwf,mus,aac,m4a,ogg"/>

Only the media type or classes specified will be changed from the default, e.g. in the above example mapping for Video would not be changed.


The complete syntax is:

CODE
MediumTypeSpecifier1|MediumTypeSpecifier2|...

Where MediumTypeSpecifier is

CODE
MediumType=Ext1,Ext2,Ext3,...

Where Ext can be specified with or without leading dot. It is also possible to specify no extension at all.

It also possible to disable a mapping by specifying no extension at all, e.g.

CODE
<add key="ExtToType" value="Audio=wav,mp2,mp3,flac,bwf,mus,aac,m4a,ogg|Video=|Text="/>


Current default media type mappings are

  • Audio=wav,mp2,mp3,flac,bwf,mus,aac,m4a
  • Video=mxf,mp4,mov
  • Graphic=jpg,png,gif,bmp,tga
  • Text=txt
  • Text.InfoText=rtf
  • Zip-Archive.Zip-File=zip
  • Data.SpeechToText=s2t
  • Data.Waveform=waveform

Current default entry class mappings are

  • Audio=wav,mp2,mp3,flac,bwf,mus,aac,m4a
  • Video=mxf,mp4,mov
  • Graphic=jpg,png,gif,bmp,tga
  • Text=txt,rtf
  • Zip-Archiv=zip
Scaling

Only needed when the machine you are running the DPE Server has a windows scaling factor not equal to 100%.

Inside from IIS we cannot reliable detect the windows scaling factor needed for correct conversion of line heights in RTF documents. If you have for example a windows scaling of 125% on your backend server set this value to 125.

SkipReverseDnsThe DPE Server tries to detect the client machine name by using reverse DNS. This does not work outside of your companies domain. Set this value to 1 when your DPE Server is running in the cloud to skip reverse DNS and to avoid getting incorrect machine names.
DpeDefaultComputerName

Starting with DPE Server 2.5.138 this key replaces the Global|Default|Common|DpeDefaultComputerName parameter:

On DPE login, if the computer name could not be retrieved automatically by the web application (e.g. computer outside of a domain), the DpeDefaultComputerName value is applied by default and saved in a cookie for later usage. This way the user is not asked for entering the computer name. If the parameter is missing, and the computer name is not retrieved then the web application will ask explicitly for the computer name on the login page.

SendRestartNotification

On startup the DPE Server tries to send restart notifications to registered observers, e.g. DPE Processors. Restart notifications reduce the time needed until the SAF modules re-register as observers.

The following modes are available (and can be combined in a comma-separated list, e.g. "$,name1,name2")

  • "*": send notifications to all registered SAF modules independent to which DPE Server name they are connected
  • "$" (default): send notifications to all registered SAF modules that are connected to the DPE Server name matching Environment.MachineName
  • "!": do not send any notifications
  • "name1,name2": send notifications to all registered SAF modules where DPE Server name matches one name in the list

This setting is useful in DPE Server fail-over scenarios where the public DPE Server name is different from the real machine name, e.g.


Experimental or Advanced Debugging Options
HttpResponseHeader.AddRealMachineName

Optional, Adds a HTTP response header containing MachineName to all DPE responses (DPE >= 1.7.104, set to "1"). Can be used to analyse DNS resolution.

LoggerClient.AddRealMachineName

Optional, Adds a prefix containing MachineName to all log messages written by LoggerClient (DPE >= 1.7.104, set to "1"). Can be used to analyse DNS resolution.

HttpReqFileLog

Optional, activates and sets the path to low-level log files tracking on HTTP request level, e.g. "C:\Temp\DpeLogs\MyLogs.log". A new file will be created per hour named like the filename body postfixed by a date and hour text e.g. MyLogs_2201012_03.log

Note: this may slow down execution performance so make sure you switch it off after testing.

Note: this may create large files with thousands of log lines in short time.

HttpReqFileLogIncludingRegexOptional, a regular expression filter that specifies the lines of text that are included in the log, e.g. "ContentService" or "EasyQueryChangeNumber"
HttpReqFileLogExcludingRegexOptional, a regular expression filter that specifies the lines of text that are excluded from the log, e.g. "LoggingService"
HttpReqFileLogOptions

Optional, default: "BUDr"

  • F = Include full URL including protocol, host and port
  • B = Include request body
  • U = Resolve and include user authentication
  • D = Resolve IP addresses to names via DNS
  • R = Include response body
  • r = Include first 200 bytes of response body
  • H = Include request headers
  • P = Log Application_PreRequest+PostRequest calls in Global.asax

Experimental Faceted Search Options
LogFacets

Configures faceted search on Log page. Default: "Created,Level,Category,ComputerName,UserName,Component"

RegistryFacetsConfigures faceted search on Parameter files page. Default: "Type,Modified,Created"
WorkflowFacetsConfigures faceted search on Workflow Monitor page. Default: "Created,State,WorkflowType,Creator,CreatingComponent"
SafMonitorFacetsConfigures faceted search on Workflow Monitor page. Default: "Connection,State,Computer,Server,Type,Version"
ContentFacets

Configures faceted search on Content Manager page. Default: "Modified,State,Class,Ready,Perfect,Invalid"

Comma-separated list of facets. Each facet is specified in the following format:

TEXT
<FacetFunctionName>
  [|Name=<MetadataFieldName>]
  [|Order=<OrderChar>]
  [|SingleSelection=true/false]
  [|Label=<L1>.<L2>]

Additional parameter keys can be abbreviated, e.g. N instead of Name.

OrderChar is one of...

TEXT
A for label alphabetical ascending
Z for label alphabetical descending
0 for label numerical ascending
9 for label numerical descending
X for count max descending


FacetFunctionName can be a dedicated facet function like Created or a generic one like General  or GeneralDateTime that requires additional parameters.

Example using existing hard-coded facets:

TEXT
Created,CreatedYears,Modified,State,Class,Ready,Perfect,Invalid,Editor

Example that specifies a facet by using the General-facet together with some configuration:

TEXT
General|N=Author,General|N=Language,General|Name=Program,General|N=LowResExists

Example which maps facet values to a display text, e.g. the value 2 is displayed as "Group":

CODE
General|N=Story|D=Group/Story|L=0.Entry.2.Group.3.Story

Example with GeneralDateTime-facet:

CODE
Modified,State,Class,GeneralDateTime|N=BroadcastDate|D=Broadcasted,GeneralDateTime|N=AvailDate|D=Avail,GeneralDateTime|N=LastSendDate|D=LastSend
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.