The Scheduling Gantt Chart is a Workshop widget that renders an interactive Gantt chart for scheduling or resource allocation workflows. Before setting up the widget, ensure you have configured your dynamic scheduling Ontology.
Module builders configuring a Scheduling Gantt Chart widget can:
In the example below, the Scheduling Gantt Chart assigns pilots to flights.
The image below provides an overview of the widget layout.
Schedule objects (pucks): Each schedule object is rendered as a puck on the Scheduling Gantt Chart. Users can drag and drop these pucks to update the object’s start time, end time, and/or linked resource object. Pucks are backed by two additional capabilities:
Schedule object details: Appear as a card when the cursor hovers over a puck. By default the card will show the start/end time, the status of any rules configured on the schedule object type, and a link to the object view. Builders can also add properties they would like displayed.
Right-click menu: Triggered when a user right-clicks on a puck. Builders can configure actions, events, and recommendations.
Resource object or rows: Each resource object is rendered as a row in the Scheduling Gantt Chart.
Search bar: The Scheduling Gantt Chart widget includes an in-widget search bar. Results will be highlighted with a yellow border as users enter search terms. Pressing the Enter
key will create a new search group with the results.
Violation rules filter: The violation rules filter is used to focus on aspects of the schedule that need attention. You can toggle on/off the rules to be evaluated for their schedule and filter down to objects that are violating selected rules.
User preferences: Users can define and save their preferred setup. Customizable options include:
Unscheduled drawer: Schedule objects are considered unscheduled if they do not have both a start/end time and a linked resource object. If any or all of these properties are null, schedule object pucks will appear in the unscheduled drawer.
Change log: The change log keeps track of all edits a user has made to their schedule.
Review changes: Generates a pop-up with a summary of all Ontology edits made in the active scenario and any remaining validation rule violations. Confirm to execute the Ontology edits.
The Scheduling Gantt Chart widget includes several required and optional configuration settings. This section presents an overview, and the required settings are specifically marked as such.
Start timestamp [REQUIRED]: The beginning of the timeline.
End timestamp [REQUIRED]: The end of the timeline.
Custom display range: Configure the time period that is displayed in the timeline when users initially open the the Workshop module. Users will be able to scroll the full length of the Scheduling Gantt Chart, unless specified elsewhere.
Custom timeline grid precision: Select a unit of time for Gantt Chart grid lines that will override default grid lines.
Disable timeline zoom and scroll: Disable users’ ability to use the timeline scroll or zoom features.
Resource object set [REQUIRED]: Rendered in the interface as the rows of the Scheduling Gantt Chart widget. Each object within the set will have its own row.
Title icon: Select an icon that appears alongside the title property of each row.
Sub-titles: Select one or more properties of the resource object set that will appear underneath the object title. Additionally, select an icon for each sub-title, as demonstrated in the image below.
Group-by property: Select a property of a fixed resource object set that divides fixed resources (rows) into subgroups. The defined groups can be opened or closed via a toggle in chart. In the below example, the resources have been divided into the groups "Garden City," "Garza," and "Hoople."
Default sorts: Allow one or more default sorts to be applied to the ordering of rows in the chart.
Right-click menu
On row select event: Configure Workshop events to trigger when a row is selected in the chart. For example, cause a drawer with a more detailed object view to appear.
Interface
Static: When this is selected, all pucks will be the same color, chosen with a dropdown color picker. Statically colored pucks look like the image below.
Segmented by: Segmentation can be configured in the Ontology Manager by applying schedules:segment-by
as a type class to your property of choice. Use the native Ontology Manager conditional formatting feature to specify which colors appear, otherwise the Gantt will rotate through a set of default colors. When conditional formatting is configured, the selected color for the object set appears as a triangular flag in the upper-left, as demonstrated in the image below.
Interactions
Enable interactions: When toggled off, pucks cannot be moved via drag-and-drop with the setting operating as a “read-only” option. On by default.
Allocation behavior: Determine how the placement of pucks will occur in the Scheduling Gantt Chart. There are five predefined options, including:
Allocate: Drag-and-drop pucks anywhere in the chart. Multiple pucks can be assigned to the same resource at the same time.
Allocate no overlap: Similar to Allocate, this option ensures that pucks of the same object type do not overlap. When a puck is dropped on top of another puck, the existing puck, along with everything scheduled at a later time period, will automatically shift to prevent overlaps and maintain the sequence.
Swap: Similar to Allocate no overlap with the exception that when a puck is dropped on top of another puck, the pucks will switch places with one another.
Swap with downstream: Similar to Simple swap, this option allows the selected pucks to switch places. However, in this case, all subsequent pucks assigned after the swapped pucks will also follow their respective predecessors, effectively shifting the entire sequence downstream.
Snap to previous: Pucks will automatically snap to the end of the closest existing puck on a given row.
Snap behavior: By default, users are able to assign objects to any time on the Scheduling Gantt Chart widget, down to the specific minute. Snap behavior allows builders to set defined intervals of when objects can be assigned. Once a puck is dropped to a new placement in the chart, the puck will snap to the beginning of the closest interval.
For example, a user configuring a schedule to support doctors’ appointments may determine that all assignments (appointments) need to begin on the hour (:00) or half past the hour (:30).
The Snap interval size should be the integer that determines the duration of each interval. In the example below, the interval is set to 8 hours.
The Start timestamp option refers to the time at which the snap interval begins. By default, snap intervals begin at the start timestamp for the Scheduling Gantt Chart widget. When configured, this variable will override the default start and snap the puck into place at the configured time.
Drag cursor to creation action: Enables a drag action across the interface to be used to create a new object for the schedulable object type. The user initiates action by holding shift and dragging their cursor within the widget.
Custom suggestions: Select suggestion function for your schedule object. Function results will be rendered as highlighted areas on chart when users pick up a puck which can be used to indicate where users can/should place pucks.
Right-click menu:
The Interface section contains the following configuration options:
Display cursor time flag: When toggled on, a vertical line with a flag will be rendered on the timeline corresponding to the placement of the cursor. The text within the flag is not configurable and will always include time, week number, and the day of the week, as in the image below.
Split rows by schedulable: Each schedulable object contains a sub-row on a given fixed resource. The order of schedulable objects and labels are determined in the Schedulable configuration setting and will appear when hovering over the object. This setting is toggled off by default and is only applicable when application is configured with multiple schedule objects.
Standard unallocated puck size: By default, the size of the puck is proportional to time duration, as in the image below.
When the Standard unallocated puck size is toggled-on, the puck size is standardized in the unallocated area, as in the image below.
Simplified view: When toggled, the header (including the search bar, validation rule filters, user preferences) and the footer (including the unscheduled drawer, change log, review button) will be hidden from view. Module builders may select this option for read-only workflows or for workflows where scenarios are disabled.
The Scheduling Gantt Chart widget automatically generates four output variables that can be used by other Workshop widgets to enhance your app. These output variables include:
Output Scenario: A Scenario variable that can be used in all other Scenario-aware widgets.
Selected objects: An object set of objects selected in the widget.
Search results output: An object set of the objects returned by the most recent search/recommendation. This output will only populate if the function returns objects.
User preferences: A serialized string that can be used with the module interface or state saving to persist saved user preferences.
You can configure the user preference settings for the widget from the Settings cog in the top right corner of the widget frame.
Once configured, you can make this configuration the default configuration for all users. To do this, navigate to the User Preferences section of the configuration sidebar to the left of the screen, then copy and paste the content of the variable (on the right of the window) over to the Default Value section (on the left).