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