У нас Виртуальный деканат строился еще тогда когда в Моодле даже виртуальных когорт на курсах не было. Потом в следующей версии, уже не припомню какой ;) толи 1.4... то ли 1.3.., когорты появились, и нам стало еще проще с Виртуальным деканатом.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Суть того метода, по которому мы работаем с группами:
- Дополнительные таблички:
- группы (названия группы, аббревиатура к примеру ЭВТ06)
- студенты_в_группе ( mdl_users -> группа)
- учебные_планы_группы (mdl_courses -> группа)
- Отдельная система управляющая теми табличками.
- В момент подписания группы на список курсов, создается (если не было) на каждом курсе когорта по аббревиатуре группы (прим. ЭВТ06), и подписываются на курсы студенты помещаясь в эти когорты.
- В момент отписания группы от курса делаем в обратном порядке, студентов по одному отписываем от курса, и проверяем пустая ли когорта (по аббревиатуре группы), если пустая то удаляем когорту с курса.
В результате, мы на каждом курсе имеем одинаковые названия групп (удобно то, что преподаватели могут переразбивать эти группы), имеем удобную систему работы с учебными планами, и минимум переработок со стороны МУДЛА (возможно и совсем без них обойтись). Вся дальнейшая работа заключается в корректном поддержании списков групп и ежесеместровом переподписании учебных планов.
Тут описана просто общая картина, сама реализация полна тонкостей, но вполне решаемых. Я бы выложил с удовольствием эту системку, но мое руководство не одобрит.