Course groups

Course Groups - A Guide for Course Administrators

Introduction

Several CSE courses require students work together in groups on common projects, sharing access to common files. Usually such groups would need to be managed by system staff. However, a system has been created at CSE which delegates management of these groups to course administrators using the priv command: priv update-groups System admins will still need to set up the initial configuration files, and may need to update these files occasionally, but in general, course administrators should be able to completely administer group creation and membership for themselves once the initial group management configuration files have been set up. This document describes specificly what course administrators need to do to administer this system, while the Systems Course Group document describes specificly what system administrators need to do to administer this system.

Overview

The course administrator:
  1. Gets system staff to set up the general attributes of the groups to be created, in particular they will define the group prefix P (eg: sew3b).
  2. Creates the file defining the specific groups and their membership.
  3. Runs the command: priv update-groups P (eg: priv update-groups sew3b)
This will create the group accounts that each of their student members can access. Thus student S, who is a member of group Pn, should be able to:
  • Log into a CSE machine as themselves;
  • Create and access files and directories within their group's home directory (/home/Pn/) that can be shared between all members of their group.

Group attributes

General course group attributes are stored in the group attribute file in /home/ss/conf/group-manager/. This file:
  • Has the same name as the ARG passed to the priv script used to manage course groups (ie: priv update-groups ARG);
  • Is accessible only to system staff.
The following attributes need to be defined and sent to system staff to enter into the group attribute file for your course groups:
Prefix
The course group prefix to which the group number is appended. This is usually the same as the argument ARG is passed to the priv script but it need not be;
Width
The width of the group number appended to the group prefix
Course
The Course associated with the group
Config
The full pathname of the course group membership file which defines the group members and group expiry, and is the file administered by the course admins. This file location is dealt with more fully in the next section under Spec file location
Expiry
This is the expiry date of the group accounts. By default, groups expire before the start of the next session, but you may prefer to have them expire when the group attribute file expires (which is determined by setting valid_until in either this file (the group attributes file), or the group membership file (described below).
Authorised posters
This determines the users authorised to send email to the virtual mail address group.coursegroup-list By default, this is all users within CSE.
Home base
This is the location of the homes of the course groups . The system default is usually fine, but if your course makes particular use of specific server (like a database server), then you might prefer to keep all course groups on the filesystem local to that server.
Extra Classes
These are additional UDB classes that allow for things like extra disc quota, or access to specific servers
Group Description
By default this will be Group NN for $Course, but you may change this to a more descriptive string if you prefer.

Group membership and expiry

The group membership file is the file that you, the course administrator, will need to edit to determine group membership and expiry.

Spec file location

The spec file is best located somewhere in the course admin's account, usually in a directory reflecting the groups' year and session. (eg: /home/$course_admin/YYsS.work/groups) Note that the full pathname of the group spec file needs to be assigned to the config variable in the Group attribute file, and that this config file is only accessible to system staff (SS). So if the course admin wants to be able to change this file's pathname each year/session (because the group spec file is located in a different directory each year/session), without having to involve SS each year/session, then the course admin should:
  • Create a soft link with a fixed name that always links to (or points at) the current group spec file (eg: /home/$course_admin/coursegroup -> /home/$course_admin/YYsS.work/groups);
  • Arrange to have the full pathname of the soft link assigned to the config variable in the group manager config file.

Spec file format

The course group spec file has the following format: [ 'valid_until' '=' ddMMMyyyy ] { NN '=' user{','user} } Where:
ddMMMyyyy
the date up to which the group spec files are valid (eg: 12dec2009). The group manager config file can assign the course group expiry to this date if required
NN
the group number that is appended to the group_name_prefix (eg: 01)
user
the user to be added as a member of the group ${group_name_prefix}${NN}

Managing course groups

Once:
  • The group attribute file has been created by SS defining the attributes you want for your course groups;
  • The group membership file has been created (or modified) by you;
You can create or update your course groups by running: priv update-groups ARG where ARG is the special name defining your course groups. It is recommended that ARG be the same as your course group's prefix, but it is actually determined by the name of the group attributes file (in /home/ss/conf/group-manager/). If this is not actually the same as your course group's prefix, then for your own reference, you should insert a comment into your group membership file specifying what ARG is.

Important Notes

A course group home directory will be archived and cleaned out (ie: re-initialised) if the none of the users that are currently members of the course group are group members as defined in the current group membership file. This is done to ensure that group home directories are cleaned out when appropriate, and that users do not inadvertantly get access to previous groups' files. Thus:
  • Adding new members to a group, or deleting some members from a group, will retain that group's home account (with all its existing directories and files), and make them accessible to all new members of the group.
  • Changing the valid_until date by itself will not archive old groups even if the old groups and their membership had technically expired, as long as the old existing groups have at least one member in common with the new defined groups.
  • Renumbering an existing group will cause the old group account to be cleaned out and archived, and a new group account to be created.
  • If groups are not being created correctly, and you are certain that the course membership file is correct, then SS should be contacted to check that the group attribute file (which is only accessible to SS) is correctly set up.
  • Last edited by zain 26/10/2016

    Tags for this page:

    course, group