Skip to Content.
Sympa Menu

grouper-users - [grouper-users] RE: IncludeExclude and requiredGroups

Subject: Grouper Users - Open Discussion List

List archive

[grouper-users] RE: IncludeExclude and requiredGroups


Chronological Thread 
  • From: "Black, Carey M." <>
  • To: "Farmer, Jacob" <>, "Bickel, David" <>, "" <>
  • Cc: "Hyzer, Chris" <>
  • Subject: [grouper-users] RE: IncludeExclude and requiredGroups
  • Date: Fri, 9 Jun 2017 19:40:50 +0000
  • Accept-language: en-US
  • Authentication-results: spf=pass (sender IP is 128.146.163.18) smtp.mailfrom=osu.edu; internet2.edu; dkim=none (message not signed) header.d=none;internet2.edu; dmarc=pass action=none header.from=osu.edu;
  • Ironport-phdr: 9a23:SulD0RVkoHUyk4AiG/PCvnuvZ0fV8LGtZVwlr6E/grcLSJyIuqrYZRWGuqdThVPEFb/W9+hDw7KP9fuxBipevN3Y6ypKWacPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3wOgVvO+v6BJPZgdip2OCu4Z3TZBhDiCagbb9oIhi7qQfcutMXjIZiJao91xXErmVVcOlK2G1kIk6ekQzh7cmq5p5j9CpQu/Ml98FeVKjxYro1Q79FAjk4Km45/MLkuwXNQguJ/XscT34ZkgFUDAjf7RH1RYn+vy3nvedgwiaaPMn2TbcpWTS+6qpgVRHlhDsbOzM/7WrakdJ7gr5Frx29phx/24/Ub5+TNPpiZaPWYNcWSXNcUspNSyBNB4WxYIwTAuYfOetVr5Dxq0cNoBCjAQWhBP/jxjpOi3Tr36M1zv4hHBnG0gI+AtwOrHraotb7NKgQUOC60KbHwC7ZYP9K3Trw8pTEfgw8rfyKQLl+cdDRyU4qFw7dgFmdtIjlMCmJ2eQOq2SQ8vRtWvi1i2E5qwB6vz+hyt0ihoLUgY8a0VTE+j9lz4Y2P9G0VVB3bNC/HZtXrCGaKpF6Td0/TGF1oSs3zKANt5C8fCgP0psnxhjfZuSGc4iO/hLsSvyRITFmi3J5Zr6znQi9/lW9yuD6S8K6005KozJbntbWqnwByhne5tWaRvdg+0qh1zmC2xzP5uxBL0A7i6XWJ4Mkz7M1lJcfrVjPEjf0lUj5lqOaa0op9vSy5+npfLnqvJuRO5FshgHwLKsjmdCzDOE9PwUOQ2eU5eq82bj98UD2QbhFk/g7n6bZvZ3YK8kWo7K2DBRO3Yk57Ru0Ei2o384CnXYdKVJIYBKHgJbtO1HJOP32FeuyjVOwnDt23vzLI6XvD5vUInjEi7juY6xx60lByAov1t9f4I9UCrccL/7pQk/xrtvYDgMnPAOo3+bnCdJ91oUEVWKIH6+ZLKfSsViP5uIsOeWDeIgVuDPlJ/gk4f7hk2M5lEcDcaazwZcbdXW1Eul7L0mEZHfsjNgMHXsWsgc7QuzlllKPXSNWanu3Xa8w+i03BJqjDYjZR4CthLKB3D28Hp1Tfm1JEVSMHm30eIWHQfsAdTyeL8F6nzwDTrihVpUt2g+zuw/n07ZnNPbb+jUEtZL/09h4/+LTlQs19TxpF8SSzXuNQ3hpnmMTWTA2xrt/rFd5yleCyqh4n+dYGcJJ6/NIVAc6KYDTz/Z8C9/sRgLNYM2FR0i7TdW7UnkNSYd77dYUZktnX52AhxvE1WDiV70NmbWRAZEu2qPBmXX9OpA5gzzs1aIigl1iCudGK2yqzOYr9QTZBoXKnkGxlrvseKgBimqFvmiZyneWsVsdTRV9S77tXHYDa1HQoMijoE7OUvXmXbs9NRZZxNTHN7BHcMbBjFNaSe3lNciEJW+9hjHjKwyPw+bGRo7jcGZZlA7UEkUV2yVVtz7SPww3DSTn+jiFJDt1CBTib166oro2k2+yUkJhl1LCVEZmzbfgv0NNiA==
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

Jacob,

 

I could be wrong about some of these details, but my impressions of these features are as follows:

NOTE: I am poking at this with a stick and not yet tried to read the code. ( YMMV, you may find other features, my install is still a “work in progress” so something could still be “broken here”, etc.., etc…)

 

 

1)      Composite groups “do group math” on every search/fetch of the group/user involved in the search.

a.       However, it is only a pair of groups to do math on, but you can nest groups as needed.

TopGroup = GroupA intersection of (GroupB)  , 

                AND  GroupB = GroupC minus GroupD,

                                   AND GroupC = GroupE intersected with GroupZ,

                                etc…

 

2)      “IncludeExclude” is an example of “automating the conversion of an existing group into a composite group”, and the creation of the “include” and “exclude” groups/design too.

                This is done vai a hook at the time when the “addIncludeExclude” type is added to the group.

                In this case:

 

                                Create a group “groupName”

                                Navigate to the Admin UI.

                                Edit group

                                Check the “addIncludeExclude” group type

                                Save        (NOTE: If there is an easier way to do this from the “New UI” I would love to know. )

 

                                A new group named “groupName_system of record” is created

                                                Any existing members of “groupName” are moved to this group.

                                A new group named “groupName_includes” is created

                                A new group named “groupName_excludes” is created

                                A new group named “groupName_system of record and includes “ is created.

                                                Two members are added to this group:

                                                                “groupName_system of record”

                                                                “groupName_includes”

                                The original group (groupName) is converted to a composite of “groupName_system of record and includes”  MINUS  “groupName_excludes”

 

3)      requireInGroup” appears to only work when the “addIncludeExclude: is set on a group AND it already has one or more groups in the “requireAlsoInGroups” attribute

 

                This is done vai a hook at the time when the “addIncludeExclude”( ß ) type is added to a group.

                NOTE: This is an example with only one group in the requireAlsoInGroups” attribute , you can have more than one. (comma separated list)

                In this case:

                                Create a group “groupName”

                                Navigate to the Admin UI.

                                Edit group

                                Check the “requireInGroup” group type

                                Save

 

                                Click “edit attributes”

                                                Fill in the value for the “requireAlsoInGroups” attribute  ( Let’s call this “etc:requiredMemberships”)

                                Click “Save attributes and finish”. ( BTW: “Save attributes and add members” appears to have no additional functionality to me.)

 

                                Now “Edit group” (again)

                                  Check the “addIncludeExclude” group type

 

                                This time you get a slightly different structure:

 

                                A new group named “groupName_system of record” is created

                                                Any existing members of “groupName” are moved to this group.

                                A new group named “groupName_includes” is created

                                A new group named “groupName_excludes” is created

                                A new group named “groupName_system of record and includes “ is created.

                                                Two members are added to this group:

                                                                “groupName_system of record”

                                                                “groupName_includes”

                                A new group named “groupName includes minus excludes” is created.   ß *new part*

                                                A composite of “groupName_system of record and includes “ MINUS “groupName_excludes”

                                The original group (groupName) is converted to “groupName includes minus excludes” INTERSECTION  “etc:requiredMemberships” ß *changed part*

 

 

NOTE: It appears that further manipulation of the “requireAlsoInGroups” attribute, or the groupType values do not “redefine”/”alter” the groupName after these processes have happened the first time. ( and there is no “warning”/”message”/”explanation” either.)

                I am not sure how I feel about that…. Seems like a “one time tool” that might be helpful if you can know all that you need to know “up front”. But then it leaves you in a state that you don’t “undo”, rather you need to “get our your surgical knife and know where to cut”. :^/

 

NOTE: Now I want to go write a hook for a design pattern that I want to implement. J

 

--

Carey Matthew

 

From: [mailto:] On Behalf Of Hyzer, Chris
Sent: Thursday, June 8, 2017 10:54 AM
To: Farmer, Jacob <>; Bickel, David <>;
Subject: [grouper-users] RE: IncludeExclude and requiredGroups

 

The “type” requireInGroup was meant to be lightweight, but you can make more composites to do this I think.  We have had discussions to make the “composite”  concept in Grouper to be more powerful, and we have a long term plan for this.

 

I made this wiki:

 

https://spaces.internet2.edu/display/Grouper/Grouper+UI+composites

 

Does that address the issue?

 

Thanks

Chris

 

From: [] On Behalf Of Farmer, Jacob
Sent: Thursday, June 08, 2017 9:51 AM
To: Bickel, David <>;
Subject: [grouper-users] RE: IncludeExclude and requiredGroups

 

Colleagues,

 

Anyone have an insight on how we might troubleshoot this?

 

Thanks!

Jacob

 

From: [] On Behalf Of Bickel, David
Sent: Wednesday, May 31, 2017 12:11 PM
To:
Subject: [grouper-users] IncludeExclude and requiredGroups

 

Hello fellow grouper users,

 

I have been tasked with figuring out the functionality of how to have grouper build groups that are a composite of more than 2 groups.  I am able to use the basic composite group logic to perform intersect operations.   However, when I attempt to use groups set as grouperIncludeExclude requireGroup types I seem to not be able to achieve similar behavior.

 

From the documentation,  I have created a group called “GroupA”.  If that group is then flagged with attribute to requireEmployee and requireHasEmail, the group should be populated from the intersect of those groups.

 

Does anyone see any glaring oversight here?  I appreciate any guidance from those more experienced in the ways of Grouper.

 

Thanks,

--David

 

J. David Bickel

Identity Management Systems

Indiana University

812-855-6346

 




Archive powered by MHonArc 2.6.19.

Top of Page