Groups tend to have the problem that they are never deleted. Users leave the group but nobody feels responsible and knows when a group can be deleted. An automatic life-cycle management needs to be implemented similar to users and courses:
- Implement a status on the group datamodel
- active
- normal as today
- status after creating a new group
- inactive
- group still accessible by all members
- group visible in personal group list
- all group tools are read-only similar to the closed courses
- no new forum posts, file uploads etc
- read-only also for WebDAV access
- the admin menu shows a special panel
- Info about the creation, inactivation and automatic deletion date
- button to re-activate the group
- will set group back to active state
- button to delete the group
- will trigger delete state
- deleted
- similar to course behavior
- all users are removed from the group
- all references to courses are removed from the group
- the group itself remains, no data is deleted
- the deleted groups are listed in a new segment "deleted" or "trash" similar to the authoring site
- active
- Implement the automatic group life-cycle
- Similar to the learning resource / user module implement options and dates to manage the life-cycle
- automatic inactivation after # days with no group opening
- inactivation email
- automatic deletion after # days of inactivation
- deletion email
- automatic permanent deletion after # days of deleted state
- Similar to the learning resource / user module implement options and dates to manage the life-cycle
- Manual group management
- Implement manual group status change as a batch action or single group action
- when performing status change show optional mail form
- When reactivating groups, set a grace period date or just update the last visit date
- In the deleted or trash segment add action to reactivate or permanently delete the groups
- When manually delete a group by the group administrator give him the option to put group to trash or execute the permanently delete right away.
- Implement manual group status change as a batch action or single group action