...
Grouping Roles and Permissions
User Type | Description | Can use hawaii.edu/uhgroupings to perform these operations: |
---|---|---|
Grouping Superuser | Any person who has been designated as a Grouper administrator. |
|
Grouping Owner | Any person who is responsible for a grouping. The first owner requests for the creation of a grouping. That request must specify the basis and destination (if any) of the grouping.
|
|
Grouping Member | Any person who is a member of a grouping, regardless of whether the membership comes from the basis or the include group. |
|
Application Account | A special username that is used by an application to interact with UH Grouper (and therefore, UH Groupings). Grouper permissions are granted based on the needs of the application. | N/A, an application account can access whatever Grouper resources and perform whatever operations it has been granted permissions for. |
Anatomy of a Grouping
Info |
---|
Typically you would not need to create the underlying components described below. When we receive a grouping request, we will implement them all for you. We expect that most applications would only need to deal with a grouping's include or exclude group. |
...
All groupings must be created under hawaii.edu:custom:<org> or a subdirectory under that. We'll describe the Grouper components that make up a grouping by using a manoa-math-club grouping example. Remember that a colon delimits a folder, so we'll notate them in bold and ending with a colon:
hawaii.edu: | Top-level folder for all Grouper groups | |||||||
custom: | All groupings must be inside custom: subfolder | |||||||
uhm: | Organize grouping by <org> code. We will create it under the uhm folder | |||||||
manoa-math-club | The grouping itself. It is a composite group defined as: | |||||||
manoa-math-club: | A folder holding all artifacts that implement the grouping. Every grouping has a folder with the same name as the grouping. | |||||||
basis | The basis of the grouping. It can have a single group as a member or it can be a complex group expression. A basis is typically built from UH Group Store. Examples: Simple basis: This basis group has only one member, hawaii.edu:auto:sis:registration:MAN:MATH:140:86212:201430:enrolled Complex basis: This basis group has one member, hawaii.edu:custom:uhm:manoa-math-club:basis:100, which is a composite group that implements a complex group expression. See below. | |||||||
basis: | If the basis is a complex group expression, we will need to create intermediate groups that represent each group operation. Such groups go into this folder. | |||||||
100 | A composite group that represents a complex basis that is implemented by operations on the 101, 102, etc. groups below. For example, this group is a composite group defined as | |||||||
101 | This could be a composite defined as hawaii.edu:auto:sis:registration:MAN:MATH:111:85029:201430:enrolled union hawaii.edu:auto:sis:registration:MAN:MATH:112:82784:201430:enrolled | |||||||
102 | This could be another composite defined as hawaii.edu:menu:any-dataOrigin:aff:any-org:faculty | |||||||
include | The grouping's include group. | |||||||
exclude | The grouping's exclude group. | |||||||
basis+include | Every grouping has this. It is the composite group that implements the "basis union include" portion of the grouping. |
Grouper web services
- All UH Grouping operations are performed using Grouper web services. You will need to become familiar with it:
...
- Special considerations before modifying an include or exclude group:
- Who is performing the addition or deletion from the include and exclude groups? If it as a grouping owner, you may proceed.
- Is your application opting in or out on behalf of a grouping member? If so, you should check whether the owner allowed that.
- Determine the full path to the grouping's include and exclude groups. Simply append :include or :exclude to the grouping path, e.g.
- hawaii.edu:custom:uhm:manoa-math-club:include
- hawaii.edu:custom:uhm:manoa-math-club:exclude
- Use these Grouper web service to add or delete members from the include or exclude groups.
- REQUIRED: set this Grouper attribute to the current date and time, but truncate the seconds portion:
- uh-settings:for-groups:last-modified
- Use the YYYYMMDDTHHMM format for the attribute value, e.g.
- 20140315T1915 (March 15, 2014 7:15:59 PM, note how we truncated the secods, even if this should have been rounded to 7:16 PM)
- Please make sure your clock is synchronized with a time server.
- Use this Grouper web service to assign the attribute:
- A future version of Grouper will support RabbitMQ messaging, and we should then do away with this timestamp requirement.