Development - Manitou 2.1 Web Server Software web.config Settings Explained

Starting with Manitou 2.1 update 6 we are writing several of the config file values to the registry during the first steps of the installer. This allows us to easily retrieve the values for future upgrades.
The values are stored in: \\HKLM\SOFTWARE\WOW6432Node\Bold Technologies\NEO

API\web.config

ConnectionStrings

EDIGIN: The Edigin connection string is only used if you have SecurVoice.     <add name="Edigin" providerName="MySql.Data.MySqlClient" connectionString="server=[SECURVOICE_SERVERNAME]" />
LOGGER: The Logger connection string is used for BoldNet logging.     <add connectionString="Data Source=[SQL_SERVER_NAME];Initial Catalog=ManitouClientLogs;User Id=[SQL_ADMIN_LOGIN];Password=[SQL_ADMIN_PASSWORD]" name="Logger" />
ASPNETDB: The ASPNETDB connection string is used for validating the BoldNet users.     <add connectionString="Data Source=[SQL_SERVER_NAME];Initial Catalog=ASPNETDB;User Id=[SQL_ADMIN_LOGIN];Password=[SQL_ADMIN_PASSWORD]" name="AspNetDB" />
WEBPREFSDB: The WEBPREFSDB connection string is used for BoldNet web preference storage.     <add connectionString="Data Source=[SQL_SERVER_NAME];Initial Catalog=WEBPREFSDB;User Id=[SQL_ADMIN_LOGIN];Password=[SQL_ADMIN_PASSWORD]" name="WebPrefsDB" />

AppSettings

WEBGATEWAY: The WebGateway setting specifies the server name where the WebGateway Service is running.
     <add key="WebGateway" value="[WEBGATEWAY_SERVERNAME]" />
SENTRY: The Sentry setting specifies the server name where the Sentry Service is running.
     <add key="Sentry" value="[SENTRY_SERVERNAME]" />
REPORT TEMPLATES: The ReportTemplates setting specifies the path to the Reports folder on your IIS server.
     <add key="ReportTemplates" value="C:\Inetpub\Wwwroot\Manitou\api\Reports" />
UPLOADS FOLDER: The UploadsFolder setting specifies the path to your Uploads Folder on your IIS server. This folder will be used for uploading profile photos and for downloading reports through the web interface.
     <add key="UploadsFolder" value="C:\Inetpub\Wwwroot\Manitou\UploadsFolder" />
NOTIFYME CONFIG: The NotifyMeConfig setting specifies whether NotifyMe is setup or not on this system. The value is a binary 0 or 1 option.
     <add key="NotifyMeConfig" value="1" />
NEO INSTALLATION TYPE: The NeoInstallationType setting specifies the web interface installation type. This can be MDK, Manitou, or BoldNet. In a demo system this can be multiple comma separated values.
     <add key="NeoInstallationType" value="[WEB_INSTALL_TYPE]" />
DEFAULT USER: The DefaultUser setting is used to query the AppServer for user permissions in cases where we don't have the context of a logged in user. Used in the DragonFly integration (not used anymore), branding and resetting a BoldNet user's password.
     <add key="DefaultUser" value="" />
DEFAULT USER PASSWORD: The DefaultUserPassword setting is used to query the AppServer for user permissions in cases where we don't have the context of a logged in user..
     <add key="DefaultUserPassword" value="" />
DEBUG: The Debug setting is used to bypass the Local Utility Service check on demo and development systems. The values are True|False. This should never be enabled at a customer site.
     <add key="Debug" value="true" />
LOG NOTIFICATIONS: The LogNotifications setting designates whether additional logging information is displayed in the browser console. The values are True|False.
     <add key="LogNotifications" value="true" />
LOG CONNECTION COUNTS: The LogConnectionCounts setting designates whether Connection Counts are displayed in the browser console. The values are True|False.
     <add key="LogConnectionCounts" value="true" />
ERROR DETAILS: The ErrorDetails setting designates whether additional login failure information is displayed to the end user. With this set to “False” the user would receive “An Error Has Occurred” instead of “Incorrect Username or Password”. The values are True|False.
     <add key="ErrorDetails" value="true" />

LOG Settings

These log to the API log (ManitouLog-AppNeoAPI-[DATE].log) in Windows\Temp.

<add key="LogServerCallInMs" value="0"/>
if > 0 will time and log to the API log all server calls that take more than that many ms. Set to 1 and it will record all regardless of time.

<add key="LogControllerCallInMs" value="0"/>
if > 0 will time and log to the API log all controller calls that take more than that many ms. Set to 1 and it will record all regardless of time.

<add key="LogMakeCallLockInMs" value="0"/>
if > 0 will time and log to the API log all server calls where it took more than that many ms to get the lock to send the server call. Set to 1 and it will record all regardless of time.

<add key="LogTotalConnections" value="false"/>
if true will log to the API log the number of concurrent API calls waiting on an AppServer/WebGateway connection per OAuth token. Set to false and it will not log.


<add key="LogCreatingConnections" value="false"/>
if true will log to the API log when we try to create a connection for an OAuth token. Set to false and it will not log.

<add key="LogDisconnectingConnections" value="false"/>
if true will log to the API log when we disconnect from the AppServer/WebGateway. Set to false and it will not log.


Manitou\web.config

AppSettings

WEBPAGES:ENABLED: The webpages:Enabled setting prevents .cshtml and .vbhtml files from being accessed directly.
<add key="webpages:Enabled" value="false" /> Do not modify this setting.
WEBPAGES:VERSION: The webpages:Version setting is used to determine which version of the ASP.NET Razor engine to use.
<add key="webpages:Version" value="3.0.0.0" /> Do not modify this setting.
CLIENT VALIDATION ENABLED: The ClientValidationEnabled setting provides us the ability to leverage HTML 5 Data Attributes.
<add key="ClientValidationEnabled" value="true" /> Do not modify this setting.
UNOBTRUSIVE JAVASCRIPT ENABLED: The UnobtrusiveJavaScriptEnabled setting determines whether client side validation is being performed using Microsoft javascript libraries or JQuery Validate.
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> Do not modify this setting.
TOKEN URL: The TokenUrl setting specifies the path to our OAUTH token service. The domain section of this URL must match the domain section of the SSL certificate and the domain section of the URL specified in the browser address bar.
<add key="TokenUrl" value="https://[IIS_SERVER_NAME]/oauth/token" />
MANITOU API URL: The ManitouApiUrl setting specifies the path to our Manitou API. The domain section of this URL must match the domain section of the SSL certificate and the domain section of the URL specified in the browser address bar.
<add key="ManitouApiUrl" value="https://[IIS_SERVER_NAME]/api" />
LOG LISTENERS: The LogListeners specifies
<add key="LogListeners" value="ConsoleLogListener,ApiLogListener" />
LOG LEVEL: The LogLevel setting specifies
<add key="LogLevel" value="" />
LOG CATEGORIES FILTER: The LogCategories Filter setting specifies
<add key="LogCategoriesFilter" value="" />
LANGUAGE: The Language setting specifies
<add key="language" value="USENG" />
TIMEOUT: The Timeout setting specifies the amount of inactive time to allow before prompting the browser session to be logged out.
<add key="Timeout" value="15" />
NEO INSTALLATION TYPE: The NeoInstallationType setting specifies the web interface installation type. This can be MDK, Manitou, or BoldNet. In a demo system this can be multiple comma separated values.
<add key="NeoInstallationType" value="[WEB_INSTALL_TYPE]" />
UTILITY SERVICE PORT: The UtilityServicePort setting specifies which port the Bold Local utility Service will be communicating on. The default is 7020.
<add key="UtilityServicePort" value="7020" />
VIDEO SERVICE PORT: The VideoServicePort setting specifies which port the Bold Video Control Center will be communicating on. The default is 7022.
<add key="VideoServicePorts" value="7022" />
CALL WATCHER SERVICE PORT: The CallWatcherService Port setting specifies which port the Bold Call Watcher Service will be communicating on. The default is 7023.
<add key="CallWatcherServicePort" value="7023" />
DEBUG: The Debug setting is used to bypass the Local Utility Service check on demo and development systems. The values are True|False. This should never be enabled at a customer site.
<add key="Debug" value="false" />
ALLOW AD LOGIN: The AllowADLogin setting specifies whether we provide a radio button option on the login form of the Manitou Web Client for Active Directory logins.
<add key="AllowADLogin" value="false" />
DISABLED DIALOG ANIMATION: The DisableDialogAnimation setting specifies whether we show fade-in/fade-out animations on dialogs that we present. Disabling the animation can provide a small performance improvement on under powered client systems.
<add key="DisableDialogAnimation" value="true" />

Leave CustomAddContactLink blank everywhere except MACY'S

CUSTOM ADD CONTACT LINK : The CustomAddContactLink is a custom code for MACY'S setting which displays a new button labelled "Import Contacts" in the Contact card . The values is a URL string.
<add key="CustomAddContactLink" value="" />


USER GROUP SETTINGS : The UserGroupSettings setting tweaks several things within MWC and BoldNetNeo. Records are separated by a pipe, fields in the record are separated by a comma.
<add key="UserGroupSettings" value="" /


Records are separated by a pipe, fields in the record are separated by a comma.
Record format: UserGroupNumber,LandingPage,CanEditAlarmQueueHeaders,ShowWorkstationInActivityLog,LaunchVideoOncePerAlarm,ActivityLogView
LandingPage default is Dashboard, CanEditAlarmQueueHeaders default is true (0=false,1=true)
Example: <add key="UserGroupSettings" value="1,alarm/alarm-queue,0,1,1,1|2,,1,,,," />
Example explanation in the table below

1 This rule applies to users in User Group 1.
alarm/alarm-queue The user will be presented with the Alarm Queue when they login instead of the Dashboard.
0 The user will NOT be able to edit the Alarm Queue headers.
1 The Workstation ID WILL be displayed in the Activity Log
1 VCC will launch once per alarm
1 The Activity Log
 
2 This rule applies to User Group 2.
The user will be presented with the default Dashboard when they login.
1 The user WILL be able to edit the Alarm Queue headers.
  The Workstation ID will NOT be displayed in the Activity Log

User Groups not defined here will go to the dashboard and can edit the alarm queue headers.

OAUTH\web.config

ConnectionStrings

ASPNET MEMBERSHIP: The ASPNETDB connection string is used for validating the BoldNet users. <add connectionString="Data Source=[SQL_SERVER_NAME];Initial Catalog=ASPNETDB;User Id=[SQL_ADMIN_LOGIN];Password=[SQL_ADMIN_PASSWORD]" name="AspNetMembership" />

AppSettings

WEBGATEWAY: The WebGateway setting specifies the server name where the WebGateway Service is running.
<add key="WebGateway" value="[WEBGATEWAY_SERVERNAME]" />
SENTRY: The Sentry setting specifies the server name where the Sentry Service is running.
<add key="Sentry" value="[SENTRY_SERVERNAME]" />
DEBUG: The Debug setting is used to bypass the Local Utility Service check on demo and development systems. The values are True|False. This should never be enabled at a customer site.
<add key="Debug" value="false" />

Setup of the log-service.


There are three settings in the client’s web.config:

  • LogLevel – this matches the log level in the logger.
    • 0 = No logging.
    • 1 = Errors
    • 2 = Errors and warnings
    • 3 = Errors, warnings and informational messages
    • 4 = Errors, warnings, informational messages and debug messages
    • 5 = Errors, warnings, informational messages, debug messages and verbose debug messages (debug2)
  • LogCategoriesFilter – this is a way to filter categories of log messages. Below are the current categories. We can add more when we want to – they are in log-service.ts in the LogCategory class. Leaving LogCategoriesFilter empty will be the same as logging all categories. Once you start putting categories (comma delimited) it will start restricting the logs to those categories.
    • Exceptions = Log exceptions that are thrown.
    • Debugging = General debug category.
    • LocalUtilityService = The local utility service code in the client uses this category.
    • Translations = Translations use this category.
    • ApiSignalR = SignalR to the Neo API uses this category.
  • LogListeners – this is a list of loggers that know how to display/handle the logs. Currently there is only one.
    • ConsoleLogListener = This logs the information to the browser’s console.


These three settings work together. LogListeners tells us where to log the information, LogCategoriesFilter says which categories to log to the LogListeners and if the information isn’t of the right LogLevel then it doesn’t get logged either.


For most developers you would probably want LogLevel = 5, LogCategoriesFilter = “Exceptions,Debugging”, LogListeners = “ConsoleLogListener”. This will log messages of debug2 level but only exceptions and debugging messages to the browser’s console (all those Local Utility Service and API SignalR messages will be filtered out).


For customers I would say we want LogLevel = 0, LogCategoriesFilter = “”, LogListeners = “ConsoleLogListener”. This will log nothing to the console (unless one of our 3rd party tools logs to the console on its own).


If we want to debug on a customer’s site we can setup a duplicate client endpoint, turn the debugging on for that endpoint, then test so that we can see what’s going on.

Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted for approval.