Last modified on 18 August 2026, at 13:57

MRO (Plugin)

Revision as of 13:57, 18 August 2026 by MHM (Talk | contribs) (Interface Task)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

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.

IC Attention.pngA 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
IC Hint square.pngFor 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

IC Hint square.pngFor 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:

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