Skip to Content.
Sympa Menu

grouper-users - RE: [grouper-users] RE: Group Member Filter with composite groups

Subject: Grouper Users - Open Discussion List

List archive

RE: [grouper-users] RE: Group Member Filter with composite groups


Chronological Thread 
  • From: Paul Gazda <>
  • To: Tom Barton <>
  • Cc: Chris Hyzer <>, Grouper Users Mailing List <>
  • Subject: RE: [grouper-users] RE: Group Member Filter with composite groups
  • Date: Tue, 7 Apr 2009 11:23:06 -0700
  • Accept-language: en-US
  • Acceptlanguage: en-US

Tom,
We are developing a design in which all of our top level groups will be
composite groups with a type of COMPLEMENT so that we can define the basic
membership in the left group and have the option of excluding individuals or
sub-groups in the right group.

Some of the left groups may include large sub-groups such as a large
department or all students or all staff, etc. Querying for members in those
cases can result in thousands of individuals. We would like to be able to use
the immediate concept so that we can just return the sub-group as a single
entry instead of all of the individuals.

Regarding your question, "if in your example Group B is also a composite,
should the members of its factors be direct or indirect relative to Group
A?." In my view, the members of its factors should be indirect relative to
Group A because Group B is the specified member of Group A. The members of
its factors would be returned if I queried for "All" members.

Paul


-----Original Message-----
From: Tom Barton
[mailto:]

Sent: Tuesday, April 07, 2009 9:56 AM
To: Paul Gazda
Cc: Chris Hyzer; Grouper Users Mailing List
Subject: Re: [grouper-users] RE: Group Member Filter with composite groups

Paul,

You've clearly stated how you want the interface to work, but I'm
wondering what that will help you to do. Can you shed light on the
scenario in which this would play a part?

I ask in part because composites are unlike groups-with-members in many
ways. They're closer in spirit to dynamic groups, for which directness
vs indirectness of membership isn't really material. For example, if in
your example Group B is also a composite, should the members of its
factors be direct or indirect relative to Group A?

Thanks,
Tom

Paul Gazda wrote:
> I would like have the immediate concept work for composite groups. For
> example, if I have:
>
> Group A - a composite group with a composite type of COMPLEMENT
>
> Group A-Left - the left member
>
> Group A-Right - the right member
>
>
>
> Group A-Left contains Group B and individual C
>
> Group A-Right contains individual D
>
>
>
> Group B contains individual D and individual E
>
>
>
> If I use getMembersWs with --memberFilter=Immediate, I would expect to
> get Group B and individual C as the result.
>
> If I use getMembersWs with --memberFilter=All, I would expect to get
> Group B and individual C and individual E as the result.
>
>
>
> Does that make sense?
>
>
>
> Paul Gazda
>
>
>
> ------------------------------------------------------------------------
>
> *From:* Chris Hyzer
> [mailto:]
> *Sent:* Tuesday, April 07, 2009 8:44 AM
> *To:* Paul Gazda; Grouper Users Mailing List
> *Subject:* RE: Group Member Filter with composite groups
>
>
>
> OK, I changed the doc in CVS so it says complement instead of minus.
>
> Also, yes, for composite groups, All = Composite, and
> Effective/Immediate will not return anything
>
>
>
> These web service operations are just exposing API methods, though Im
> not sure they are entirely useful. What are you trying to do?
>
>
>
> Thanks,
>
> Chris
>
>
>
> *From:* Paul Gazda
> [mailto:]
> *Sent:* Tuesday, April 07, 2009 11:37 AM
> *To:* Chris Hyzer; Grouper Users Mailing List
> *Subject:* RE: Group Member Filter with composite groups
>
>
>
> Thanks for the quick reply. First, a comment on the doc. I think that
> for consistency, the reference to composite operators "composite
> operator (union, intersection, minus)" should be the same as those in
> the WsGroupDetail bean that sets the values (UNION, COMPLEMENT,
> INTERSECTION).
>
>
>
> But I'm still confused as to how this should work. From your revised doc
> and the results of my testing, I am concluding that for composite groups:
>
> 1. "All" and "Composite" will always return the same result.
> 2. "Effective" and "Immediate" will never return anything.
>
>
>
> Is that correct?
>
>
>
> Paul Gazda
>
>
>
> ------------------------------------------------------------------------
>
> *From:* Chris Hyzer
> [mailto:]
> *Sent:* Monday, April 06, 2009 8:31 PM
> *To:* Paul Gazda; Grouper Users Mailing List
> *Subject:* RE: Group Member Filter with composite groups
>
>
>
> Sorry, I think the javadoc is the culprit, this is what I updated it to
> in CVS. Shilen, let me know if there is a better (or more accurate) way
> to phrase it.
>
>
>
> Paul, let me know if you need anything else.
>
>
>
> Thanks,
>
> Chris
>
>
>
> /** retrieve all members (immediate, effective and composite) */
>
> /All/,
>
>
>
> /** retrieve members which exist due a group as a member of another
> group */
>
> /Effective/,
>
>
>
> /** return only direct members of a group */
>
> /Immediate/,
>
>
>
> /**
>
> * if this is a composite group, then return all the memberships that
> match the
>
> * composite operator (union, intersection, minus)
>
> */
>
> /Composite/;
>
>
>
>
>
> *From:* Paul Gazda
> [mailto:]
> *Sent:* Monday, April 06, 2009 8:17 PM
> *To:* Grouper Users Mailing List
> *Subject:* [grouper-users] Group Member Filter with composite groups
>
>
>
> I am getting unexpected results with GrouperClient 1.4.1 when using the
> memberFilter with getMembersWs. This is what the javadoc for
> WsMemberFilter says in the Enum Constant Summary:
>
> All
> retrieve all members (immediate and effective)
>
> Composite
> if this is a composite group, then return the two groups which
> make up the composition (and the group math operator (union, minus, etc)
>
> Effective
> retrieve non direct (non immediate) members
>
> Immediate
> return only direct members, not indirect
>
>
>
> I set up a simple composite group with a COMPLEMENT structure like this:
>
>
>
> ENT:pag4 (Composite group with compositeType of COMPLEMENT)
>
>
>
> INC:pag4 (leftGroup with these subject Ids as members):
>
> d9...
>
> 27...
>
> 72...
>
>
>
> EXC:pag4 (rightGroup with these subject Ids as members):
>
> 72...
>
>
>
> When I query --operation=getMembersWs --groupNames=ENT:pag4
> --memberFilter=All, the result is as expected:
>
> d9...
>
> 27...
>
>
>
> When I query --operation=getMembersWs --groupNames=ENT:pag4
> --memberFilter=Composite, I would expect to get the uuids for INC:pag4
> and EXC:pag4 and the math operator COMPLEMENT, but I get the exact same
> result as above:
>
> d9...
>
> 27...
>
>
>
> When I query --operation=getMembersWs --groupNames=ENT:pag4
> --memberFilter=Effective, I would expect to get the same results as
> "All", but I get nothing.
>
>
>
> I have set up more complicated structures where the composite members
> reference other composite groups, and what stands out is that no matter
> what combinations I have, I always get no results for either
> --memberFilter=Effective and --memberFilter=Immediate. Based on the
> javadoc, I would expect that at least one of those filters would return
> something.
>
>
>
> Am I not understanding how this is supposed to work, or is there a bug?
>
>
>
> Paul Gazda
>
>
>




Archive powered by MHonArc 2.6.16.

Top of Page