Почему ваш следующий проект будет на October CMS

Столкнувшись с большим количеством различных систем управления контентом (CMS) мы можем условно разделить их на две группы. Как правило, такие системы бывают или удобными в разработке или удобными в эксплуатации (управлении человеком без специальных навыков).

Административная панель систем первого типа как-правило представляет собой джунгли с большим количеством скрытых опций и настроек. Неопытный контент-менеджер с трудом находит нужное место, где редактируется определённый блок, а также довольно легко может вывести сайт из строя, (условно) поставив «галочку» не в том месте.

Системы второго типа (хоть и удобны в использовании) накладывают определённые ограничения на разработчиков, навязывая свои «анти-паттерны» проектирования и «заставляя» использовать свои модули «для всего». Конечно, в простых проектах с этим больших проблем нет, но более сложные — требуют вмешиваться в код этих модулей (при этом теряя возможность их обновлять) или писать так называемые «костыли», чтобы наладить взаимодействие с собственным кодом. Нередко такие системы «радуют» нас необходимостью дробить HTML-шаблон на сотни мелких кусочков, чтобы внедрить вёрстку. А потом, спустя несколько лет, редизайн такой системы превращается в головную боль (попробуйте найти добровольца на выполнение редизайна сайта на базе Bitrix).

October CMS взяла в себя лучшее от этих подходов

Контент-менеджеру она даёт интуитивную и красивую панель управления. Благодаря встроенному UI-фреймворку, админ-части любых сторонних модулей, созданных для этой системы, имеют схожий дизайн. Это значительно сокращает время, необходимое для того, чтоб разобраться с его работой.

На рисунке — модуль управления статичными страницами october2.png

На рисунке — встроенный файловый менеджер october3.jpg

Большое внимание уделяется и удобству для разработчиков.

«Под капотом» системы находится самый современный PHP-фреймворк Laravel. Он включает в себя набор инструментов и классов, необходимых для создания качественных веб-приложений и сайтов. Имеет отличную репутацию, быстрый и безопасный. October расширяет его базовые возможности набором собственных простых и гибких инструментов.

Они повышают качество и ускоряют создание проекта. Это позволяет программистам сосредоточиться на бизнес-логике вместо того, чтобы каждый раз создавать типовые страницы и кнопочки. К примеру, есть компонент, позволяющий довольно быстро создать полноценную CRUD-админку с пейджингом, сортировкой и поиском для какой-либо сущности базы данных.

На рисунке — типовой внешний вид админ-части модуля, которая управляет списком записей сущности. october4.jpg

Или вот, ещё один пример: панель настроек модуля генерируется простым конфиг-файлом.

На рисунке — страница настроек модуля, созданная таким способом. Разработчику не нужно тратить время на создание стилей элементов управления, думать о хранении этих настроек и т.д. october5.jpg

Кроме того, модульная структура спроектирована таким образом, что мы можем подключить сторонний модуль (если он решает нашу задачу) и переопределить его внешний вид или языковые файлы в шаблоне оформления сайта, ничего не трогая в самом модуле. Этим мы оставляем ему возможность получать обновления от своего разработчика.

Имеется встроенная система «миграций», которая описывает структуру таблиц модуля в файлах. Это даёт возможность более просто переносить модуль между тестовым и «боевым» серверами, а также не допустить ошибок синхронизации структуры базы данных при таком переносе.

October имеет отличную подробную документацию с примерами (существуют и переводы на русский язык). Специалист, который с ней раньше не сталкивался, разберётся в основах довольно быстро. Кроме того, официальный сайт системы содержит список сертифицированных студий-партнёров из разных стран, которые всегда готовы помочь с поддержкой и разработкой (Платно, естественно. Но факт в том, что разработчиков можно найти не прилагая чрезмерных усилий).

Перечисленные выше доводы определяют выбор October CMS в качестве основы для моих текущих и будущих проектов. И я рекомендую всем своим клиентам разработку именно на основе этой системы.