Milan uses a number of background services, which collectively run as the Windows service Milan Background Jobs, to perform notification, synchronization, and maintenance operations. To configure background services, open the Manage Background Services page (.../milan/policycenter/BackgroundServicesAdmin.aspx) from Administration → Milan Server → Background Services. Additional settings for each background services can be found in Administration → Milan Server → Application Configuration → App Settings.
Service Name | Function | License Requirement |
---|---|---|
Access Wall Expiry Service | Removes users from the SecurityAccess and SecurityWall tables when Security Center either inclusionary or exclusionary policies expire. | Ethical Wall |
Acknowledgment Timer Service | Sends acknowledgment email notifications related to legal holds. | Ethical Wall/Legal Hold |
Activity Monitoring Alert Service | Calculates WorkSite activity levels and applies monitoring rules. | |
Client Matter Update Tracker Service | Logs the date of the most recent activity in a client matter to the Milan database | Ethical Wall |
Daily Schedule Timer Service | Runs all scheduled jobs. | None |
Dynamic Wall Rule Timer Service | Updates competitive polices. | Ethical Wall |
Email Dispatcher | Sends email notifications generated by Milan | None |
EMM Log Service | Parses log files generated by WorkSite's EMM service and saves the information to the Milan database. | Email Queue Management |
EMM Statistics Tracker Service | Captures EMM-related statistics, which are displayed in EQM as graphs. | Email Queue Management |
Exchange Metadata Tracker Service | Retrieves metadata from the Exchange server for linked folders. | Email Queue Management |
Exchange Self Service Task | Retrieves and processes self-service replies messages sent to an Exchange server. | |
Folder Notification Dispatcher Task | Sends notification messages that have been queued by the Folder Notification Enqueuer Task. | Workspace Management |
Folder Notification Enqueuer Task | Queues notification messages related to folder templates. | Workspace Management |
Import WorkSite Data Service | Imports data from WorkSite to Milan | None |
Import Attorney Secretary Relationship Service | Imports attorney/secretary pairings from a user-specified database and adds/removes secretaries to policies based on their attorney relationships. | |
Import Timekeeper ID Data Service | Imports timekeeper data from the billing system. | |
Input Queue Archive Retention Service | Moves old entries from the InputQueue table to the InputQueueArchive table. | Refile Service |
Legal Hold Declare Service | Applies and removes legal holds in WorkSite by declaring or undeclaring documents as records. | Legal Hold |
Log Archive Service | Moves old entries from the EventLog table to ArchivedEventLog and deletes old entries from ArchivedEventLog. | None |
Log Retention Service | Deletes old heartbeat-level entries from the event log, import log, and provisioning log and removes completed items from the policy event queue and its related tables. | None |
Matter Team Flattener Service | Removes Matter Teams from inactive client matters | Ethical Wall |
Milan Health Check Service | Verifies Milan settings. | None |
Moved Documents Delete Service | Deletes documents that have been successfully moved. | Move Archive |
Policy Eventing | Applies policies to WorkSite, file shares, Elite, and SQL based systems | Ethical Wall |
Policy Health Check | Checks whether external systems conform to the current policies and fixes inconsistencies | Ethical Wall/Security Center |
Policy Verification Enqueuer Service | Adds policies to the eventing queue for re-application by the Policy Verification Processor Service. | Ethical Wall |
Policy Verification Processor Service | Re-applies policies queued by the Policy Verification Enqueuer Service to enabled policy systems. | Ethical Wall |
Recycle Bin Timer Service | Deletes documents from WorkSite that have been in the recycle bin for more than a certain number of days. | Recycle Bin/Move Archive |
Timekeepers Sync Service | Automatically adds users to competitive exclusion and confidentiality policies based on the number of hours they've entered in the billing system. | |
Workspace Queue Cleaner Service | Deletes old records from the Workspace Queue. | Service Center |
Workspace Quota Tracker Service | Notifies users when their workspace has exceeded a certain size. | Workspace Management |
When the Milan Background Jobs Windows service starts, all enabled services (with the exception of Policy Health Check and Policy Verification Service) run once immediately. Thereafter, each service runs on a regular schedule based on its execution time interval, which can be configured by clicking the corresponding Edit button in the service list, and the time the Windows service was started. For example, if you were to start the Milan Background Jobs service at noon, any service configured to run once per day would run every subsequent day at noon until you stopped the Windows service.
The two exceptions to this behavior, Policy Health Check and Policy Verification Service, can only run between 11:00 PM and 6:00 AM (server time). As a result, unless you start the Milan Background Jobs service sometime during that period, the services will run at 11:00 PM on their scheduled days.
Setting | Description |
---|---|
ack-templates-path | A local path to the email template for acknowledgment notifications. |
Setting | Description |
---|---|
worksite-db-list-for-policy | A comma-separated list of WorkSite databases to which Milan must apply policies defined by the administrator. Database names must be in the format dms#odbcdbname. For example, if the server name is vmdemo, and the WorkSite database name is active, the value should be vmdemo#active. |
The Client Matter Update Tracker Service monitors whether client matters have been updated, documents have been checked in or out, or document profiles have been altered and updates the Milan tables to reflect the changes. If an action related to a client matter takes place in WorkSite, this service either updates the updatedTime column for the Client Matter in this table or creates an entry if one does not exist.
If this service fails to run, it is possible to manually perform the task by executing the following SQL query, which returns the most recent running time for each server.
WITH cte AS
(SELECT Component.value('@serverName', 'varchar(MAX)') AS ServerName,
Component.value('@databaseName', 'varchar(50)') AS DatabaseName,
Component.value('@lastRunningTime', 'varchar(50)') AS LastRunningTime
FROM Milan.KeyValuePair r CROSS APPLY r.Value.nodes('/metaDataList/metadata') AS T1(Component)
WHERE [Key] = 'Milan.PolicyCenter.Lib.ClientMatterUpdateTrackerService')
SELECT *
FROM cte.
The Email Dispatcher sends notification email generated by Policy Center, Share Document, Self-Service, Export Document, and Analytics. All pending messages are stored in the Milan.NotificationEmailQueue table, which is regularly processed by the Email Dispatcher based on the value specified in the Execution time interval setting. Be default, the service runs every 30 seconds.
Setting | Description |
---|---|
email-dispatch-delay-interval | Specifies how long the service should wait, in minutes, before sending a notification email |
Setting | Description |
---|---|
emm-log-configuration-path | A UNC pathA Windows network path that follows the Universal Naming Convention. UNC paths must be in the format \\<Host Name>\<Folder Name> to the WCSE logs; the Milan service account must have at least read access to the path. To use EQM with multiple WorkSite servers, list the paths to the logs for each server, separated by a comma (e.g., WorkSiteServer1_SourceLogFile1#UNCPath1, WorkSiteServer2_SourceLogFile2#UNCPath2, ...). |
emm-log-file-date-format |
Date format to use when parsing logs from WorkSite 8.5 servers. If the date format of only one server is specified, providing just the format (e.g., M/d/yyyy h:mm:ss tt) is sufficient. To specify the date format for more than one server, each format must be prefaced by the server name in the format SERVER1#Format1,SERVER2#Format2, ... Note: You can only specify one date format for each server. Additionally, the provided format must be used consistently throughout the logs. |
emm-log-expiration |
Specifies how many days' worth of log entries to retain on the Email Management page. Note: If the value for this setting is reduced from its current value, the entries older than the new value are no longer displayed on the page. Once removed, entries are not parsed again. |
Setting | Description |
---|---|
worksite-db-list-for-policy | A comma-separated list of WorkSite databases in the format <Server Name>#<Database Name> (e.g., milanserver#Active,milanserver#Archive). |
Setting | Description |
---|---|
store | Path to folder where folder notifications are temporarily saved before being sent. |
Setting | Description |
---|---|
store | Path to folder where folder notifications are temporarily saved before being sent. |
The Import Attorney Secretary Relationship Service gets attorney/secretary pairings from a user-specified database and adds and removes secretaries to and from inclusionary and exclusionary policies based on their attorney relationships.
Before enabling this service, you must:
When the service runs, it looks in ...\Prosperoware.Milan\data\CustomScripts\Scripts\Import for script named AttorneySecretaryRelationship.sql, which it then executes against the database specified in the AttorneySecretarySync connection string. The query results are saved to Milan database in the AttorneySecretary table in the Milan database.
The default script contains the following placeholder query.
SELECT '1' AS AttorneyUserId, '1' AS SecretaryUserId, 1 AS AddToTeam, 1 AS AddShortcut, 1 AS Active
Your updated script must return a record for each attorney pairing with valid values for the following columns.
Column | Description | Value | ||||
---|---|---|---|---|---|---|
AttorneyUserId | The WorkSite ID of an attorney. | WorkSite ID | ||||
SecretaryUserId | The WorkSite ID of a secretary who works with the attorney specified in AttorneyUserId. | WorkSite ID | ||||
AddToTeam | Specifies whether the secretary should be added to policies. |
|
||||
AddShortcut | Specifies whether a shortcut to the matter should be added to the secretary's My Matters list. |
|
||||
Active | Specifies whether the secretary is an active user. |
|
Note
A secretary will be added to a policy only if all of the following conditions are met:
The Import Timekeeper ID Data Service imports timekeeper information into Milan from a billing system database.
To import timekeeper data with this service:
The Import WorkSite Data Service is used to import data (users, groups, clients, and matters) from WorkSite into Milan.
To manually run the ImportDataFromWorksite stored procedure associated with this service, execute the following script against the Milan database:
Parameter | Description |
---|---|
WorksiteServerName | The server name for the WorkSite database. If there is no linked server, this should be set to NULL. |
WorksiteDbName | The name of the WorkSite database from which data will be imported into the Milan database. |
ImportUsers | Specifies whether to import users. The value must be set to either 1 (import) or 0 (do not import). |
ImportGroups | Specifies whether to import groups. The value must be set to either 1 (import) or 0 (do not import). |
ImportClientMatters | Specifies whether to import client matters. The value must be set to either 1 (import) or 0 (do not import). |
Setting | Description |
---|---|
input-queue-archive-retention-months | The maximum number of months a log entry can remain in the InputQueue. Entries that are older than this value are removed from the table by the Input Queue Archive Retention Service. |
Setting | Description |
---|---|
undeclare-documents-on-expired-holds | Undeclare documents as records when a legal hold expires. |
The Log Archive Service archives items in the Event Log.
Setting | Description | Values | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
log-level-retention-period |
A comma-separated list of retention periods, in days, for each log type. When the Log Archive Service runs, entries in the EventLog table older than the corresponding retention period are moved to the ArchivedEventLog table, while archived logs older than the retention period are deleted from the ArchivedEventLog table. Each item in the list must be written in the format <LogLevel>=<RetentionPeriod>(e.g., DEBUG=1, INFO=14). If no value is specified for a particular log level, the default retention period is used. Note: Because retention periods also apply to archived logs, the effective lifetime of a log entry is twice the value specified for the corresponding log level. |
|
||||||||||||||
log-archiving-exclusion-level | A comma-separated list of log levels to exclude from archiving. For example, setting this to HeartBeat ensures that the Heartbeat log entries will not be archived. |
The Log Retention Service, formerly Heartbeat Log Deletion Service, deletes all heartbeat log entries from the EventLog, ImportServiceLog, and ProvisoningServiceLog as well as completed items older than the retention period from the PolicyEventQueue, PolicyEventingMatter, PolicySystemLog, and PolicyEventingUser tables. By default, the service runs every three days.
The Matter Team Flattener service removes matter teams from client matters after a specified period of inactivity and adds the users from that matter team to the file permissions for the relevant folders and documents.
Setting | Description |
---|---|
matter-team-inactivity-months-to-flatten-out |
The number of months a matter must be left unmodified before the flattener service removes its matter team and directly adds the team members to its ACL. |
Setting | Description |
---|---|
moved-document-retention-hours | The minimum number of hours a document must be retained before the Moved Documents Delete Service can permanently delete the file. |
The Policy Eventing service processes and applies policies on linked systems (WorkSite, file shares, SQL-based systems).
Setting | Description |
---|---|
draft-policy-Notification-emailList | When a draft policy is created, all policy-admin users on this comma-separated list receive a notification email with a link to the policy. |
user-image-path | The path for user images displayed in the user drop-down menus. |
policy-document-path | The path for the root folder where attached policy documents are stored. |
The Policy Health Check service checks that the items in the linked WorkSite database conform to the security policies configured in Milan. If the service finds an item with incorrect security settings, it queues the item to be processed by the Policy Service.
If for some reason the Policy Verification Service fails to run between 11:00 PM and 6:00 PM, it is possible to run the service immediately by clicking the Run Now button on the Background Services admin page.
Setting | Description |
---|---|
recycle-days | The number of days an item will be retained in the recycle bin before it is permanently deleted by the Recycle Bin Timer Service. |
The Timekeepers Sync Service automatically adds users to competitive exclusion and inclusionary policies by calculating the total number of hours they've entered in the billing system for a particular client or matter and comparing it to the value specified in either the billing-exclusion-hours or billing-matterteam-hours application setting. In the case of competitive exclusion policies, if a user's billing hours for a client or matter on one side a policy exceeds the billing-exclusion-hours value, the service adds the user to the opposite side's exclusion list. Similarly, users are added to inclusionary polices if their billed hours for a client or matter exceed the billing-matterteam-hours value.
To automatically add users to policies based on billing hours, you must, in addition to enabling this service:
Setting | Description |
---|---|
billing-system-type | Specifies whether the billing system is CMS (0), Elite (1), or another type (3). |
billing-exclusion-hours | The minimum number of hours an attorney or a secretary's paired attorney must bill for a client or matter before the Timekeepers Sync Service will automatically add them to the opposing side of existing competitive exclusion policies. |
billing-matterteam-hours | The minimum number of hours an attorney or a secretary's paired attorney must bill for a client or matter before the Timekeepers Sync Service will automatically add them to an inclusionary policy. |
self-updating-inclusion-policy | Automatically add users to inclusionary policies based on billing hours. |
Setting | Description |
---|---|
completed-queue-age | The number of days an entry in the WorkspaceQueue table will be retained before being deleted by the Workspace Queue Cleaner Service. |