Skip to content

Configuration Files#

This section describes the configuration files of the:

  • GUI web.config
  • Host Service Cmf.Foundation.Services.HostService.exe.config

GUI Configuration#

The GUI can be configured using the service web.config file.

Application Settings#

The Application Settings (appSettings section in the configuration file) contains all the configurations used directly by the Critical Manufacturing GUI. The configurations are in the form of the key-value.

The following table describes the Application Settings keys.

Key Data Type Description
DefaultAuthenticationMode String Optional. Defines the default authentication mode in case that the last used authentication mode is not stored in the application storage and TokenBasedIdentificationMode is other than the default (None). Possible values are:
- Standard (default): use username and password authentication by default
- Token: use KeyboardWedge authentication by default
DisplayUnhandledExceptions Boolean Whether unhandled exceptions are displayed in the GUI or not. If set to false, unhandled exceptions are displayed in the GUI message log only.
EnableDomainLogin Boolean If true, login into the application is automatic using the current user credentials. If false, logging into the application requires always username and password.
EnableIsolatedStorageCachePersistence Boolean If set to true, the GUI will use the isolated storage to store cached data therefore speeding up the start of the application.
EnableIsolatedStorageQuotaIncreaseRequest Boolean When set to true, the application will ask the user to increase the application isolated storage. After the user has increased the isolated storage the system the message to increase the storage will no longer appear.
EnableLeavePageConfirmation Boolean If set to false, no warning will be displayed when closing the browser or tab, or when navigating to a page outside the Critical Manufacturing GUI.
This configuration value defaults to true if not set.
EnableLogging Boolean Enable or disable logging. When logging is enabled, some debug information is logged in the computer where the client is running.
EnableTouchKeyboard Boolean Enable or disables the virtual touch keyboard. It requires that the application is code-signed and it requires that the GUI is deployed in full elevated trust.
Host String Domain URL of service endpoint address, in form of host_address:port
KeyboardWedgeIdSequenceLength Integer Optional, defaults to zero. It must be defined if TokenBasedIdentificationMode is other than the default (None). If defined, it must be greater than zero. It defines the number of characters of the Id to be read from the token.
KeyboardWedgeMaximumDelay Integer Optional. It must be defined if TokenBasedIdentificationMode includes KeyboardWedge. If defined, it must be greater than zero. Defines the maximum delay between key stokes in milliseconds.
KeyboardWedgePINLength Integer Optional. It must be defined if TokenBasedIdentificationMode is other than the default (None). If defined, it must be greater than zero. It defines the number of characters of the PIN.
KeyboardWedgeSeparator String Optional, defaults to “”. It must be defined if TokenBasedIdentificationMode is other than the default (None). It defines the keyboard wedge separator sequence to be used to separate the Id from the PIN.
KeyboardWedgeTerminationSequence String Optional, defaults to “”. It must be defined if TokenBasedIdentificationMode is other than the default (None). It defines the termination sequence to be received from the keyboard wedge. It can contain special characters like the new line.
MessageBusAddress String Message Bus Gateway Address.
MessageBusPort Integer Message Bus Gateway Port.
TokenBasedIdentificationMode String Optional, possible values are:
- None (default): only username and password authentication is possible.
- KeyboardWedge: it's possible to use both username and password and keyboard wedge authentication.
- Camera: it's possible to use both username and password and BarCode/QRCode scan.
- KeyboardWedgeAndCamera: supports all the previous options.
The default authentication will be defined in the parameter DefaultAuthenticationMode.

Table: Application Settings

Host Service Configuration#

The host service can be configured using the service Cmf.Foundation.Services.HostService.exe.config file.

Note

In order for the changes to became effective, the service must be restarted after any configuration changes.

Logging Configuration#

In the Logging Configuration section, the message listeners and formatters can be changed to increase the verbosity of the log files or change the output format.

Refer to Configuring Tracing ⧉ for more information.

System Service Model#

Diagnostics#

In the Diagnostics section, the log messages can be configured in more detail. Refer to Host Log for more information.

Bindings#

In the Bindings, the maximum size of the message between the host service and its clients can be defined.

Behaviors#

The Behaviors section defines the service behavior depending on the service's scope.

Client#

This section defines the Report Service address.

CmfPolicyHandlers#

This section defines order of the handlers to be used by the service pipeline.

AttachmentManagement#

Key Data Type Description
ArchiveFileShare String Network location of the Archive file share. This folder stores files that are no longer in use. It frees up space in the permanent folder, but keeps older files accessible if needed.
PermanentFileShare String Network location of the Permanent file share. This folder stores files for long-term access once the upload has finished and the files have been moved from the temporary folder.
TemporaryFileShare String Network location of the Temporary file share. This folder stores files whilst they are being uploaded.
DownloadHandler String URI for the Download handler of Attachments

Table: AttachmentManagement settings

CallSchedulingEngine#

Key Data Type Description
Endpoint String Address for the CallSchedulingEngine
ApiVersion String CallSchedulingEngine API version to use

Table: CallSchedulingEngine settings

DocumentManagement#

Key Data Type Description
ArchiveFileShare String Network location of the Archive file share
PermanentFileShare String Network location of the Archive file share
TemporaryFileShare String Network location of the Archive file share
DownloadHandler String URI for the Download handler of Documents

Table: DocumentManagement settings

PrintableDocumentsService#

Key Data Type Description
Endpoint String Address for the Printing Service

Table: PrintingService settings

ReportingService#

Key Data Type Description
Endpoint String Address for the Reporting Service
ApiVersion String ReportingService API version to use
UseBasicAuthentication Boolean Whether basic authentication should be used

Table: ReportingService settings

SapConnector#

The ErpManagement section contains all the configurations used directly by the Critical Manufacturing Erp integration. The configurations are in the form of the key-value.

The following table describes the ERP Integration configuration keys.

Key Description Example
ERPIsUnicode Whether the communication with SAP should use unicode character encoding. True
EnableRfcTrace Whether the system should create log files about the information exchange with SAP. False
RfcTraceDirectory Where to place the trace files. Note that the directory must exist and the user running the host must have write permissions. c:\rfctrace

Table: SapConnector settings

SettingsManagement#

Key Data Type Description
TransportConfigDirectory String Location of the TransportConfig folder in the host machine
LoadBalancingDirectory String Location of the LoadBalancing folder in the host machine

Table: SettingsManagement settings

Other#

Key Data Type Description
EIInstanceID String Equipment integration instance id
ServerName String Server name
GACUTIL String GacUtil path
SubAddress String Sub-address to be used in the base address
MessageBusAddress String CMF Message Bus Address
MessageBusPort Integer CMF Message Bus Port
ExportMsmqServer String Remote ImportExport Msmq Server Name
ExportQueueTimeout Integer Remote ImportExport Msmq Queue Timeout (msecs)
ExportOutboxQueue String Remote ImportExport Outbox Msmq Queue Name
ExportInboxQueue String Remote ImportExport Inbox Msmq Queue Name
ExportAckQueue String Remote ImportExport Acknowledge Msmq Queue Name
ExportAbortQueue String Remote ImportExport Abort Msmq Queue Name
MicrosoftNetPath String The path where the .NET Core is installed. This is needed for runtime compilation.
The path can be empty in which case it will try to find the location where the runtime was installed and use it.
AssemblyCopy Boolean Copy generated assemblies to local GAC
AssemblyDeploy Boolean Parse generated assemblies message
MainHandler String The type of the Main handler set in policy injection section
ApplicationInfoType String String The full name of the application assembly to get version info
LDAPPATH String The Address of the LDAP Server
UserNameLDAPPropertyNames String The LDAP properties to use for assigning to the User
IsCmfTimerEnabled Boolean Enable timer handling
TransactionTimeout String Transaction timeouts value format hh:mm:ss
DatabaseConnectionTimeout String String Database connection timeouts value format hh:mm:ss
ComunicationProtocolConfiguration String String Communication protocols to load
CertificateThumbprint String X.509 certificate thumbprint
CertificateStoreLocation String Specifies the location of the X.509 certificate store
CertificateStoreName String Specifies the name of the X.509 certificate store to open
UseSimpleBinding Boolean Specifies if the basic http binding should be used
ForceKeyboardWedgePINValidation Boolean As an additional security protection, it defines whether the host will enforce that a PIN exists in the database and that it matches PIN supplied by the client when using the KeyboardWedge authentication mode. Possible values are:
- True (default): when using KeyboardWedge authentication, force that a PIN is received by the client and that it matches an existing PIN in the database which cannot be null or empty
- False: when using KeyboardWedge authentication, if there is a PIN received by the client, test for a match against the PIN stored in the database
LogClientMessages Boolean Specifies whether to log WCF requests and replies
LogClientMessagesFolder String Defines the folder where to log the WCF requests and replies
HTML5GatewayPort Integer A port used by the HTML5 Gateway
IsWebApiEnable Boolean Enables or disables the Web API
PrintInExternalService Boolean Specifies whether to use the Printing Service or print directly from the host

Table: Other settings