Описание обычных действий администратора Moodle и то что происходит со стороны программиста: обзор полезных функций, контекст в Moodle, система ролей, работа с MySQL и Postgresql
Moodle в электронном обучении: компоненты, возможности, инструменты Веб 2.0Сообщество eLearning PRO
Материлы вебинара 11.12.2009 - знакомство с системой управления обучением (LMS) Moodle, общая информация, подготовленная для дальнейшей работы в э-среде, чтобы показать возможности и преимущества Moodle в образовании, в (об)учении.
Moodle в электронном обучении: компоненты, возможности, инструменты Веб 2.0Сообщество eLearning PRO
Материлы вебинара 11.12.2009 - знакомство с системой управления обучением (LMS) Moodle, общая информация, подготовленная для дальнейшей работы в э-среде, чтобы показать возможности и преимущества Moodle в образовании, в (об)учении.
Мой перевод замечательного автора Ребекки Барингтон, которая удивительным образом раскрывает сущность простых, но важных смыслов в дистанционном и смешанном обучении.
Система Moodle предназначена для организации обучения Online в сетевой среде с использованием технологий Интернет. Программный комплекс «Moodle» является специализированной системой управления учебным процессом (Learning management system – LMS). Moodle реализована в виде системы с открытым кодом, поддерживаемой сообществом разработчиков посредством сайта www.moodle.org, на котором находится документация, инсталляционные пакеты последней версии, а так же средства он-лайн поддержки пользователей и разработчиков. Система обеспечивает многообразие процедур обучения Online, комбинированием которых может быть организовано эффективное обучение в учреждении образования.
Мой перевод замечательного автора Ребекки Барингтон, которая удивительным образом раскрывает сущность простых, но важных смыслов в дистанционном и смешанном обучении.
Система Moodle предназначена для организации обучения Online в сетевой среде с использованием технологий Интернет. Программный комплекс «Moodle» является специализированной системой управления учебным процессом (Learning management system – LMS). Moodle реализована в виде системы с открытым кодом, поддерживаемой сообществом разработчиков посредством сайта www.moodle.org, на котором находится документация, инсталляционные пакеты последней версии, а так же средства он-лайн поддержки пользователей и разработчиков. Система обеспечивает многообразие процедур обучения Online, комбинированием которых может быть организовано эффективное обучение в учреждении образования.
На вебинаре вы узнаете:
- О возможностях электронного и дистанционного обучения
- Что такое система управления обучением Moodle?
- Как работать в системе?
- Как оценить результат своей работы?
Доклад о насущей и затертой до дыр теме кеширования не только сайтов на WordPress, но и сайтов в целом: от перегрузки js-скриптов и CSS в CDN до установки и настройки Varnish Cache
Bootstrap 3. Адаптивная верстка для WordPressIgor Sazonov
Основы и примеры для понимания зачем нужен CSS-фреймворк Bootstrap. Доклад читался в рамках WordPress Meetup #3 в Санкт-Петербурге. Объясняется в чем суть верстки на Bootstrap, зачем он нужен для WordPress, подробно разбирается основы grid (сетки) на Bootstrap чтобы верстать адаптивный дизайн.
Оптимальная архитектура масштабируемого плагина WordPress на Custom Post Type...Igor Sazonov
Доклад написан для WordPress Meetup #2 в Санкт-Петербурге. В докладе сравниваются файловые и логические архитектуры трех крупных плагинов на WordPress: WooCommerce, Easy Digital Downloads и Yoast WordPress SEO. Сравнив 3 архитектуры я взял наиболее оптимальные структуры и создал свою, при этом разместив ссылку на скачивание данного плагина. Скачав этот плагин Вы сможете понять его архитектуру. Много вещей конечно же можно улучшить, но самое главное посыл.
AngularJS. Введение и простые примеры для понимания
Moodle с точки зрения пользователя и программиста
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. Управление курсами
Курс – конечная сущность, состоящая из элементов курса (тесты, задания,
лекции)
Курс может быть представлен одним из форматов:
Разделы по неделям – организует расписание курса (неделя за неделей) с точным
сроком начала и окончания. Каждая неделя это модуль курса.
Разделы по темам – внешне похож на Разделы по неделям, но не имеет временных
ограничений и не привязан к календарю. Каждая неделя это модуль курса.
Форум – курс организуется на основе одного большого форума. Может
использоваться как одна большая доска сообщений
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 (его имя должно соответствовать
типу плагина)
Точка входа – это класс, который наследуется от базового
класса нужного типа плагина. Этот класс может
переписывать методы родительского класса.
Структура каталогов одинаковая
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