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

Материал из DOF
Перейти к: навигация, поиск
(сделал форматирование части статьи - про мудл)
(Добавлена категория)
 
(не показано 10 промежуточных версий 3 участников)
Строка 3: Строка 3:
 
== moodle. ==
 
== moodle. ==
 
# Подробности по работе с moodle можно найти на http://moodle.org.
 
# Подробности по работе с moodle можно найти на http://moodle.org.
# Структура папок описана тут: http://docs.moodle.org/en/Moodle_site_moodle_directory
+
# Структура папок описана [http://docs.moodle.org/en/Moodle_site_moodle_directory тут].
# чтобы перенести работающую систему на другой компьютер, надо
+
# Установка moodle описана [http://docs.moodle.org/ru/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Moodle здесь].
 +
# Чтобы перенести работающую систему на другой компьютер, надо
 
## чтобы на нем работали apache, php, mysql.
 
## чтобы на нем работали apache, php, mysql.
 
## На него надо скопировать в соответствующую папку файлы moodle.
 
## На него надо скопировать в соответствующую папку файлы moodle.
## В СУДБ создать ДБ с таким же именем, которое было на прежнем ПК.
+
## В СУБД создать БД с таким же именем, которое было на прежнем ПК.
 
## Занести туда все таблицы из прежней БД.
 
## Занести туда все таблицы из прежней БД.
 
## Задать логин и пароль на доступ к БД, которые использовались для этого на предыдущем ПК. Логин и пароль прописаны в файле /htdocs/config.php (см структуру папок).
 
## Задать логин и пароль на доступ к БД, которые использовались для этого на предыдущем ПК. Логин и пароль прописаны в файле /htdocs/config.php (см структуру папок).
Строка 34: Строка 35:
 
## role_assignments - кому, какая роль, когда, в каком контексте разрешена.
 
## role_assignments - кому, какая роль, когда, в каком контексте разрешена.
 
# Для создания и модификации таблиц лучше использовать встроенный редактор таблиц.
 
# Для создания и модификации таблиц лучше использовать встроенный редактор таблиц.
## Чтобы его открыть надо перейте по ссылке разное->XMLDB редактор, блока "Администрирование". Результатом работы является файл install.xml, который лежит в папке соответствующего модуля.
+
## Чтобы его открыть надо перейте по ссылке разное->XMLDB редактор, блока "Администрирование". Результатом работы является файл install.xml, который лежит в папке соответствующего модуля. Подробную справку по работе с XMLDB-редактором можно найти в статье [[Разработка:XMLDB]].
 
## Чтобы сделать это с помощью функций, используйте библиотеку /htdocs/lib/ddllib.php. Пример ее использования можно найти в moodle или dof в файле upgrade.php
 
## Чтобы сделать это с помощью функций, используйте библиотеку /htdocs/lib/ddllib.php. Пример ее использования можно найти в moodle или dof в файле upgrade.php
 +
 
== freedeansoffice. ==
 
== freedeansoffice. ==
  1.
+
# Установка модуля описана [[Администрирование:Установка|здесь]].
Для того, чтобы убедиться, что вы в достаточной степени ориентируетесь в moodle ответьте на следующие вопросы:
+
# Со структурой модуля можно ознакомиться [[Разработка:Структура|тут]]. Внимательно ознакомьтесь с ней и со структурой плагинов. Посмотрите как реализованы примеры плагинов разных типов. Чтобы все правильно работало, нужно, чтобы были соблюдены требования к наличию структуры минимального набора файлов плагина.
Вопросы по moodle.
+
# Создайте плагин [[Разработка:Создание плагина|по образцу]], и обратите внимание, какие методы и как надо определять, чтобы плагин корректно устанавливался и работал.
 
+
# Работа справочников основана на стандартных методах, которые описаны в /dof/lib/storage_base.php.
  1. Какие данные хранятся в таблицах БД moodle?
+
# Внимательно изучите файл /dof/lib/dof.php и содержащиеся в нем методы. Ими вам придется пользоваться постоянно. Например,
  2. Где хранятся логин и пароль на доступ к БД moodle?
+
## Чтобы в каком-то модуле получить запись из таблицы, с которой работает examplest, надо написать конструкцию типа '''$rec = $DOF->storage('examplest')->get($id);'''
  3. Как перенести систему на другой компьютер/сервер, не устанавливая ее из дистрибутива?
+
## Когда надо вывести на экран строку текста "Идет обработка данных...", который задан в модуле widgets типа modlib, то используется команда '''$str = $DOF->get_string('proccessing','widgets',null,'modlib');'''
  4. В каких таблицах хранится информация о
+
## С помощью метода plugin_path вы получаете путь к файлам и папкам плагинов. Этот метод следует использовать для подключения библиотек и других подобных случаях.
        1. пользователях системы?
+
## Метод url_im позволяет получить www-адрес странички в плагине типа im.
        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.
+
== Вопросы для самоконтроля ==
 +
Для того, чтобы убедиться, что вы в минимальной степени ориентируетесь в moodle и freedeansoffice ответьте на вопросы, написанные ниже.
 +
Если вы можете найти ответы на них, то разберетесь и с вопросами, которые возникнут в процессе работы над плагинами.
 +
=== Вопросы по moodle. ===
 +
# Какие данные хранятся в таблицах БД moodle?
 +
# Где хранятся логин и пароль на доступ к БД moodle?
 +
# Как перенести систему на другой компьютер/сервер, не устанавливая ее из дистрибутива?
 +
# В каких таблицах хранится информация о
 +
## пользователях системы?
 +
## ролях?
 +
## полномочиях?
 +
## контекстах полномочий?
 +
## оценках?
 +
## курсах?
 +
## элементах курсов?
 +
## Какова структура папок moodle?
 +
## Где лежат элементы курса?
 +
## Где лежат библиотеки функций?
 +
## Какие функции лежат в файлах moodlelib.php, weblib.php, dmllid.php, datalib.php
 +
# В каких файлах лежат функции для работы с
 +
## БД?
 +
## элементами интерфейса?
 +
## В каком файле лежит слово "уведомление", которое выводится в блоке "администрирование"?
 +
# Как создавать таблицы через xmldb-редактор?
 +
# Как писать функции обновления таблиц через xmldb?
 +
# Как установить новый блок?
 +
=== Вопросы по freedeansoffice. ===
 +
# Как он устанавливается в moodle?
 +
# Какова структура папок блока freedeansoffice?
 +
# Какова структура папок его плагинов?
 +
# Какие методы надо обязательно определять при создании плагина к dof?
 +
# В каком файле лежат стандартные методы для работы с таблицами?
 +
# Где лежат и как называются методы, с помощью которых
 +
## выводится сообщение на экран?
 +
## можно получить путь к плагину?
 +
## путь к файлу внутри плагина?
 +
## выводится навигационная панель?
 +
## выводятся шапка и подвал страницы?
 +
## выводятся блоки в модуле freedeansoffice?
 +
# Каково назначение плагина ama?
 +
## Как получить методы для работы с курсами, группами, пользователями?
  
  1. Как он устанавливается в moodle?
+
[[Категория:Разработка]]
  2. Какова структура папок блока freedeansoffice?
 
  3. Какова структура папок его плагинов?
 
  4. Какие методы надо обязательно определять при создании плагина к dof?
 
  5. В каком файле лежат стандартные методы для работы с таблицами?
 
  6. С помошью каких методов
 
        1. выводится сообщение на экран?
 
        2. можно получить путь к плагину?
 
        3. путь к файлу внутри плагина?
 
  7. Каково назначение плагина ama?
 
        1. Как получить методы для работы с курсами, группами, пользователями?
 

Текущая версия на 17:28, 12 октября 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, который лежит в папке соответствующего модуля. Подробную справку по работе с XMLDB-редактором можно найти в статье Разработка:XMLDB.
    2. Чтобы сделать это с помощью функций, используйте библиотеку /htdocs/lib/ddllib.php. Пример ее использования можно найти в moodle или dof в файле upgrade.php

freedeansoffice.

  1. Установка модуля описана здесь.
  2. Со структурой модуля можно ознакомиться тут. Внимательно ознакомьтесь с ней и со структурой плагинов. Посмотрите как реализованы примеры плагинов разных типов. Чтобы все правильно работало, нужно, чтобы были соблюдены требования к наличию структуры минимального набора файлов плагина.
  3. Создайте плагин по образцу, и обратите внимание, какие методы и как надо определять, чтобы плагин корректно устанавливался и работал.
  4. Работа справочников основана на стандартных методах, которые описаны в /dof/lib/storage_base.php.
  5. Внимательно изучите файл /dof/lib/dof.php и содержащиеся в нем методы. Ими вам придется пользоваться постоянно. Например,
    1. Чтобы в каком-то модуле получить запись из таблицы, с которой работает examplest, надо написать конструкцию типа $rec = $DOF->storage('examplest')->get($id);
    2. Когда надо вывести на экран строку текста "Идет обработка данных...", который задан в модуле widgets типа modlib, то используется команда $str = $DOF->get_string('proccessing','widgets',null,'modlib');
    3. С помощью метода plugin_path вы получаете путь к файлам и папкам плагинов. Этот метод следует использовать для подключения библиотек и других подобных случаях.
    4. Метод url_im позволяет получить www-адрес странички в плагине типа im.

Вопросы для самоконтроля

Для того, чтобы убедиться, что вы в минимальной степени ориентируетесь в moodle и freedeansoffice ответьте на вопросы, написанные ниже. Если вы можете найти ответы на них, то разберетесь и с вопросами, которые возникнут в процессе работы над плагинами.

Вопросы по moodle.

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

Вопросы по freedeansoffice.

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