WolfCMS — что это за зверь?

В принципе, я давно знал о WolfCMS. И отслеживал её еще в бытности Frog CMS, а потом в русской реинкарнации (читай форка) Flexo CMS. Но как-то все не срасталось разобраться в ней. И вот решил с ней разобраться до конца. Свои эксперименты решил описать в виде статьи.

Админка WolfCMS - Страницы
Админка WolfCMS — Страницы

Wolf CMS — это система управлением контентом сайта (CMS) с простым и понятным пользовательским интерфейсом, в котором разберется даже не подготовленный человек. Wolf CMS предлагает гибко настраивать контент с неограниченным количеством шаблонов, которые при некотором навыке позволяют делать вывод сайта очень гибким. Wolf CMS распространяется на условиях GNU General Public License версии 3. Исходные коды доступны на GitHub Wolf CMS странице проекта.

История создания Wolf CMS банальна: в среде ruby создали систему управления контентом Radiant, которая позволяла бы быстро разворачивать сайты на языке ruby без тяжелого фреймворка ruby-on-rails (тяжелого в плане изучения). И первый релиз был 26 июня 2006 года. Потом канадец Philippe Archambault решил портировать систему на PHP и вскоре появилась система Frog CMS, которая была по внешнему виду и идеологии один-в-один с Radiant CMS. Увы, в последствии он забросил свое детище, а флаг разработки подхватил другой программист Martijn из Нидерландов и создал уже Wolf CMS со своим сайтом, форумом и репозитарием плагинов. Ну и в июле 2011 году Маслаков Александр доделал под себя Wolf CMS и написал свой фору Flexo CMS (его сайт находится здесь).

Да, стоит сказать, что разработчик Павел Бучнев переписал flexo cms на PHP framework kohana 3.3.0 и назвал свой форк kodicms. Сейчас kodicms довольно далеко отошла от flexo cms и стала уже вполне самостоятельной системой. Так, он дописал функционал до прикрепления произвольных полей к страницам, что стало похоже на  модуля CCK drupal или TV (template variables) MODX. Кроме того, Павел сделал и продолжение развития идеи сниппетов (коротких кусков кода страницы) до идеи виджетов 1С-Bitrix, что получилось довольно интересно. Павел запустил свой сайт kodicms.ru с форумом и демосайтом, так что теперь каждый может попробовать «в бою» его систему. Ну а сам Павел досутпен на форуме системы или в скайпе.

Как правило, на официальных сайтов систем пора уже написать победные реляции и о том, как Wolf CMS «уделывает» все остальные движки и вообще как прекрасен мир. Но это мой блог, а не официальный сайт. Так что победных реляций не будет, а будет взвешенное сравнение хороших и плохих сторон Wolf CMS.

Как правило, разработчики пишут что-то типа «вам не нужно знать язык php, языки разметки html и css для администрирования сайт на Wolf CMS». Это не ложь, но маленькое преуменьшение. Без знаний php, html, css сайта вам не построить! Причем нужно уверенное знание этих языков для построения сайта. Да и для администрирования сайта нужно тоже владеть этими языками.

Прежде всего, после копания в коде  Wolf CMS и Fleco CMS у меня сложилось впечатление, что это не CMS,  а какая-то надстройка к .. php framework! С одной стороны есть админка, но все нужно делать самостоятельно и на очень низком уровне. Так что как в Joomla! «поставил модуль/компонент, настроил и забыл» не прокатит! Тут нужно четко прописывать на самом низком уровне структуру сайта, его шаблон, как что будет выводиться и еще тысячи мелочей.  С одной стороны? это просто великолепно – тебя ничего не связывает и не ограничивает. Однако и работы у тебя прибавляется в разы. Поэтому можно сделать вывод, что эта система не подойдет начинающим  веб-мастерам.

Зная эту особенность движка, авторы его позиционируют не просто CMS, а СMS/CMF как и Drupal. По возможностям Wolf CMS и рядом не стоит с Drupal, в этом никто и не сомневается. Но идеология разработки очень похожа. Причем, если в Drupal можно собрать сайт мышкой из готовых модулей и темы, то в Wolf CMS так не получится — все нужно будет писать на php и писать вручную.

С другой стороны система очень легкая и понятная (при наличие знания языка php). Расширения пишутся легко, есть система наблюдения за событиями и потому плагины могут вызываться именно там, где нужно. Это наследие Radiant CMS со своим классом observer, который и позволяет сделать гибким настройку плагинов на события движка.

В системе используется базы данных 3 типов: MySQL, SQLite3 и PostgreSQL, что  тоже не может не радовать. Поэтому сайт можно делать даже на хостинге без MySQL (хотя таких хостингов практически нет среди платных, да и бесплатные хостинги давно предлагают MySQL). Но визитки без базы можно делать легко, да и делать резервные копии такого сайта проще простого.

В поставке по умолчанию Wolf CMS имеет и редакторы, поддерживающие разметку страницы textfile и markdown, что позволяет легко готовить тексты для интернета даже неподготовленному пользователю, либо делать сайты-сателлиты практически на потоке.

Однако есть и несколько существенных минусов. Прежде всего, очень скудный набор плагинов на официальном сайте Wolf CMS, в котором практически нет полезных плагинов для сайта, хотя есть полезные плагины для администрирования (кеширование, резервное копирование, немного визуальных редакторов). Поэтому весь функционал сайта нужно писать самому: простенькие комментарии есть (или можно интегрировать в шаблон внешние комментарии DISQUS), нет галерей (готовые просто убоги!), нет опросов, слайдеров и так далее. К тому же, плагины часто писались на старые версии движка Wolf CMS и часто не работают. Второй существенный минус – при большом количестве страниц  начинают лагать скрипты по перетаскиванию страниц в админки и выстраивание нужной структуры довольно нетривиальная задача. Особенно, если вы работаете в Google Chrome. Почему-то в Mozilla Firefox перетаскивание работает лучше, но при более-менее развернутом дереве, начинаются лаги. Я подозреваю, что просто javascript не справляется (эффект начинает проявляться при 10-20 страниц) и мне лично приходилось лазить в базу руками и править уже там пары предок-потомок для выстраивания дерева.

Подведу итоги в маленькой таблице:

Плюсы Минусы
Простая для изучения система Мало возможностей «из коробки»
Легко адаптируется любой шаблон , система гибкая на вывод страниц Гибкая, но не такая гибкая как Drupal/MODX
Легко пишутся плагины и расширения Плагинов мало, не все работают
Может работать где угодно, даже без базы данных Мало документации вообще и практически полное отсутствие на русском языке
Поддерживаются  3 типа баз данных: MySQL, SQLite3, PostgreSQL за счет PDO Маленькое сообщество, редко обновляется
Маленькая нагрузка на сервер Требует от разработчика хорошее знание html, css, php, навыки программирования
Полное разделение кода на MVC Практически не реализована работа с пользователями
Легко настраивается под SEO и поисковые системы Полное мешанина кода html и php, нет даже самого простого шаблонизатора

Подведя итог, можно сделать вывод, что Wolf CMS прекрасно подойдет под промо-сайты или сайты визитки с не сложным функционалом. Как вариант, Wolf CMS можно использовать как базу для создания сайта с нестандартным функционалом вместо какого-нибудь  фреймворка на php.

Однако я бы не стал делать на нем портал или крупный сайт, где взаимодействовали бы множество пользователей с разграничением прав доступа, редактированием статей и загрузкой фотографий. Для этого стоит использовать другие движки.

Ссылка на основную публикацию