Плагинная система
Плагин - это `кирпичик`, позволяющий NGCMS реализовать ту или иную функцию.
Архитектурно сайт на NGCMS состоит из следующих элементов:
- Ядро - основной элемент CMS, содержит модули работы с БД, шаблонизатор, админ панель, модуль управления пользователями и систему управления ЧПУ. Также в ядре находятся базовые функции отображения и управления новостей и статических страниц.
- Плагин(ы) авторизации - механизм авторизации вынесен в отдельные плагины. Такой подход позволяет легко и удобно реализовывать интеграцию с другими БД пользователей (к примеру, для NGCMS существуют плагины, позволяющие использовать единые БД пользователей с форумами punBB и vBulletin).
- Плагины-виджеты - любой современный сайт сложно представить без виджетов. Виджет - это отдельный информационный блок, отображаемый на боковой панели и показывающий ту или иную информацию.
- Плагины-фильтры новостей - набор плагинов, расширяющих функционал новостей или статических страниц, при этом они могут модифицировать информацию, показываемую в новостях.
Примеры таких плагинов: "дополнительные поля" (xfields), "простой torrent трекер" (tracker).
Часто встречаются плагины, совмещающие в себе функции плагинов-виджетов и плагинов-фильтров, пример: "облако тегов" (tags).
- Независимые плагины - для NGCMS существует также отдельная группа плагинов, которые полностью и независимо реализуют свой функционал используя только возможности ядра и плагинов авторизации (т.е. NGCMS используется таким плагином как framework реализующий базовые функции). В настоящий момент существует только один плагин подобного типа: "форум" (forum)
Архитектура плагина
Для того, чтобы ядро NGCMS смогло идентифицировать новый плагин и правильно с ним работать, плагин должен соответствовать определённому набору правил.
Первое, что необходимо знать: все плагины находятся в каталоге engine/plugins/, каждый плагин находится в своём собственном каталоге, который одновременно является идентификатором плагина.
Любой плагин состоит из определённог набора обязательных элементов и набора необязательных элементов.
Обязательные элементы плагина:
Необязательные элементы плагина:
- Install скрипт - скрипт отвечающий за установку плагина
- Deinstall скрипт - скрипт отвечающий за удаление плагина
- Конфигуратор - скрипт позволяющий настроить плагин (из админ панели), либо выполнить какие-либо задачи по обслуживанию
- Библиотеки плагина - набор библиотек, предоставляемых плагином (этими библиотеками смогут пользоваться другие плагины)
- Исполняемые файл(ы) плагина - набор файлов, реализующих логику плагина
- readme файл - документация по плагину
- history фалй - файл в котором отображается история развития плагина