[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]