This enhancement provides a way for RPM to start forms based on a set time frame. For example, facilities or vehicles that need to be inspected on a regular basis of "Monthly". Let's be honest, people forget so we need a system to remind us.


The application creates and keeps running CRON-like scheduled Jobs based on the Schedule Definitions in the process forms. The purpose of Jobs is to periodically create forms that refer to other forms. 


A Schedule resides in a separate RPM process, and one Schedule can be used with more than one Asset.


Every Schedule can have several basic Schedule Definitions. When the Jobs get created every Schedule definition is given a separate Job. The definition in its turn consists of Start date/time, End date/time, Frequency, Pattern and Fields Map.

Start and End date/times defines when a Job starts and stops.


Frequency defines a period of repetitive Job runs. It can be: hourly, daily, weekly, monthly, etc


Pattern defines number of On and Off periods. For example, the pattern "2,4" for a daily Job makes the Job to start first 2 days, then skip next 4 days, start next 2 days, skip next 4 days, and so on. Setting a Pattern to blank disables the Job definition.


A field map is used when additional fields need to be copied to the form being started by the scheduler.  There are 2 ways to define the Fields Map. First one - using JSON-like format ("Inspection Field 1" : "Asset Field 1","Inspection Field 2" : "Asset Field 2", etc), second - using pre-defined container columns pairs of Schedules Table. Each pair of column defines one Source field and one Destination field.


The Application is designed to run in a cloud or on a web server. It is an event-driven service, that listens for web events, and changes the Jobs according to the new Schedule Definitions.


Requirements

You will need a Schedule process template from RPM to use this enhancement.


Use Cases

Click to view all Scheduler use cases.