CiviCRM Shared Groups

Component ID

1284168

Component name

CiviCRM Shared Groups

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

Provides some tweaks to how CiviCRM groups are listed in forms to make managing large number of groups a bit easier.

This module does not do anything to actually alter user access to groups. Every user with permissions to access a CiviCRM group because of either Drupal permissions or CiviCRM ACLs will still be able to with this module. All that this module does is change which groups are available when the user is asked to select a group from a form element (e.g. while searching for contacts or adding contacts to groups).

This module provides the following functionality:
Display Group Nesting in Select Boxes
When groups are nested in CiviCRM, they are still displayed as a flat list when rendered into an HTML Select box. This module allows child groups to be displayed indented under their parent group.

Groups are 'Owned' by a user
Groups have a single user who is treated as the "owner" of that group. Groups can be marked as shared to the owner only, so only the user that owns the group sees this group when selecting groups. Currently, groups are owned by whomever creates them, and admins can transfer group ownership to themselves.

Groups can be tagged with user custom data
Groups can be shared with other users, based on the value of a custom field on the user's contact record. For example, you could have a custom field for the users Department, and then tag a group as being part of the "Advocacy Department." This would allow any user who is tagged with "Advocacy Department" to see that group. Which custom field to use can be set in the module settings.

Global Groups
Users with sufficient permissions can flag groups as Global, which will make them available to all users. This behavior mimics the current group visibility in CiviCRM

Group Expiration
Groups can be set to expire, so that they are automatically cleaned up by the system after a certain number of days. Users with sufficient privileges can set a group to "Permanent" to avoid expiration of important groups. Groups are expired based on the following criteria:

  • Groups that have been used in an ACL Role are left alone, and are set to become "Permanent"
  • Groups that have been sent a mailing are left active, but are set to 'hidden', so they are no longer displayed in lists, but can still be accessed via the mailing report
  • Groups that have become a dependency for another group (either by a Smart Group criteria or by a parent/child relationship) are disabled.
  • All other groups are deleted

This allows users to be able to create groups which will be used for a short term purpose without having to remember to come back later and clean up their groups.