Разработка:С чего начать
Чтобы успешно работать над проектом кроме общих навыков программирования следует ориентироваться в архитектуре и реализации moodle и deansoffice. Ниже описаны краткие сведения, которые могут помочь разработчику освоить эти системы. Символ / написанный в начале пути папок здесь обозначает корневую папку moodle или блока dof.
Содержание
moodle.
- Подробности по работе с moodle можно найти на http://moodle.org.
- Структура папок описана тут.
- Установка moodle описана здесь.
- Чтобы перенести работающую систему на другой компьютер, надо
- чтобы на нем работали apache, php, mysql.
- На него надо скопировать в соответствующую папку файлы moodle.
- В СУДБ создать ДБ с таким же именем, которое было на прежнем ПК.
- Занести туда все таблицы из прежней БД.
- Задать логин и пароль на доступ к БД, которые использовались для этого на предыдущем ПК. Логин и пароль прописаны в файле /htdocs/config.php (см структуру папок).
- Для установки блока или модуля в moodle надо
- скопировать его в папку /htdocs/blocks или /htdocs/mod соответственно.
- Зайти в администрирование->уведомления.
- Прочитать сообщение об успешной установке.
- При работе с системой придется использовать ее функции.
- Они лежат в папке /htdocs/lib.
- А также в папках lib модулей, установленных в системе.
- И в файлах с суффиксом lib.php.
- Наиболее нужными из них являются файлы
- moodlelib.php - в нем лежат часто употребляемые функции общего назначения, определяеются многие константы.
- datalib.php - набор функций для получения часто используемых данных из БД.
- dmllib.php - функции для взаимодействия с БД.
- weblib.php - функции для формирования элементов веб странички. Таких как заголовок, кнопка, форма и т.п.
- Для перевода интерфейса на русский язык в moodle используются языковые файлы локализации.
- Они лежат в папке /moodledata/lang/ru_utf8.
- Для изменения перевода надо перейти по ссылкам блока администрирование язык->редактирование языка->редактирование слов или фраз.
- Результат редактирования сохраняется в папке /moodledata/lang/ru_utf8_local.
- Все большинство данных moodle хранит в БД. Для работы с различными элементами системы используются одноименные таблицы.
- user - данные о пользователях.
- roles - роли системы
- context - описывает контексты (уровни) системы. Примеры - сайт, курс, блок, элемент курса, экземпляр курса.
- role_capabilities - что разрешено роли в конкретном контексте.
- role_assignments - кому, какая роль, когда, в каком контексте разрешена.
- Для создания и модификации таблиц лучше использовать встроенный редактор таблиц.
- Чтобы его открыть надо перейте по ссылке разное->XMLDB редактор, блока "Администрирование". Результатом работы является файл install.xml, который лежит в папке соответствующего модуля.
- Чтобы сделать это с помощью функций, используйте библиотеку /htdocs/lib/ddllib.php. Пример ее использования можно найти в moodle или dof в файле upgrade.php
freedeansoffice.
- Установка модуля описана здесь.
- Со структурой модуля можно ознакомиться тут. Внимательно ознакомьтесь с ней и со структурой плагинов. Посмотрите как реализованы примеры плагинов разных типов. Чтобы все правильно работало, нужно, чтобы были соблюдены требования к наличию структуры минимального набора файлов плагина.
- Создайте плагин по образцу, и обратите внимание, какие методы и как надо определять, чтобы плагин корректно устанавливался и работал.
- Работа справочников основана на стандартных методах, которые описаны в /dof/lib/storage_base.php.
- Внимательно изучите файл /dof/lib/dof.php и содержащиеся в нем методы. Ими вам придется пользоваться постоянно. Например,
- Чтобы получить запись из таблицы с которой работает examplest в другом модуле, надо написать конструкцию типа $rec = $DOF->storage('examplest')->get($id);
- Когда надо вывести на экран строку текста "Идет обработка данных...", который задан в модуле widgets типа modlib, то используется команда $str = $DOF->get_string('proccessing','widgets',null,'modlib');
- С помощью метода plugin_path вы получаете путь к файлам и папкам плагинов. Этот метод следует использовать для подключения библиотек и других подобных случаях.
- Метод url_im позволяет получить www-адрес странички в плагине типа im.
Вопросы для самоконтроля
Для того, чтобы убедиться, что вы в минимальной степени ориентируетесь в moodle и freedeansoffice ответьте на вопросы, написанные ниже. Если вы можете найти ответы на них, то разберетесь и с вопросами, которые возникнут в процессе работы над плагинами.
Вопросы по moodle.
- Какие данные хранятся в таблицах БД moodle?
- Где хранятся логин и пароль на доступ к БД moodle?
- Как перенести систему на другой компьютер/сервер, не устанавливая ее из дистрибутива?
- В каких таблицах хранится информация о
- пользователях системы?
- ролях?
- полномочиях?
- контекстах полномочий?
- оценках?
- курсах?
- элементах курсов?
- Какова структура папок moodle?
- Где лежат элементы курса?
- Где лежат библиотеки функций?
- Какие функции лежат в файлах moodlelib.php, weblib.php, dmllid.php, datalib.php
- В каких файлах лежат функции для работы с
- БД?
- элементами интерфейса?
- В каком файле лежит слово "уведомление", которое выводится в блоке "администрирование"?
- Как создавать таблицы через xmldb-редактор?
- Как писать функции обновления таблиц через xmldb?
- Как установить новый блок?
Вопросы по freedeansoffice.
- Как он устанавливается в moodle?
- Какова структура папок блока freedeansoffice?
- Какова структура папок его плагинов?
- Какие методы надо обязательно определять при создании плагина к dof?
- В каком файле лежат стандартные методы для работы с таблицами?
- Где лежат и как называются методы, с помощью которых
- выводится сообщение на экран?
- можно получить путь к плагину?
- путь к файлу внутри плагина?
- выводится навигационная панель?
- выводятся шапка и подвал страницы?
- выводятся блоки в модуле freedeansoffice?
- Каково назначение плагина ama?
- Как получить методы для работы с курсами, группами, пользователями?