Разработка:С чего начать — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
м (freedeansoffice.: форматировал и вводил текст)
м (freedeansoffice.: косметическая правка)
Строка 39: Строка 39:
 
== freedeansoffice. ==
 
== freedeansoffice. ==
 
# Установка модуля описана [[Администрирование:Установка|здесь]].
 
# Установка модуля описана [[Администрирование:Установка|здесь]].
# Со структурой модуля можно ознакомиться [Разработка:Структура|тут].
+
# Со структурой модуля можно ознакомиться [[Разработка:Структура|тут]].
 
## Внимательно ознакомьтесь с ней и со структурой плагинов. Посмотрите как реализованы примеры плагинов разных типов. Чтобы все правильно работало, нужно, чтобы были соблюдены требования к наличию структуры минимального набора файлов плагина.
 
## Внимательно ознакомьтесь с ней и со структурой плагинов. Посмотрите как реализованы примеры плагинов разных типов. Чтобы все правильно работало, нужно, чтобы были соблюдены требования к наличию структуры минимального набора файлов плагина.
 
## Создайте плагин [[Разработка:Создание плагина|по образцу]], и обратите внимание, какие методы и как надо определять, чтобы плагин корректно устанавливался и работал.
 
## Создайте плагин [[Разработка:Создание плагина|по образцу]], и обратите внимание, какие методы и как надо определять, чтобы плагин корректно устанавливался и работал.

Версия 15:48, 17 апреля 2009

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

moodle.

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

freedeansoffice.

  1. Установка модуля описана здесь.
  2. Со структурой модуля можно ознакомиться тут.
    1. Внимательно ознакомьтесь с ней и со структурой плагинов. Посмотрите как реализованы примеры плагинов разных типов. Чтобы все правильно работало, нужно, чтобы были соблюдены требования к наличию структуры минимального набора файлов плагина.
    2. Создайте плагин по образцу, и обратите внимание, какие методы и как надо определять, чтобы плагин корректно устанавливался и работал.
    3. Работа справочников основана на стандартных методах, которые описаны в /dof/lib/storage_base.php.
    4. Внимательно изучите файл /dof/lib/dof.php и содержащиеся в нем методы. Ими вам предтся пользоваться постоянно. Например,
      1. Чтобы получить запись из таблицы с которой работает examplest в другом модуле, надо написать конструкцию типа $rec = $DOF->storage('examplest')->get($id);

Для того, чтобы убедиться, что вы в достаточной степени ориентируетесь в 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. Как получить методы для работы с курсами, группами, пользователями?