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.
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.
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 ResourceID in the XML format.
TotalAgility provides APIs to use as dynamic variables. For example, the 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 resources user name and get back the resourcesID 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.