Skip to main content
Version: 2022

Resource Scheduler

note

For Universal GUI, an extender is not necessary. See Scheduler

The resource scheduler is used to visualize appointments or tasks on a timeline.

The scheduler works with two mandatory and one optional entity.

Resources

The first mandatory table or view is used to represent the resources, shown in the figure by the orange square. The resources shown follow the column settings of the model, so all hidden columns are skipped. The resource table or view should have the following columns:

  • resource_id (mandatory, unique)
  • name (mandatory)
  • parent resource id (optional)
  • color (optional, forecolor of the resource)
  • back_color (optional, back color of the resource which will color the entire row)

The same settings are shown in the extender properties, among some other options:

  • Resource table (mandatory, table or view id)
  • Resource table variant (optional, id of the variant to use)

Example:

Tasks/appointments

The second mandatory table or view is used to represent the tasks (also called appointments) in the scheduler, shown by the green square. The task table or view can have the following columns:

  • task_id (mandatory, unique)
  • name (mandatory)
  • resource_id (mandatory, determines at which resource the task is linked)
  • start_date (mandatory)
  • end_date (mandatory)
  • color (color of the appointment, these are negative integers, a color pick app is available)
  • percentage (progress of the task from 0 to 100, shown in the top of task 6)

The same settings are shown in the extender properties, among some other options:

  • Task table (mandatory, table or view id)
  • Task table variant (optional, id of variant to use)
  • Visual offset (optional, start date of the scheduler plus or minus this number of days)
  • Show current timeline (optional, true to show a timeline at the current time)
  • Selection limited by resources (optional, true if the visible resources should be included in the where clause of the task query to improve performance)

Example:

Work times

The third optional table or view is used to represent worktimes, shown by the yellow square. They color the background cells with a given color from a start to end date. Columns in this table or view can be the following:

  • resource_id (mandatory, determines at which resource the worktime is linked)
  • start_date (mandatory)
  • end_date (mandatory)
  • color (mandatory)

The same settings are shown in the extender properties, among some other options:

  • Worktimes table (mandatory, table or view id)
  • Worktimes table variant (optional, id of variant to use)
  • Selection limited by resources (optional, true if the visible resources should be included in the where clause of the worktimes query to improve performance)
  • Disabled days (optional, add multiple for each day that has to be shown with another color, e.g. weekend days)
  • Disabled days color (optional, the color for the disabled days)

Example:

Tasks

Tasks can be linked to the scheduler for the following actions:

  • Double click an appointment
  • Resize an appointment
  • Drop an appointment
  • Delete an appointment (by specifying the extended property DeleteAppointmentTaskScheduler)
  • Double click on a timecell
  • Drop an external row

Double click appointment

The Double click appointment task makes it possible to execute a task when an appointment is double clicked.

A task in the model is needed with at least one parameter. This parameter will automatically be filled with the task_id of the clicked appointment. The parameter name must be the same as the Task id column name specified in Task settings, for example, task_id.

Resize appointment

The Resize appointment task makes it possible to execute a task when an appointment is resized. A task in the model is needed with at least three parameters:

  • <task id column>
  • start_date
  • end_date

The <task id column> parameter will automatically be filled with the task_id of the resized appointment. The <task id column> parameter name must be the same as the Task id column name specified in Task settings, for example, task_id.

Drop appointment

The Drop appointment task makes it possible to execute a task when an appointment is dragged to another place and then dropped. A task in the model is needed with at least three parameters:

  • <task id column>
  • start_date
  • resource_id

The <task id column> and the resource_id parameter will automatically be filled with the task_id and the new resource_id of the dropped appointment. The <task id column> parameter name must be the same as the Task id column name specified in Task settings, for example, task_id.

Delete appointment

The Delete appointment task makes it possible to execute a task when an appointment is deleted by pressing the Delete key.

A task in the model is needed with at least one parameter. This parameter will automatically be filled with the task_id of the deleted appointment. The parameter name must be the same as the Task id column name specified in Task settings, for example, task_id.

Double click timecell

The Double click timecell task makes it possible to execute a task when a timecell is double clicked. Timecells are in the area behind the appointments. A task in the model is needed with at least two parameters:

  • date (the actual date that is being double clicked)
  • resource_id (the resource that the timecell belongs to)

The date and the resource_id parameter will automatically be filled with the clicked date and the resource_id it belongs to.

Drop external row

The External drop task makes it possible to execute a task when a row is dragged onto the scheduler, e.g. a row dragged from a grid. Drag drop functionality can be used in the same way as dragging from one grid to another. More information can be found here.

A task in the model is needed with at least two parameters:

  • drop_date
  • resource_id

The drop_date and the resource_id parameter will automatically be filled with the date and the resource_id of where the row is dropped.

Settings

Timescales and format

The scheduler can show as much timescales as required. In the figure 3 timescales are shown in the blue square; month, week and day timescales. They can be added in the extender properties:

Also the datetime format for each timescale can be provided:

Min and max dates

The scheduler can be limited with a fixed min and max date, or by a dynamic min and max date. By setting this date the user cannot scroll beyond these boundaries.

The dynamic variant uses the current date and time and subtracts or adds the given days. If these dynamic dates are set they overrule the fixed dates. In the example below the user can scroll back two weeks in the past and two weeks forward into the future.

Example:

Global settings

Global settings for the scheduler are:

  • First day of the week
  • Enable worktime (set true to make sure the worktimes table or view is used)
  • Fetch appointments padding days (number of days the scheduler will fetch outside the visible date boundaries)
  • Resources per page (initial number of resources shown)
  • Auto row height (set true to let the scheduler decide the most ideal height for each resource)
  • Fit to size (set true to make the scheduler resize when the entire GUI does)
  • Expand resources (set true to initial expand all resources who have resource children)
  • Enable resources tree context menu (set true to allow a context menu to be shown when right clicking the resources)
  • Enable tooltip (set true to enable tooltips when an appointment is hovered)
  • Resource tooltip column (column in the task table or view which represents the data for the tooltip)
  • HTML in resource tooltip (enable HTML support (limited) for the tooltip on an appointment)
  • Show zoom control (set true to show a zoom control)
  • Remove timescale on zoom out (set true to remove the bottom timescale when zooming out to increase the range of the visible date in the scheduler)
  • Show weekend on workweek view (Show additional weekend days when viewing the workweek view)
  • Active header color (Color of the active timescales)
  • Timecell background color (Background color for all timecells other than selected from the worktimes table or view)

Windows settings

Setting that only apply to the Windows GUI:

  • Base timescale width (width of the bottom timescale, the timescales above will adjust accordingly)
  • Use gradient on appointments (if true a gradient is shown)
  • Show datepicker (true to show a datepicker above the scheduler)
  • Show rowheight checkbox (true to show a checkbox which toggles the rowheight to automatically fit appointments)
  • Extra small base timescale (true to make it possible to zoom out even more, the bottom timescale will become less wide but it takes more performance to draw all timecells)
  • Select first visible appointment (true to scroll the first available appointment in view)
  • Zoom factor (a value of 1 – 11 with 6 as its center to determine where the zoom control will start at)
  • Resource splitter distance (number of pixel to use as width for the resources table)

Web settings

Settings that only apply to the Web GUI:

  • Number of base scales visible (number of timescale parts visible in the smallest timescale)
  • Minimal cell height (the minimal height for a cell to shrink to)
  • Appointment word wrap (if true the task words will be spread over multiple lines)
  • Zoom factor (a value of 1 – 11 with 6 as its center to determine where the zoom control will start at)

Example:

Was this page helpful?