Appian Tasks race condition

We are redesigning a non-Appian applicaiton for a new build in Appian. In this tool, users are typically presented with the next work item immediately after completing one.

This seems akin to activity chaining tasks in Appian, a practice that we understand, and know it isn't a good fit. We have presented a proof-of-concept application that uses a sail interface without Appian tasks to mimic this push-mode, but we would either have to abandon or re-create functionality that comes standard with Appian tasks - Escalations, Exceptions, Group Assignment, performance metrics, Task Reports......

The concern among our stakeholders is centered around users colliding on task acceptance by following links from task reports.

E.g. two users click the same task link, and one accepts before the other. This would leave the second user reading a message that the task had been accepted by the first user and they would have to return to the task list and make a second attempt at finding/accepting a task.

Our stakeholders feel this is unacceptable, even in a low-volume environment.

Is there a best practice around task presentation and task acceptance that would avoid that possibility while still allowing us to leverage standard OOB Appian Tasks?

  Discussion posts and replies are publicly visible

Parents
  • Could you wait to assign the task until they complete the previous one? That way, you wouldn't have any collisions because the task would be assigned directly to the user once they finish the previous task. Here's what I'm envisioning:

    The user is finished with their current task and they click submit. Once they submit their task, it starts a sub process which checks the next task in the list and assigns it directly to them. Then, this task is chained to a new task that has a link only to the new task. That way, there would never be a collision because the task isn't assigned UNTIL they complete the previous task.

    The only downside to this is that they would have to click the submit, then click a link to the task. However, it should solve the accidental collisions issue.

Reply
  • Could you wait to assign the task until they complete the previous one? That way, you wouldn't have any collisions because the task would be assigned directly to the user once they finish the previous task. Here's what I'm envisioning:

    The user is finished with their current task and they click submit. Once they submit their task, it starts a sub process which checks the next task in the list and assigns it directly to them. Then, this task is chained to a new task that has a link only to the new task. That way, there would never be a collision because the task isn't assigned UNTIL they complete the previous task.

    The only downside to this is that they would have to click the submit, then click a link to the task. However, it should solve the accidental collisions issue.

Children