Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Moodle

Глава 13 из книги "Архитектура приложений с открытым исходным кодом", том 2.
Оригинал: Moodle
Автор: Tim Hunt
Дата публикации: 1 Мая 2012 г.
Перевод: А.Панин
Дата перевода: 10 Июня 2013 г.

Moodle является веб-приложением, обычно используемым в сфере образования. Хотя в данной главе и будет предпринята попытка создания обзора всех аспектов работы приложения Moodle, главным образом в главе будут рассматриваться те аспекты архитектуры Moodle, которые особенно интересны:
  • Метод разделения кода между приложением и расширениями;
  • Система прав доступа, которая контролирует то, какие пользователи какие действия могут выполнять в рамках различных частей системы;
  • Способ генерации результирующего документа, предусматривающий использование различных тем (оболочек) для получения множества вариантов внешнего вида приложения, а также метод локализации интерфейса.
  • Слой абстракции для работы с базой данных.

Приложение Moodle предоставляет сетевое пространство, в котором студенты и преподаватели могут объединиться для преподавания и получения знаний. Сайт Moodle разделен на курсы (courses). Курс содержит ассоциированный с ним список пользователей (users) с различными ролями, такими, как студент (Student) или преподаватель (Teacher). Каждый курс включает в себя некоторое количество ресурсов (resources) и действий (activities). Ресурс может быть представлен файлом в формате PDF, страницей в формате HTML в рамках приложения Moodle или ссылкой на какой-либо сетевой ресурс. Действие может быть представлено форумом, тестом или ресурсом wiki. В рамках курса эти ресурсы и действия структурированы каким-либо образом. Например, они могут быть сгруппированы на основе логически разделенных тем или календарных недель.

Курс Moodle
Рисунок 13.1: Курс Moodle

Moodle может использоваться в качестве отдельного приложения. В том случае, если вы пожелаете заняться преподаванием курсов по архитектуре программного обеспечения (например), вам придется загрузить приложение Moodle на ваш веб-сервер, установить его, начать создавать курсы и ожидать студентов, которые должны самостоятельно зайти на сайт и зарегистрироваться. В качестве альтернативного решения, в том случае, если вы создаете курсы для учебного заведения значительного размера, Moodle может быть одной из систем, которые вы будете использовать. Возможно, у вас в распоряжении будет инфраструктура, изображенная на Рисунке 13.2.

Типичная архитектура университетских систем
Рисунок 13.2: Типичная архитектура университетских систем

  • Система аутентификации/идентификации (например, LDAP) для управления учетными записями пользователей всех ваших систем.
  • Информационная система для хранения данных студентов; это база данных с информацией о всех ваших студентах, о том, по какой программе они обучаются и, следовательно, о курсах, которые им необходимо окончить; также с копиями этих данных - высокоуровневыми отчетами о результатах окончания курсов. Эта система также выполняет другие административные функции, такие, как слежение за тем, оплатили ли студенты курсы.
  • Репозиторий документов (например, Alfresco); он используется для хранения файлов и отслеживания совместных действий пользователей по созданию файлов.
  • ePortfolio; это место, в котором студенты могут собирать информацию или для создания CV (резюме) или для доказательства того, что они соответствуют требованиям курса, основанного на практических навыках.
  • Инструмент для анализа и создания отчетов; используется для генерации высокоуровневой информации о том, что происходит в вашем учебном заведении.

Приложение Moodle в качестве основной функции предоставляет сетевое пространство для преподавания и получения знаний, в отличие от любой из других систем, которые могут потребоваться учебному заведению. Приложение Moodle предоставляет простейшую реализацию других функций, поэтому оно может функционировать или как отдельная система, или как система, интегрированная с другими системами. Приложение Moodle в общем случае выступает в роли, называемой "виртуальное образовательное окружение" (virtual learning enviroment - VLE) или "система управления процессом обучения или курсами" (learning or course management system - LMS, CMS или даже LCMS).

Приложение Moodle является программным обеспечением с открытым исходным кодом или свободным программным обеспечением (GPL). Оно разработано с использованием языка PHP. Приложение может функционировать на большинстве стандартных веб-серверов, на стандартных платформах. Оно требует наличия базы данных и работает с MySQL, PostgreSQL, Microsoft SQL Server или Oracle.

Проект Moodle был начат Martin Dougiamas в 1999 году, когда он работал в Университете Curtin в Австралии. Версия 1.0 была выпущена в 2002 году, в то время, когда PHP 4.2 и MySQL 3.23 являлись доступными технологиями. Это обстоятельство ограничило выбор возможного типа изначальной архитектуры, но впоследствии все значительно изменилось. Текущим релизом приложения Moodle является релиз из серии 2.2.x.


Далее: Обзор принципа работы приложения Moodle