Once the installation is complete, edit the configuration file for RuleManager.
RuleManager uses the .NET Application Configuration mechanism to read load-time configurable settings. Configuration parameters for RuleManager are specified in the FChoice.RuleManager.WindowsService.exe.config found in the RuleManager install directory (typically C:\Program Files\Dovetail Software\RuleManager).
There are several sections of the configuration file, described in this section:
- appSettings - Used to configure the Dovetail SDK parameters, including the database connection
- fchoice - RuleManager specific configuration settings
- log4net - Used to configure the log settings
- configSections - Do not change anything in this section
- spring - Do not change anything in this section
Dovetail SDK specific configuration settings; For additional details on Dovetail SDK configuration options, refer to the Dovetail SDK documentation.
|fchoice.dbtype||No||"MSSQL"||Specifies the type of provider ClarifyApplication should to connect to the DB. Standard values are "MSSQL", "ORACLE", or "SYBASE". Other providers can be added, see the section on "Custom Database Providers."|
|fchoice.connectionstring||Yes||N/A||An ADO.NET connection string to use with the specified DB type (or default if none is specified). The default provider is MSSQL and the connection string must be useable by the System.Data.SqlClient.SqlConnection class. Consult the SqlConnection.ConnectionString property documentation for specifics about what parameters are allowed in the connnection string. Please consult the documentation for other ADO.NET providers if you plan on using a different data provider type (like Oracle or Sybase).
Maximum Connection Pool Size (Max Pool Size): It is recommended to override the default maximum database connection pool size. This setting is defined as part of the connection string. By default, the maximum pool size is 100. RuleManager does not typically need this many connections. The recommended number of for the maximum connection pool size is 20.
|fchoice.disableloginfromfcapp||Yes||"false"||Allows the RuleManager to use a single login for both the FCApplication and FCSession logins.|
RuleManager specific configuration settings:
|No||true||When an email cannot be sent and the maximum number of retries has been exceeded, the application by default will stop. If this setting is false the application event will be rescheduled to the far future and the application will continue running.|
|Yesemail@example.com||The email address that RuleManager should use in the FROM: field when sending out emails.|
|No||Company Support||The display name for the default From email address. For example, the default settings would be seen as Company Support firstname.lastname@example.org.|
|Yes||false||When RuleManager sends emails, it can honor the "FR:" token in the com_tmplte, or not. If this setting is set to true, then all emails will be sent from one address (EmailServiceConfig.DefaultFromEmailAddress). If set to false, and the com_tmplte has a "FR:" token, then the "FR:" token will be used.
For example, when sending an email out, the send_email_about_obj com_tmplte is used. The baseline com_tmplte has "FR: " in it. If UseDefaultFromEmailAddressForAllMessages is set to true, then the email will come from the EmailServiceConfig.DefaultFromEmailAddress. If UseDefaultFromEmailAddressForAllMessages is set to false, the the email will come from the actual sender of the email.
|Yes||true||Should test message be sent during application startup to validate SMTP configuration?|
|EmailServiceConfig.TestEmailAddress||Yesemail@example.com||Email address which will receive the startup test email message.|
|EmailServiceConfig.Host||No||emailServer||IP or hostname of the SMTP server. If left blank, localhost will be used.|
|EmailServiceConfig.Port||No||25||The TCP/IP port to use when connecting to the SMTP server.|
|EmailServiceConfig.EnableSsl||No||false||Specify whether the SmtpClient uses Secure Sockets Layer (SSL) to encrypt the connection.|
|EmailServiceConfig.SmtpSslMode||No||UseStartTlsIfSupported||Specify which mode the SmtpClient uses for the Secure Sockets Layer (SSL) connection. Supported Modes are UseStartTlsIfSupported, UseStartTls, OnConnect, and Manual. For more information, refer to the Dovetail knowledgebase article on Rulemanager and TLS / SSL|
|EmailServiceConfig.UserName||No||The username to use when connecting to the SMTP server. Some SMTP Servers require authentication.|
|EmailServiceConfig.Password||No||The password to use when connecting to the SMTP server. Some SMTP Servers require authentication.|
|EmailServiceConfig.Timeout||No||100||Sending an email will timeout if the send is not completed after this many seconds.|
|EmailServiceConfig.SignOutgoingEmails||No||false||When true RuleManager will look for a valid digital certificate for the sending email address. If found the outgoing email will be digitally signed using the certificate.|
|EmailServiceConfig.ParseMarkdown||No||false||This setting enables or disables Markdown parsing of emails. More information is available in the HTML Emails section.|
|Yes||10||Number of time_bombs that will be executed simultaneously.
Number of Worker Threads
|Yes||1000||How often the application polls the database for expired time_bombs.|
|Yes||200||The total number of expired time_bombs that will be retrieved per database poll.|
|Yes||300||Retry mechanism when the application communicates with external resources such as the database or smtp server. How many times should it retry before giving up.|
|Yes||2000||Retry mechanism when the application communicates with external resources such as the database or smtp server. How long to wait between retries.|
|Yes||If notification recipient does not have a notitification preference this is how the user will be notified.
Valid options: EMAIL, NOTIFIER, FORWARD TO MY SUPERVISOR, NONE
|No||The path and filename of the paging application. Example: c:\paging\pager_clerk.bat|
|Yes||30||Number of days prior to license expiration that warnings will be logged. It will repeat these warnings every day. This warning will be logged using the standard logging mechanism (log4net), so be sure that your logging is configured properly.|
|Resource.ResourceStore||No||Where are inline images retrieved from. Valid values are S3 or Seeker|
|Search.ResourceTimeout||No||1000 days||How long should inline image URLs be valid for.|
|Search.TokenIsUnique||No||True||Determines whether a Dovetail SeekerProxy URL for an inline image will have a unique token or not. Leave as True.|
|Carrier.QueueAddress||No||msmq://localhost/dovetail.carrier||Address of Dovetail Carrier's incoming message queue. Typically used as part of Dovetail Task Manager.|
|No||30||Number of seconds a regular expression will execute before timing out. Timed out expressions will throw an exception.
Regular expressions are used when evaluating rule conditions. It is possible that in some rare cases a complex regular expression for certain inputs could runaway. This timeout is a relief value preventing the consumer thread from getting stuck evaluating a regular expression.
These settings apply when using SMS notifications. More information is available in the SMS Notifications section.
|Sms.EmployeeSmsField||No||beeper||By default, Rulemanager will use the employee's Pager number to send SMS messages. By default, the label in the UI is "Pager", and this maps to the beeper field on the employee table (table_employee.beeper) If you wish to use a different field on the employee table, you can do so by editing the Sms.EmployeeSmsField configuration setting.|
|Twilio.From||No||Your Twilio phone number used to send SMS messages.|
|Twilio.AccountSid||No||Your Twilio SID|
|Twilio.AuthToken||No||Your Twilio Authentication Token|
These settings apply when using Slack notifications. More information is available in the Slack Notifications section.
|Slack.AuthToken||No||Your Twilio Authentication Token. For more info, refer to the Slack Notifications section|
|Slack.MemberField||No||x_slack_member_id||Field on table_user where an employee's Slack Member ID is stored. For more info, refer to the Slack Notifications section|
Amazon S3 settings
These settings apply when HTML emails contain links to an image stored in Amazon S3 (such as those sent from Dovetail Agent version 8 and later).
More information is available in the HTML Emails section.
|S3.AWSId||No||Your AWS ID||Your Amazon Access Key ID|
|S3.AWSSecret||No||Your AWS secret||Your Amazon Secret Access Key|
|S3.Bucket||No||Your S3 Bucket||S3 bucket where files will be downloaded from|
|S3.Region||No||us-east-1||When creating a bucket if you select any region beside "US Standard" you will need to configure this setting with the correct region string.|
|S3.KeyPrefix||No||agent-images||A prefix represents a set of keys in the S3 bucket that allows applications to organize and browse their keys hierarchically, similar to how a file system organizes files into directories.|
|S3.DownloadURLLifeSpan||No||5500 days||Maximum value is "5500 days"|
RuleManager uses the same logging framework that is built into the Dovetail SDK. This framework allows developers and administrators a high degree of flexibility to control the quality and detail of the information RuleManager generates.
Logging capabilities include:
- Different log levels: Debug, Info, Warning, Error, and Fatal
- Can log to: File, Database, Windows Event Log, Email, several other sources, or any combination of these
- Set maximum log file size, number of file rollovers, etc
- Configurable log output (date/time format, log source, etc)
- Dynamic configuration: Make changes on-the-fly, without re-starting your application
RuleManager ships with multiple loggers and logging appenders, which determines where logs are saved (file, email, database, etc.), along with which levels of logging infomation (error, warning, info, debug, none) are saved. The following information describes the default (out of the box) settings. Of course, these can be completely tailored to your preferences.
|FChoice.RuleManager||Logs for the RuleManager processes|
|FChoice||Dovetail SDK logging details|
|Spring||Spring is an application framework used internally by RuleManager. Typically these logs are not needed by customers.|
|VerboseRollingFileAppender||Verbose logging information saved to a rolling log file.|
|WarningAndErrorsRollingFileAppender||A rolling log file that contains only warnings and errors.|
|SmtpAppender||Warnings and errors will be sent to the appropriate email address, such as an administrator. Be sure to set the to element to a valid email address|
|ConsoleAppender||When running RuleManager in console (command-line) mode, warnings and errors will be displayed in the console.|
More Information on Logging
Application configuration files are in an XML format. .NET expects the XML to be formatted according to a specific tag schema. This is outlined in the .NET Framework SDK documentation under the heading Configuration File Schema.
log4net is Copyright © 2004-2017 The Apache Software Foundation. All rights reserved.
Do not change anything in the configSections.
Number of Worker Threads
RuleManager is a multi-threaded application, which allows processing of multiple time_bombs simultaneously. The processing of each time_bomb is done by a worker thread. As work enters RuleManager, it is placed in a queue. This work is then assigned to a thread that does the work on it.
The number of worker threads is controlled by the ApplicationEventProcessorState.NumberOfWorkerThreads configuration setting. By default, this value is set to 10, assuming a single processor machine. Depending upon the application and the server hardware, this value may be set higher or lower for optimal server behavior.
Threads consume resources, so handle this setting with care—you can degrade performance by increasing the value unnecessarily. Adding more threads does not necessarily imply that you can process more work. Even if you add more threads, you are still limited by the power of your processor. A high thread count causes more memory to be used and increases context switching, which can degrade performance.
In general, the default setting should be used for initial testing. If RuleManager is running on a machine with multiple processors, then the default value should be appropriately scaled. For example, set it to 20 for a dual processor machine, 40 for a quad processor machine, etc.
If RuleManager does not appear to be processing time_bombs fast enough, then this setting can be increased slightly. In addition to monitoring the activity of the RuleManager application, system resources (such as memory and CPU usage) should be monitored as well.