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

Материал из DOF
Перейти к: навигация, поиск
(Создал страничку)
 
(Добавлена категория)
 
(не показано 11 промежуточных версий 3 участников)
Строка 2: Строка 2:
 
Символ / написанный в начале пути папок здесь обозначает корневую папку moodle или блока dof.
 
Символ / написанный в начале пути папок здесь обозначает корневую папку moodle или блока dof.
 
== moodle. ==
 
== moodle. ==
  1. Подробности по работе с moodle можно найти на http://moodle.org.
+
# Подробности по работе с moodle можно найти на http://moodle.org.
  2. Структура папок описана тут: 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.
 +
## На него надо скопировать в соответствующую папку файлы 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, который лежит в папке соответствующего модуля. Подробную справку по работе с XMLDB-редактором можно найти в статье [[Разработка:XMLDB]].
 +
## Чтобы сделать это с помощью функций, используйте библиотеку /htdocs/lib/ddllib.php. Пример ее использования можно найти в moodle или dof в файле upgrade.php
  
  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. Чтобы сделать это с помощью функций, используйте библиотеку /lib/ddllib.php. Пример ее использования можно найти в moodle или d dof в файле upgrade.php
 
 
== freedeansoffice. ==
 
== freedeansoffice. ==
  1.
+
# Установка модуля описана [[Администрирование:Установка|здесь]].
Для того, чтобы убедиться, что вы в достаточной степени ориентируетесь в moodle ответьте на следующие вопросы:
+
# Со структурой модуля можно ознакомиться [[Разработка:Структура|тут]]. Внимательно ознакомьтесь с ней и со структурой плагинов. Посмотрите как реализованы примеры плагинов разных типов. Чтобы все правильно работало, нужно, чтобы были соблюдены требования к наличию структуры минимального набора файлов плагина.
Вопросы по moodle.
+
# Создайте плагин [[Разработка:Создание плагина|по образцу]], и обратите внимание, какие методы и как надо определять, чтобы плагин корректно устанавливался и работал.
 +
# Работа справочников основана на стандартных методах, которые описаны в /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.
  
  1. Какие данные хранятся в таблицах БД moodle?
+
== Вопросы для самоконтроля ==
  2. Где хранятся логин и пароль на доступ к БД moodle?
+
Для того, чтобы убедиться, что вы в минимальной степени ориентируетесь в moodle и freedeansoffice ответьте на вопросы, написанные ниже.
  3. Как перенести систему на другой компьютер/сервер, не устанавливая ее из дистрибутива?
+
Если вы можете найти ответы на них, то разберетесь и с вопросами, которые возникнут в процессе работы над плагинами.
  4. В каких таблицах хранится информация о
+
=== Вопросы по moodle. ===
        1. пользователях системы?
+
# Какие данные хранятся в таблицах БД moodle?
        2. ролях?
+
# Где хранятся логин и пароль на доступ к БД moodle?
        3. полномочиях?
+
# Как перенести систему на другой компьютер/сервер, не устанавливая ее из дистрибутива?
        4. контекстах полномочий?
+
# В каких таблицах хранится информация о
        5. оценках?
+
## пользователях системы?
        6. курсах?
+
## ролях?
        7. элементах курсов?
+
## полномочиях?
  5. Какова структура папок moodle?
+
## контекстах полномочий?
  6. Где лежат элементы курса?
+
## оценках?
  7. Где лежат библиотеки функций?
+
## курсах?
  8. Какие функции лежат в файлах moodlelib.php, weblib.php, dmllid.php, datalib.php
+
## элементах курсов?
  9. В каких файлах лежат функции для работы с
+
## Какова структура папок moodle?
        1. БД?
+
## Где лежат элементы курса?
        2. элементами интерфейса?
+
## Где лежат библиотеки функций?
        3. В каком файле лежит слово "уведомление", которое выводится в блоке "администрирование"?
+
## Какие функции лежат в файлах moodlelib.php, weblib.php, dmllid.php, datalib.php
  10. Как создавать таблицы через xmldb-редактор?
+
# В каких файлах лежат функции для работы с
  11. Как писать функции обновления таблиц через xmldb?
+
## БД?
  12. Как установить новый блок?
+
## элементами интерфейса?
 +
## В каком файле лежит слово "уведомление", которое выводится в блоке "администрирование"?
 +
# Как создавать таблицы через xmldb-редактор?
 +
# Как писать функции обновления таблиц через xmldb?
 +
# Как установить новый блок?
 +
=== Вопросы по freedeansoffice. ===
 +
# Как он устанавливается в moodle?
 +
# Какова структура папок блока freedeansoffice?
 +
# Какова структура папок его плагинов?
 +
# Какие методы надо обязательно определять при создании плагина к dof?
 +
# В каком файле лежат стандартные методы для работы с таблицами?
 +
# Где лежат и как называются методы, с помощью которых
 +
## выводится сообщение на экран?
 +
## можно получить путь к плагину?
 +
## путь к файлу внутри плагина?
 +
## выводится навигационная панель?
 +
## выводятся шапка и подвал страницы?
 +
## выводятся блоки в модуле freedeansoffice?
 +
# Каково назначение плагина ama?
 +
## Как получить методы для работы с курсами, группами, пользователями?
  
Вопросы по freedeansoffice.
+
[[Категория:Разработка]]
 
 
  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. Как получить методы для работы с курсами, группами, пользователями?