_____

Release 34 Notes 02 October 2022#

Summary#

In this release, we’ve developed the following new features and improvements that let you do the following:

  • Add fatigue factors that let the labor module calculate more accurate labor performance data.

  • Use more operators when setting up attribute mappings or mapping a matrix to a time component.

  • Copy Time Components.

  • More easily filter and drag columns on grid widgets in Pivot Mode.

New Features - Labor Module#

Add Fatigue Factors for more Accurate Labor Performance Data#

You can now add up to 24 fatigue factors so that Rebus applies the right fatigue factor to calculate the appropriate fatigue allowance and capture more accurate labor performance data.

Previously, you could specify only one fatigue factor. This initial fatigue factor is now the Default Fatigue Factor.

_images/eg_added_fatigue_factor.jpg

How Added Fatigue Factors Work#

For each added fatigue factor, add a fatigue range (i.e., the range of hours worked). When an imported transaction is turned into an activity, Rebus applies the right fatigue factor based on the fatigue range to calculate the fatigue allowance.

Here’s an example of how Rebus applies the right fatigue factor based on the fatigue range to calculate the fatigue allowance.

Note

info The fatigue allowance will be calculated only if fatigue is enabled for the activity type.

Sequence

Rebus Processing Notes

1

The PICK activity’s goal time is 2000 seconds.

2

Default Fatigue Factor for the PICK activity type is 25%.

3

Another Fatigue Factor is added:

  • Added Fatigue Factor: 10%

  • Fatigue Range: 1 – 3 hours

4

Labor User’s PICK transaction is imported and carries the following information:

  • Shift Start Time: 8:00:00 AM

  • Min_Stop_Date_Local: 10:00 AM

5

Rebus calculates the fatigue range for the PICK activity:

Fatigue range = PICK’s Min_Stop_Date_Local — Shift Start Time = 10:00 AM – 8:00 AM = 2 hours

6

The fatigue range for the PICK activity (2 hours) falls within the fatigue factor’s fatigue range (i.e., greater than 1 hour and less than 3 hours).

7

Rebus applies the 10% fatigue factor to calculate the fatigue allowance and adds it to the activity’s total goal time.

8

The PICK activity’s total goal time = Fatigue allowance + goal time = (Fatigue Factor * goal time) + goal time = 0.10*2000 + 2000 = 2200 seconds

If a fatigue range for an activity does not fall within the added fatigue factor’s fatigue range, the Default Fatigue Factor will be applied to calculate the activity’s fatigue allowance.

Note

info Fatigue ranges of fatigue factors cannot overlap.

Note

info For essential activities created from the Activity Adjustment Admin screen, the Default Fatigue Factor is applied to calculate the fatigue allowance.

Important

For an added fatigue factor to be applied to calculate a given activity’s fatigue allowance, ensure that a shift is applied to the labor user’s activity record. Otherwise, the Default Fatigue Factor is applied to calculate the fatigue allowance.

Note

info The order of priority for which of a user’s shift is applied to their activity record is the following:

  1. Scheduled shift

  2. Assigned shift

  3. Base shift

Steps#

  1. Open the Rebus menu, and go to Admin Tools > Labor > Activity Configuration Admin.

  2. From the Existing Activity tool panel, find the activity type for which to add another fatigue factor, and select it.

  3. Go to the Fatigue tab.

    Note

    info To do the next step, you should have already enabled Fatigue for the activity type and given it a Default Fatigue Factor.

  4. Add another Fatigue Factor and its Fatigue Range. Follow these steps:

    1. Click ‘Add Fatigue Factor’. The Add Fatigue Factor form appears.

    2. Fill in the fields explained in the table below.

    _images/eg_add_fatigue_factor.jpg

    Field

    What You Enter…

    Fatigue Factor

    The fatigue factor’s percentage.

    Fatigue Range

    The range of hours worked.

    1. Click ‘Done’.

  5. Click ‘Update’. You’ve added a Fatigue Factor with its Fatigue Range.

Travel Time Matrix Improvements#

The travel time matrix functionality has been improved in the following ways:

More Operators for Attribute Mappings and Time Components#

When mapping an attribute mapping to an activity group or a matrix to a time component, you can now use the following operators:

Operator

What it Means…

=

Matches if AUX field value equals vector value.

!=

Matches if AUX field value does not equal vector value.

In

Effectively works the same as ‘=’.

Not In

Effectively works the same as ‘!=’.

Like

Matches if there’s any text in the AUX field value that’s the same as the Vector value.

Not Like

Matches if there’s no text in the AUX field value that’s the same as the Vector value.

<

Matches if the Vector field value is less than the AUX field value.

<=

Matches if the Vector field value is less than or equal to the AUX field value.

>

Matches if the Vector field value is greater than the AUX field value.

>=

Matches if the Vector field value is greater than or equal to the AUX field value.

These new operators let you build more complex mappings that account for different situations. For example, if you want to create a mapping for any AUX value that has the text ‘DOCK’ in it (e.g., DOCK1, DOCK2, DOCK_SOUTH etc), you just have to create a single mapping using the LIKE operator to cover all possibilities. Previously, you would have had to create a mapping for each possible value.

Previously, equality (=) was the only relationship available for setting up an attribute mapping or adding a time component. There was no ability to select any other relationship.

An attribute mapping specifies not only the attribute matrix, but also the values used to look up a particular attribute in an attribute matrix. An attribute matrix’s rows resolve to strings (a.k.a. ‘attributes’) instead of time values. It works in the same way as a numeric matrix, except that it is used to look up a location.

For each vector in the attribute matrix, you now select an auxiliary field from the imported transactions and one of the operators. The auxiliary field values and the relationships specified by the operators are used to look up a matching row in the attribute matrix. The attribute from the matching row (e.g., ‘ZONE2’) is assigned as the value of the auxiliary field selected in Main Aux.

Similarly, when mapping a matrix to a time component, you now select an auxiliary field from the imported transactions and one of the operators. The auxiliary field values and the relationships specified by the operators are used to look up a matching row in a numeric matrix, which resolves to a time value.

The Rebus Labor module’s matrix configuration functionality can calculate an extra time value for each activity. Usually, this functionality is used to calculate the expected travel time of the labor user performing the activity.

Note on Data Types#

An AUX value is stored as a string even when it’s a number (e.g., 45 is stored as “45” in the database). When the AUX value is a number in string format, Rebus converts it to a number for the purposes of finding matches. For the comparison operators (>,>=,<=,<), however, if the AUX value is not a number in string format (for example, “LOCATION”), then the conversion will fail and Rebus will quarantine the transaction. When looking for matches with AUX values, Rebus does not consider case. E.g., the string “DOCK” will be considered a match with “dock” or “Dock”.

_images/eg_modify_time_component.jpg

Copying Time Component Mapping to another Activity Type#

You can now copy time components from one activity type to another. A ‘Copy Time Component’ button has been added to the Time Components tab of the Activity Configuration Admin screen. This functionality allows you to map time components more easily to activity types.

Copying validations#

When copying time components, you are automatically prevented from doing the following:

  • Overwriting an existing time component mapping in the target activity type. When copying a time component, you specify time component number (either 1,2, or 3).

  • Adding to an activity type more than the maximum number of mappings to time components.

  • Copying to the same activity type (so that no duplicates are created) or to a sign-on/sign-off activity (which are not configured for time components).

  1. Go to the Activity Configuration Admin screen. Open the Rebus menu, and go to Admin Tools -> Labor -> Activity Configuration Admin.

  2. From the Existing Activity tool panel, select the System, Facility ID, and find the activity type. You’re at the activity type’s configuration screen.

  3. Click the Time Components tab and locate the time component that you want to copy.

  4. Click the ‘Copy Time Component’ button of the time component that you want to copy. The Copy Time Component to another Activity form appears.

    _images/eg_copy_time_component.jpg
  5. In the form, select the activity type to which you want to copy the time component and select the time component number (1-3).

  6. Click ‘Done’. The time component is copied to its target activity type.

A time component is a subset of the time it takes to complete an activity. Each time component is added to calculate a user’s expected time to complete an activity. Time components are added to activity types in the Activity Configuration screen. A time component maps an activity type to one or more matrices.

Alternate User ID now used in Labor Processing#

Rebus now refers to a labor user’s alternate user id when processing labor transactions. When a labor transaction is imported into Rebus, Rebus now takes the transaction’s user ID and follows the logic below to find a matching labor user record.

  1. First, try to find a match with an alternate user ID. If match found with labor user record, continue with processing, otherwise,

  2. Try to find a match with a user ID. If match found with labor user record, continue with processing, otherwise,

  3. Quarantine transaction.

New validations for Alternate User ID#

A new alternate user ID cannot be the same as an already existing alternate user ID or an existing user ID.

Alternate User IDs are set up on the Labor User Admin screen.

More descriptive error handling for Invalid Time Components#

Rather than showing a generic error message when a Time Component fails, the Transaction Error Review screen now shows which Time Component failed and its Component Name.

_images/eg_error_time_components.jpg

Other Improvements#

The Grid Tool Panel is Now a Collapsible Sidebar#

The Tool Panel has been replaced with a collapsible sidebar, which now comprises two tool panels:

  • The Columns tool panel:

    _images/column_tool_panel.jpg
  • The Filters tool panel: it lets you change the grid’s filters all in one place, and without having to open a column menu:

    _images/filters_tool_panel.jpg

Previously, the Tool Panel was accessible only through a column’s menu:

_images/old_tool_panel.jpg

Dragging Column Names Across the Tool Panel is Now More Intuitive#

When grouping data, or creating a pivot table using Pivot Mode, you can now click a grid icon grid icon next to each column name to drag and drop that column into the Row Groups, Values, and/or Column Label sections of the Tool Panel.

Here’s an example of dragging the ORDER_TYPE column name into the Row Groups section.

_images/eg_dragging_columns.jpg

Previously, there was just a gap between the column name and the checkbox, which is what you had to click to drag a column.

New Grid Chart Properties for Sidebar#

For the Grid chart type, there are new properties for customizing appearance and behavior.

For more details on these new properties and what they let you do, see below.

Drag Columns from the Sidebar to the Grid#

We’ve added the property allowDragFromColumnsToolPanel, which allows dragging a column directly from the sidebar and placing it in any desired position on the grid. For example, you could drag a column and place it between two others already displayed on the widget.

Configurable Sidebar with New Properties#

The new sidebar is configurable using the grid property sideBar and its sub-properties:

sideBar: A property displayed by default in the Chart Properties, and that has options that let you configure the sidebar’s appearance and behavior.

position: Indicates the position of the sidebar on the grid—left or right.

hiddenByDefault: Indicates if the sidebar should be hidden by default.

toolPanel

labelDefault: The name displayed on the side labels that compose the sidebar: Columns and Filters labels. You can enter a different name for one or both labels. For example, you might want to enter the Spanish/French translation of these labels.

toolPanelParam

suppressSyncLayoutWithGrid: If selected, tool panels won’t be kept in sync with the column order in the grid.

These properties offer more options as to how you’d like to setup your sidebar, as opposed to the old property showToolPanel, which only let you display by default the tool panel on a Grid.

Updates to Grid Chart Properties#

The below table lists the properties that have been updated with new terms, and a description of each updated property.

Old Property

Updated property

Description

columDef > cellStyle > background-color

columDef > cellStyle > backgroundColor

Lets you choose a custom color using HEX and RGB codes. Previously, there was drop-down list of limited colors to choose from.

columDef > cellStyle > text-align

columDef > cellStyle > textAlign

Specifies the horizontal alignment of the cell’s text of a column.

columDef > cellStyle > text-family

columDef > cellStyle > fontFamily

Specifies the font family for the cell’s text of a column.

columDef > cellStyle > font-size

columDef > cellStyle > fontSize

Specifies the font size for the cell of a column.

Removed Grid Chart Properties#

The following properties have been deprecated and have now been removed and replaced with updated properties. The table also describes each updated property.

The update is done seamlessly to all your Grid widgets.

Deprecated Property

Updated property

Description

showToolPanel

sideBar

See Configurable Sidebar with New Properties

columnDef > suppressResize

defaultColDef > resizable

Whether the columns should be resizable.

enableColResize

defaultColDef > resizable

Whether the columns should be resizable.

defaultColDef > suppressResize

defaultColDef > resizable

Whether the columns should be resizable.

enableSorting

defaultColDef > sortable

Whether the columns should be sortable.

defaultColDef > suppressSorting

defaultColDef > sortable

Whether the columns should be sortable.

columnDef > suppressSorting

defaultColDef > sortable

Whether the columns should be sortable.

floatingFilter

defaultColDef > floatingFilter

Whether floating filters should be displayed and enabled for the columns.

enableFilter

defaultColDef > filter

Whether filters should be enabled.

columnDef > suppressToolPanel

columnDef > suppressColumnsToolPanel

If selected, disables the ability to move columns in the grid to change their order.

groupRowInnerRenderer

groupRowRendererParam > innerRendererParamsWidgetFunction

Specifies a function that overrides the rendering of groups but does not affect the outside properties of the renderer (expand, collapse, etc.).