--- alias: tutorials-workspaces-manage-resource-maintenance description: "Build a maintenance work queue with Begin, Perform, and Cancel actions, then record readings, complete a Checklist, and accept a Maintenance Activity Order." --- # Manage Resource Maintenance from a Workspace ## Overview In the [[tutorials-workspaces-view-assigned-equipment|Operator Workspace]] scenario, the operator processed `Chocolate Chips` on `Baker-01`, reviewed upcoming maintenance, and set the **Resource** to `Standby` for the exercise. This scenario continues that **Resource** handoff: an operations coordinator takes responsibility for maintenance on `Baker-01`, records sensor readings, and completes the maintenance instructions. In this exercise, you will: - Prepare a **Maintenance Activity Order** (MAO), its **Data Collection**, and its **Checklist**. - Build a **Workspace** that automatically lists `Released` and `In Progress` **MAOs** assigned to `Maintenance Technician`. - Give one **User** access to the maintenance **Workspace** using a shared **Workgroup** context. - As the operations coordinator, select an order from the maintenance work queue and begin or perform it. - Record readings, complete the **Checklist**, verify the recorded evidence, and accept the **MAO**. ## Before You Start Complete [[tutorials-workspaces-workgroups-prerequisites]], including the working model and Maintenance Technician Security Features. Ensure you have: - The production and quality **Workspaces** and shared **Workgroup** context from the [[tutorials-workspaces-view-assigned-equipment|Operator Workspace]] and [[tutorials-workspaces-hold-release-materials|Quality Workspace]] scenarios. - A **Resource** ready for maintenance following the [[tutorials-workspaces-view-assigned-equipment|Operator Workspace]] scenario. - Object types and measurement units available for the maintenance **Checklist**, **Data Collection**, and **Maintenance Plan**. ## Sequence of Steps ### 1. Prepare the Maintenance Checklist and Readings Use your administrator account for steps 1 through 4. Create the instructions and measurements before associating them with the **MAO**. 1. Create a **Checklist** named, for example, `Baker Sensor Verification`, with **Scope** set to **Maintenance Management**. Confirm that its **Execution Mode** is **Long Running**. ![Screenshot showing the Baker Sensor Verification Checklist settings.](../images/scenario03_checklist01.png) 2. Add the following items in order. For each, set **Activity Type** to **Manual Task**, **Tracking Type** to **End**, and leave **Optional**, **Floating**, and **Executed Out of Order** disabled. | **Item** | **Instructions** | | --- | --- | | `Confirm Equipment` | Confirm that the maintenance order applies to Baker-01 and review the activity instructions. | | `Review Sensor Readings` | Review the reference and sensor temperatures recorded in the Data Collection for this order. | | `Record Maintenance Outcome` | Enter a summary of the training inspection and confirm that the readings have been recorded. | ![Screenshot showing the three Checklist items and their instructions.](../images/scenario03_checklist02.png) 3. On the **Parameters** tab of the last item, add a mandatory **Parameter** named `Work Summary`, with **Source** set to **Free** and **Type** set to **String**. Save the **Checklist**. ![Screenshot showing the mandatory Work Summary parameter.](../images/scenario03_checklist03.png) 4. Create two **Parameters**, named `Reference Temperature` and `Sensor Temperature`, with **Scope** set to **EDC_SPC**, **Data Type** set to **Decimal**, and the same temperature units (`ºC`). ![Screenshot showing the Reference Temperature Parameter settings.](../images/scenario03_parameter01.png) 5. Create a **Data Collection** named, for example, `Baker Sensor Readings`, using an available **Type**, **Scope** set to **General**, and **User Interface** set to **Classic**. ![Screenshot showing the Baker Sensor Readings Data Collection settings.](../images/scenario03_datacollection01.png) 6. Add both **Parameters**, with **Sample Type** set to **Free text** and **Calculation** set to **None**. Set the minimum and maximum sample counts to `1`, and the minimum and maximum readings per sample to `1`. Set instrument capture behavior to **None** for manual entry. ![Screenshot showing the temperature Parameters and instrument capture settings.](../images/scenario03_datacollection02.png) ![Screenshot showing the sample and reading counts set to one.](../images/scenario03_datacollection03.png) 7. Save the configuration, complete the **Change Set** approval process, and make the **Checklist** and **Data Collection** Effective. === "Checklist" ![Screenshot showing the Effective Baker Sensor Verification Checklist with three mandatory items and the Work Summary parameter.](../images/scenario03_checklist04_effective.png) === "Data Collection" ![Screenshot showing the reference and sensor temperature Parameters with one sample and one reading configured.](../images/scenario03_datacollection04_effective.png) The **Checklist** records completion of the instructions and the work summary. The **Data Collection** stores the temperature readings separately on the maintenance order. !!! info For more information, see: - [[user-guide-create-checklist]]. - [[user-guide-create-parameter]]. - [[create-data-collection]]. - [[tutorials-howto-seteffectiveaversionedentity]]. ### 2. Create and Associate the Maintenance Plan #### 2.1. Create the Maintenance Plan and Activity 1. Create a **Maintenance Plan** named `Baker Sensor Check` with **Scope** set to **Maintenance Management**, and select **Create**. ![Screenshot showing the Baker Sensor Check Maintenance Plan settings.](../images/scenario03_maintenance_plan01.png) 2. Add an activity named `Verify Temperature Sensor` with these settings: | **Setting** | **Value** | | --- | --- | | **Type** | Standard | | **Schedule Type** | Adhoc | | **Expected Duration** | 1 | | **Execution Role** | `Maintenance Technician` | | **Approval Mode** | Auto Approval | | **Maintenance Type** | Inspection | | **Release Mode** | Auto Release | | **Acceptance Mode** | Manual Acceptance | | **Execution** | **Manual Begin and Complete** | | **Checklist** | `Baker Sensor Verification` | | **Data Collection** | `Baker Sensor Readings` | === "General Data" ![Screenshot showing the General Data settings for the Verify Temperature Sensor activity.](../images/scenario03_maintenance_plan02.png) === "Execution" ![Screenshot showing the Execution settings for the maintenance activity, with Baker Sensor Verification and Baker Sensor Readings assigned.](../images/scenario03_maintenance_plan03.png) Save the activity, request approval, and set the **Maintenance Plan** to Effective. #### 2.2. Associate the Plan with a Resource 1. On the **Maintenance Plan** page, select **Associate with** > **Resource**. Select `Baker-01` and select **Next**. ![Screenshot showing Baker-01 selected for the Maintenance Plan association.](../images/scenario03_maintenance_plan04.png) 2. In **Activities**, select `Baker-01` and verify that `Verify Temperature Sensor` is listed as an Adhoc activity. Select **Next**. ![Screenshot showing Verify Temperature Sensor selected for Baker-01.](../images/scenario03_maintenance_plan05.png) 3. In **General Data**, set `Maintenance Technician` as the **Owner Role**, then select **Associate**. ![Screenshot showing Maintenance Technician selected as the Owner Role.](../images/scenario03_maintenance_plan06.png) 4. Confirm that the **Maintenance Plan Instance** was created successfully. Open it and verify that its **Resource** is `Baker-01` and its **Owner Role** is `Maintenance Technician`. You will request the Adhoc activity in step 5. ![Screenshot showing successful creation of the Maintenance Plan Instance.](../images/scenario03_maintenance_plan07.png) ![Screenshot showing the Maintenance Plan Instance for Baker-01.](../images/scenario03_maintenance_plan08.png) !!! info For more information, see: - [[user-guide-create-maintenance-plan]]. - [[user-guide-associate-with-resource]]. ### 3. Build the Maintenance Workspace The **Workspace** displays a **Query** of maintenance orders so the technician can see the **Resource**, activity, and schedule without selecting a **Resource** first. **Begin**, **Perform**, and **Cancel** use the selected order. **Perform** opens the standard maintenance execution page for the **Data Collection** and **Checklist**. #### 3.1. Create the Maintenance Work Query 1. Open **Administration** > **Queries** and select **Create**. 2. Enter `ResourcesWithActionableMaintenanceOrders` as the **Name**. 3. Set **Entity Type** to **Maintenance Activity Order**. 4. Select **Create**. 5. Expand **Filters** and select **Add Filtering Field**. 6. Select `ExecutionState`, set the operator to **in**, and select `Released` and `In Progress`. 7. Add a second filter for `OwnerRole` directly on the **MAO**. 8. Set its operator to **is equal to** and select `Maintenance Technician`. 9. Join the filters with **AND**. 10. Save and execute the **Query**. ![Screenshot showing the created Query](../images/scenario03_query.png) #### 3.2. Add the Query Widget 1. Create a **UI Page** named `Maintenance & Reliability`, with **UI Type** set to **Page**, **Scope** set to **Workspace**, and **Layout** set to **Desktop (1920 x 1080)**. 2. Drag a **Query** widget onto the canvas. 3. Open its settings and name it `Maintenance Work Queue` on **General**. 4. On **Query Setup**, select `ResourcesWithActionableMaintenanceOrders` as the **Query**. 5. Set **Selection mode** to **Single**. 6. Select **Save and Close**. 7. Resize the widget to make the order, activity, **Resource**, state, and schedule readable. #### 3.3. Add the Maintenance Actions 1. Add three **Button** widgets beside or below the queue. 2. Configure their **General** and **Setup** settings using the table below. | **Widget Name** | **Text** | **Action Type** | **System Action** | | --- | --- | --- | --- | | `Begin Maintenance` | Begin | System Action | `MaintenanceActivityOrder.Begin` | | `Perform Maintenance` | Perform | System Action | `MaintenanceActivityOrder.Perform` | | `Cancel Maintenance` | Cancel | System Action | `MaintenanceActivityOrder.Cancel` | ![Screenshot showing the Begin button configured with the MaintenanceActivityOrder.Begin system action.](../images/scenario03-begin-button-setup.png) 3. Leave **Action Button** unassigned. 6. Select **Save and Close** for each widget. 7. Open the **Links** diagram, drag the queue and all three Button blocks to the canvas. 8. Connect **Maintenance Work Queue** > **Changed Selection** to **Begin Maintenance** > **order**. 9. Open this connection's converter settings and add **Load Entity**. 10. Set **Levels to load: (Static)** to `1` and save the connection. 11. Repeat the connection and converter configuration from **Changed Selection** to the singular **order** input on **Perform Maintenance** and **Cancel Maintenance**. 12. Keep the default **Page** > **WorkgroupId** to **GetWorkgroupData** > **Workgroup Id** link. 13. Save the **UI Page**. 14. Complete its **Change Set** approval process and ensure the finished revision is **Effective**. !!! info For more information, see: - [[user-guide-queries]]. - [[user-guide-uipage-widgets-query]]. - [[user-guide-uipage-widgets-button]]. - [[user-guide-uipages-converters]]. - [[user-guide-cancel-maintenance-activity-order]]. ### 4. Give Access to Workspaces Before assigning access, verify that the shared **Workgroup** is Active, has **Scope** set to **Workspace**, and includes the relevant **Resources** and inspection **Step**/**Facility** assignment. 1. Create a separate **User**, named `Operations Coordinator`, with Primary Role set to `Maintenance Technician`. Also define a password. ![Screenshot showing the Operations Coordinator User settings.](../images/scenario03_user_settings01.png) 2. Open the **Roles** subsection. Assign the MES OAuth Scope **Role** and the `Operator` and `Quality Engineer` **Roles**. Keep the feature configuration from the [[tutorials-workspaces-view-assigned-equipment|Operator Workspace]] and [[tutorials-workspaces-hold-release-materials|Quality Workspace]] scenarios on the `Operator` and `Quality Engineer` **Roles**. ![Screenshot showing MES, Operator, and Quality Engineer selected for assignment.](../images/scenario03_user_settings02.png) 3. Create an **Employee** and associate its **User** field with the `Operations Coordinator` **User**. This association is required to begin a **MAO**. 4. Verify that `Maintenance Technician` has the Security Features listed in [[tutorials-workspaces-workgroups-prerequisites#maintenance-workspace|Maintenance Workspace]], including `UIPage.Show`, `MaintenanceActivityOrder.Show`, `MaintenanceActivityOrder.Request`, `MaintenanceActivityOrder.Begin`, `MaintenanceActivityOrder.Perform`, `MaintenanceActivityOrder.Complete`, `MaintenanceActivityOrder.Accept`, and `MaintenanceActivityOrder.Cancel`. 5. On the `Maintenance Technician` **Role**, select **Workspaces** > **Manage**, assign `Maintenance & Reliability`, and make it the default **Workspace**. Select **Update**. 6. In the **Workgroups** subsection for the new **User**, assign `Quality Control Areas` with the `Maintenance Technician` **Role** and make this combination the default. Use this single **Workgroup**/**Role** assignment for the exercise. Select **Update**. ![Screenshot showing the default Quality Control Areas and Maintenance Technician assignment.](../images/scenario03_user_settings04.png) The other **Role** memberships supply permissions, including membership in the **Security Role** of the `Quality Review` **Reason**. The **Workgroup** assignment supplies the menu context for **Maintenance & Reliability**. !!! info For more information, see: - [[tutorials-howto-assign-workspace-to-role]]. - [[tutorials-howto-give-user-workspace-access]]. - [[tutorials-howto-manage-user-workgroups]]. - [[user-guide-create-employee]]. ### 5. Request and Begin Maintenance from the Queue Switch to `Operations Coordinator` for the remaining steps. The **Maintenance Plan Instance** and the released order connect the **Resource** handoff from the [[tutorials-workspaces-view-assigned-equipment|Operator Workspace]] scenario to the maintenance queue. #### 5.1. Request the Maintenance Order 1. Sign in as `Operations Coordinator`. 2. Open the `Baker-01` **Resource** page, open **Maintenance**, and select `Verify Temperature Sensor` under **Adhoc** in **Activities**. This activity belongs to the plan instance created in Step 2. ![Screenshot showing Verify Temperature Sensor on the Resource Maintenance tab.](../images/scenario03_perform03.png) 3. Select **Request** from the top action bar. 4. Set **Schedule Date** to the intended time for the exercise. 5. Set execution by **Role** to `Maintenance Technician`. 6. Enable **Approve Maintenance Activity Orders** and **Release Maintenance Activity Orders**. ![Screenshot showing the Request Maintenance Activity wizard with scheduling, state transition, and execution Role settings.](../images/scenario03_perform04.png) 7. Select **Request**. 8. Record the generated **MAO** name and confirm that its **Execution State** is **Released**. #### 5.2. Select and Begin the Order 1. Open **Home** > **Quality Control Areas** > **Maintenance & Reliability**. 2. Confirm that **Maintenance Work Queue** loads without a Resource selection and lists the released `Verify Temperature Sensor` order for `Baker-01`. 3. Select the order number link in **Order** to open its **MAO** page. 4. Confirm its **Resource**, **Owner Role**, **Checklist**, and **Data Collection**. Keep this tab open for the acceptance step, then return to the **Workspace**. 5. Select the order row in the queue. ![Screenshot showing a Released maintenance order for Baker-01 selected in the automatic work queue.](../images/scenario03-work-queue-released.png) 6. Select **Begin**. 7. Review the **MAO** and any offered **Resource** state transition in the wizard. ![Screenshot showing the Begin Maintenance Activity Order wizard and its Resource state transition field.](../images/scenario03_perform05.png) 8. Select **Begin** to confirm. 9. Refresh the **Workspace** or query results and verify that the order becomes **In Progress**. ![Screenshot showing the maintenance order in the In Progress state in the work queue.](../images/scenario03-work-queue-in-progress.png) The queue displays the team's Released and In Progress orders. If it is empty, check the order's execution state and assigned `OwnerRole`, then refresh. The **Workgroup** assignment controls menu access, while the **Query** filters the displayed orders. !!! info For more information, see: - [[user-guide-request-maintenance-activity-order]]. - [[user-guide-begin-maintenance-activity-order]]. - [[user-guide-maintenance-activity-order-page]]. ### 6. Record Readings and Complete the Checklist 1. In **Maintenance Work Queue**, reselect the **In Progress** order and select **Perform**. Confirm that the standard maintenance execution page opens for the correct order and `Baker-01`. 2. Open **Data Collection**. For this inspection, enter one sample named `Sample 1` for each **Parameter**, with one reading per sample. Use, for example, `80` °C for both `Reference Temperature` and `Sensor Temperature`, with both **Parameters** configured in step 1. ![Screenshot showing the Data Collection reading entry screen.](../images/scenario03-readings-entry.png) 3. Confirm the readings and select **Save**. Switch to **Checklist**; changes are also saved when moving between the sections of the execution page. ![Screenshot showing the Baker Sensor Verification Checklist during execution.](../images/scenario03-checklist-execution.png) 4. Check the **Resource** associated with the order and select the completion icon beside `Confirm Equipment`. 5. For `Review Sensor Readings`, open **Data Collection** > **Preview** and review both saved readings, then return to **Checklist** and mark that item complete. ![Screenshot showing Reference Temperature and Sensor Temperature readings of 80 degrees Celsius in the Data Collection preview.](../images/scenario03-readings-preview.png) 6. In `Record Maintenance Outcome`, enter a **Work Summary**, such as `Sensor readings recorded. Inspection complete.`, and select the completion icon for the item. ![Screenshot showing the recorded Work Summary.](../images/scenario03-work-summary.png) 7. Confirm that all three mandatory items are complete and that the completion indicator for the **Checklist** section is shown. ![Screenshot showing all three Baker Sensor Verification items complete.](../images/scenario03-checklist-complete.png) The **MAO** remains **In Progress** until you complete the order. !!! info For more information, see [[user-guide-perform-maintenance-activity-order]] and [[user-guide-perform-checklist]]. ### 7. Complete and Accept the Maintenance Order 1. Select **Complete** from the top action bar of the maintenance execution page, after all required readings and **Checklist** items are complete. 2. Review the completion date and any **Resource** state transition offered by its configured State Model. ![Screenshot showing the Complete Maintenance Activity Order wizard with an end date and Resource state transition.](../images/scenario03_perform13.png) 3. Select **Complete** in the wizard to finish the operation. 4. Return to the **MAO** tab opened in step 5 and select **Refresh**. 5. Confirm that **Execution State** is **Waiting For Acceptance**. ![Screenshot showing the maintenance order in Waiting For Acceptance with Accept available on its action bar.](../images/scenario03-waiting-for-acceptance.png) 6. Select **Accept** from the top action bar. 7. Review the date and **Resource** state transition, then select **Accept** in the wizard. ![Screenshot showing the Accept Maintenance Activity Order wizard for the completed maintenance work.](../images/scenario03-accept-order.png) 8. Confirm that the **MAO** has **Execution State** set to **Closed**. ![Screenshot showing the accepted maintenance order with Closed execution state.](../images/scenario03-order-closed.png) 9. Return to **Maintenance & Reliability** and refresh the queue. Confirm that the closed order no longer appears. ![Screenshot showing the maintenance work queue with no remaining eligible orders after the order is accepted.](../images/scenario03-work-queue-empty.png) !!! info For more information, see: - [[user-guide-complete-maintenance-activity-order]]. - [[user-guide-accept-maintenance-activity-order]]. - [[user-guide-maintenance-activity-order-page]]. Watch the maintenance walkthrough in the following video: ![type:video-tag](../videos/scenario03_manage_resource_maintenance_from_workspace.mp4) ## What You Learned You continued the **Resource** handoff from the [[tutorials-workspaces-view-assigned-equipment|Operator Workspace]] scenario by opening a maintenance work queue that lists the team's Released and In Progress orders automatically. You connected a **Query** selection to **Begin**, **Perform**, and **Cancel** actions, gave one **User** access to the maintenance **Workspace**, and used the standard maintenance execution page to record readings and complete a **Checklist**. You then completed the order, accepted the work from the **MAO** page, and verified that it left the queue.