Разработка:С чего начать

Материал из DOF
Версия от 14:57, 17 апреля 2009; Johnleft (обсуждение | вклад) (сделал форматирование части статьи - про мудл)
Перейти к: навигация, поиск

Чтобы успешно работать над проектом кроме общих навыков программирования следует ориентироваться в архитектуре и реализации moodle и deansoffice. Ниже описаны краткие сведения, которые могут помочь разработчику освоить эти системы. Символ / написанный в начале пути папок здесь обозначает корневую папку moodle или блока dof.

moodle.

  1. Подробности по работе с moodle можно найти на http://moodle.org.
  2. Структура папок описана тут: http://docs.moodle.org/en/Moodle_site_moodle_directory
  3. чтобы перенести работающую систему на другой компьютер, надо
    1. чтобы на нем работали apache, php, mysql.
    2. На него надо скопировать в соответствующую папку файлы moodle.
    3. В СУДБ создать ДБ с таким же именем, которое было на прежнем ПК.
    4. Занести туда все таблицы из прежней БД.
    5. Задать логин и пароль на доступ к БД, которые использовались для этого на предыдущем ПК. Логин и пароль прописаны в файле /htdocs/config.php (см структуру папок).
  4. Для установки блока или модуля в moodle надо
    1. скопировать его в папку /htdocs/blocks или /htdocs/mod соответственно.
    2. Зайти в администрирование->уведомления.
    3. Прочитать сообщение об успешной установке.
  5. При работе с системой придется использовать ее функции.
    1. Они лежат в папке /htdocs/lib.
    2. А также в папках lib модулей, установленных в системе.
    3. И в файлах с суффиксом lib.php.
    4. Наиболее нужными из них являются файлы
      1. moodlelib.php - в нем лежат часто употребляемые функции общего назначения, определяеются многие константы.
      2. datalib.php - набор функций для получения часто используемых данных из БД.
      3. dmllib.php - функции для взаимодействия с БД.
      4. weblib.php - функции для формирования элементов веб странички. Таких как заголовок, кнопка, форма и т.п.
  6. Для перевода интерфейса на русский язык в moodle используются языковые файлы локализации.
    1. Они лежат в папке /moodledata/lang/ru_utf8.
    2. Для изменения перевода надо перейти по ссылкам блока администрирование язык->редактирование языка->редактирование слов или фраз.
    3. Результат редактирования сохраняется в папке /moodledata/lang/ru_utf8_local.
  7. Все большинство данных moodle хранит в БД. Для работы с различными элементами системы используются одноименные таблицы.
    1. user - данные о пользователях.
    2. roles - роли системы
    3. context - описывает контексты (уровни) системы. Примеры - сайт, курс, блок, элемент курса, экземпляр курса.
    4. role_capabilities - что разрешено роли в конкретном контексте.
    5. role_assignments - кому, какая роль, когда, в каком контексте разрешена.
  8. Для создания и модификации таблиц лучше использовать встроенный редактор таблиц.
    1. Чтобы его открыть надо перейте по ссылке разное->XMLDB редактор, блока "Администрирование". Результатом работы является файл install.xml, который лежит в папке соответствующего модуля.
    2. Чтобы сделать это с помощью функций, используйте библиотеку /htdocs/lib/ddllib.php. Пример ее использования можно найти в moodle или dof в файле upgrade.php

freedeansoffice.

  1.

Для того, чтобы убедиться, что вы в достаточной степени ориентируетесь в moodle ответьте на следующие вопросы: Вопросы по moodle.

  1. Какие данные хранятся в таблицах БД moodle?
  2. Где хранятся логин и пароль на доступ к БД moodle?
  3. Как перенести систему на другой компьютер/сервер, не устанавливая ее из дистрибутива?
  4. В каких таблицах хранится информация о
        1. пользователях системы?
        2. ролях?
        3. полномочиях?
        4. контекстах полномочий?
        5. оценках?
        6. курсах?
        7. элементах курсов?
  5. Какова структура папок moodle?
  6. Где лежат элементы курса?
  7. Где лежат библиотеки функций?
  8. Какие функции лежат в файлах moodlelib.php, weblib.php, dmllid.php, datalib.php
  9. В каких файлах лежат функции для работы с
        1. БД?
        2. элементами интерфейса?
        3. В каком файле лежит слово "уведомление", которое выводится в блоке "администрирование"?
 10. Как создавать таблицы через xmldb-редактор?
 11. Как писать функции обновления таблиц через xmldb?
 12. Как установить новый блок?

Вопросы по freedeansoffice.

  1. Как он устанавливается в moodle?
  2. Какова структура папок блока freedeansoffice?
  3. Какова структура папок его плагинов?
  4. Какие методы надо обязательно определять при создании плагина к dof?
  5. В каком файле лежат стандартные методы для работы с таблицами?
  6. С помошью каких методов
        1. выводится сообщение на экран?
        2. можно получить путь к плагину?
        3. путь к файлу внутри плагина?
  7. Каково назначение плагина ama?
        1. Как получить методы для работы с курсами, группами, пользователями?