General Configuration

Overview

Apart for the older enabling of Windows Authentication (which we want to move away from), all settings for PRIS are put into appSettings.config.

This can be found under the config subfolder of the PRIS installation, for example:

C:\inetpub\wwwroot\PRIS\config	

appSettings.config is NEVER overwritten on upgrade (web.config is), so we do not need to back it up.

If there are new settings added to appSettings.config, then an upgrade will NOT add these, but any new setting will always have a default it will take on if the element is not present in appSettings.

Only if we need to adjust away from the default, will we need to (manually) add the newer setting.

appSettings.config vs web.config

appSettings.config is NEVER overwritten on upgrade (web.config is), so do not need to back it up.

web.config IS overwritten, but now all settings (apart if using windows auth) are ont in here.

If using windows authentication, we will need to re enter them into web,.config. NEVER backup web.config and then overwrite the newly installed file with an older one, as there may be many other new items in there that PRIS needs to run.

In general, we want all settings in appSettings.config.

Editing appSettings / PRIS restart

After editing appSettings.config, we need to get IIS to restart the PRIS process.

The best way to do this is to perform a "null edit" (i.e. add a space and then remove it) on web.config, and then save. IIS will always restart if web,config is edited (but unfortunately not when we edit appSettings)

You could also do an iisreset, but this is a lot heavier, and could interrupt other applications running under IIS. Editing web.config is a lot better, as we install PRIS to run under its own IIS process (i.e. its own application pool), so we can individually just restart this.

Configuration items summary

Setting Default Value Description Across domains Matching Configuration location for target service
BmsIpAddress localhost ip for BMS connection yes N/A
BmsWebServicesPort 825 tcp port to BMS yes ServerCommunicationsConfigurationRemoting_BusinessModelServer.xml
DomeIpAddress localhost ip for Dome Connector connection yes N/A
DomeWebServicesPort 826 tcp port to Dome Connector

Note this needs to be manually set - is not currently set be default
yes

Manage connectors | Production

ShiftPlannerPort 890 (not used - was for SP 2 - probably soon to be removed) N/A N/A
ShiftPlannerIpAddress localhost (not used - was for SP 2 - probably soon to be removed) N/A N/A
IISDomeIpAddress localhost ip for Dome Web client yes N/A
IISDomePath dome Virtual directory to Dome (ie what is put into browser URL) yes N/A
IISDomeUseHttps false Set to true to use https (TLS) when connecting to Dome web

See Security Configuration & Troubleshooting for more info
yes Dome web.config 
IISDomeSecurityServiceMessageEncryption true Windows domain based encryption if not using https (https the better solution)

See Security Configuration & Troubleshooting for more info
No  
IISDomeClientCertificateSubjectName "" Only if using client side certificates / MFA see doco see doco
BmsWebServicesIntegratedAuthentication true Enable windows authentication between PRIS and BMS

See Security Configuration & Troubleshooting
No BmsWebServicesConfiguration.xml
DomeWebServicesIntegratedAuthentication true

Enable windows authentication between PRIS and Dome connector

See Security Configuration & Troubleshooting

No (Currently hard wired on)
MaxAllowedBatchEvents 2000 Max events allowed in batched events N/A N/A
EnableHttpDebugTracing false Used for extra debugging N/A N/A
SecurityType none Set PRIS security type

See Security Configuration & Troubleshooting
none: yes

token: yes

windows: no
N/A
AudienceId PRIS OAuth2 setting if using token authentication. Usually leave as default yes N/A
AudienceSecret "" See instructions in the config. Must be set if using token authentication.

Must be unique per site and be kept "secret"

See Security Configuration & Troubleshooting
yes N/A
AccessTokenExpiryMins 1440 Security token expiry (see OAuth2 doco) for more info

Normally leave as default
yes N/A
RefreshTokenExpiryDays 256 Refresh token expiry (see OAuth2 doco)

Normally leave as default
yes N/A
AllowedSwaggerTryItOutVerbs GET Space delimited http verbs to allow in the Swagger "Try it out! yes N/A
Serilog:using:File1 Serilog.Sinks.File Sets Serilog to log to a file N/A N/A
Serilog:write-to:File.rollingInterval1 Day Sets the rolling interval for Serilog file logging to a day (new log file everyday) N/A N/A
Serilog:write-to:File.path1 -> %PROGRAMDATA%\Micromine\PRIS\Logs\PRISLogs.log The location of where Serilog log file is stored N/A N/A
Serilog:write-to:File.outputTemplate1 -> {Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] Message:{Message:lj}{NewLine} The template format of the Serilog log N/A N/A
Serilog:minimum-level1 Information What logs to include. Verbose, Debug, Information, Warning, Error and Fatal are viable. Debug and below includes request and response post body content N/A N/A

1 If PRIS detects any key with "serilog" then it will use appSettings to setup it's Serilog configuration (no default values will be used at all). PRIS will only use default Serilog settings if there are no "serilog" keys detected in appSettings. Make sure to include all appropriate Serilog settings in appSettings if using appSettings to setup Serilog configuration.

Authentication/Security Settings

The following tables describe the new authentication/security settings in appSettings.xml:

 BmsWebServicesIntegratedAuthentication
Description: Turn on/off integrated authentication to BMS (only when hosting machines on the same domain).
Possible Values: true | false
Default Value: true
Example:

<add key="BmsWebServicesIntegratedAuthentication" value="true" />

 

DomeWebServicesIntegratedAuthentication
Description: Turn on/off integrated authentication to Dome Connector  (only when hosting machines on the same domain).
Possible Values: true | false
Default Value: true
Example:

<add key="DomeWebServicesIntegratedAuthentication" value="true" />

 

IISDomeUseHttps
Description: http scheme to use when communicating with Dome Web Client.
Possible Values: true | false
Default Value: false
Example:

<add key="IISDomeUseHttps" value="true" />

 

IISDomeSecurityServiceMessageEncryption
Description: If we are using the http scheme, we can turn on message encryption for the token endpoint, so we still have secure username/password data. This will only work if PRIS and the Dome web client are on the Windows domain. Note that this is not used if we are using https (as this will then do the encryption).
  Note that if IISDomeUseHttps is set, this setting is ignored (since we already have message encryption when we are using https).
Possible Values: true | false
Default Value: true
Example:

<add key="IISDomeSecurityServiceMessageEncryption" value="true" />