jemmerling [https://community.jboss.org/people/jemmerling] created the 
discussion

"Proposed temporary and limited approach to supporting excluded owners"

To view the discussion, visit: https://community.jboss.org/message/646719#646719

--------------------------------------------------------------
  I have been looking at way to do the following within jBPM:

Have a node in a process definition be associated with a particular group (or 
groups), however due to the history of a given process, to exclude some 
actor(s) who might be members of that group.

Now the WS-HumanTask specification supports something called excluded owners. 
Here is a snippet from one version of this specification (not certain if it is 
the latest one):


+"Potential owners of a task are persons who receive the task so that they can 
claim and complete it. A potential owner becomes the actual owner of a task by 
explicitly claiming it. Before the task has been claimed, potential owners can 
influence the progress of the task, for example by changing the priority of the 
task, adding ad-hoc attachments or comments. All excluded owners are implicitly 
removed from the set of potential owners. A WS-HumanTask Definition MAY define 
assignment for this generic human role.+
+Excluded owners are are people who cannot become an actual or potential owner 
and thus they cannot reserve or start the task. A WS-HumanTask Definition MAY 
define assignment for this generic human role. "+

Although the jBPM5 schema supports the existence of excluded owners, I have 
seen no explicit mechanism to support this when developing an application. If 
there is something I am missing, please point this out.

In the meantime, I can see a way that a developer could add this functionality 
without the need to directly modify jBPM5, using the following approach. I 
would like to know whether it is believed this would work. I am not completely 
comfortable with this for reasons I will give (although these reasons should be 
more or less obvious):

1.) First, define a new work item parameter (or analogous mechanism) that 
represents users who will be excluded from the next node. Let's assume we can 
correctly identify the next node.
2.) Create a class that extends WSHumanTaskHandler. This class will override 
the executeWorkItem method. This method will populate excluded owners in the 
people assignments from having inspected the new parameter. It will otherwise 
be the same as the method it overrides except for this one additional logic 
step.
3.) Replace the existing Taskorm.xml with a modified version in which the 
TasksAssignedAsPotentialOwnerByGroup named query (and possibly some similar 
named queries) is modified so that excluded owners are not able to claim the 
task.

I believe all the above is feasible because a.) there is nothing to stop the 
developer from extending WSHumanTaskHandler in the described manner, and using 
it in the application code and b.) the ORM file is specified in persistence.xml 
which is a developer-configurable file, so the developer should be at liberty 
to specify a different file. So all this could be done without "hacking" jBPM 
directly.

However I am uncomfortable with this approach because the overridden 
executeWorkItem method as well as the replacement ORM file would be created 
using a copy-and-paste methodology so that when progressing to a later version 
of jBPM it would be necessary to modify these to reflect the original logic.

Nevertheless, if there is some intention to support this type of functionality 
in a future release of jBPM (and assuming I am right to conclude it is not 
currently supported) this might be a justifiable short-term solution.
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/646719#646719]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to