Cohorts: Difference between revisions
From MoodleDocs
No edit summary |
|||
Line 19: | Line 19: | ||
=Use cases= | =Use cases= | ||
=DB tables= | |||
Table ''cohort'' definition of global groups | |||
{| class="nicetable" | |||
! Field | |||
! Type | |||
! Default | |||
! Description | |||
|- | |||
| '''id''' | |||
| int(10) | |||
| auto-incrementing | |||
| | |||
|- | |||
| '''contextid''' | |||
| int(10) | |||
| | |||
| foreign key, references context.id | |||
|- | |||
| name | |||
| char(255) | |||
| | |||
| name of cohort | |||
|- | |||
| description | |||
| text | |||
| | |||
| longer description | |||
|- | |||
| timecreated | |||
| int(10) | |||
| | |||
| timestamp, creation date | |||
|- | |||
| timemodified | |||
| int(10) | |||
| | |||
| timestamp, last modification | |||
|} | |||
Context specified can be system or course category level, defining of cohort a course context would not make much sense. | |||
Table ''cohort_members'' stores cohort members | |||
{| class="nicetable" | |||
! Field | |||
! Type | |||
! Default | |||
! Description | |||
|- | |||
| '''id''' | |||
| int(10) | |||
| auto-incrementing | |||
| | |||
|- | |||
| '''cohortid''' | |||
| int(10) | |||
| | |||
| foreign key, references cohort.id | |||
|- | |||
| '''userid''' | |||
| int(10) | |||
| | |||
| foreign key, references user.id | |||
|- | |||
| timeadded | |||
| int(10) | |||
| | |||
| timestamp, when added | |||
|} | |||
=New capabilities= | |||
* moodle/cohort:assign (add/delete members) | |||
* moodle/cohort:manage (add/delete/move cohorts) | |||
* moodle/cohort:view (view membership and use cohort elsewhere) | |||
=See also= | =See also= |
Revision as of 17:36, 8 March 2010
Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.
Cohorts | |
---|---|
Project state | Proposal |
Tracker issue | MDL-21781 |
Discussion | n/a |
Assignee | Petr Škoda (škoďák) |
Moodle 2.0
Goals
Site-wide groups (aka cohorts) is one of the most requested missing features.
- Simplify manual enrolments - instead of enrolling students one by one, it would be possible to enrol a cohort with single click.
- Cohort enrolment plugin - new enrolment plugin synchronising users in cohort with enrolments in a course (including role assignment and group membership)
- Synchronisation with external systems - some external systems do not know the actual courses, they only contain some user groups, at present we do not have a simple way to reuse these groups in Moodle.
- Partially replace meta courses - metacourse is a confusing concept for many people, there are several unsolved problems and performance issues.
- Partially replace category enrolments - category enrolments have major design issues and are not compatible with proposed enrolment changes.
Use cases
DB tables
Table cohort definition of global groups
Field | Type | Default | Description |
---|---|---|---|
id | int(10) | auto-incrementing | |
contextid | int(10) | foreign key, references context.id | |
name | char(255) | name of cohort | |
description | text | longer description | |
timecreated | int(10) | timestamp, creation date | |
timemodified | int(10) | timestamp, last modification |
Context specified can be system or course category level, defining of cohort a course context would not make much sense.
Table cohort_members stores cohort members
Field | Type | Default | Description |
---|---|---|---|
id | int(10) | auto-incrementing | |
cohortid | int(10) | foreign key, references cohort.id | |
userid | int(10) | foreign key, references user.id | |
timeadded | int(10) | timestamp, when added |
New capabilities
- moodle/cohort:assign (add/delete members)
- moodle/cohort:manage (add/delete/move cohorts)
- moodle/cohort:view (view membership and use cohort elsewhere)