Skip to content

Instantly share code, notes, and snippets.

@hypeJunction
Created February 6, 2014 16:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hypeJunction/8847649 to your computer and use it in GitHub Desktop.
Save hypeJunction/8847649 to your computer and use it in GitHub Desktop.
Understanding Elgg Groups

Understanding Elgg Groups

The definitions below are of the default core behaviorr. Third-party plugins may have altered this behaviour.

Group Owner

Group Owner is a user that (alongside the administrators) has privileges to edit group description and perform other management operations that require canEdit permissions.

Group ownership is assumed at the time the group is created by the user. Ownership can also be acquired by ownership transfer, when one user concedes the ownership to the other.

Membership Permissions

Open Group

Open Group is a group without any membership barriers. That is any user that can see the group, can also join it (e.g. by clicking Join button)

Closed Group

Closed Group is a group with membership barriers. Membership in a closed group can be acquired:

  • By requesting membership - requests will have to be approved by the Group Owner
  • By an invitation from the Group Owner - invitations will need to be approved by the invited users
  • By being added directly to the group by the Administrator - no further actions will be required

Group Visibility

Site owners can control whether users will have control over the group visibility settings in Groups plugin settings.

Hidden Groups

A hidden (or private) group is only be visible to members of that particular group. This means the group will not show up in search results, and pages owned by that group will not be visible to non-members. This does not, however, always mean that content posted to the group will be restricted to members of that group (especially in versions of Elgg before 1.9). See Group content accessibility for more.

Gropu visibility is controlled by group's access_id attribute. When the group is created it automatically becomes an owner of an access collection. Whenever a user is added or removed from the group, the access collection is updated to include or exclude those users.

Access collections IDs are then used by Elgg's getter functions during database quering.

Public Groups

Public Groups can be visible either to the entire world or to the logged in users. This can be set at the time the group is created (given the hidden groups functionality is enabled on the site). If hidden groups are disabled, then the group will be created with the site's default access level.

Group Content Accessibility

Unrestricted Mode

In an Unrestricted mode, members of the group can decide, who can see the content they are posting to the group. They have an option to post it publically (public, logged in), as a draft (private), or restrict it to group members.

Members-Only (Restricted) Mode

In a resricted mode, members are forced to post their content either as a draft (private) or member-only content.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment