OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

bpel4people message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [bpel4people] ISSUE 6: Title: Does ht:getLogicalPeopleGroup() cause an LPG to evaluate?


The discussion at today's conference call clarified that the original intent
for this custom function was to provide a means for getting a value from an
LPG without triggering an evaluation of the LPG. The assumption is that the
LPG would have been previously evaluated and the process or task definition
wants to reference the same value from that LPG to ensure that it doesn't
change with another evaluation. 

I don't see the use case for this implementation. If a user wants to ensure
that they're getting the exact same values from an LPG then they can use a
local variable to store those values and read from that variable. If the
function is going to be used within a task definition then the caller would
more likely want to pull organizational entities from one of the task's
generic human roles as opposed to pulling directly from the LPG. The same
would apply if someone were building a four eyes pattern with people
activities. It's better to use the b4p functions to pull the values from the
generic human roles rather than to try and reuse a value from an LPG. 

The simpler approach is to have one way of accessing LPG data. Each call
into an LPG triggers an evaluation of the LPG. The only exception is if the
LPG was previously assigned. With this model, an LPG has two states:
unassigned and assigned. LPG's are in the assigned state when they are the
target of a copy operation. In this state they always returns the same
value. An LPG in the unassigned state always evaluates. In this approach,
there is no difference between the custom function
ht:getLogicalPeopleGroup() and the ht:from or bpel:from.




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]