Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Groups API: Difference between revisions

From MoodleDocs
Line 1: Line 1:
==Overview==
==Overview==


The groups API is a core system in Moodle which allows for users to be divided into groups, as well as groups to be incorporated into larger groups (groupings).
The groups API is a core system in Moodle which allows for:
 
*Creating and deleting of groups and groupings.
*Adding and removing members to a group.
*Polling of information regarding accessibility and permissions.


==Database Structure==
==Database Structure==

Revision as of 00:54, 10 January 2012

Overview

The groups API is a core system in Moodle which allows for:

  • Creating and deleting of groups and groupings.
  • Adding and removing members to a group.
  • Polling of information regarding accessibility and permissions.

Database Structure

There are four core tables for Groups.

groupings

A grouping is a collection of groups.

Field Type Info
id int(10) auto increment identifier
courseid int(10) The course id
name varchar(255) Name of the grouping
description text Description of the grouping
descriptionformat int(2) The format of the description
configdata text Configuration data
timecreated int(10) The time that the grouping was created
timemodified into(10) The time last changes were made

groupings_groups

This table links a grouping to a group. There can be multiple groups in a grouping.

Field Type Info
id int(10) auto increment identifier
groupingid int(10) The grouping id
groupid int(10) The group id
timeadded int(10) Time that the group was added to the grouping

groups

Each record represents a group.

Field Type Info
id int(10) auto increment identifier
courseid int(10) The id of the course
name varchar(255) The name of the group
description text A description of the group
descriptionformat int(2) Format for the description
enrolmentkey varchar(50) The key used when self enrolling into a course. This will automatically put the student into a specific group.
picture int(10) picture for the group
hidepicture int(1) Whether the group picture is displayed or hidden
timecreated int(10) The time that the group was created
timemodified int(10) The last time that the group details were changed

groups_members

This table links a user to a group.

Field Type Info
id int(10) auto increment identifier
groupid int(10) The id of the group
userid int(10) The user's id
timeadded int(10) Time the group member was added