[jbpm-dev] [Design of JBoss jBPM] - Re: Task Management component?

aapthorp do-not-reply at jboss.com
Mon Dec 8 15:34:32 EST 2008


Tom,

Firstly in terms of the tools, in theory it should be any calendar agent that supports the iCalendar RFCs (2445,2446,2447) and also CalDav(RFC 4791) and the draft caldav sched http://en.wikipedia.org/wiki/List_of_applications_with_iCalendar_support. Of course there is variation in the level of support. In particular support for tasks (VTODO) is not yet as strong as events (VEVENT) in these tools - a workaround is to use events. I've been testing with Thunderbird/Lightning, Evolution and Kontact. Google Calendar and MS Outlook should work. Also, mobile device support for these standards is evolving. 

Now to scenarios. The one you present is the basic scenario.

Other Scenarios:

Task Assignment

1) Task gets assigned to an actor
2) Actor is notified of assignment via e-mail with task invitation
3) Actor accepts / or declines task
4a) If actor accepts then proceeds as per your example scenario.
4b) If actor declines then decline message sent to server and depending on task assignment model the task can be reassigned automatically or manually.

Variation: Tasks assigned to a pool

1) Pool members are notified of opportunity to take task via e-Mail invitation.
2) First pool member who accepts invitation will send an accept message.
3) When the server receives the accept message, it will assign the task to the accepting actor and send cancellations to the remaining pool members.

Variation: Cancellation

1) Once a task has been accepted, it may be cancelled by a manager and cancellations sent to all invitees.

Scenario: View assigned tasks

Another simple scenario (for which I posted the code in JIRA some time ago) is the user can set up his task list in the calendar agent using standard HTTP get to query.

1) User queries task list via HTTP client
2) The user can then see all tasks allocated to him/her in the Calendar.
3) The user clicks on a URL in the task can link to the specific task in the JBPM console.
4) User performs task.

Scenario: View FreeBusy time for an actor

As viewing assigned tasks but a manager queries an actors tasks and is returned the free busy time for the actor (i.e. what the actors task loading is).

All of the above scenarios are also possible with CalDav (a WebDav extension). This allows individual manipulation of task entries if required; create, update and delete.

Scenario: Create ad-hoc task

1) User creates task for self or others using Calendar agent.
2) Task is created in JBPM via CalDav.
3) Invitation sent to to other actor via e-mail or CalDav. (Not Implemented)

Scenario: Initiate simple process / task (this needs more thought)

1) The user creates task in calendar agent and selects a category (process name).
2) Request sent to JBPM via CalDav.
3) Process initiated, tasks linked to parent process (not implemented).

Scenario: Task specific form embedded in calendar / task list entry (this is the question in the current thread - not implemented)

1) As per viewing task entry
2) Actor opens task form in Calendar / Task agent
3) Actor performs task and updates task form.
4) Updated task form and task details sent back to server via CalDav (could also be e-mail I guess).
5) Task updated and calendar entry refreshed.

I think that covers all the main scenarios. I have a few more in mind, but would like to get the above fairly robust. The last one being the main open one.


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4195158#4195158

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4195158



More information about the jbpm-dev mailing list