Разработка:С чего начать — различия между версиями
Johnleft (обсуждение | вклад) (Создал страничку) |
Alex (обсуждение | вклад) (Добавлена категория) |
||
(не показано 11 промежуточных версий 3 участников) | |||
Строка 2: | Строка 2: | ||
Символ / написанный в начале пути папок здесь обозначает корневую папку moodle или блока dof. | Символ / написанный в начале пути папок здесь обозначает корневую папку moodle или блока dof. | ||
== moodle. == | == moodle. == | ||
− | + | # Подробности по работе с moodle можно найти на http://moodle.org. | |
− | + | # Структура папок описана [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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== freedeansoffice. == | == 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? | ||
+ | ## Как получить методы для работы с курсами, группами, пользователями? | ||
− | + | [[Категория:Разработка]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Текущая версия на 17:28, 12 октября 2009
Чтобы успешно работать над проектом кроме общих навыков программирования следует ориентироваться в архитектуре и реализации 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, который лежит в папке соответствующего модуля. Подробную справку по работе с XMLDB-редактором можно найти в статье Разработка:XMLDB.
- Чтобы сделать это с помощью функций, используйте библиотеку /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?
- Как получить методы для работы с курсами, группами, пользователями?