moodle/group/overview.txt

55 lines
2.3 KiB
Plaintext

Quick summary!
See the wiki too -
http://docs.moodle.org/en/How_groups_work_in_Moodle
http://docs.moodle.org/en/Groups_documentation_for_module_developers
To install - run install.php. This create the appropriate database tables and
sets some default config for using an IMS Enterprise web service (in particular
the default setting is that such a web service is not called).
The user interface for managing groups for a course is groupsui/index.php.
A grouping is just a set of groups - the idea is that you can have several
groupings for a course, and then choose different groupings for different
activities.
Note that installing this code does not enable you to actually use the groupings
with activity modules - this is coming :-)
configui - This contains the user interface for changing the IMS Enterprise web
service config
db - all the functions that access the database, only used internally. There are
basically six tables that this code deals with groups_groups,
groups_courses_groups,groups_groups_users, groups_groupings
groupui - the user interface for managing the groups and groupings of a course.
This uses Ajax so most of the code for the user interface is in the javascript
files - the PHP files just send back an appropriate XML response to specific
POST requests. You'll probably need to know the basics of how Ajax works to
understand the Javascript.
lib - The main libraries for the user interface and other moodle code to user.
-- basicgrouplib.php contains the basic functions for adding users to groups,
deleting groups etc.
-- groupinglib.php contains the basic function for groupings e.g. creating
groupings, adding groups to groupings
-- extendedgrouplib.php contains other functions that are useful and use the
basic group and grouping functions
-- lib.php is just there to let you include all the libraries more easily
-- utillib.php contains functions that are handy but don't use any of the group
or grouping library function e.g.
things like getting the names of users
-- configlib.php - Contains wrapper functions for getting and setting config
unittests - This directory needs a bit of sorting out, and I've just discovered
that I've broken one of the main
tests...
strings.php - This is stuff that will need to go in the language files - it's
here for convenience while I'm doing the
development.