Getting started

The following guide provides the steps to implement a first version of your dynamic scheduling workflow. Review the referenced documentation in each section for more information.

1. Create core Ontology objects

You must create the following core object types to build a dynamic scheduling workflow:

  • Create a Task or Schedule object type. This represents the slots to allocate to resources (such as people or objects). For example, repair the temperature sensor.
    • The object type must have properties that hold foreign keys to create relations with the resource(s) object types.
    • This object type can have a "fixed duration” Boolean property to enforce or not enforce a static duration of the Task or Schedule.
    • You must enable edits on this object, as the start/end/duration and relations to the resources will be edited throughout this process.
  • Create one or more Resource object types that represent the resources to allocate to the Task or Schedule. For example, the persons that need to work on a task (the Mechanic) and the element to work on (a Vehicle).
  • Create links between the Task or Schedule object type and the different Resource object types.

Review the dynamic scheduling Ontology primitives documentation for more information about the schema of each object type.

2. (Optional) Define validation rules

Validation rules are a way to enforce constraints and decide if edits to the schedule should be accepted.

  • Create two datasets: one to back the Validation Rule object type, and one to back the many-to-many relation between Validation Rule and Task/Schedule.
  • Create a Validation Rule object type. This will store the RID and version of the Function that will perform validation.
  • Create a many-to-many relation between the Validation Rule and the Task/Schedule object types.
    • Set the link with a special type class: schedules:schedulable-rule-link.
  • Create a code repository to write the Function to validate the rule. Given a Task/Schedule object type, the Function should validate if it is "valid" per some arbitrary logic. The RID and version of those Functions will be manually stored in the Validation Rule object type instances.
    • Open Ontology Manager to find the Function's RID (such as ri.function-registry.main.function.48e0044f-554a-4b0c-8879-18e0866dffb3) and the version (such as 1.0.0).

Review the dynamic scheduling validation rules documentation for more information about validation rules.

3. Enable the capability in Ontology Manager

You must enable the Dynamic Scheduling capability for the Task or Schedule object type in Ontology Manager. Doing so will help you configure and auto-generate Actions and other relevant elements for the dynamic scheduling workflow.

Review the dynamic scheduling capability wizard documentation for more information about enabling this capability.

4. Use dynamic scheduling in Workshop

At this stage, you can start to use and record decisions on the different elements created in the steps above.

  1. Create a Workshop module.
  2. Add the Scheduling Gantt Chart widget.
  3. Configure the widget.
  4. Schedule, attribute, and validate changes.

Review the Scheduling Gantt Chart widget documentation for more information.