The Group module
Group Administration concepts
The group module allows you to create an organisation structure to allow administration of people in various groupings. A group represents a grouping of people, for example, the people going on an away day, a small group, a crèche team, a worship leading team, a group of people who have asked to receive a newsletter and so on. Their flexibility allows groups to be created and people to be assigned very quickly and easily.
Within a group different roles can be created and assigned. For example, for the away day, there could be: "participants", "leaders", "cooks" etc. A person may have several roles.
Groups may be arranged hierarchically. These groups and subgroups help to ease organization and navigation of the groups. Any group may be a subgroup of another group. If a user is assigned to a subgroup, they also belong to all parent groups. If the groups are laid out carefully, information can be extracted about each level of child/parent groups.
To aid keeping the groups organised, they may be scheduled by a start and end date. This enables groups which are no longer active (e.g. last years away day) to be hidden, though they still exist if the historic information is required. The group module is completely integrated with the people module. In the group module it is only possible to define the groups and roles. Allocation of people to groups is done in the people module. All groups or group hierarchies may be filtered using the filtering functions in the people module, and exported into different formats using the export functions.
A role may be used in several groups. Therefore it can be useful to define general roles like "participants" or "leaders". The list view of the roles (select "list roles" from the menu) shows the groups that the role is used in as well as the name of the role. Existing roles may not be deleted unless the user has authorization stage 3 for all groups which use the role.
Group Datafields - Concepts
Each group may have as many data fields as required. These may be understood as an extension to the roles. A role can either be assigned or not, it defines a yes/no condition. By contrast, the datafields may store more detailed data for a person within the group. For example, this data could be for a weekend away registration: Accomodation (1, 2, or 4 bed room), Vegeterian (Yes, No, Vegan) etc. For more information see below.
The following authorisation stages may be set for each user:
Each authorisation stage contains the permissions of all lower stages.
The first stage (view) allows the user to view groups and the people who are in it (Assuming the people module allows the user to view the people).
The second stage (assign) allows the user to assign people to groups. The user also needs to be allowed to edit personal data (people module authorisation stage 2).
The third stage (edit) allows the user to edit existing groups, and create new ones. In addition new roles may be created and existing ones edited.
The last stage (delete) allows the user to delete existing groups and roles.
Global rights - group-specific rights
It is possible to limit the access to certain groups. The ALL right defined on the login or admin groups includes all groups but it may be elevated for certain groups. E.g. you may assign access level 1 for all groups but raise this to level 2 for certain groups so this login may change assignments of people to these groups.
It is important to note, that access rights given to a group automatically apply to all it's subgroups as well.
Creating New Groups
A group is primarily defined by it's name. A description can be given to the group, which makes it easier for other users to understand the purpose of the group.
If the new group is to be a sub-group of an existing group, the parent group can be selected using the drop down box. When creating a subgroup, use the "copy permissions from the parent group" tick box to copy all the permissions of the parent group. Therefore all permissions need not be defined again for this subgroup.
If the group is not to be scheduled, start and end date should be left blank. For a scheduled group one or both may be set.
A group may be used as a dummy, no assignments are possible to the group. This group will not appear in the people module for assignments. A dummy group may contain subgroups, and this is its main function. These subgroups may take assignments.
Next select the roles which appear in this group. Groups need not have any roles assigned, people may still be assigned to the group.
Then you can choose at most one linked group. If a person is assigned to the current group then he or she is automatically assigned to the linked group too. Annulation of an assignment has no influence on the assignment to a linked group.
Lastly permissions of the group are defined. The permissions defined here only apply to this group.
The groups are shown hierarchically in the list view, i.e. only the highest level groups are shown, or to put it another way those groups which are not subgroups of any other group. For each group displayed, the second column shows the number of subgroups which this group contains. These subgroups may be displayed by clicking on the group name. The subgroups of this group are now shown, and as before the number of subgroups is displayed for each group.
The current group is shown above the list of subgroups. Each hierarchical level is separated by a forward slash ("/"). You can travel back up the hierarchy by clicking on one of these names. To get back to the top level, click on the word "top". In the screenshot two subgroups are assigned to the "Music" group, which is a subgroup of "Youth work". In the screenshot the third stage of the group hierarchy is being displayed.
Use the edit icon to modify the groups data. These changes are immediately applied to all people assigned to the group. The parent group of a group may be changed at any time, thus changing the position of the group (And all its subgroups) in the group hierarchy.
To quickly assign all the permissions of a group to all its subgroups, rather than editing each subgroup individually, simply click the "Transfer Permissions" button under the group list. This transfers all the permissions of the selected group to its subgroups. All permissions for the subgroup are overwritten, so this function should be used with care.
Exporting groups as xls
To get a quick overview of groups they may be exported to an Excel spreadsheet by clicking "Export as xls".
The xls export gives you an Excel spreadsheet containing the subgroups of the currently selected group, one on each line. Subgroups are indented so the hierarchy is correctly displayed. The number of people currently assigned to each group and role is also shown. If you want to export all groups you'll have to navigate to "Top" in the group hierarchy before exporting.
In the screen shot group "Weekend away 2007" is being edited, For each person the following data may be edited:
On the left there is a list of data fields which had the "Used globally" box ticket when they were created. Also the preset datafields show in this list. If a new field is required, it may be added on the right hand side. In the screen shot a new "select" data field "Favourite Colour" is being created, with a list of colours. The persons favourite colour may be selected.
To enable a data field to be used in severeal groups, you have two options: Tick "Used globally" or "Store as preset". When using a datafield globally the same datafield can be used in different groups. It really is the same datafield so filtering for this datafield shows all address that have the filtered for value in this datafield in any of the groups this person is assigned to. On the other hand if you tick "Store as preset" each group gets it's own copy of this datafield preset. In the datafield filter in the people module each of these copies show individually and can be filtered for individually. When in doubt just use a preset.
The third option "Private (don't use for web subscriptions)" is only needed if you work with the TYPO3 extension kool_groupsubscribe which renders subscription form for this group in a TYPO3 website. There such private datafields won't show in the public subscription form but can only be filled inside kOOL.
Settings for current user
Using Groups in the People Module
These groups are available in the people module. The groups and roles can be assigned to people when their person record is being edited. In the edit screen there are three lists. The first is a list of all groups, shown in their hierarchy. Groups which have date ranges are not shown if the current date does not fall within the range. Groups without a range are always available to select. Once a group is selected, the roles of the group appear in the second column, or if no roles are defined only the group name is shown. One or more of these roles can be assigned to the person. These assigned roles are listed in the third column. To remove an assigned role, select it and click on the red dustbin icon.
The third section is headed "Groups (In the past)". This lists all the groups which finished in the past that the person being edited belonged to. The groups are shown, as always, in their hierarchy.
Group assignments may be be shown in the list view of the people module. The groups are listed in the column submenu, after all the columns. The groups are separated from the "normal" columns by the "---Groups---" line. If a group column is selected to be displayed, the list shows whether each person is assigned to a group, and if so what their assigned roles are within the group. If they have no roles assigned, the assignment is shown with an "X". This "X" is also shown for a group if the person is assigned to one of this group's subgroup. The group columns can be exported to, for example excel, from the list view just like any other columns.
The group columns, like any other column have the multi line edit facility available. Only the roles belonging to the selected group may be assigned, not roles from another group.
To show the people who are assigned to a certain group, select the group using the "Groups" filter. Once a group is selected, the roles appear in a second list. This allows people to be filtered by role as well as by group.
If a person is assigned to a group which has datafields, they appear below the group selection in the edit or create person screen. Each groups fields are shown, and may be edited as required for the current person.
The data fields can be shown or hidden in the list view. This is done by using the tick box labelled "Group data". This will also affect the data that is exported from the person list to, e.g. Excel.
Use addresses from a group for a mailinglist
If your mail server is using ezmlm-idx as mailinglist manager (see ezmlm.org) you can use kOOL to manage the recipients of these mailinglists. In order for this to work your kOOL administrator has to set the EXPORT2EZMLM option.
When you edit a group in the group module you can set the address of the mailinglist and the moderator's address for this group. As soon as you add a person's record to this group her email address will automatically be added to this mailinglist. As soon as you unassign this person from this group or you delete this person's record the given email address will also be unsubscribed from the mailinglist again.
The option "Perform initial export" allows you to initially subscribe all already assigned addresses to the mailinglist. This is only needed if you've added a mailinglist to a group which has already been in use with members assigned to it. When creating a new group, you don't need this option.