Разработка:Структура

Материал из DOF
Перейти к: навигация, поиск

Плагины

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

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

Справочники

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

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

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

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

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

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

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


Системные библиотеки 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/код_языка/ - языковые файлы