Opqo identifies assigned work orders using a combination of:
- User role
- Base query
- Assignment strategy.
User Role
Users of the application will be identified as:
- A Technician: If they are a member of the STAMTECH Maximo security group
- A Manager: If they are a member of the STAMMGR Maximo security group
If a user is a member of both STAMTECH and STAMMGR groups, they will see work orders per both groups, below.
NOTE: Support for users belonging to both STAMTECH and STAMMGR groups was introduced in Opqo 21.06.0. In prior versions, if a user is a member of both the STAMTECH and STAMMGR group, they will be identified as a manager only, and will only see work orders per the Manager detail, below. |
Base Query
The base query used for identifying work orders is as follows:
- Technicians: The base query for identifying work orders assigned to technicians is specified by the techwork query definition on the STAMWODETAIL object structure.
- Managers: The base query for identifying work orders assigned to managers is specified by the mgrwork query definition on the STAMWODETAIL object structure.
Assignment Strategy
Assignment strategies identify the specific mechanisms used to identify the assigned work for a user. Opqo uses assignment strategies for the following:
- When selecting the work orders to download for the user to work with
- When performing work assignment actions, such as when creating a Quick Report.
The assignment strategies for technicians and managers are selected during Opqo installation, and the selected assignment strategies are stored in the STAUTOSCRIPT.STAMCONFIG automation script.
Note: For details on reviewing and modifying the selected assignment strategies, please see the article: Changing work assignment options. |
Note: For more information on Opqo configuration and the role and contents of the STAUTOSCRIPT.STAMCONFIG script, see the Configuration Overview article. |
Note: The custom attribute, group and configuration options for assignment strategies was introduced in Opqo 24.06.0. These are not available in earlier versions of Opqo. |
Assignment strategies are available in the following categories:
- Individual assignment strategies
- Assignment Manager Assignment Strategy
- Person Group assignment strategies
- Person Group with individual claim assignment strategies.
These are detailed in the following sections.
Individual Assignment Strategies
Individual assignment strategies identify a work order as being assigned to a single user.
The following standard assignment strategies are available:
Assignment Strategy | Work Order Attribute |
---|---|
LeadAssignmentStrategy | LEAD |
SupervisorAssignmentStrategy | SUPERVISOR |
OwnerAssignmentStrategy | OWNER |
PersonIdAttributeAssignmentStrategy | Configured PERSONID attribute |
The basic configuration for a technician assignment using the LEAD field looks like the following:
appConfig = { "general": { "assignment": { "technician": { "strategy": "LeadAssignmentStrategy" }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
The PersonIdAttributeAssignmentStrategy additionally requires specifying the attribute containing the PERSONID:
appConfig = { "general": { "assignment": { "technician": { "strategy": "PersonIdAttributeAssignmentStrategy", "attributeName": "CF_ASSIGNEDTO" }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
In this example, the field in use is WORKORDER.CF_ASSIGNEDTO
These assignment strategies have the following additional configuration properties:
Property | Type | Description |
---|---|---|
allowClaimAssignment | boolean | If true, allows the user to self-assign work orders from online search results. The default value is false. |
allowClaimAssigned | boolean | If false, prevents the user from self-assigning work orders from online search results that are already assigned to another user. The default value is true. This is only relevant if allowClaimAssignment is true. |
allowReleaseAssignment | boolean | If true, allows the user to unassign assigned work orders, clearing the relevant assignment field. The default value is false. |
A full configuration that:
- Uses the LEAD field,
- Allows the user to claim unassigned work orders from online search results,
- Does not allow the user to unassign work
looks like the following:
appConfig = { "general": { "assignment": { "technician": { "strategy": "LeadAssignmentStrategy", "allowClaimAssignment": true, "allowClaimAssigned": false, "allowReleaseAssignment": false }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
Assignment Manager Assignment Strategy
This assignment strategy identifies assigned work via a Maximo Assignment Manager assignment, and supports assignments that are direct to the user's labor code, or to the crew that the user is a member of.
The basic configuration for a technician assignment looks like the following:
appConfig = { "general": { "assignment": { "technician": { "strategy": "AssignmentMgrAssignmentStrategy" }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
This assignment strategy has the following additional configuration properties:
Property | Type | Description |
---|---|---|
newAssignmentsPrefer | String | If "crew", new assignments (such as a quick report) are assigned to the user's crew, if they are a member of one. If they are not, the work is assigned directly to the user via their labor code. If "labor", new assignments are always assigned directly to the user via their labor code. The default value is "crew". |
A full configuration where new assignments are always made directly to the user via their labor code looks like the following:
appConfig = { "general": { "assignment": { "technician": { "strategy": "AssignmentMgrAssignmentStrategy", "newAssignmentsPrefer": "labor" }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
Person Group Assignment Strategies
Group assignment strategies identify a work order as being assigned to a PERSONGROUP, where user assignments are those that match any group the user is a member of.
If the user is a member of multiple groups, when they create a new assignment (such as a Quick Report), they will be prompted to select the group to assign the work order to.
Note: When these assignment strategies are used for technicians, Opqo will fully sync all work orders assigned to the user's groups for offline use. If this quantity is large, you may run into performance issues. In this case, using one of the Person Group with Individual Claim Assignment Strategies described below is recommended. |
The following standard assignment strategies are available:
Assignment Strategy | Work Order Attribute |
---|---|
WorkGroupAssignmentStrategy | PERSONGROUP |
OwnerGroupAssignmentStrategy | OWNERGROUP |
PersonGroupAttributeAssignmentStrategy | Configured PERSONGROUP attribute |
The basic configuration for a technician assignment using the PERSONGROUP field looks like the following:
appConfig = { "general": { "assignment": { "technician": { "strategy": "WorkGroupAssignmentStrategy" }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
The PersonIdAttributeAssignmentStrategy additionally requires specifying the attribute containing the PERSONID:
appConfig = { "general": { "assignment": { "technician": { "strategy": "PersonGroupAttributeAssignmentStrategy", "attributeName": "CF_ASSIGNEDTOGRP" }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
In this example, the field in use is WORKORDER.CF_ASSIGNEDTOGRP
These assignment strategies have the following additional configuration properties:
Property | Type | Description |
---|---|---|
validAssignmentGroups | Array of String | If specified, the user's groups will be filtered to only include groups in this list. This is useful when users may be members of person groups that you do not wish to consider for work assignment. The default value is null (no filtering). |
Additionally, the WorkGroupAssignmentStrategy has the following additional configuration properties:
Property | Type | Description |
---|---|---|
assignToGroupOnly | boolean | If true, new assignments will set the PERSONGROUP field and explicitly clear the LEAD field. This will override the standard Maximo behaviour where it defaults the LEAD field to the group's default. If false, new assignments will set the group only and allow Maximo to default the LEAD field. The default value is true. |
A full configuration that:
- Uses the PERSONGROUP field,
- Restricts groups to the MAINT and ELEC groups,
- Clears the LEAD field on new assignments
appConfig = { "general": { "assignment": { "technician": { "strategy": "WorkGroupAssignmentStrategy", "assignToGroupOnly": true, "validAssignmentGroups": ["MAINT", "ELEC"] }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
Person Group with Individual Claim Assignment Strategies
These assignment strategies are a combination of Person Group and Individual assignment strategies, and are essentially multi-level assignment strategies.
The first level is identical to the Person Group assignment strategies, where the work order is identified as being assigned to a PERSONGROUP. These strategies then allow users to claim work orders from this pool of group work, which adds an assignment individually to that user via their PERSONID.
Note that the work order retains the group assignment even when claimed, so it is still visible to other group members, while also being identifiable as assigned to the specific user.
Note: When these assignment strategies are used for technicians, Opqo will only fully sync work orders that they have claimed for offline use. Only summaries for the remaining group work orders are downloaded, however data will be downloaded for these work orders on demand, as the user opens them and navigates. This provides better performance when larger quantities of work orders exist at the group level, while ensuring the technician has access to their claimed work orders to work on, offline. |
The following standard assignment strategies are available:
Assignment Strategy | Work Order Attribute |
---|---|
WorkGroupLeadClaimAssignmentStrategy | Group: PERSONGROUP Individual: LEAD |
OwnerGroupOwnerClaimAssignmentStrategy | Group: OWNERGROUP (ASSIGNEDOWNERGROUP) Individual: OWNER |
PersonGroupAttributeClaimAssignmentStrategy | Group: Configured PERSONGROUP attribute Individual: Configured PERSONID attribute |
The basic configuration for a technician assignment looks like the following:
appConfig = { "general": { "assignment": { "technician": { "strategy": "WorkGroupLeadClaimAssignmentStrategy" }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
The PersonGroupAttributeClaimAssignmentStrategy additionally requires specifying the attributes containing the PERSONGROUP and PERSONID:
appConfig = { "general": { "assignment": { "technician": { "strategy": "PersonGroupAttributeClaimAssignmentStrategy", "claimAttributeName": "CF_ASSIGNEDTO", "groupAttributeName": "CF_ASSIGNEDTOGRP" }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
In this example, the PERSONGROUP field in use is WORKORDER.CF_ASSIGNEDTOGRP and the PERSONID field in use is WORKORDER.CF_ASSIGNEDTO.
These assignment strategies have the following additional configuration properties:
Property | Type | Description |
---|---|---|
allowClaimAssigned | boolean | If false, prevents the user from claiming work orders from the group that are already assigned to another user. The default value is true. |
validAssignmentGroups | Array of String | If specified, the user's groups will be filtered to only include groups in this list. This is useful when users may be members of person groups that you do not wish to consider for work assignment. The default value is null (no filtering). |
includeNonGroupWork | boolean | If true, assigned work will include work orders that are assigned directly to the user via the individual assignment field, even if they are not also assigned to any of the user's groups. The default value is false. |
autoSyncGroupWork | boolean | If true, when this assignment strategy is used for a technician, Opqo will fully sync all group work orders for offline use. If false, Opqo will only fully sync work orders where the user has claimed the assignment. The remaining group work orders will only have their summaries sync'd, and work order data will be downloaded on demand as the user opens the work order and navigates. The default value is false. |
A full configuration that:
- Uses the PERSONGROUP and LEAD fields,
- Does not allow users to claim work that another user has claimed,
- Restricts groups to the MAINT and ELEC groups,
- Does not include non-group work,
- Only fully syncs claimed work orders
appConfig = { "general": { "assignment": { "technician": { "strategy": "WorkGroupLeadClaimAssignmentStrategy", "allowClaimAssigned": false, "validAssignmentGroups": ["MAINT", "ELEC"], "includeNonGroupWork": false, "autoSyncGroupWork": false }, "manager": { "strategy": "SupervisorAssignmentStrategy" } } } }
Changing the currently configured Assignment Strategies
If you wish to change the configured assignment strategies, please see the article: Changing work assignment options.
If you have questions please do not hesitate to contact us or create a support ticket for more assistance. |