Routing Flashcards
Push Routing
Push routing routes the assignment to a single user’s worklist, and as such there is immediate ownership as soon as the assignment is created. PRPC can use multiple criteria to select the owner, including availability (if an operator is available or on vacation), the operator’s work group, his/her skills, or current workload. Depending on how the routing is configured, it is possible to route to a substitute operator if the chosen operator is not available. The worklist shows all the assignments for that operator, which can be filtered to show only specific case type instances and can be sorted using any column title. Users can work on any assignment from the worklist.
Pull routing
Pull routing, on the other hand, routes to a workbasket that is shared across multiple users. Ownership does not occur until an operator takes action on it. Most applications use “GetNextWork” logic to select the most urgent assignment from multiple workbaskets. When this happens, the assignment is removed from the workbasket and is assigned to the operator’s worklist. GetNextWork logic is covered in more detail in another lesson. In most of the standard portals, we can pull the next assignment to work with “Get Next Work” logic by clicking on “Next Assignment” button at the top of the portal.
Directed Web Access/external Assignment
- prerequisite: sending e-mail, public URL link
- config: OperatorModel, DaysToExpiration, Instructions, Party, Subject, Message, CorrName, ConfirmationNote, HarnessPurpose
Standard Routers
Push-based:
• “ToWorklist” routes to a particular operator by name.
• “ToWorkParty” routes to a work party. The actual operator depends on the work object; for example, if the workparty is “Initiator”, the actual operator is different for every work object. Work Parties are covered in more detail in another lesson.
• “ToWorkGroupManager” and “ToOrgUnitManager” route to the manager of the operator’s workgroup and Organizational Unit.
• “ToWorkgroup” routes to a random operator within a workgroup.
• “ToSkilledGroup” also routes to an operator in a workgroup and takes required skills into account.
• “ToLeveledGroup” is similar “ToSkilledGroup”, but instead of the system choosing an operator randomly, operators are sorted by workload and desired skills.
Pull-based:
• The “ToWorkbasket” router does exactly that; routes to a particular workbasket.
• “ToSkilledWorkbasket” also routes to a particular workbasket. We will look at the details of this router later in this lesson
For skill-based push routing, an operator is selected for a specified group and required skill. For the “ToSkilledGroup” router, this selection is random.
For Pull-based routing, the “ToSkilledWorkbasket” router adds an assignment to a workbasket, and also associates a skill with that assignment. Subsequently, GetNextWork will take these skills into account when finding an assignment for an operator to work on.
Please do not be confused by the term “ToSkilledWorkbasket”. There is no such thing as a “skilled workbasket”. This router merely sends an assignment to a workbasket and marks the assignment as requiring a particular set of skills.
For the “ToLeveledGroup” router, the selection is prioritized by load and desired skills. A high load, in this case, refers to when an operator has a high number of assignments that are past deadline.
Work-.GetNextWork
When users click the Next Assignment link or the Get Most Urgent button, PRPC starts the standard activity Work-.GetNextWork. This activity calls the final activity Work-.getNextWorkObject.
GetNextWork
- Users click either the “Next Assignment” link or the “Get Most Urgent” button.
- The Work-.GetNextWork activity starts
- The Work-.GetNextWorkObject activity starts
- The pyWorkBasketFirst property is checked “Get from workbaskets first?” Check box on Work tab of the Operator ID rule form
- If TRUE then it calls Work-.findAssignmentinWorkbasket activity first then examines the worklist
- If FALSE then it calls Work-.findAssignmentinWorklist activity first then examines the workbasket
- The Work-.findAssignmentinWorkbasket activity starts and uses the list view Assign-Workbasket.GetNextWork.ALL. The list of assignments are sorted in decreasing order by assignment urgency (property Assign.pxUrgencyAssign)
- “Merge Workbaskets?” checkbox is NOT checked
- workbaskets are searched in order defined on Work tab
- “Merge Workbaskets?” checkbox is checked
- “use all workbasket assignments in user’s workgroup?” is checked
- list of assignments from all workbaskets with the same workgroup as this user
- “use all workbasket assignments in user’s workgroup?” is NOT checked
1) assignments from all listed workbaskets in the Work tab are assembled into a single list
- “use all workbasket assignments in user’s workgroup?” is checked
- “Merge Workbaskets?” checkbox is NOT checked
- Assign-.GetNextWorkCriteria Decision Tree is used to filter the most appropriate task
- First task that passes all the above requirements is selected
- New newAssignPage is populated with this task and the case instance is locked
- Based on GetNextWork_MoveAssignmentToWorklist system setting rule
- No assignment is found from the workbaskets
- Repeat steps 5 to 8 but with the Work-.findAssignmentinWorklist activity and the standard list view Assign-Worklist.GetNextWork.All
Next Assignment vs. Get Most Urgent
Next Assignment is available in the header. (top screen part)
On the other hand the “Get Most Urgent” button may also appear at the bottom of the user forms on the confirmation harness allowing users to access the next available task right after completing one.
The “Next Assignment” link and the “Get Most Urgent” button use the “Get Next Work” functionality.