Configure Scheduler jobs
This section describes how to configure each Scheduler job.
How does the Scheduler work?
The Scheduler executes scheduled jobs such as sending reminders to users, pre-generating outputs, creating activity reports, etc.
- Tickets: Tickets are based on job triggers. Job triggers are sets of code that are executed when users perform a status change. When the DITA CMS executes a job trigger, it creates tickets that contain information specific to the job trigger and the objects it applies to. The tickets are stored in the Content Store (in the Repository\system\scheduler\outbox collection). When a Scheduler job based on tickets is run, the Scheduler retrieves these tickets from the Content Store, processes them, and then deletes the tickets from the Content Store as they are processed.
For example, the DITA CMS Activity Report uses a trigger that creates a ticket when a document has reached a status that requires the user's action. When the Scheduler executes the DITA CMS Activity Report job, it retrieves all the appropriate tickets from the Content Store, creates notification emails that are sent to the users, and then deletes the tickets from the Content Store. Users will not be notified again.
The following diagram shows how a job based on tickets is executed by the DITA CMS and the Scheduler.
- Document queries in the Content Store: When a Scheduler job based on document queries is run, it retrieves from the Content Store the documents that correspond to a set of criteria. For example, the Review Report retrieves from the Content Store all the maps that are in review status, are assigned to a reviewer, and are assigned a due date. It then builds a report from this data that is sent to project coordinators.
While the jobs based on tickets are executed only once for a specific set of tickets (since tickets are deleted after being processed), jobs based on document queries may perform the same action, each time it is run, until the list of objects no longer match the criteria. For example, consider a Review Report that is sent daily. On Monday, the report contains 5 maps that are in review status. If the status of the maps does not change all week, then the Review Report will list the 5 maps every day, until the maps are moved to another status.
The Scheduler jobs run at configured intervals, based on crontab-like values specified in the schedule.xml file.
Some Scheduler jobs use XSLT templates to create the email notifications. These templates are stored in the Content Store and can be configured.
|Job name||Job description||Configurable template(s)||Method used|
|ReportsScheduler||Schedules and runs user reports created with the DITA CMS. The reports are run according to the schedule specified in the DITA CMS report.||N/A||Document queries|
|DITACMS ActivityReport||Sends an email notification when a document assigned to a user has reached a status that requires the user's action.||Change.status_ticket.xsl||Tickets|
|DailyReminder||Sends an email notification reminding users about the documents that are due and require an action.||Daily_reminder.xsl||Document queries|
|Generate ReviewOutputs||Pre-generates the review PDFs so that the reviewer does not have to wait when topics or maps go into review state.||N/A||Tickets|
|ReviewReport||Provides a status report to project coordinators on all maps in review status.||N/A||Document queries|
|TopicReview Report||Provides a status report to project coordinators on all topics in review status.||N/A||Document queries|
|GarbageManJob||Cleans the outbox collection by deleting tickets older than 7 days||N/A||Document queries|
|TimeBased ReviewReport||Sends an email notification reminding reviewers and their managers that their reviews are due.||
|PrepareKitJob||Documentation in progress.||N/A||Document queries|
|ProjectMessageJob||Sends an email to the members of a project when a message is added to the project's bulletin board||project_message.xsl||Tickets|
Configure at least one job per 24-hour period. This is required since the TEXTML Server closes connections that have been inactive for more than 24 hours. If the Scheduler loses its connection to the TEXTML Server, you have to restart the Scheduler.