The MRO plugin provides a set of UBIK® objects for representing and documenting maintenance, repair and operations work. The MRO features are available in the supported Mobile and UBIK® WinX clients.
This page is the main documentation for the MRO object model and its task types. Common client behaviour, such as status indicators, locking, and the general evaluation of sequential and grouped tasks, is documented in MRO Objects (Client).
| Page | Scope |
|---|---|
| MRO (Plugin) | MRO concepts, task types, task-specific behaviour, and relevant technical properties |
| MRO Objects (Client) | Common client presentation, status indicators, locking, and behaviour shared by multiple MRO objects |
Contents
- 1 Basic Features
- 2 MRO Objects
- 3 MRO Task Types
- 3.1 Blinding Task
- 3.2 Calculation Task
- 3.3 Check Task
- 3.4 Commissioning Task
- 3.5 Inspection Task
- 3.6 Interface Task
- 3.7 Joint Task
- 3.8 Measurement Task
- 3.9 Numeric Task
- 3.10 Pick List Task
- 3.11 Picture Task
- 3.12 Progress Task
- 3.13 Signature Task
- 3.14 Supervisor Check Task
- 3.15 Switch End Task
- 3.16 Switch Start Task
- 3.17 Text Task
- 4 Supervisor Base Type
- 5 Procedure Task Variants and Workflow Execution
- 6 Supporting File Documents
- 7 See also
Basic Features
Objects classified as MRO objects generally provide a technical and organisational status as well as an overall work progress based on their underlying data branch.
Technical Status
For detailed information, see Technical Status.
Organisational Status
For detailed information, see Organisational Status.
Work Progress
For detailed information, see Work Progress.
MRO Objects
MRO uses Task Owners, Work Packages, Tasks, and Procedure Workpackages to represent maintenance workflows.
Task Owner
A Task Owner is an object with an underlying structure of work to be performed. It can contain other Task Owners or Work Packages. Their technical status, organisational status, and work progress are accumulated and reported to the Task Owner.
Work Package
A Work Package collects and summarizes other Work Packages or Tasks. A Work Package can be confirmed when all associated Tasks have reached the required progress and all subordinate Work Packages have been confirmed.
For Work Package presentation and confirmation in the clients, see Work Package.
Task
A Task reports work progress to its owning Work Package. The available task types provide different input, validation, or automatic workflow behaviour.
MRO task values must be validated for work progress to be calculated. A MetaAttribute providing a validation timestamp must therefore be attached to the relevant MetaProperty.
| A task value property has to use Attributes so that its value can be validated. Otherwise, work progress cannot be calculated. |
All user-editable MRO task types can be set to Not Applicable. In the clients, a completed user-editable task can be reset by selecting Not Applicable twice. General client behaviour is documented in Task.
Procedure Workpackage
Technical object name: PROCEDURE_WORKPACKAGE
A Procedure Workpackage is a specialized Work Package for structured workflows. Its structure is defined in JSON using a workflow editor and can contain Tasks as well as subordinate Procedure Workpackages. Depending on its state, the corresponding objects are created or updated.
Procedure Workpackages can use sequential execution, grouped Tasks, branching, calculations, and references to linked data. Their workflows support online and offline use. Steps that require data exchange wait until connectivity is available.
Properties
| Name | Data type | Description |
|---|---|---|
| PROCEDURE_STATUS | Integer | Current state: Draft = 10, ReadyToUse = 20, Published = 30, Open = 40, Executing = 50, Completed = 60, Approved = 70, Rejected = 80 |
| JSON | String | JSON representation of the Procedure Workpackage |
| ISTEMPLATE | Boolean | Indicates whether the Procedure Workpackage is a template |
MRO Task Types
The following task types are available in MRO. The technical object names are included to make the task types discoverable through the wiki search.
| Task type | Technical object name | Purpose |
|---|---|---|
| Blinding Task | BLINDING_TASK | Documents a blinding or deblinding operation |
| Calculation Task | CALCULATION_TASK | Evaluates an expression and writes its result to a target property |
| Check Task | CHECK_TASK | Confirms a Boolean task using a checkbox |
| Commissioning Task | COMMISSIONING_TASK | Represents a task in an MRO commissioning workflow |
| Inspection Task | INSPECTION_TASK | Records a Boolean inspection result with configurable labels |
| Interface Task | INTERFACE_TASK | Waits for completion information from another software system |
| Joint Task | JOINT_TASK | Documents the state of a joint location |
| Measurement Task | MROCLS_MRO_MEASUREMENT_TASK | Records a measured Double value |
| Numeric Task | NUMERIC_TASK | Records a numeric value and evaluates it against a configured range |
| Pick List Task | PICKLIST_TASK | Selects one integer value from an instance-specific Active List |
| Picture Task | PICTURE_TASK | Requires at least one child document containing a valid file |
| Progress Task | PROGRESS_TASK | Reports progress between 0% and 100% |
| Signature Task | SIGNATURE_TASK | Captures a handwritten signature |
| Supervisor Check Task | SUPERVISOR_CHECK_TASK | Applies the four-eyes principle to a Check Task |
| Switch End Task | SWITCH_END_TASK | Rejoins the branches of a Procedure workflow |
| Switch Start Task | SWITCH_START_TASK | Selects a Procedure branch by evaluating a Boolean expression |
| Text Task | TEXT_TASK | Records free-form text |
| For the available Procedure variants and their workflow execution, see Procedure Tasks. |
Blinding Task
Technical object name: BLINDING_TASK
Classification: MROCLS BLINDINGTASK
A Blinding Task documents either a blinding or deblinding operation at a linked blinding location. The configured operation type determines the state that must be reported to complete the task.
Relevant properties
| Name | Description |
|---|---|
| BLINDING_TYPE | Configured operation type: Blinding or DeBlinding |
| LK_BLINDING_LOCATION | Link to the associated blinding location |
| LK_PREVIOUS_TASK | Link to the preceding Blinding Task |
| LOCKED | Prevents the task from being edited |
| VALUE | Reported blinding state |
The task is complete only when VALUE matches the configured BLINDING_TYPE.
Calculation Task
Technical object name: CALCULATION_TASK
Classification: MROCLS CALCULATION TASK
A Calculation Task automatically evaluates a predefined expression on the client and writes the result to a configured property on its owner. No user input is required.
Properties
| Name | Data type | Description |
|---|---|---|
| EXPRESSION | String | Expression evaluated by the client |
| VALUE | Integer | Evaluation state: Undefined = 0, Pending = 10, Finished = 20, Error = 30 |
| TARGET_PROPERTY_NAME | String | Name of the target property on the owner |
| TARGET_PROPERTY_TYPE | Integer | Target type: Undefined = 0, Boolean = 1, Integer = 3, Double = 4 |
The task is automatically finished after successful evaluation. The clients display an indicator for a successful evaluation or an evaluation error. A Pending state does not receive an additional indicator.
See also Procedure Task Variants and Workflow Execution.
Check Task
Technical object name: CHECK_TASK
Classification: MROCLS MRO CHECK TASK
A Check Task is a simple Boolean task represented by a checkbox. Clicking the checkbox sets its value and completes the task. It can alternatively be completed using Not Applicable.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Boolean | Task value and completion |
Commissioning Task
Technical object name: COMMISSIONING_TASK
Classification: MROCLS COMMISSIONINGCHECK
A Commissioning Task is a specialized task type used in MRO commissioning workflows.
Relevant property
| Name | Data type | Description |
|---|---|---|
| NOTAPPLICABLE | Boolean | Not Applicable state |
Inspection Task
Technical object name: INSPECTION_TASK
Classification: MROCLS MRO INSPECTION TASK
An Inspection Task captures a Boolean inspection result. The client presents a positive and a negative option as well as Not Applicable. Selecting an option completes the task.
The labels for the positive and negative outcomes can be configured. Selecting the negative outcome displays the configured false label.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Boolean | Selected inspection result |
| LABEL_TRUE | String | Label for the positive outcome |
| LABEL_FALSE | String | Label for the negative outcome |
Interface Task
Technical object name: INTERFACE_TASK
Classification: MROCLS MRO CHECK TASK
An Interface Task cannot be completed directly on the client and typically depends on an external software system to provide its completion value. This is common for long-running asynchronous processes, such as waiting for analysis results from a laboratory The task is complete when its Boolean VALUE becomes true. If the client is offline, the task waits until connectivity and synchronization are available again.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Boolean | Task completion supplied by the external software system |
Joint Task
Technical object name: JOINT_TASK
Classification: MROCLS JOINTTASK
A Joint Task documents the state of a linked joint location. The user selects one of the available Joint States.
Relevant properties
| Name | Description |
|---|---|
| LK_JOINT_LOCATION | Link to the associated joint location |
| VALUE | Selected Joint State |
The available states are:
- Closed
- Disconnected
- Open
- Planned
- Reconnected
- Torqued
- Undefined
- Verified
The Joint Task is complete when its state is Planned or Closed.
Measurement Task
Technical classification name: MROCLS_MRO_MEASUREMENT_TASK
Classification: MROCLS MRO MEASUREMENT TASK
A Measurement Task records a measured Double value, for example a value read from a pressure gauge. Selecting the displayed value opens an editor. If no value has been entered, the editor initially displays an empty value. Entering a value or selecting Not Applicable completes the task.
An optional secondary value indicator can display a previously recorded value. Its behaviour has to be configured separately.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Double | Currently recorded measurement |
| PREVIOUS_VALUE | Double | Previously recorded measurement |
Numeric Task
Technical object name: NUMERIC_TASK
Classification: MROCLS MRO NUMERIC TASK
A Numeric Task records a Double value, for example a value read from a temperature sensor. Entering a value or selecting Not Applicable completes the task.
The value is compared against a configured acceptable range that cannot be edited on the client. A value outside the range produces visual feedback and sets the technical status to indicate an issue. An invalid configured range, such as a minimum greater than the maximum, also produces an issue when a value is entered.
A value unit can be configured for an individual task. When present, it overrides the standard unit configured on the MetaProperty.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Double | Recorded numeric value |
| VALUE_UNIT | String | Instance-specific value unit |
Pick List Task
Technical object name: PICKLIST_TASK
Classification: MROCLS PICK LIST TASK
A Pick List Task allows the user to select one value from an Active List configured on the task instance. It behaves similarly to a standard Integer Task with a Selective List, but the selectable values are supplied by the Active List rather than being defined globally.
Every list item has an Integer value. Selecting an item or selecting Not Applicable completes the task.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Integer | Value of the selected Active List item |
Picture Task
Technical object name: PICTURE_TASK
Classification: MROCLS PICTURE TASK
A Picture Task is a Boolean task that can only be finished when it has at least one child document containing a valid file. Multiple child documents can be attached. Although pictures are the most common files, the child document can contain another file type.
The clients display a file or photo button next to the task checkbox. The task cannot be completed through the checkbox until the file requirement is satisfied. Selecting Not Applicable is always possible and bypasses the child-document requirement.
When the user attempts to finish the task while online, the client may first synchronize the task's child objects and download the files of its child documents. During synchronization, the checkbox is replaced by a wait indicator.
- If no child document or no local file is available, the task remains unfinished and the user is informed.
- If at least one child document with a valid local file is available, the task is finished and the file or photo button is disabled.
Child-count information can be configured but is not required. WinX can display the child documents in an expander. This is not shown by default on Mobile due to the available screen size, but it can be customized using Show NextLevel Children/Documents.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Boolean | Task completion |
Progress Task
Technical object name: PROGRESS_TASK
Classification: MROCLS MRO PROGRESS TASK
A Progress Task reports progress between 0% and 100%. The reported value contributes to the progress of the owning Work Package. Values below 100% represent partial progress; the task is finished only when the reported progress reaches 100%. It can alternatively be completed using Not Applicable.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Double | Currently reported progress |
| PREVIOUS_VALUE | Double | Previously reported progress |
An alternative editor is available for Progress Tasks.
Signature Task
Technical object name: SIGNATURE_TASK
Classification: MROCLS SIGNATURE TASK
A Signature Task is completed by capturing a handwritten signature. Selecting the signature editor opens an in-app dialog in which the user can sign. Confirming the signature saves it and automatically completes the task.
When signing while online, the server resolves and displays the signee and generates the validation timestamp. When signing offline, the signee is resolved and displayed once the client is online again. If the complete signee or validation timestamp cannot be displayed in the editor field, selecting the field opens a popup with the complete information.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Signature | Captured signature |
Supervisor Check Task
Technical object name: SUPERVISOR_CHECK_TASK
Classification: MROCLS MRO SUPERVISOR TASK
A Supervisor Check Task applies the four-eyes principle to a Boolean Check Task on one device. The worker hands the device to a supervisor. The supervisor scans an NFC tag and enters the supervisor PIN. After successful authentication, the checkbox is enabled and must still be selected to finish the task.
Selecting Not Applicable does not require supervisor authentication.
Successful supervisor authentication removes only the supervisor-related lock. The task can remain locked for another reason, such as sequential dependencies or user rights. If an incorrect PIN is entered three times, authentication is cancelled and the NFC tag has to be scanned again. A setting controls which tag information is used.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Boolean | Check Task completion |
| SUPERVISOR | Guid | Authenticated supervisor |
| PERMISSION | String | Required supervisor permission |
Switch End Task
Technical object name: SWITCH_END_TASK
Classification: MROCLS SWITCH END TASK
A Switch End Task marks the point at which the two branches created by a Switch Start Task merge again. It is linked to exactly one corresponding Switch Start Task. It is not shown to the user and completes automatically after the selected branch has finished, allowing the common Procedure workflow to continue.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | Boolean | Task completion |
| LK_SWITCH_START_TASK | Guid | Link to the corresponding Switch Start Task |
See also Procedure Task Variants and Workflow Execution.
Switch Start Task
Technical object name: SWITCH_START_TASK
Classification: MROCLS SWITCH START TASK
A Switch Start Task is a sequential workflow-control task used in a Procedure Workpackage. It automatically evaluates a Boolean expression on the client and selects either the true or false branch. Each branch represents a different path of Tasks and must lead to a corresponding Switch End Task.
Properties
| Name | Data type | Description |
|---|---|---|
| EXPRESSION | String | Expression evaluated by the client |
| VALUE | Integer | Evaluation state: Undefined = 0, Pending = 10, Finished = 20, Error = 30 |
| BRANCH_TRUE | Guid | Link to the Task or Task Owner that starts the true branch |
| BRANCH_FALSE | Guid | Link to the Task or Task Owner that starts the false branch |
| DISPLAYSTRING_TRUE | String | Display string for a true result |
| DISPLAYSTRING_FALSE | String | Display string for a false result |
| EVALUATION_RESULT | Boolean | Result of the evaluated expression |
After evaluation, only the selected branch is executed. The other branch remains hidden and its Procedure Tasks are set to Not Applicable.
See also Procedure Task Variants and Workflow Execution.
Text Task
Technical object name: TEXT_TASK
Classification: MROCLS TEXT TASK
A Text Task allows the user to enter free-form text. Entering a value or selecting Not Applicable completes the task.
Properties
| Name | Data type | Description |
|---|---|---|
| VALUE | String | Entered text |
Supervisor Base Type
Technical object name: SUPERVISOR_TASK
Classification: MROCLS MRO SUPERVISOR TASK
Supervisor Task is a base type that provides supervisor authentication behaviour. It is not used as a standalone user task. The concrete task type using this behaviour is Supervisor Check Task.
Procedure Task Variants and Workflow Execution
| For the complete list of base task types and their task-specific behaviour, see MRO Task Types. |
Procedure variants are specialized versions of task types for use within Procedure Workpackages. They retain the behaviour of their corresponding task type and additionally implement the Sequential Task and Grouped Task classifications.
Procedure variants are available for:
- Calculation Task
- Check Task
- Inspection Task
- Interface Task
- Numeric Task
- Pick List Task
- Picture Task
- Signature Task
- Supervisor Check Task
- Text Task
Switch Start Tasks, Switch End Tasks, and Calculation Tasks provide automatic workflow-control behaviour in a Procedure Workpackage.
For automatic Calculation Tasks and Switch Start Tasks, the clients display an evaluation indicator:
- Finished: The Task was automatically evaluated successfully.
- Error: The Task was evaluated but resulted in an error.
- Pending: The Task has not yet been evaluated. No additional indicator is displayed for this state.
When a predecessor Switch Start Task has not yet finished, its follow-up Procedure Tasks are hidden because the relevant branch is not yet known. After evaluation, the selected branch becomes visible. The other branch remains hidden, is not executed, and its Procedure Tasks are set to Not Applicable.
For example, several predecessor Numeric Tasks can record temperatures from different parts of an equipment. A subsequent Calculation Task can calculate their average. A Switch Start Task can then select a branch based on whether the average exceeds a configured temperature. One branch can contain a Task for activating a cooling mechanism, while the other branch can lead directly to the Switch End Task or contain further Switch Tasks.
Procedure Tasks are intended to execute automatically when their predecessors are finished. However, the completion of the predecessor has to be triggered by a user. If a predecessor becomes finished only because of a server update, the follow-up Procedure workflow is not triggered. This prevents a workflow from executing in the name of users who did not initiate or observe the completion.
The general online and offline evaluation rules for sequential and grouped Tasks are documented in Sequential Task and Grouped Task.
Supporting File Documents
Procedure JSON File Document
Technical object name: FILEDOCUMENT_MRO_JSON
This File Document stores the JSON definition of a Procedure Workpackage.
| Name | Data type | Description |
|---|---|---|
| LK_PROCEDURE_WORKPACKAGE | Guid | Link to the associated Procedure Workpackage |
Picture Task File Document
Technical object name: FILEDOCUMENT_MRO_PICTURE_TASK
This is a dedicated File Document linked to a Picture Task. A Picture Task can also use another child-document type, provided that the child document contains a valid file.
| Name | Data type | Description |
|---|---|---|
| LK_PICTURE_TASK | Guid | Link to the associated Picture Task |
See also
- MRO Objects (Client)
- MROCLS MRO TASKOWNER (Classification)
- MROCLS MRO WORKPACKAGE (Classification)
- MROCLS MRO TASK (Classification)
- MROCLS MRO PROGRESS TASK (Classification)
- MROCLS MRO MEASUREMENT TASK (Classification)
- MROCLS MRO CHECK TASK (Classification)
- MROCLS MRO INSPECTION TASK (Classification)
- MROCLS SEQUENTIALTASK (Classification)
- MROCLS GROUPEDTASK (Classification)
- MROCLS PROCEDURE (Classification)
- MROCLS SWITCH START TASK (Classification)
- MROCLS SWITCH END TASK (Classification)
- MROCLS CALCULATION TASK (Classification)
- MROCLS PICK LIST TASK (Classification)
- MROCLS PICTURE TASK (Classification)
- MROCLS BLINDINGTASK (Classification)
- MROCLS COMMISSIONINGCHECK (Classification)
- MROCLS JOINTTASK (Classification)
- MROCLS SIGNATURE TASK (Classification)
- MROCLS TEXT TASK (Classification)