How to Update AgileForm Schema For "ReassignWorkItem" Event on AgilePoint Server?

Symptoms

An process designer has a custom requirement to prevent other users from changing the approvals of other approvers at runtime. To accomplish this, they set the UserID field of an AgileForms Process Adaptation AgileShape to Read Only when the authenticated user is different from the value of the UserID field. However, when a task is reassigned to another user, the user account values embedded in the AgileForm still reflect the values of the previous user instead of the new user to whom the task is reassigned.  

Cause

When a task is reassigned, the new user account values does not get updated in the AgileForm schema. This creates a disconnect between the new user account values (to whom the task is reassigned) against the user account values that are embedded in the AgileForm.

Resolution

You can create a custom AgileConnector which listens to the ReassignWorkItem event (in AgilePoint Server) for the particular activity in the process template. This synchronizes the reassigned user account between the AgilePoint Server and any user interface rule implemented in the presentation layer.

When a task is reassigned, the reassigned user is retrieved and the UserID field in the schema is updated. This way the rule to disable a certain field in the form is still consistent because it is synchronized with the reassignment.

Downloads

HandleReasignmentAgileConnector.zip.