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

Материал из DOF
Перейти к: навигация, поиск
(Добавлена категория)
 
(не показаны 2 промежуточные версии 2 участников)
Строка 2: Строка 2:
 
===Интерфейс пользователя===
 
===Интерфейс пользователя===
 
Плагины данного типа реализуют веб-интерфейс пользователя.
 
Плагины данного типа реализуют веб-интерфейс пользователя.
 +
* [[Разработка:im/exampleim |  Пример плагина интерфейса]]
 
* [[Разработка:im/admin |  Интерфейс  администратора]]
 
* [[Разработка:im/admin |  Интерфейс  администратора]]
* [[Разработка:im/exampleim |  Пример плагина интерфейса]]
 
 
* [[Разработка:im/persons |  Управление списками участников]]
 
* [[Разработка:im/persons |  Управление списками участников]]
* [[Разработка:im/sel |  Интервейс приемной комиссии]]
+
* [[Разработка:im/sel |  Интерфейс приемной комиссии]]
 
* [[Разработка:im/standard |  Стандартный интерфейс первой страницы]]
 
* [[Разработка:im/standard |  Стандартный интерфейс первой страницы]]
  
 
===Справочники===
 
===Справочники===
 
Классы для обращения к таблицам базы данных. Каждый плагин этого типа является ООП-интерфейсом доступа к одной одноименной таблице в базе данных, плагин сразу наследует основные операции для работы с таблицей, остальные операции должны быть объявлены как методы класса.
 
Классы для обращения к таблицам базы данных. Каждый плагин этого типа является ООП-интерфейсом доступа к одной одноименной таблице в базе данных, плагин сразу наследует основные операции для работы с таблицей, остальные операции должны быть объявлены как методы класса.
* [[Разработка:storages/contracts |  Стандартный интерфейс первой страницы]]
 
 
* [[Разработка:storages/examplest |  Пример плагина справочника]]
 
* [[Разработка:storages/examplest |  Пример плагина справочника]]
 
* [[Разработка:storages/persons |  Участники образовательного процесса]]
 
* [[Разработка:storages/persons |  Участники образовательного процесса]]
 +
* [[Разработка:storages/contracts |  Договор учащегося с учебным заведением]]
  
 
===Дополнительные библиотеки===
 
===Дополнительные библиотеки===
 
Плагин-библиотека (для плагинов, не выводящих интерфейса пользователя и не подходящих ни для одного другого типа, либо для повторно-используемых библиотек)
 
Плагин-библиотека (для плагинов, не выводящих интерфейса пользователя и не подходящих ни для одного другого типа, либо для повторно-используемых библиотек)
 +
* [[Разработка:modlibs/examplelib | Пример модуля библиотеки ]]
 
* [[Разработка:modlibs/ama |  Библиотека доступа к объектам Moodle]]
 
* [[Разработка:modlibs/ama |  Библиотека доступа к объектам Moodle]]
* [[Разработка:modlibs/examplelib | Пример модуля библиотеки ]]
 
 
* [[Разработка:modlibs/nvg |  Элементы навигации]]
 
* [[Разработка:modlibs/nvg |  Элементы навигации]]
 
* [[Разработка:modlibs/widgets |  Дополнительные виджеты (формы, прогрессбар и т.д.)]]
 
* [[Разработка:modlibs/widgets |  Дополнительные виджеты (формы, прогрессбар и т.д.)]]
Строка 62: Строка 62:
 
* тип_плагина/имя_плагина/db - установочные файлы базы данных
 
* тип_плагина/имя_плагина/db - установочные файлы базы данных
 
* тип_плагина/имя_плагина/lang/код_языка/ - языковые файлы
 
* тип_плагина/имя_плагина/lang/код_языка/ - языковые файлы
 +
 +
[[Категория:Разработка]]

Текущая версия на 17:29, 12 октября 2009

Плагины

Интерфейс пользователя

Плагины данного типа реализуют веб-интерфейс пользователя.

Справочники

Классы для обращения к таблицам базы данных. Каждый плагин этого типа является ООП-интерфейсом доступа к одной одноименной таблице в базе данных, плагин сразу наследует основные операции для работы с таблицей, остальные операции должны быть объявлены как методы класса.

Дополнительные библиотеки

Плагин-библиотека (для плагинов, не выводящих интерфейса пользователя и не подходящих ни для одного другого типа, либо для повторно-используемых библиотек)

Синхронизации

Плагин управления синхронизации с внешними базами данных

Рабочие процессы

Задают список возможных статусов объекта, возможные переходы между ними и действия, которые автоматически выполняются при переходе.


Системные библиотеки FDO

Структура папок и файлов FDO

  • block_dof.php - объект блока Moodle, отвечает за отображение блока на страницах Moodle, а так же задает основные правила взаимодействия Moodle с FDO
  • lib.php - файл инициализации FDO
  • cfg/ - конфигурационные файлы
  • cfg/тип_плагина/имя_плагина/ - папка с конфигурационными файломами, при наличие которых метод $DOF->plugin_path() возвращает путь к ним вместо пути в папки cfg/ внутри плагина
  • db/ - файлы установки привилегий и баз данных, используемых ядром системы
  • im/ - папка с плагинами интерфейса пользователя
  • lang/ - языковые файлы ядра системы
  • lib/ - основные библиотеки
  • lib/dof.php - класс основного объекта $DOF, через который выполняется доступ ко всем функциям FDO и функциям плагинов
  • lib/im.php - объявление интерфейса класса для плагинов im
  • lib/modlib.php - объявление интерфейса класса для плагинов modlib
  • lib/plugin.php - объявление общего интерфейса плагинов (все методы, объявленные тут, должны быть определены в каждом плагине)
  • lib/storage_base.php - объявление методов для основных операций с базой данных (get,delete,insert,update и других)
  • lib/storage.php - объявление интерфейса класса для плагинов storage
  • lib/sync.php - объявление интерфейса класса для плагинов sync
  • lib/utils.php - библиотека полезных функций, для использования в ядре FDO и плагинах
  • lib/workflow.php - объявление интерфейса класса для плагинов workflow
  • modlibs/ - плагины библиотек
  • storages/ - справочники
  • sync/ - плагины синхронизации с любыми внешними данными
  • workflows/ - плагины рабочих процессов
  • тип_плагина/имя_плагина/init.php - файл с основным классом плагина (обязателен)
  • im/имя_плагина/lib.php - основной подключаемый файл интерфейса, должен быть загружен из всех файлов, к которым пользователь может обратиться напрямую, внутри себя должен загружать im из корня FDO
  • тип_плагина/имя_плагина/cfg/ - конфигурационные файлы плагина
  • тип_плагина/имя_плагина/db - установочные файлы базы данных
  • тип_плагина/имя_плагина/lang/код_языка/ - языковые файлы