SlideShare a Scribd company logo
Moodle с точки зрения пользователя и
программиста
Igor Sazonov ( @tigusigalpa, lmstech.ru / lms-service.org )
IT Global Meetup #5, Saint-Petersburg, Russia, June 6, 2015
Банальная информация
 Moodle – Modular Object-Oriented Dynamic Learning
Environment ( Модульная объектно-ориентированная
динамическая среда )
 Бесплатная open-source система ( https://moodle.org/ )
 Количество пользователей: ~71 485 909
 Количество стран: 222
 Текущая версия: 2.9
 Доля среди LMS: 96%
 Первая версия: 2003 год
* https://wappalyzer.com/categories/lms
Преимущества
 Бесплатный
 Огромное комьюнити
 Постоянные обновления (раз в полгода) и
улучшения по просьбам пользователей
 Много возможностей и настроек (?!)
 Много разных плагинов
Недостатки
 Большое число настроек
 Сложность освоения
 Требуется сервер с мощными ресурсами
 Ограниченные возможности по
кастомизации внешнего вида
 Сложная архитектура БД
 «Жесткая» структура файлов и классов
 Малое количество документации
Расслабьтесь
Moodle с точки зрения пользователя
 Управление курсами
 Управление элементами курсов
 Система ролей
 Система отчетов
 Банк вопросов
 Блоки
 Языки интерфейса
 Дополнительные плагины
Управление курсами
Курс – конечная сущность, состоящая из элементов курса (тесты, задания,
лекции)
Курс может быть представлен одним из форматов:
 Разделы по неделям – организует расписание курса (неделя за неделей) с точным
сроком начала и окончания. Каждая неделя это модуль курса.
 Разделы по темам – внешне похож на Разделы по неделям, но не имеет временных
ограничений и не привязан к календарю. Каждая неделя это модуль курса.
 Форум – курс организуется на основе одного большого форума. Может
использоваться как одна большая доска сообщений
Управление элементами курсов
Элемент курса – одна из составляющих
курса, может быть представлена Тестом,
Заданием, Лекцией, Опросом итп
Система ролей
Роль – набор разрешений (прав), определенных для
всей системы, Вы можете назначить роль пользователю
или создать свою роль. Роль подчиняется уровням (сайт,
категория, курс итд).
 Управляющий – управляющие имеют доступ к курсу и могут изменять его.
Они, как правило, не участвуют в курсах.
 Создатель курса – создатели курсов могут создавать новые курсы.
 Учитель – учителя могут делать в курсе всё, в том числе изменять элементы
курса и оценивать студентов.
 Ассистент (без права редактирования) – ассистент может преподавать в
курсах и выставлять оценки, но он не может изменять содержание курса.
 Студент – обычно студенты обладают меньшим набором прав в рамках курса.
 Гость – обычно гости имеют минимальный набор прав и не могут нигде
вводить текст.
Администрирование > Пользователи > Права >
Система ролей
Контексты – участники иерархической архитектуры зависимости прав относительно
конкретного элемента системы.
Количество прав, которые можно назначить роли – более 520
Например, Управлять файлами в области личных файлов или Просматривать
профили других пользователей.
Система отчетов (в рамках курса)
Отчет по оценкам
 Отчет формируется для каждого пользователя согласно пройденным им
элементам курса
 История оценок: все попытки пользователя, втч и неудачные
 Можно даже назначать оценки
 Поддержка экспорта в форматы OpenDocument, Excel, XML, текстовый файл
Настройки Курса > Управление курсом > Оценки
Журнал событий
Отчет о всевозможных действиях пользователей на сайте
Настройки Курса > Управление курсом > Отчеты
Банк вопросов
Банк вопросов позволяет управлять всеми вопросами, которые есть во
всех тестах текущего курса.
Вы можете редактировать, дублировать, удалять, править вопросы из
списка Банка вопросов курса.
Настройки курса > Управление тестом > Банк вопросов
Блоки
Блоки – это виджеты с определенном контентом, которые могут
добавлены на страницу в Moodle (обычно в колонках справа или слева).
Они могут быть как встроенные в Moodle, так и предоставляемые
сторонними плагинами (в данном случае это понятие «Блок»).
https://docs.moodle.org/29/en/Blocks
Языки интерфейса
В Moodle, начиная с версии 2.5 внедрена поддержка
переключения языка интерфейса (не контента!).
Дополнительные плагины
 Модули / плагины разделяются на категории по их
функциональности
 Установка только через FTP
 https://moodle.org/plugins/
Moodle с точки программиста
 Проблемы для программиста
 Полезные функции и глобальные переменные
 Система контекстов
 Логирование отчетов
 Написание плагинов, блоков
 Работа с БД
Проблемы для программиста
 Мало документации (система узкоспециализирована)
 Не проинициализированы подключения файлов
 328 таблиц в Базе Данных !!!
 Строгая структура файлов
 Строгое разделение плагинов на блоки / модули
 Запутанная система работы с javascript
Полезные функции и переменные
 create_course($data)
 Функция для создания курса, записывает в таблицу course
значения объекта (!) $data (ключи = колонки таблицы)
 course/lib.php
 optional_param($parname, $default, $type)
 Обрабатывает параметры из $_GET, $_POST по ключу
$parname, если ключ пустой, то возвращает $default, а
также проверяет полученное значение $type
 lib/moodlelib.php
 get_config($plugin)
 Возвращает объект всех опций плагина $plugin из таблицы
config_plugins
 lib/moodlelib.php
Полезные функции и переменные
 $CFG – глобальная переменная-объект с системными
данными (wwwroot (http://site.ru), libdir (/lib), tempdir)
 require_capability($capability, $context);
 Функция запрашивает права $capability на показ $context
 lib/accesslib.php
 get_string($string_id, $component);
Примеры:
 $id = optional_param('id', '', PARAM_INT);
 $new_course = create_course($object);
 include_once($CFG->libdir . '/formslib.php');
Система контекстов
Контексты имеют так называемые context level:
define('CONTEXT_SYSTEM', 10);
define('CONTEXT_USER', 30);
define('CONTEXT_COURSECAT', 40);
define('CONTEXT_COURSE', 50);
define('CONTEXT_MODULE', 70);
define('CONTEXT_BLOCK', 80);
 Каждое право «подчиняется» своему contextlevel
 Чем contextlevel меньше, тем больше прав
 Каждая сущность в Moodle должна иметь свой контекст
 Таблица context
https://docs.moodle.org/dev/Access_API
Логирование отчетов
Каждое действие должно (желательно) логироваться.
Функции работы с логированием:
 add_to_log($courseid, $module, $action, $url='', $info='',
$cm=0, $user=0)
 $coursed – ID курса
 $module – имя модуля/плагина которое совершает $action
 $action – 'view', 'update', 'add' или 'delete‘
 $cm – id модуля курса
 $user – id пользователя, который совершает $action
 get_logs($select, array $params=null, $order='l.time DESC',
$limitfrom='', $limitnum='', &$totalcount)
 get_logs_usercourse($userid, $courseid, $coursestart)
https://docs.moodle.org/dev/Logging_API
Написание плагинов/блоков
Плагины в Moodle имеют довольно много типов (блоки,
утилиты админ панели итп):
https://docs.moodle.org/dev/Plugin_types
Общие моменты:
 Точка входа – файл php (его имя должно соответствовать
типу плагина)
 Точка входа – это класс, который наследуется от базового
класса нужного типа плагина. Этот класс может
переписывать методы родительского класса.
 Структура каталогов одинаковая
Написание плагинов/блоков
Пример структуры каталогов и главного
класса блока simplehtml =>
Пример инициализации входного класса
Работа с БД
 СУБД может быть как MySQL так и Postgresql
 С БД работает глобальный объект $DB ( global $DB; )
Примеры:
 $user = $DB->get_record('user', array('id'=>'1'));
 $DB->get_records($table, array $conditions=null, $sort='', $fields='*', $limitfrom=0,
$limitnum=0)
 $DB->set_field($table, $newfield, $newvalue, array $conditions=null)
 $DB->delete_records($table, array $conditions=null)
 $DB->insert_record($table, $dataobject, $returnid=true, $bulk=false)
 $DB->update_record($table, $dataobject, $bulk=false)
 ………..
https://docs.moodle.org/dev/Data_manipulation_API
Презентация Игоря Сазонова на IT Global Meetup #5

More Related Content

Viewers also liked

К вебинару по базовым стратегиям - про поколения
К вебинару по базовым стратегиям -  про поколенияК вебинару по базовым стратегиям -  про поколения
К вебинару по базовым стратегиям - про поколенияarsenal-hr
 
SCINO.Школа IT-менеджмента. Занятие 3.
SCINO.Школа IT-менеджмента. Занятие 3.SCINO.Школа IT-менеджмента. Занятие 3.
SCINO.Школа IT-менеджмента. Занятие 3.
SCINO
 
Адаптация настольных игр
Адаптация настольных игрАдаптация настольных игр
Адаптация настольных игр
IgrikaLLC
 
Игра про игру
Игра про игруИгра про игру
Игра про игру
Uliana Pavlovna
 
Вебинар: Впечатления об Astd 2014
Вебинар: Впечатления об Astd 2014Вебинар: Впечатления об Astd 2014
Вебинар: Впечатления об Astd 2014
Training Institute - ARB Pro Group
 
Управление уровнями зрелости и изменениями при внедрении ИТ решений
Управление уровнями зрелости и изменениями при внедрении ИТ решенийУправление уровнями зрелости и изменениями при внедрении ИТ решений
Управление уровнями зрелости и изменениями при внедрении ИТ решений
Sergei Penkov
 
коллективный разум 10
коллективный разум 10коллективный разум 10
коллективный разум 10Uliana Pavlovna
 
AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...
AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...
AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...
Sergei Penkov
 
важные помощники в управлении проектами или очевидное проектное
важные помощники в управлении проектами или очевидное проектноеважные помощники в управлении проектами или очевидное проектное
важные помощники в управлении проектами или очевидное проектное
ProjectPractice2013
 
Корпоративная деловая игра "Торги"
Корпоративная деловая игра "Торги"Корпоративная деловая игра "Торги"
Корпоративная деловая игра "Торги"
Андрей Донских
 
SCINO.Школа IT-менеджмента. Занятие 5. Управление проектами. Взаимодействие с...
SCINO.Школа IT-менеджмента. Занятие 5. Управление проектами. Взаимодействие с...SCINO.Школа IT-менеджмента. Занятие 5. Управление проектами. Взаимодействие с...
SCINO.Школа IT-менеджмента. Занятие 5. Управление проектами. Взаимодействие с...
SCINO
 
Буклет тренинга "Коммуникации и психология межличностных отношений в ИТ-проек...
Буклет тренинга "Коммуникации и психология межличностных отношений в ИТ-проек...Буклет тренинга "Коммуникации и психология межличностных отношений в ИТ-проек...
Буклет тренинга "Коммуникации и психология межличностных отношений в ИТ-проек...
Alexander Novichkov
 
HR-гаджеты. Коллеги и Евгений Доценко. Москва, 19 сентября 2012 (ГК «Институт...
HR-гаджеты. Коллеги и Евгений Доценко. Москва, 19 сентября 2012 (ГК «Институт...HR-гаджеты. Коллеги и Евгений Доценко. Москва, 19 сентября 2012 (ГК «Институт...
HR-гаджеты. Коллеги и Евгений Доценко. Москва, 19 сентября 2012 (ГК «Институт...arsenal-hr
 
AUR 2013 Опыт внедрения технологии пространственного проектирования
AUR 2013 Опыт внедрения технологии пространственного проектирования AUR 2013 Опыт внедрения технологии пространственного проектирования
AUR 2013 Опыт внедрения технологии пространственного проектирования
Sergei Penkov
 
Открытие HR-конференции "HR-практики: Будущее за теми, кто..."
Открытие HR-конференции "HR-практики: Будущее за теми, кто..." Открытие HR-конференции "HR-практики: Будущее за теми, кто..."
Открытие HR-конференции "HR-практики: Будущее за теми, кто..."
Training Institute - ARB Pro Group
 
Интегрированный взгляд на развитие руководителей
Интегрированный взгляд на развитие руководителейИнтегрированный взгляд на развитие руководителей
Интегрированный взгляд на развитие руководителей
HR&Trainings EXPO
 
презентация о команде тьюторов вл.обл
презентация о команде тьюторов вл.облпрезентация о команде тьюторов вл.обл
презентация о команде тьюторов вл.облНаталия Почаева
 
Россия и Япония. Проектное взаимодействие в 21 веке. Hitachi
Россия и Япония. Проектное взаимодействие в 21 веке. HitachiРоссия и Япония. Проектное взаимодействие в 21 веке. Hitachi
Россия и Япония. Проектное взаимодействие в 21 веке. Hitachi
Gregory Baev
 
кросс функциональное взаимодействие
кросс функциональное взаимодействиекросс функциональное взаимодействие
кросс функциональное взаимодействие
CBSD Thunderbird Russia
 

Viewers also liked (20)

К вебинару по базовым стратегиям - про поколения
К вебинару по базовым стратегиям -  про поколенияК вебинару по базовым стратегиям -  про поколения
К вебинару по базовым стратегиям - про поколения
 
SCINO.Школа IT-менеджмента. Занятие 3.
SCINO.Школа IT-менеджмента. Занятие 3.SCINO.Школа IT-менеджмента. Занятие 3.
SCINO.Школа IT-менеджмента. Занятие 3.
 
Адаптация настольных игр
Адаптация настольных игрАдаптация настольных игр
Адаптация настольных игр
 
Игра про игру
Игра про игруИгра про игру
Игра про игру
 
Вебинар: Впечатления об Astd 2014
Вебинар: Впечатления об Astd 2014Вебинар: Впечатления об Astd 2014
Вебинар: Впечатления об Astd 2014
 
Управление уровнями зрелости и изменениями при внедрении ИТ решений
Управление уровнями зрелости и изменениями при внедрении ИТ решенийУправление уровнями зрелости и изменениями при внедрении ИТ решений
Управление уровнями зрелости и изменениями при внедрении ИТ решений
 
коллективный разум 10
коллективный разум 10коллективный разум 10
коллективный разум 10
 
AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...
AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...
AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...
 
важные помощники в управлении проектами или очевидное проектное
важные помощники в управлении проектами или очевидное проектноеважные помощники в управлении проектами или очевидное проектное
важные помощники в управлении проектами или очевидное проектное
 
My portfolio Rus
My portfolio RusMy portfolio Rus
My portfolio Rus
 
Корпоративная деловая игра "Торги"
Корпоративная деловая игра "Торги"Корпоративная деловая игра "Торги"
Корпоративная деловая игра "Торги"
 
SCINO.Школа IT-менеджмента. Занятие 5. Управление проектами. Взаимодействие с...
SCINO.Школа IT-менеджмента. Занятие 5. Управление проектами. Взаимодействие с...SCINO.Школа IT-менеджмента. Занятие 5. Управление проектами. Взаимодействие с...
SCINO.Школа IT-менеджмента. Занятие 5. Управление проектами. Взаимодействие с...
 
Буклет тренинга "Коммуникации и психология межличностных отношений в ИТ-проек...
Буклет тренинга "Коммуникации и психология межличностных отношений в ИТ-проек...Буклет тренинга "Коммуникации и психология межличностных отношений в ИТ-проек...
Буклет тренинга "Коммуникации и психология межличностных отношений в ИТ-проек...
 
HR-гаджеты. Коллеги и Евгений Доценко. Москва, 19 сентября 2012 (ГК «Институт...
HR-гаджеты. Коллеги и Евгений Доценко. Москва, 19 сентября 2012 (ГК «Институт...HR-гаджеты. Коллеги и Евгений Доценко. Москва, 19 сентября 2012 (ГК «Институт...
HR-гаджеты. Коллеги и Евгений Доценко. Москва, 19 сентября 2012 (ГК «Институт...
 
AUR 2013 Опыт внедрения технологии пространственного проектирования
AUR 2013 Опыт внедрения технологии пространственного проектирования AUR 2013 Опыт внедрения технологии пространственного проектирования
AUR 2013 Опыт внедрения технологии пространственного проектирования
 
Открытие HR-конференции "HR-практики: Будущее за теми, кто..."
Открытие HR-конференции "HR-практики: Будущее за теми, кто..." Открытие HR-конференции "HR-практики: Будущее за теми, кто..."
Открытие HR-конференции "HR-практики: Будущее за теми, кто..."
 
Интегрированный взгляд на развитие руководителей
Интегрированный взгляд на развитие руководителейИнтегрированный взгляд на развитие руководителей
Интегрированный взгляд на развитие руководителей
 
презентация о команде тьюторов вл.обл
презентация о команде тьюторов вл.облпрезентация о команде тьюторов вл.обл
презентация о команде тьюторов вл.обл
 
Россия и Япония. Проектное взаимодействие в 21 веке. Hitachi
Россия и Япония. Проектное взаимодействие в 21 веке. HitachiРоссия и Япония. Проектное взаимодействие в 21 веке. Hitachi
Россия и Япония. Проектное взаимодействие в 21 веке. Hitachi
 
кросс функциональное взаимодействие
кросс функциональное взаимодействиекросс функциональное взаимодействие
кросс функциональное взаимодействие
 

Similar to Презентация Игоря Сазонова на IT Global Meetup #5

компоненты E learn для Plone
компоненты E learn для Ploneкомпоненты E learn для Plone
компоненты E learn для PloneSergey Greger
 
Moodle
MoodleMoodle
Moodle
Irina___
 
Moodle manual
Moodle manualMoodle manual
Moodle manual
Dr. Jury Belonozhkin
 
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.
Igor Shkulipa
 
Использование e-learning в последипломном медицинском образовании
Использование e-learning в последипломном медицинском образованииИспользование e-learning в последипломном медицинском образовании
Использование e-learning в последипломном медицинском образовании
Zalim Balkiz
 
Виртуальный Кампус МЭСИ
Виртуальный Кампус МЭСИВиртуальный Кампус МЭСИ
Виртуальный Кампус МЭСИ
Tatiana Kozlova
 
Общие темы. Тема 02.
Общие темы. Тема 02.Общие темы. Тема 02.
Общие темы. Тема 02.
Igor Shkulipa
 
006
006006
006JIuc
 
Азы мультисайтинга
Азы мультисайтингаАзы мультисайтинга
Азы мультисайтингаDrupal Camp Kyiv
 
азы мультисайтинга
азы мультисайтингаазы мультисайтинга
азы мультисайтингаInna Tuyeva
 
239649.ppt
239649.ppt239649.ppt
Построение образовательного сайта с системой интерактивного тестирования на б...
Построение образовательного сайта с системой интерактивного тестирования на б...Построение образовательного сайта с системой интерактивного тестирования на б...
Построение образовательного сайта с системой интерактивного тестирования на б...
Alexey Kostin
 
исследовательская работа из опыта преподавания с использованием обучающей ср...
исследовательская работа из опыта преподавания  с использованием обучающей ср...исследовательская работа из опыта преподавания  с использованием обучающей ср...
исследовательская работа из опыта преподавания с использованием обучающей ср...salimaader
 
Symfony 3
Symfony 3Symfony 3
Продвинутый мультисайтинг
Продвинутый мультисайтингПродвинутый мультисайтинг
Продвинутый мультисайтингDrupal Camp Kyiv
 
продвинутый мультисайтинг
продвинутый мультисайтингпродвинутый мультисайтинг
продвинутый мультисайтингInna Tuyeva
 
Eleanor CMS
Eleanor CMSEleanor CMS
Eleanor CMSSC3402
 
Eleanor
EleanorEleanor
EleanorSC3402
 
Eleanor
EleanorEleanor
EleanorSC3402
 

Similar to Презентация Игоря Сазонова на IT Global Meetup #5 (20)

компоненты E learn для Plone
компоненты E learn для Ploneкомпоненты E learn для Plone
компоненты E learn для Plone
 
Moodle
MoodleMoodle
Moodle
 
Moodle manual
Moodle manualMoodle manual
Moodle manual
 
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.
 
Использование e-learning в последипломном медицинском образовании
Использование e-learning в последипломном медицинском образованииИспользование e-learning в последипломном медицинском образовании
Использование e-learning в последипломном медицинском образовании
 
Виртуальный Кампус МЭСИ
Виртуальный Кампус МЭСИВиртуальный Кампус МЭСИ
Виртуальный Кампус МЭСИ
 
Саммит2011_Коновалов
Саммит2011_КоноваловСаммит2011_Коновалов
Саммит2011_Коновалов
 
Общие темы. Тема 02.
Общие темы. Тема 02.Общие темы. Тема 02.
Общие темы. Тема 02.
 
006
006006
006
 
Азы мультисайтинга
Азы мультисайтингаАзы мультисайтинга
Азы мультисайтинга
 
азы мультисайтинга
азы мультисайтингаазы мультисайтинга
азы мультисайтинга
 
239649.ppt
239649.ppt239649.ppt
239649.ppt
 
Построение образовательного сайта с системой интерактивного тестирования на б...
Построение образовательного сайта с системой интерактивного тестирования на б...Построение образовательного сайта с системой интерактивного тестирования на б...
Построение образовательного сайта с системой интерактивного тестирования на б...
 
исследовательская работа из опыта преподавания с использованием обучающей ср...
исследовательская работа из опыта преподавания  с использованием обучающей ср...исследовательская работа из опыта преподавания  с использованием обучающей ср...
исследовательская работа из опыта преподавания с использованием обучающей ср...
 
Symfony 3
Symfony 3Symfony 3
Symfony 3
 
Продвинутый мультисайтинг
Продвинутый мультисайтингПродвинутый мультисайтинг
Продвинутый мультисайтинг
 
продвинутый мультисайтинг
продвинутый мультисайтингпродвинутый мультисайтинг
продвинутый мультисайтинг
 
Eleanor CMS
Eleanor CMSEleanor CMS
Eleanor CMS
 
Eleanor
EleanorEleanor
Eleanor
 
Eleanor
EleanorEleanor
Eleanor
 

More from Lilia Smirnova

Анализ обратной связи в электронном обучении
Анализ обратной связи в электронном обученииАнализ обратной связи в электронном обучении
Анализ обратной связи в электронном обучении
Lilia Smirnova
 
Что и как проверять в учебном модуле?
Что и как проверять в учебном модуле?Что и как проверять в учебном модуле?
Что и как проверять в учебном модуле?
Lilia Smirnova
 
Карты компетенций в обучении
Карты компетенций в обученииКарты компетенций в обучении
Карты компетенций в обучении
Lilia Smirnova
 
Геймификация процесса обучения и обмена знаниями
Геймификация процесса обучения и обмена знаниямиГеймификация процесса обучения и обмена знаниями
Геймификация процесса обучения и обмена знаниями
Lilia Smirnova
 
Лилия Смирнова «Расширение функционала СДО: потребности и возможности»
Лилия Смирнова «Расширение функционала СДО: потребности и возможности»Лилия Смирнова «Расширение функционала СДО: потребности и возможности»
Лилия Смирнова «Расширение функционала СДО: потребности и возможности»
Lilia Smirnova
 
Мария Ваганова «Воркшоп: строим идеальную LMS»
Мария Ваганова «Воркшоп: строим идеальную LMS»Мария Ваганова «Воркшоп: строим идеальную LMS»
Мария Ваганова «Воркшоп: строим идеальную LMS»
Lilia Smirnova
 
Игорь Сазонов «Moodle DB structure & Moodle Data API features and cases»
Игорь Сазонов «Moodle DB structure & Moodle Data API features and cases»Игорь Сазонов «Moodle DB structure & Moodle Data API features and cases»
Игорь Сазонов «Moodle DB structure & Moodle Data API features and cases»
Lilia Smirnova
 
Александр Лопарь «Игрофикация в дистанционном обучении»
Александр Лопарь «Игрофикация в дистанционном обучении»Александр Лопарь «Игрофикация в дистанционном обучении»
Александр Лопарь «Игрофикация в дистанционном обучении»
Lilia Smirnova
 
Презентация к Meetup сообщества SPb e-Learning, Санкт-Петербург, февраль 2016
Презентация к Meetup сообщества SPb e-Learning, Санкт-Петербург, февраль 2016Презентация к Meetup сообщества SPb e-Learning, Санкт-Петербург, февраль 2016
Презентация к Meetup сообщества SPb e-Learning, Санкт-Петербург, февраль 2016
Lilia Smirnova
 
Центр корпоративного обучения: Подбор, обучение и развитие персонала контакт-...
Центр корпоративного обучения: Подбор, обучение и развитие персонала контакт-...Центр корпоративного обучения: Подбор, обучение и развитие персонала контакт-...
Центр корпоративного обучения: Подбор, обучение и развитие персонала контакт-...
Lilia Smirnova
 
Лилия Смирнова: Интерактивность в электронных курсах или Как быстро оживить к...
Лилия Смирнова: Интерактивность в электронных курсах или Как быстро оживить к...Лилия Смирнова: Интерактивность в электронных курсах или Как быстро оживить к...
Лилия Смирнова: Интерактивность в электронных курсах или Как быстро оживить к...
Lilia Smirnova
 
Андрей Замулин: ООО РАУНДИ - переговорный тренажер online
Андрей Замулин: ООО РАУНДИ - переговорный тренажер onlineАндрей Замулин: ООО РАУНДИ - переговорный тренажер online
Андрей Замулин: ООО РАУНДИ - переговорный тренажер online
Lilia Smirnova
 
Надежда Кабанова: Дистанционные образовательные технологии в вузе: от содерж...
Надежда Кабанова: Дистанционные образовательные технологии в вузе: от содерж...Надежда Кабанова: Дистанционные образовательные технологии в вузе: от содерж...
Надежда Кабанова: Дистанционные образовательные технологии в вузе: от содерж...
Lilia Smirnova
 
Конференции в Санкт-Петербурге, Conferences at St.Petersburg
Конференции в Санкт-Петербурге, Conferences at St.PetersburgКонференции в Санкт-Петербурге, Conferences at St.Petersburg
Конференции в Санкт-Петербурге, Conferences at St.Petersburg
Lilia Smirnova
 

More from Lilia Smirnova (14)

Анализ обратной связи в электронном обучении
Анализ обратной связи в электронном обученииАнализ обратной связи в электронном обучении
Анализ обратной связи в электронном обучении
 
Что и как проверять в учебном модуле?
Что и как проверять в учебном модуле?Что и как проверять в учебном модуле?
Что и как проверять в учебном модуле?
 
Карты компетенций в обучении
Карты компетенций в обученииКарты компетенций в обучении
Карты компетенций в обучении
 
Геймификация процесса обучения и обмена знаниями
Геймификация процесса обучения и обмена знаниямиГеймификация процесса обучения и обмена знаниями
Геймификация процесса обучения и обмена знаниями
 
Лилия Смирнова «Расширение функционала СДО: потребности и возможности»
Лилия Смирнова «Расширение функционала СДО: потребности и возможности»Лилия Смирнова «Расширение функционала СДО: потребности и возможности»
Лилия Смирнова «Расширение функционала СДО: потребности и возможности»
 
Мария Ваганова «Воркшоп: строим идеальную LMS»
Мария Ваганова «Воркшоп: строим идеальную LMS»Мария Ваганова «Воркшоп: строим идеальную LMS»
Мария Ваганова «Воркшоп: строим идеальную LMS»
 
Игорь Сазонов «Moodle DB structure & Moodle Data API features and cases»
Игорь Сазонов «Moodle DB structure & Moodle Data API features and cases»Игорь Сазонов «Moodle DB structure & Moodle Data API features and cases»
Игорь Сазонов «Moodle DB structure & Moodle Data API features and cases»
 
Александр Лопарь «Игрофикация в дистанционном обучении»
Александр Лопарь «Игрофикация в дистанционном обучении»Александр Лопарь «Игрофикация в дистанционном обучении»
Александр Лопарь «Игрофикация в дистанционном обучении»
 
Презентация к Meetup сообщества SPb e-Learning, Санкт-Петербург, февраль 2016
Презентация к Meetup сообщества SPb e-Learning, Санкт-Петербург, февраль 2016Презентация к Meetup сообщества SPb e-Learning, Санкт-Петербург, февраль 2016
Презентация к Meetup сообщества SPb e-Learning, Санкт-Петербург, февраль 2016
 
Центр корпоративного обучения: Подбор, обучение и развитие персонала контакт-...
Центр корпоративного обучения: Подбор, обучение и развитие персонала контакт-...Центр корпоративного обучения: Подбор, обучение и развитие персонала контакт-...
Центр корпоративного обучения: Подбор, обучение и развитие персонала контакт-...
 
Лилия Смирнова: Интерактивность в электронных курсах или Как быстро оживить к...
Лилия Смирнова: Интерактивность в электронных курсах или Как быстро оживить к...Лилия Смирнова: Интерактивность в электронных курсах или Как быстро оживить к...
Лилия Смирнова: Интерактивность в электронных курсах или Как быстро оживить к...
 
Андрей Замулин: ООО РАУНДИ - переговорный тренажер online
Андрей Замулин: ООО РАУНДИ - переговорный тренажер onlineАндрей Замулин: ООО РАУНДИ - переговорный тренажер online
Андрей Замулин: ООО РАУНДИ - переговорный тренажер online
 
Надежда Кабанова: Дистанционные образовательные технологии в вузе: от содерж...
Надежда Кабанова: Дистанционные образовательные технологии в вузе: от содерж...Надежда Кабанова: Дистанционные образовательные технологии в вузе: от содерж...
Надежда Кабанова: Дистанционные образовательные технологии в вузе: от содерж...
 
Конференции в Санкт-Петербурге, Conferences at St.Petersburg
Конференции в Санкт-Петербурге, Conferences at St.PetersburgКонференции в Санкт-Петербурге, Conferences at St.Petersburg
Конференции в Санкт-Петербурге, Conferences at St.Petersburg
 

Презентация Игоря Сазонова на IT Global Meetup #5

  • 1. Moodle с точки зрения пользователя и программиста Igor Sazonov ( @tigusigalpa, lmstech.ru / lms-service.org ) IT Global Meetup #5, Saint-Petersburg, Russia, June 6, 2015
  • 2. Банальная информация  Moodle – Modular Object-Oriented Dynamic Learning Environment ( Модульная объектно-ориентированная динамическая среда )  Бесплатная open-source система ( https://moodle.org/ )  Количество пользователей: ~71 485 909  Количество стран: 222  Текущая версия: 2.9  Доля среди LMS: 96%  Первая версия: 2003 год * https://wappalyzer.com/categories/lms
  • 3. Преимущества  Бесплатный  Огромное комьюнити  Постоянные обновления (раз в полгода) и улучшения по просьбам пользователей  Много возможностей и настроек (?!)  Много разных плагинов
  • 4. Недостатки  Большое число настроек  Сложность освоения  Требуется сервер с мощными ресурсами  Ограниченные возможности по кастомизации внешнего вида  Сложная архитектура БД  «Жесткая» структура файлов и классов  Малое количество документации
  • 6. Moodle с точки зрения пользователя  Управление курсами  Управление элементами курсов  Система ролей  Система отчетов  Банк вопросов  Блоки  Языки интерфейса  Дополнительные плагины
  • 7. Управление курсами Курс – конечная сущность, состоящая из элементов курса (тесты, задания, лекции) Курс может быть представлен одним из форматов:  Разделы по неделям – организует расписание курса (неделя за неделей) с точным сроком начала и окончания. Каждая неделя это модуль курса.  Разделы по темам – внешне похож на Разделы по неделям, но не имеет временных ограничений и не привязан к календарю. Каждая неделя это модуль курса.  Форум – курс организуется на основе одного большого форума. Может использоваться как одна большая доска сообщений
  • 8. Управление элементами курсов Элемент курса – одна из составляющих курса, может быть представлена Тестом, Заданием, Лекцией, Опросом итп
  • 9. Система ролей Роль – набор разрешений (прав), определенных для всей системы, Вы можете назначить роль пользователю или создать свою роль. Роль подчиняется уровням (сайт, категория, курс итд).  Управляющий – управляющие имеют доступ к курсу и могут изменять его. Они, как правило, не участвуют в курсах.  Создатель курса – создатели курсов могут создавать новые курсы.  Учитель – учителя могут делать в курсе всё, в том числе изменять элементы курса и оценивать студентов.  Ассистент (без права редактирования) – ассистент может преподавать в курсах и выставлять оценки, но он не может изменять содержание курса.  Студент – обычно студенты обладают меньшим набором прав в рамках курса.  Гость – обычно гости имеют минимальный набор прав и не могут нигде вводить текст. Администрирование > Пользователи > Права >
  • 10. Система ролей Контексты – участники иерархической архитектуры зависимости прав относительно конкретного элемента системы. Количество прав, которые можно назначить роли – более 520 Например, Управлять файлами в области личных файлов или Просматривать профили других пользователей.
  • 11. Система отчетов (в рамках курса) Отчет по оценкам  Отчет формируется для каждого пользователя согласно пройденным им элементам курса  История оценок: все попытки пользователя, втч и неудачные  Можно даже назначать оценки  Поддержка экспорта в форматы OpenDocument, Excel, XML, текстовый файл Настройки Курса > Управление курсом > Оценки Журнал событий Отчет о всевозможных действиях пользователей на сайте Настройки Курса > Управление курсом > Отчеты
  • 12. Банк вопросов Банк вопросов позволяет управлять всеми вопросами, которые есть во всех тестах текущего курса. Вы можете редактировать, дублировать, удалять, править вопросы из списка Банка вопросов курса. Настройки курса > Управление тестом > Банк вопросов
  • 13. Блоки Блоки – это виджеты с определенном контентом, которые могут добавлены на страницу в Moodle (обычно в колонках справа или слева). Они могут быть как встроенные в Moodle, так и предоставляемые сторонними плагинами (в данном случае это понятие «Блок»). https://docs.moodle.org/29/en/Blocks
  • 14. Языки интерфейса В Moodle, начиная с версии 2.5 внедрена поддержка переключения языка интерфейса (не контента!).
  • 15. Дополнительные плагины  Модули / плагины разделяются на категории по их функциональности  Установка только через FTP  https://moodle.org/plugins/
  • 16. Moodle с точки программиста  Проблемы для программиста  Полезные функции и глобальные переменные  Система контекстов  Логирование отчетов  Написание плагинов, блоков  Работа с БД
  • 17. Проблемы для программиста  Мало документации (система узкоспециализирована)  Не проинициализированы подключения файлов  328 таблиц в Базе Данных !!!  Строгая структура файлов  Строгое разделение плагинов на блоки / модули  Запутанная система работы с javascript
  • 18. Полезные функции и переменные  create_course($data)  Функция для создания курса, записывает в таблицу course значения объекта (!) $data (ключи = колонки таблицы)  course/lib.php  optional_param($parname, $default, $type)  Обрабатывает параметры из $_GET, $_POST по ключу $parname, если ключ пустой, то возвращает $default, а также проверяет полученное значение $type  lib/moodlelib.php  get_config($plugin)  Возвращает объект всех опций плагина $plugin из таблицы config_plugins  lib/moodlelib.php
  • 19. Полезные функции и переменные  $CFG – глобальная переменная-объект с системными данными (wwwroot (http://site.ru), libdir (/lib), tempdir)  require_capability($capability, $context);  Функция запрашивает права $capability на показ $context  lib/accesslib.php  get_string($string_id, $component); Примеры:  $id = optional_param('id', '', PARAM_INT);  $new_course = create_course($object);  include_once($CFG->libdir . '/formslib.php');
  • 20. Система контекстов Контексты имеют так называемые context level: define('CONTEXT_SYSTEM', 10); define('CONTEXT_USER', 30); define('CONTEXT_COURSECAT', 40); define('CONTEXT_COURSE', 50); define('CONTEXT_MODULE', 70); define('CONTEXT_BLOCK', 80);  Каждое право «подчиняется» своему contextlevel  Чем contextlevel меньше, тем больше прав  Каждая сущность в Moodle должна иметь свой контекст  Таблица context https://docs.moodle.org/dev/Access_API
  • 21. Логирование отчетов Каждое действие должно (желательно) логироваться. Функции работы с логированием:  add_to_log($courseid, $module, $action, $url='', $info='', $cm=0, $user=0)  $coursed – ID курса  $module – имя модуля/плагина которое совершает $action  $action – 'view', 'update', 'add' или 'delete‘  $cm – id модуля курса  $user – id пользователя, который совершает $action  get_logs($select, array $params=null, $order='l.time DESC', $limitfrom='', $limitnum='', &$totalcount)  get_logs_usercourse($userid, $courseid, $coursestart) https://docs.moodle.org/dev/Logging_API
  • 22. Написание плагинов/блоков Плагины в Moodle имеют довольно много типов (блоки, утилиты админ панели итп): https://docs.moodle.org/dev/Plugin_types Общие моменты:  Точка входа – файл php (его имя должно соответствовать типу плагина)  Точка входа – это класс, который наследуется от базового класса нужного типа плагина. Этот класс может переписывать методы родительского класса.  Структура каталогов одинаковая
  • 23. Написание плагинов/блоков Пример структуры каталогов и главного класса блока simplehtml => Пример инициализации входного класса
  • 24. Работа с БД  СУБД может быть как MySQL так и Postgresql  С БД работает глобальный объект $DB ( global $DB; ) Примеры:  $user = $DB->get_record('user', array('id'=>'1'));  $DB->get_records($table, array $conditions=null, $sort='', $fields='*', $limitfrom=0, $limitnum=0)  $DB->set_field($table, $newfield, $newvalue, array $conditions=null)  $DB->delete_records($table, array $conditions=null)  $DB->insert_record($table, $dataobject, $returnid=true, $bulk=false)  $DB->update_record($table, $dataobject, $bulk=false)  ……….. https://docs.moodle.org/dev/Data_manipulation_API