Общий форум

Как сделать запись (синхронизацию) студентов на много курсов

 
Изображение пользователя Андрей Рабой
Как сделать запись (синхронизацию) студентов на много курсов
 

Есть категория курсов  "Дисциплины  строителей 1 курса", в этой категории курсы: математика, информатика, история, информатика, химия, биология, астрономия и т.д. . Есть глобальная группа "Строители 1 курс". Сейчас я вручную добавляю синхронизацию группы в каждый курс.

Это превращается в Ад)) 10 групп * 10 предметов = головная боль

Как можно реализовать (сейчас фантазирую) запись группы в категорию курсов, чтобы группа записывалась на все вложенные (подчиненные) курсы? Хочется: при добавлении студента в группу "Строители 1 курс" он записывался на все дисциплины, которые преподаются для строителей 1 курса.

Поделитесь опытом

Изображение пользователя Alexandre Scherbyna
Re: Как сделать запись (синхронизацию) студентов на много курсов
Группа Particularly helpful MoodlersГруппа Эксперт по Moodle

Как существенно уменьшить объем работ администратора по переводу студентов на следующий год обучения рассматривалось мною в этой статье.

Это я…
Re: Как сделать запись (синхронизацию) студентов на много курсов
Группа Особо активный участник форумаГруппа Эксперт по Moodle

Универсального способа нет, так, чтоб одну кнопку нажал и всё свершилось - не получится.

Можно использовать метод зачисления из категории (устаревший и отключен по умолчанию). Чтобы включить, нужно в настройках роли «Студент» (/admin/roles/define.php?action=edit&roleid=5) поставить галку у пункта «Категория» в настройке «Типы контекста, где эта роль может быть назначена» и отметить «Дать право» для разрешения enrol/category:synchronised. После этого пользователю можно дать роль студента на уровне категории курсов и он автоматом будет записан во все курсы этой категории.

Существенный недостаток: назначать роль студента в категории можно только пользователю, группе - нет. Количество операций по записи = кол-ву студентов.

Другой вариант можно использовать, если у вас несколько групп строителей 1 курса. Создаете доп. курс, записываете туда все группы методом «Синхронизация ГГ», потом проходите по всем курсам-дисциплинам (математика, информатика, история, информатика…) и добавляете метод записи «Метасвязь с курсом», все студенты всех групп из доп. курса будут записаны в курс-дисциплину. Кол-во операций: кол-во_групп+кол-во_курсов-дисциплин.

Судя по этому: «10 групп * 10 предметов», подойдет второй способ, если все 10 групп изучают одинаковые курсы.

Создайте пустой курс, можно в нем разместить какую-то инфу общего плана, записываете методом «Синхронизация ГГ» 10 групп (10 операций), идете в каждый курс-предмет и 1 раз создаете «Метасвязь с курсом». Если дисциплин 10, всего будет 20 операций, это меньше, чем 10х10 улыбаюсь

Изображение пользователя Дмитрий Александрович Макаров
Re: Как сделать запись (синхронизацию) студентов на много курсов
 

Самый оптимальный вариант это метакурсы в купе с глобальными группами. Допустим у вас есть ряд дисциплин первого семестра на которые вам нужно подписать группу пользователей. Создаете чистый курс "Первый семестр", после чего заходите в курсы  дисциплин и через способ записи на курс устанавливаете "Метасвязь с курсом", соответственно курсом этим станет курс "Первый семестр". После чего записывая глобальную группу на курс первого семестра, данные пользователи автоматически подпишутся на все связанные дисциплины. Единственный недостаток это наследование названия группы. Здесь придется зайти в каждый курс и в пользователях, раздел группы через автосоздание групп сформировать группу в курсе со ссылкой на глобальную группу. Нюанс тут заключается в том, что глобальная группа на момент записи должна быть сформирована окончательно, иначе при добавлении в нее нового пользователя наследоваться непосредственно в курсе дисциплины номер глобальной группы не будет, придется добавлять новых пользователей руками.


Соответственно метакурс  "Первый семестр" в данном случае можно использовать как информационный

Изображение пользователя Alexandre Scherbyna
Re: Как сделать запись (синхронизацию) студентов на много курсов
Группа Particularly helpful MoodlersГруппа Эксперт по Moodle

Категорически не согласен с тем, что Дмитрий пишет про группы.

Записывать студентов в мета-курсы дисциплин через дочерний курс "Первый семестр" (а не через глобальные группы) выгоднее именно тем, что перечень и состав созданных в этом курсе групп с помощью этого плагина можно синхронизировать с группами в мета-курсах всех дисциплин.

Синхронизация означает, что если мы вносим любые изменения в список групп или список студентов в группе в курсе "Первый семестр", то же самое произойдет и во всех связанных с ним мета-курсах дисциплин. На то она и синхронизация, что изменения эти можно вносить когда угодно. Не требуется формировать группы окончательно. Не нужно никого добавлять вручную. Не нужно никакого автосоздания групп, никаких ссылок на глобальные группы. Причем здесь вообще глобальные группы, если мы через мета-курсы решили работать?

Изображение пользователя Дмитрий Александрович Макаров
Re: Как сделать запись (синхронизацию) студентов на много курсов
 

Цитирую:

Универсального способа нет...

Не все устанавливают плагины, пусть они и полезны в какой-то мере. А за интересный плагин спасибо. Статью не читал, ибо не силен в украинском языке.

Изображение пользователя Alexandre Scherbyna
Re: Как сделать запись (синхронизацию) студентов на много курсов
Группа Particularly helpful MoodlersГруппа Эксперт по Moodle

Универсального способа нет, но для Андрея, (имеющего 10 групп по 10 предметов), только замена синхронизации глобальных групп на использование мета-курсов и указанного плагина позволит сократить трудозатраты в очень значительной мере - в 10 раз, а всего можно в 100 раз уменьшить трудозатраты.

Изображение пользователя Дмитрий Александрович Макаров
Re: Как сделать запись (синхронизацию) студентов на много курсов
 

Александр, попробовал установить рекомендованный Вами плагин Meta-course group synchronization однако возникли вопросы по его работе в целом, настройке. Текущая ситуация примерно такая:


На сколько я понимаю этот плагин должен создать группы в каждом курсе дисциплины (дисц1...дисцN) и взять он должен готовые группы из главного курса на который ведется подписка студентов. Но подобной синхронизации не происходит. В справке говорится про запуск скрипта cli/sync.php с дополнительными ключами о которых я что-то информации не нашел. Не могли бы Вы объяснить методику работы с данным плагином?


Это я…
Re: Как сделать запись (синхронизацию) студентов на много курсов
Группа Особо активный участник форумаГруппа Эксперт по Moodle
запуск скрипта cli/sync.php с дополнительными ключами

Ключи в самом скрипте описаны:

-c, --course          Course ID (if not specified, then all courses will be synchronized)
-v, --verbose         Print verbose progess information
-h, --help            Print out this help

В основной курс студентов записываю через ГГ, в дисц 1(2…N) - метасвязь с основным курсом, если не хочется ждать, когда сработает крон и выполнится задача синхронизации групп курсов, запускаю в консоли скрипт: /usr/local/bin/php /moodle/local/metagroups/sync.php -v и наблюдаю за процессом.

Изображение пользователя Дмитрий Александрович Макаров
Re: Как сделать запись (синхронизацию) студентов на много курсов
 
да уже понял ) что-то не додумался залезть в сам скрипт ) в readme висит только упоминание про cli/sync.php

спасибо за скорый ответ!