Доклад и мастер-класс посвящены самой популярной в мире системе дистанционного обучения – LMS Moodle.
Доклад рассчитан как на технических специалистов в области Moodle, так и на обычных программистов, знакомых с PHP, и руководителей технических подразделений дистанционного обучения.
Уровень подготовки слушателей – средний.
В докладе будет рассказано об архитектуре Moodle, общих подходах к программированию дополнений, типах модулей, глобальных изменениях в версиях, структуре БД, работе с SQL-запросами, Data API, Output API, безопасности, работе с Javascript/AMD.
Moodle – самая популярная система дистанционного обучения в мире. Программировать под Moodle сложно, точнее, “вязко”: в базовой установке там 320+ таблиц базы данных, из них активно используется 20-30. Если сравненить Moodle с другой open source системой – WordPress, то у Moodle есть существенные недостатки с точки зрения программирования: отсутствие “крючков”, к которым можно безболезненно привязать код, add_action и add_filter в WP.
Чтобы программировать под Moodle необходимы три вещи: понимать архитектуру и приемы, хорошо знать ООП и отлично знать SQL.
Аббревиатура Moodle расшифровывается как Modular Object-Oriented Dynamic Learning Environment, т.е. идея в том, что система представляет собой набор связанных между собой объектных модулей, как core, так и extend. У них единая архитектура файлов. Extend модули делятся на типы, и под свою задачу нужно выбрать правильный тип модуля. Иногда для одной задачи приходится писать несколько связанных модулей, Moodle это позволяет делать. У разных модулей могут быть разные точки входа.
У Moodle есть свои API для работы с разными частями, например API работы с БД, с выводом, HTML, Cache итп.
FrontEnd на данный момент основан на сочетании YUI (Yahoo User Interface) и AMD-модулей (RequireJS), в подключении JS тоже есть свои тонкости и API.
Обо всём этом мы поговорим на докладе и последующем мастер-классе.
Игорь Сазонов
Программист, LMSTech
Программист. Закончил ИТМО. Программирую (именно программирую, а не качаю и устанавливаю плагины, правя CSS/HTML). Люблю много абстракции в программировании. В силу необходимости – на данный момент программирую под Moodle. Cо-организатор сообществ SPb e-Learning, SPb WordPress.
Comment