Синхронизация с внешней базой

Синхронизация с внешней базой

от Nadja Ivanova -
Количество ответов: 2

Прошу совета. В нашем Moodle мы очень плотно работаем с глобальными группами. Фишка в том, что вся движуха (отчисление/добавление студентов, переводы в другие группы) проводится в другой базе. Требуется как-то синхронизировать изменения  из внешней БД с нашей. План пока такой:

1. В нашей БД заводим таблицу, в которой соотносим внешние id студентов с нашими, заводим таблицу, аналог mdl_cohort_members, например, sync_group_users, в которой описаны связи между студентами и группами извне. 

2. По крону запускается скрипт, который берет из внешней БД данные и сверяет с теми данными, что в sync_group_users. И изменяет, если такая надобность.

3. Запускается триггер, которые реагирует на изменения в sync_group_users, и удаляет/добавляет студентов, изменяет mdl_cohort_members и т.д.

Собственно, может  уже есть изобретенный велосипед? Или более изящные решения? Есть ли какие-то подводные камни, если мы начнем напрямую редактировать базу в 3 пункте?

В ответ на Nadja Ivanova

Re: Синхронизация с внешней базой

от Evgeniy Schuetz -

Я думаю, что  многое зависит от того - как cohort дальше в мудл используется. Мы из 1С напрямую вписывали студентов в таблицу cohort_members и мудловый крон дальше сам приписывал этих новых студентов к нужным курсам при включенном методе приписки к курсу через синхронизацию с глобальной группой. Можно еще посмотреть в сторону плагина moosh здесь: http://moosh-online.com/commands/  - в нем тоже есть работа с когортами (пробовали - работает).

В ответ на Evgeniy Schuetz

Re: Синхронизация с внешней базой

от Nadja Ivanova -

Глобальные группы используются для записи на тот или иной курс, по синхронизации. А за ссылку moosh спасибо, вещь выглядит действительно удобной, попробуем использовать)