Menu

Grouper - intro

Grouper is a system for creating and maintaining institutional groups in a central repository. Such groups may be used for many different purposes e.g. for mailing lists, or for determining which set of people are allowed to access specific web applications, or for sharing resources. The goal is to create a group once, but use it as often as necessary in as wide a range of systems as possible.

In order to use Grouper effectively you must first understand some key concepts:

Group
A group represents a collection of 'items' or entities which are themselves considered to be members of the group.
Entity
An entity is an abstraction for any 'item' which may be a member of a group. An entity has a 'type' e.g. person or group. To specify that group B is a member of group A is to specify that all members of group B are also members of group A. In the future, other entity types may be available to define computers or applications.
Membership
A specific relationship between an entity and a group.
Folder
A folder is a name space or container in which groups exist. Folders are hierarchical and may contain subfolders or groups. Folders can be used to collect together related groups and provide a means of controlling access to groups. Some examples of folders are: In this web application, groups and folders are distinguished by the addition of square brackets [] around group names.
Privileges
Grouper provides fine control over who can create folders and groups, who can change the membership of a group, and who can grant privileges for specific folders or groups to others. In fact, privileges are granted to entities. By granting a privilege to an entity which is a group, all members of that group are granted the privilege (for as long as they are a member of the group).

EveryEntity is a special internal entity. Any privilege granted to EveryEntity is, in effect, granted to all entities.

GrouperSysAdmin is also a special internal entity which has implicit admin privileges for folders and groups.

A SysAdmin group, if defined, conveys implicit GrouperSysAdmin privileges to its members. Members of this group, by default, act as themselves with privileges limited to those assigned to them. This UI allows SysAdmin group members to opt to Act as admin.

Folder privileges
Create
Entity may create groups, attributes, and subfolders in this folder
Admin
Entity may create groups, attributes, and subfolders in this folder, delete this folder, or assign any privilege to any entity
Attribute read
Entity may see the attributes for this folder
Attribute update
Entity may modify the attributes of this folder

Group privileges
Member
Entity is a member of this group
Optin
Entity may elect to join this group
Optout
Entity may elect to leave this group
View
Entity may see that this group exists
Read
Entity may see the membership list for this group
Update
Entity may modify the membership of this group
Admin
Entity may modify the membership of this group, delete the group or assign privileges for the group
Attribute read
Entity may see the attributes for this group
Attribute update
Entity may modify the attributes of this group

Grouper end-to-end scenarios

  • Find a folder or a group by navigation
  • Find an entity or a group by searching
  • Read a group's membership list
  • Add a member (entity or group) to a group
  • Remove a member from a group
  • Assign someone to be able to manage a group
  • Create a new group
  • Create a composite group
  • Create a new folder
  • Assign someone to be able to create new folders or groups within a parent folder
  • My Memberships*
    lets you find groups of which you are a member
       -- groups where you have member privilege --
    Join Groups*
    lets you find groups that you are eligible to join
       -- groups where you have optin privilege --
    Manage Groups*
    lets you find groups where you may update membership lists or assign privileges to others
       -- groups where you have update privilege or admin privilege --
    Create Groups*
    lets you create new groups or (sub)folders, as permitted by location
       -- folders where you have admin privilege or create privilege --
    Explore
    lets you explore all groups that are visible to you
       -- groups where you have view privilege --
    Search
    Lets you search for any entity known to Grouper. Allows an entity-centric approach i.e. you can list all groups where the entity is a member or has an Access privilege, or folders where the entity has one of the Folder privileges.
    Group workspace
    As described below, Grouper provides several ways of finding groups. It is possible, from the Group Summary page, to save, for the duration of your session, a group in a list. This menu item provides quick access to the groups throughout the session and provides a way of removing groups. The list provides the means for selecting groups for Group Math, described below. Saved groups are stored in the same list as saved entities (see belolw), however, this menu item filters the list to return only groups.
    Entity workspace
    Grouper provides a Entity summary page which can be accessed from many points in the UI. It is possible, from this page, to save, for the duration of your session, an entity in a list. This menu item provides quick access to the entities throughout the session and also provides a means to remove them.
    *
    These menu items filter the group hierarchy so that you see groups and folders relevant to the task you want to perform. GrouperSystemAdmin can manage all groups and folders and is not intended to be a group member, therefore, GrouperSystemAdmin does not have access to these menu items. This is also true of SystemAdminGroup members who have opted to Act as admin.

    Finding groups

    Grouper provides several ways of finding groups

    Browsing
    click on folders to find subfolders and groups:
    Listing
    with the exception of All Groups it is possible to hide folders and simply show the list of groups for a particular section. This may work well when there are relatively few groups
    Searching
    case-insensitive substring searching of group names below a selected folder is provided. There is an advanced search screen which gives the user more control over which attributes are searched.
    Saved groups
    as described above, groups can be saved in a list in the session for quick access by clicking on the appropriate menu item.

    Finding entities

    Entities can be found by:
    Browsing
    click on folders to find child groups. You can also click on a group to expand its membership list and select entities from that list
    Searching
    the user interface allows the user to enter a query string which is used to match entities. How the query string is interpreted depends on the specific implementation(s) of the Entity API present in the Grouper installation. The reference Grouper installation will return entities where:
    1. any of the entity attributes are an exact* match for the query string
    2. the entity is not a person and the the query string is a substring of a entity attribute.
    3. the entity is a person and:
      1. the query string is an exact match for a fisrt name
      2. the query string is two terms e.g. ben fiona, and the second term is an exact first name match, and the first term matches the start of the entity's surname.
    *searches are case-insensitive
    Saved entities
    as described above, entities can be saved in a list in the session for quick access by clicking on the appropriate menu item. When looking for entities to assign membership or privileges to, the list of saved entities can be displayed for quick assignment to any entity in the list.

    Direct vs indirect

    Privileges and membership of a entity for a group (Group A) may be granted directly to the entity, or may be indirectly derived because the entity is a member of a group which has been granted a privilege for Group A, or is, itself, a member of Group A.

    The Grouper UI indicates whether a membership is direct, indirect or may, in fact, have more than one source e.g. if entity A is a member of Group A and Group B and both Group A and Group B are members of Group C, then entity A has two memberships for Group C.

    Group math

    Grouper allows the membership of a group to be defined as the union (or), intersection (and) or complement (not) of two other groups. This special type of member is known as a Composite member. A composite member has two Factor groups.

    Take two ordinary groups:

    1. fionas = Fiona Windsor, Fiona Benson, Fiona Tarbuck
    2. bensons= Keith Benson, Fiona Benson, Ian Benson
    fionas union bensons= Fiona Windsor, Fiona Benson, Fiona Tarbuck, Keith Benson, Ian Benson
    union indicates the result of adding the members of fionas and bensons.
    fionas intersection bensons= Fiona Benson
    intersection indicates the members-in-common of fionas and bensons.
    fionas complement bensons= Fiona Windsor, Fiona Tarbuck
    complement indicates the members of fionas minus the members of bensons. In this case the position, left or right, of the groups is important.

    A group can have a single composite member, or any number of entities (including groups) as members, but not a combination, however, groups which have a composite member can be used anywhere other groups can be used.

    Custom group types

    It is possible for sites to define custom attributes for groups (Grouper administrators can see wiki for more info). A special kind of attribute, a list, is a collection of entities, similar to a group's membership list. If a group has list attributes, and you have READ or WRITE privilege for the list, the Grouper UI will let you manage the list in a similar way to a group's membership list. A custom list cannot have a direct composite member, however, it can have as members, groups which have composite members.