SlideShare a Scribd company logo
FFCMS.RU 
Fast flexibility content management system
1.Введение 
FFCMS - быстрая, расширяемая система управления содержимым 
сайта. Система написана на php и использует mysql в качестве хранилища 
данных. 
FFCMS предназначена для упрощения разработки и наполнения 
ваших веб-сайтов: с помощью системы могут быть реализованы как 
простые сайты-визитки так и сложные интернет-порталы. 
К основным достоинствам системы можно отнести: 
● Быстрота и удобство работы 
● Минимальное потребление ресурсов 
● Поддержка расширенной мультиязычности 
● Возможность расширения функциональных особенностей с помощью 
расширений для системы.
2.Интерфейсы системы 
2.1. Интерфейс пользователя 
Данный интерфейс является 
реализацией взаимодействия 
сайта с пользователем. 
Именно данный интерфейс 
увидят пользователи, которые 
посетят ваш сайт. Интерфейс 
пользователя является одним из 
основных типов интерфейса. 
Системное название 
интерфейса пользователя - front. 
PIC 1. Интерфейс пользователя
2.Интерфейсы системы 
2.2. Интерфейс установщика 
Данный интерфейс является 
системным интерфейсом 
установщика системы FFCMS - он 
позволяет устанавливать и 
обновлять систему вашего сайта. 
Данный интерфейс 
предназначен для администрации 
и технического персонала, которые 
управляют веб-сайтом и следят за 
его техническим состоянием. 
Системное имя интерфейса - install 
PIC 2. Интерфейс установщика
2.Интерфейсы системы 
2.3. Интерфейс администратора 
Данный интерфейс является 
основным для администратора или 
модератора сайта и позволяет 
управлять содержимым сайта и его 
настройками. 
Интерфейс 
администратора позволяет 
редактировать содержимое, 
отображаемое в интерфейсе 
пользователя. 
Системное название 
данного интерфейса - back. 
PIC 3. Интерфейс администратора
2.4. API интерфейс 
Данный интерфейс является 
техническим, не видимым для 
пользователя или администратора и 
позволяет реализовывать 
различные модели взаимодействия 
по принципу REST API, в частности - 
AJAX взаимодействие и 
взаимодействие с удаленными 
сервисами. 
Интерфейс поддерживает 
взаимодействие 2х направлений - 
front и back(в зависимости от 
взаимодействующего интерфейса). 
PIC 4. API интерфейс 
2.Интерфейсы системы
3.Управление сайтом 
Управлять содержимым вашего сайта вы можете с помощью 
интерфейса администратора (см. п. 2.3). 
После установки системы FFCMS на ваш сайт - авторизуйтесь и 
перейдите в админ панель: 
На главной странице админ панели вы увидите общую информацию о 
состоянии вашего сайта и системы в целом.
Так же вам будет доступно 2 административных меню: 
Данное меню позволяет управлять функциями быстрого доступа, просмотра 
сайта и выхода из административной панели. 
Данное меню является основным и позволяет управлять 
системой и ее расширениями. Краткая характеристика: 
1. Система: настройки, файлы, дампы, антивирус, обновления 
2. Модули: управление модулями системы 
3. Компоненты: управление компонентами системы 
4. Хуки: управление хуками системы 
Все функциональные особенности системы FFCMS предоставлены 
в виде расширений - компонентов, модулей, хуков а так же 
вспомогательных apicallback и crontask. 
В совокупности они реализуют функции статических страниц, 
новостей, обратной связи и другие возможности. 
3. Управление сайтом
Системные настройки в административной панели сгруппированы по типу их 
принадлежности к тем или иным настройкам: 
3. Управление сайтом 
➔ Основные: адрес сайта, шаблон, язык, 
время, ЧПУ, мултиязычность, отладка 
➔ SEO: заголовок, описания, ключевые слова 
для главной страницы сайта 
➔ Токены и кэш: время файлового 
кэширования, время длительности сессии 
➔ Файлы: допустимые форматы, размер, 
размеры для изображений 
➔ Почта: настройки отправки почты, smtp 
➔ База данных: подключение к базе данных - 
host, user, password, database, prefix 
➔ API: в данный момент только ключ для 
сервиса yandex.translate API
С помощью файлового менеджера вы можете управлять всеми файлами, 
которые были загружены на ваш сайт: 
В качестве файлового менеджера используется СПО elFinder, который в графическом режиме 
позволяет удобно управлять вашими файлами - создавать, копировать, удалять или перемещать 
между директориями, а так же управлять директориями сайта - создавать, копировать, 
переименовывать и перемещать. 
Работа с файловым менеджером возможна при условии наличия прав записи на /upload/. 
3. Управление сайтом
Системный антивирус позволяет проверить директорию сайта на наличие 
подозрительных объектов в системе, которые могут угрожать безопасности. 
Однако следует помнить - что антивирус лишь проверяет соответствие хэш-сумм файлов 
оригинальному образу и наличие в них потенциально небезопасных функций: shell_exec, exec, eval, 
passthru, system, popen & curl_exec. 
Однако вы всего можете добавить файлы или 
директории в исключения антивируса. 
3. Управление сайтом
С помощью функции “Резервирование” вы всегда сможете сделать резервную 
копию файлов и базы данных вашего сайта. 
Всего лишь одним нажатием на кнопку для вас будет создана резервная копия всех файлов и базы 
данных вашего сайта, после чего резервная копия будет сохранена в директорию /backup/ с 
указателем даты созданной копии. 
Мы рекомендуем вам делать резервные копии вашего проекта не реже раза в неделю и загружать 
на ваш компьютер. 
3. Управление сайтом
С помощи функции “Обновления” вы можете следить за актуальностью версии 
FFCMS на вашем сайте а так же за актуальностью установленных расширений. 
При выходе новых версий системы вы всегда сможете обновить ваш сайт при помощи удаленной 
загрузки обновленного дистрибутива. Вы так же сможете обновлять расширения от сторонних 
разработчиков, в случае если данные расширения будут поддерживать алгоритм обновления, 
предусмотренный в системе FFCMS. 
Вы как и ранее сможете обновлять систему и загрузкой нового дистрибутива поверх, если вдруг 
автоматическое обновление будет неудачным. 
3. Управление сайтом
При помощи меню “Модули”, “Компоненты”, “Хуки” вы можете управлять 
расширениями на вашем сайте. 
При помощи данных функций вы можете управлять расширениями - просматривать их возможности, 
функции управления, включать, отключать и устанавливать новые расширения в системе. 
Интерфейс управления каждым расширением реализует его разработчик, поэтому некоторые 
расширения могут не обладать таковыми функциями. 
3. Управление сайтом
4.Расширения системы 
В системе FFCMS предусмотрено 5 типов расширений: 
➢ Компоненты - генерация содержимого сайта в зависимости от 
внутреннего URI запроса. 
➢ Модули - работа с шаблонными позициями 
➢ Хуки - реализация методов взаимодействия между расширениями 
системы, сторонним кодом и сервисами. 
➢ ApiCallback - реализация простых REST API для взаимодействия 
внутри и вне системы. 
➢ Cron - реализация дополнений к расширениям, которые позволяют 
выполнять задания по расписанию (Cron task).
Основные различия между модулями и компонентами в системе FFCMS продемонстрированы на 
изображении ниже: 
В данном случае при обращении по URI 
/feedback/ был вызван компонент 
feedback(обратная связь), содержимое 
которого расположено в блоке 
{{ content.body }}. 
Но на данной странице так же работает 
и модуль - tag_cloud(облако тегов) - 
который контролирует шаблонную 
позицию, если его работа не исключена 
на данном URI. 
Таким образом на странице может быть 
сколько угодно модулей и лишь один 
компонент, контролирующий ту или 
иную позицию, чаще всего - {{ 
content.body }}. 
Важно запомнить - что системный роутер инициирует вызов компонента в зависимости от заданного URI, а модуль 
вызывается повсеместно(или по правилу роутинга для модуля). 
В данном случае системный роутер обратился к классу com_feedback_front (com_feedback_front::getInstance()->make()) 
при обработке URI страницы. 
4. Расширения системы
В свою очередь в отличии от модулей и компонентов системные хуки не имеют явного метода вызова 
- они лишь реализуют возможности взаимодействия. Наглядным примером такого взаимодействия 
есть вызов хука “captcha” для отображения защитного изображения и валидации введенных данных. 
Это локальный пример для ранее рассмотренного компонента “feedback” - компонент 
взаимодействует с хуком “captcha” для отображения защитного изображения(->show()) и проверки 
валидности ответа пользователя(->validate(response)). 
4. Расширения системы
Как мы уже ранее говорили ApiCallback позволяют создавать подобия REST API взаимодействия без 
использования представлений(шаблонов html разметки, в данном случае). Apicallback расширение 
реализует отображение данных по своему усмотрению, без использования стандартного 
шаблонизатора и синтаксиса TWIG. 
Ярким примером взаимодействия с ApiCallback является добавление комментария на сайте - по логике AJAX идет 
отправка текста на Apicallback взаимодействия и возвращается результат обработки - текст добавленного 
комментария. 
4. Расширения системы
В свою очередь “cron” расширения могут выступать в качестве дополнений к модулям, компонентам 
или хукам и выполнять особенности “тяжелых” запросов удаленного или локального взаимодействия. 
Все cron запросы инициируются любым пользователем сайта, который загружает те или иные 
страницы сайта. 
При загрузке каждой странице выполняется “звонок” по средствам фонового GET запроса на инициализирующий 
алгоритм Cron расширений, который выполняет необходимые задания, в случае если время их повторения истекло. 
Таким образом мы “убиваем” сразу 2 зайца: 
● Нет необходимости добавлять cron-задачу в вашу операционную систему 
● Сайт, который не посещают пользователи не нуждается в обновлении данных в текущий момент и ресурсы 
4. Расширения системы 
системы не будут израсходованы напрасно 
Вы конечно можете добавить вызов /api.php?cron=1 в системный вызов cron-задач (путем wget) однако для этого нет 
крайней необходимости. 
Cron расширения рекомендуется реализовывать для долгих по времени выполнения алгоритмов - к примеру, загрузке 
или взаимодействия с удаленными хранилищами данных, обновление которых не обязательно в режиме реального 
времени.
5.Заключение 
Если вас заинтересовала информация о системе мы рекомендуем вам 
ознакомиться со следующими материалами: 
1. Официальный сайт 
2. Документация 
3. Форум поддержки 
4. Каталог расширений 
Благодарю вас за внимание! 
11.10.2014 Пятинский Михаил, zenn1989@gmail.com

More Related Content

What's hot

[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)
Evgeny Kaziak
 
Apache2
Apache2Apache2
Apache2
Ilya Lapitan
 
Архивы в Java
Архивы в JavaАрхивы в Java
Архивы в Java
Ilya Lapitan
 
Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Clouds NN
 
Planning SharePoint 2010 Backup and Recovery (Russian)
Planning SharePoint 2010 Backup and Recovery (Russian)Planning SharePoint 2010 Backup and Recovery (Russian)
Planning SharePoint 2010 Backup and Recovery (Russian)
Ilia Sotnikov
 
Seopult мастеркласс 1 - восстановление сайта после взлома
Seopult   мастеркласс 1 - восстановление сайта после взломаSeopult   мастеркласс 1 - восстановление сайта после взлома
Seopult мастеркласс 1 - восстановление сайта после взлома
revisium
 
Эволюция BackDoor.Flashback
Эволюция BackDoor.FlashbackЭволюция BackDoor.Flashback
Эволюция BackDoor.Flashbackhexminer
 

What's hot (9)

[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)
 
176023
176023176023
176023
 
Apache2
Apache2Apache2
Apache2
 
Архивы в Java
Архивы в JavaАрхивы в Java
Архивы в Java
 
Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.
 
Planning SharePoint 2010 Backup and Recovery (Russian)
Planning SharePoint 2010 Backup and Recovery (Russian)Planning SharePoint 2010 Backup and Recovery (Russian)
Planning SharePoint 2010 Backup and Recovery (Russian)
 
Seopult мастеркласс 1 - восстановление сайта после взлома
Seopult   мастеркласс 1 - восстановление сайта после взломаSeopult   мастеркласс 1 - восстановление сайта после взлома
Seopult мастеркласс 1 - восстановление сайта после взлома
 
Эволюция BackDoor.Flashback
Эволюция BackDoor.FlashbackЭволюция BackDoor.Flashback
Эволюция BackDoor.Flashback
 
Installation guide
Installation guideInstallation guide
Installation guide
 

Viewers also liked

Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
AvitoTech
 
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасностиВадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
AvitoTech
 
Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»
Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»
Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»1С-Битрикс
 
Андрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyond
AvitoTech
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma
Badoo Development
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
Badoo Development
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, Badoo
Badoo Development
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
 

Viewers also liked (8)

Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
 
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасностиВадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
 
Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»
Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»
Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»
 
Андрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyond
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, Badoo
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
 

Similar to FFCMS - вводная для пользователя

Eleanor
EleanorEleanor
EleanorSC3402
 
Joomla (Админка) www.hotwebstudio.ru
Joomla (Админка) www.hotwebstudio.ruJoomla (Админка) www.hotwebstudio.ru
Joomla (Админка) www.hotwebstudio.ru
hotwebstudio.ru
 
Phalcon. Что нового?
Phalcon. Что нового?Phalcon. Что нового?
Phalcon. Что нового?
Oleksandr Torosh
 
Symfony 3
Symfony 3Symfony 3
Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4
Sergiy Shychynov
 
Презенатация CMS
Презенатация CMSПрезенатация CMS
Презенатация CMSPutinTheJew
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиковMedia Gorod
 
Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...
Artur Baranok
 
Белов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхБелов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхqasib
 
Использование Symfony
Использование SymfonyИспользование Symfony
Использование SymfonyMedia Gorod
 
Trening modul2-webinar11
Trening modul2-webinar11Trening modul2-webinar11
Trening modul2-webinar11
olgaoov
 
копия эларфиндок
копия эларфиндоккопия эларфиндок
копия эларфиндокpiskunovich
 
презентация никоненко михаил
презентация никоненко михаилпрезентация никоненко михаил
презентация никоненко михаил
Michael Nikonenko
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Artur Baranok
 
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтомСистема управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
borovoystudio
 
Развертывание и управление CMS Drupal в Microsoft Azure
Развертывание и управление CMS Drupal в Microsoft AzureРазвертывание и управление CMS Drupal в Microsoft Azure
Развертывание и управление CMS Drupal в Microsoft Azure
Artur Baranok
 
инструментарий
инструментарийинструментарий
инструментарийigdweb
 
Битрикс-Framework
Битрикс-FrameworkБитрикс-Framework
Битрикс-Framework
1С-Битрикс
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
LEDC 2016
 

Similar to FFCMS - вводная для пользователя (20)

Eleanor
EleanorEleanor
Eleanor
 
Joomla (Админка) www.hotwebstudio.ru
Joomla (Админка) www.hotwebstudio.ruJoomla (Админка) www.hotwebstudio.ru
Joomla (Админка) www.hotwebstudio.ru
 
Phalcon. Что нового?
Phalcon. Что нового?Phalcon. Что нового?
Phalcon. Что нового?
 
Symfony 3
Symfony 3Symfony 3
Symfony 3
 
Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4
 
Презенатация CMS
Презенатация CMSПрезенатация CMS
Презенатация CMS
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
 
Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...
 
Белов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхБелов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложениях
 
Использование Symfony
Использование SymfonyИспользование Symfony
Использование Symfony
 
Trening modul2-webinar11
Trening modul2-webinar11Trening modul2-webinar11
Trening modul2-webinar11
 
копия эларфиндок
копия эларфиндоккопия эларфиндок
копия эларфиндок
 
презентация никоненко михаил
презентация никоненко михаилпрезентация никоненко михаил
презентация никоненко михаил
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure Websites
 
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтомСистема управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
Система управления сайтом «1С-Битрикс» изнутри: работа с корпоративным сайтом
 
CMS
CMSCMS
CMS
 
Развертывание и управление CMS Drupal в Microsoft Azure
Развертывание и управление CMS Drupal в Microsoft AzureРазвертывание и управление CMS Drupal в Microsoft Azure
Развертывание и управление CMS Drupal в Microsoft Azure
 
инструментарий
инструментарийинструментарий
инструментарий
 
Битрикс-Framework
Битрикс-FrameworkБитрикс-Framework
Битрикс-Framework
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
 

FFCMS - вводная для пользователя

  • 1. FFCMS.RU Fast flexibility content management system
  • 2. 1.Введение FFCMS - быстрая, расширяемая система управления содержимым сайта. Система написана на php и использует mysql в качестве хранилища данных. FFCMS предназначена для упрощения разработки и наполнения ваших веб-сайтов: с помощью системы могут быть реализованы как простые сайты-визитки так и сложные интернет-порталы. К основным достоинствам системы можно отнести: ● Быстрота и удобство работы ● Минимальное потребление ресурсов ● Поддержка расширенной мультиязычности ● Возможность расширения функциональных особенностей с помощью расширений для системы.
  • 3. 2.Интерфейсы системы 2.1. Интерфейс пользователя Данный интерфейс является реализацией взаимодействия сайта с пользователем. Именно данный интерфейс увидят пользователи, которые посетят ваш сайт. Интерфейс пользователя является одним из основных типов интерфейса. Системное название интерфейса пользователя - front. PIC 1. Интерфейс пользователя
  • 4. 2.Интерфейсы системы 2.2. Интерфейс установщика Данный интерфейс является системным интерфейсом установщика системы FFCMS - он позволяет устанавливать и обновлять систему вашего сайта. Данный интерфейс предназначен для администрации и технического персонала, которые управляют веб-сайтом и следят за его техническим состоянием. Системное имя интерфейса - install PIC 2. Интерфейс установщика
  • 5. 2.Интерфейсы системы 2.3. Интерфейс администратора Данный интерфейс является основным для администратора или модератора сайта и позволяет управлять содержимым сайта и его настройками. Интерфейс администратора позволяет редактировать содержимое, отображаемое в интерфейсе пользователя. Системное название данного интерфейса - back. PIC 3. Интерфейс администратора
  • 6. 2.4. API интерфейс Данный интерфейс является техническим, не видимым для пользователя или администратора и позволяет реализовывать различные модели взаимодействия по принципу REST API, в частности - AJAX взаимодействие и взаимодействие с удаленными сервисами. Интерфейс поддерживает взаимодействие 2х направлений - front и back(в зависимости от взаимодействующего интерфейса). PIC 4. API интерфейс 2.Интерфейсы системы
  • 7. 3.Управление сайтом Управлять содержимым вашего сайта вы можете с помощью интерфейса администратора (см. п. 2.3). После установки системы FFCMS на ваш сайт - авторизуйтесь и перейдите в админ панель: На главной странице админ панели вы увидите общую информацию о состоянии вашего сайта и системы в целом.
  • 8. Так же вам будет доступно 2 административных меню: Данное меню позволяет управлять функциями быстрого доступа, просмотра сайта и выхода из административной панели. Данное меню является основным и позволяет управлять системой и ее расширениями. Краткая характеристика: 1. Система: настройки, файлы, дампы, антивирус, обновления 2. Модули: управление модулями системы 3. Компоненты: управление компонентами системы 4. Хуки: управление хуками системы Все функциональные особенности системы FFCMS предоставлены в виде расширений - компонентов, модулей, хуков а так же вспомогательных apicallback и crontask. В совокупности они реализуют функции статических страниц, новостей, обратной связи и другие возможности. 3. Управление сайтом
  • 9. Системные настройки в административной панели сгруппированы по типу их принадлежности к тем или иным настройкам: 3. Управление сайтом ➔ Основные: адрес сайта, шаблон, язык, время, ЧПУ, мултиязычность, отладка ➔ SEO: заголовок, описания, ключевые слова для главной страницы сайта ➔ Токены и кэш: время файлового кэширования, время длительности сессии ➔ Файлы: допустимые форматы, размер, размеры для изображений ➔ Почта: настройки отправки почты, smtp ➔ База данных: подключение к базе данных - host, user, password, database, prefix ➔ API: в данный момент только ключ для сервиса yandex.translate API
  • 10. С помощью файлового менеджера вы можете управлять всеми файлами, которые были загружены на ваш сайт: В качестве файлового менеджера используется СПО elFinder, который в графическом режиме позволяет удобно управлять вашими файлами - создавать, копировать, удалять или перемещать между директориями, а так же управлять директориями сайта - создавать, копировать, переименовывать и перемещать. Работа с файловым менеджером возможна при условии наличия прав записи на /upload/. 3. Управление сайтом
  • 11. Системный антивирус позволяет проверить директорию сайта на наличие подозрительных объектов в системе, которые могут угрожать безопасности. Однако следует помнить - что антивирус лишь проверяет соответствие хэш-сумм файлов оригинальному образу и наличие в них потенциально небезопасных функций: shell_exec, exec, eval, passthru, system, popen & curl_exec. Однако вы всего можете добавить файлы или директории в исключения антивируса. 3. Управление сайтом
  • 12. С помощью функции “Резервирование” вы всегда сможете сделать резервную копию файлов и базы данных вашего сайта. Всего лишь одним нажатием на кнопку для вас будет создана резервная копия всех файлов и базы данных вашего сайта, после чего резервная копия будет сохранена в директорию /backup/ с указателем даты созданной копии. Мы рекомендуем вам делать резервные копии вашего проекта не реже раза в неделю и загружать на ваш компьютер. 3. Управление сайтом
  • 13. С помощи функции “Обновления” вы можете следить за актуальностью версии FFCMS на вашем сайте а так же за актуальностью установленных расширений. При выходе новых версий системы вы всегда сможете обновить ваш сайт при помощи удаленной загрузки обновленного дистрибутива. Вы так же сможете обновлять расширения от сторонних разработчиков, в случае если данные расширения будут поддерживать алгоритм обновления, предусмотренный в системе FFCMS. Вы как и ранее сможете обновлять систему и загрузкой нового дистрибутива поверх, если вдруг автоматическое обновление будет неудачным. 3. Управление сайтом
  • 14. При помощи меню “Модули”, “Компоненты”, “Хуки” вы можете управлять расширениями на вашем сайте. При помощи данных функций вы можете управлять расширениями - просматривать их возможности, функции управления, включать, отключать и устанавливать новые расширения в системе. Интерфейс управления каждым расширением реализует его разработчик, поэтому некоторые расширения могут не обладать таковыми функциями. 3. Управление сайтом
  • 15. 4.Расширения системы В системе FFCMS предусмотрено 5 типов расширений: ➢ Компоненты - генерация содержимого сайта в зависимости от внутреннего URI запроса. ➢ Модули - работа с шаблонными позициями ➢ Хуки - реализация методов взаимодействия между расширениями системы, сторонним кодом и сервисами. ➢ ApiCallback - реализация простых REST API для взаимодействия внутри и вне системы. ➢ Cron - реализация дополнений к расширениям, которые позволяют выполнять задания по расписанию (Cron task).
  • 16. Основные различия между модулями и компонентами в системе FFCMS продемонстрированы на изображении ниже: В данном случае при обращении по URI /feedback/ был вызван компонент feedback(обратная связь), содержимое которого расположено в блоке {{ content.body }}. Но на данной странице так же работает и модуль - tag_cloud(облако тегов) - который контролирует шаблонную позицию, если его работа не исключена на данном URI. Таким образом на странице может быть сколько угодно модулей и лишь один компонент, контролирующий ту или иную позицию, чаще всего - {{ content.body }}. Важно запомнить - что системный роутер инициирует вызов компонента в зависимости от заданного URI, а модуль вызывается повсеместно(или по правилу роутинга для модуля). В данном случае системный роутер обратился к классу com_feedback_front (com_feedback_front::getInstance()->make()) при обработке URI страницы. 4. Расширения системы
  • 17. В свою очередь в отличии от модулей и компонентов системные хуки не имеют явного метода вызова - они лишь реализуют возможности взаимодействия. Наглядным примером такого взаимодействия есть вызов хука “captcha” для отображения защитного изображения и валидации введенных данных. Это локальный пример для ранее рассмотренного компонента “feedback” - компонент взаимодействует с хуком “captcha” для отображения защитного изображения(->show()) и проверки валидности ответа пользователя(->validate(response)). 4. Расширения системы
  • 18. Как мы уже ранее говорили ApiCallback позволяют создавать подобия REST API взаимодействия без использования представлений(шаблонов html разметки, в данном случае). Apicallback расширение реализует отображение данных по своему усмотрению, без использования стандартного шаблонизатора и синтаксиса TWIG. Ярким примером взаимодействия с ApiCallback является добавление комментария на сайте - по логике AJAX идет отправка текста на Apicallback взаимодействия и возвращается результат обработки - текст добавленного комментария. 4. Расширения системы
  • 19. В свою очередь “cron” расширения могут выступать в качестве дополнений к модулям, компонентам или хукам и выполнять особенности “тяжелых” запросов удаленного или локального взаимодействия. Все cron запросы инициируются любым пользователем сайта, который загружает те или иные страницы сайта. При загрузке каждой странице выполняется “звонок” по средствам фонового GET запроса на инициализирующий алгоритм Cron расширений, который выполняет необходимые задания, в случае если время их повторения истекло. Таким образом мы “убиваем” сразу 2 зайца: ● Нет необходимости добавлять cron-задачу в вашу операционную систему ● Сайт, который не посещают пользователи не нуждается в обновлении данных в текущий момент и ресурсы 4. Расширения системы системы не будут израсходованы напрасно Вы конечно можете добавить вызов /api.php?cron=1 в системный вызов cron-задач (путем wget) однако для этого нет крайней необходимости. Cron расширения рекомендуется реализовывать для долгих по времени выполнения алгоритмов - к примеру, загрузке или взаимодействия с удаленными хранилищами данных, обновление которых не обязательно в режиме реального времени.
  • 20. 5.Заключение Если вас заинтересовала информация о системе мы рекомендуем вам ознакомиться со следующими материалами: 1. Официальный сайт 2. Документация 3. Форум поддержки 4. Каталог расширений Благодарю вас за внимание! 11.10.2014 Пятинский Михаил, zenn1989@gmail.com