Resource assignment
Assign resources and roles to an activity and configure email notifications.
You can assign resources manually, or by applying rules.
Static versus dynamic resources
Resources can be static, or dynamic based on whether the resources are assigned to an activity at design time or runtime.
Static resources
Assign resources at design time if you know in advance which group, individual, or role can perform the job. For example, to hire personnel, select HR.
Dynamic resources
Assign resources at runtime to make the decision at the time of taking the activity. For example, select a resource with a specific skill level to complete a complex job.
Manual allocation versus dynamic allocation
You can assign resources and roles to an activity either manually or dynamically.
Manually allocate resources
Manually define which resources should work on a particular activity. Allocating resources manually gives you the flexibility to assign more efficient resources to activities of high importance to better balance the work.
When the activity is set to use manual allocation, the status appears as Awaiting Allocation. However, if preconditions are defined for an activity, the status is Awaiting Events, and once the necessary events are raised, the status changes to Awaiting Allocation.
Once a resource is assigned to the activity awaiting allocation, the status of the activity changes to Pending.
Dynamically allocate resources
You can allocate resources at runtime, depending on their skills and availability. Allocating resources dynamically has the following advantages:
- Provides more flexibility to your business processes, as opposed to using design-time static resources. Static resource allocation only works in the ideal working environment where each activity is assigned to a specific person who is always available.
- Helps you model real-life work allocation. In real life, jobs can only be assigned to the right user (with the right skills) who are available at a given time.
To define a dynamic resource, do the following:
Define a String variable for the process and assign this variable as a resource to the activity. At runtime, the System populates this variable with a value containing the Resource ID in the XML format.
TotalAgility provides APIs to use as dynamic variables. For example, DynamicResourceService is used to create dynamic resource XML. Several methods are available within DynamicResourceService, such as AddResource, AddGenericResource, DeleteResource, GetNumberOfResources, and AddResourcesUsingServerIds. One method is used to pass in a resource username and get back the resource ID in XML format.
The method to use depends on the conditions within the process map.
You can assign resources dynamically with or without applying rules or using a previous resource.
How to: