Обзор NGCMS




В рамках данного обзора, хочу вам представить молодую CMS (Content Management System) с длинной историей развития - Next Generation CMS (NGCMS).
NGCMS является полностью бесплатной системой, использующей лицензию GPL
Официальный сайт http://ngcms.ru/
Форум поддержки http://ngcms.ru/forum/index.php
SVN репозиторий проекта [b]http://www.assembla.com/spaces/ngcms/[/b]
WiKi http://wiki.ngcms.ru/

Системные требования: Apache 1.x/2.x, PHP 4.3.x, MySQL 4.x/5.x
Дополнительные требования: Apache mod_rewrite ( для работы ЧПУ ), GD 2.x библиотека ( для работы с картинками ), Модуль XML для PHP ( для работы некоторых дополнительных плагинов ).

Прошлое
Начну с исторической справки. Next Generation CMS, впрочем как и известный ныне DLE, берет истоки с новостного скрипта CuteSystem. Краткую историю развития можно охарактеризовать такой схемой: CuteSystem => 2z-project => NGCMS. Каждый раз от основного проекта, отделялись несколько человек, которых не устраивал функционал и скорость развития проекта, и делали свой проект на базе предыдущего. Прошло около полугода от разделения с 2z-project, а NGCMS уже успело новыми плагинами и функциями, и с новой версией практически потеряло совместимость с предком 2z.

Настоящее
После небольшой исторической справки, плавно перейдем к настоящему.
Итак что же представляет из себя . Система управления контентом NGCMS?, Систему для персональных блогов (WordPress), варезник, новостной портала, система для простых сайтов визиток, каталог, магазин цифровых товаров? Ответ прост, на движке NGCMS можно создать любое из перечисленного. Конечно на этом функционал не заканчивается, реализовать можно все, но через дописывание плагинов.
Идеология NGCMS, подразумевает максимальное облегчение ядра системы, т.е. вынос всех функций в плагины. Это сделано с целью оптимизирования затрат ресурсов CMS.
После установки и начального заполнения, если не кешировать - система делает три запроса к SQL.
Для более дотошных, которые хотят знать нагрузку на действующих сайтах с большим количеством посетителей, приведу такой пример рабочего портала на NGCMS (ссылку на сайт не даю,чтобы не подумали, что реклама сайта):

  • Сайт с 70k хитами по счётчику LiveInternet, фактическое кол-во хитов на этом сайте за сутки (статика+динамика) - 910k хитов.

  • Конфигурация - NGINX как frontend на отдаче статики, apache+mod_php в качестве backend'а.

  • Генерируемая нагрузка - в пределах 20% CPU Pentium D 2.8 GHz.



К вопросу о безопасности. На данный момент в Системе управления сайтом NGCMS, уязвимостей не обнаружено, что легко проверить через Гугл. Я не утверждаю, что есть не взламываемые CMS, ведь бывает легче своровать пароли и взломать почту. С момента появления NGCMS, и даже еще со времен 2z-project, не было замечено взлома сайтов на базе этих систем. Единственное что было, крали пароли и ломали плохих хостеров.

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

  • Новостная лента

  • Уровни доступа пользователей (комментатор, журналист, редактор, администратор)

  • Категории

  • Статические странички

  • Менеджер файлов

  • Менеджер изображений

  • Управление пользователей

  • Редактирование шаблонов

  • Управление БД

  • Каптча

  • ЧПУ

  • Управление МЕТА-тегами

  • Поиск

  • Кэширование



Теперь коротко о плагинах. На данный момент система насчитывает более 50 плагинов, что согласитесь, за пол года свободного плаванья не так уж и мало. Еще один плюс выражается в удобстве при написании плагинов, четкая структура построения плагина и подробная документация с примерами облегчает жизнь даже начинающему программисту, не говоря о профи. Забыл упомянуть, что любой плагин, может использовать систему кеширования из ядра NGCMS.

Подробный список плагинов, вы можете посмотреть на страничке, а тут я перечислю их по группам:

  • плагины для SEO оптимизации(автоматическое формирование META-тегов, управление заголовками, карта сайта в формате xml и html, title="..." для изображений,...)

  • плагин дополнительных полей (в будущем универсальный каталог)

  • плагины мониторинга игровых серверов для игр (Lineage, Counter-Strike,...)

  • плагины интеграции и общей авторизации с наиболее известными и распространенными форумами (vBulletin, Punbb, IPB, SMF, phpBB)

  • плагин - система управление комментариями

  • плагины для управления и показов банеров, а так же известных бирж ссылок

  • виджеты для вывода информации в блоках (комментарии, новости с категорий, популярное, закладки, похожие новости,...)

  • плагины Экспорт/Импорт(beta) RSS

  • плагин облако тегов

  • WYSIWYG редакторы

  • плагин управления финансами и оплата через WebMoney

  • возможность встраивания различных JS фреймворков

  • плагины рейтингов, рангов, личных сообщений, обратной связи, календарь, чат, архив, [li]спойлеры, медиа и многое другое.



Теперь пару слов о шаблонах. В NGCMS полное разделение PHP и XHTML кода, а вывод информации происходит через переменные такого вида {переменная}. В будущем в планах, немного усложнить систему переменных, например вызов каких-либо функций из шаблона и тому подобное. Причем полностью останется обратная совместимость, что даст возможность работать как опытным верстальщикам, так и начинающим. Стоит обратить внимание, что в NGCMS реализован интересный функционал, а именно разные шаблоны для разных категорий и плагинов, а так же возможность задавать различные шаблоны для отображения новостей в категориях, что позволяет реализовывать сложные дизайны, без больших правок в коде.

Недалекое будущее
Текущая версия NGCMS 0.9.0. На подходе новая версия 0.9.1 которую можно пощупать в SVN репозитарии. Как можно увидеть из TimeLine в SVN, NGCMS продолжает активно развиваться. Так что же нам ожидать?

  • Будет запущен бесплатный хостинг, для проектов на NGCMS, само собой с предустановленной NGCMS, последней версии с обновлениями

  • Ожидается запуск сервиса по продаже дешевых шаблонов

  • Запуск DEMO версии администраторской и пользовательской частей NGCMS, а также версия интегрированная в Denwer 3


Подведу обзор к итогу.
Цель написания этого обзора, не утверждение, что NGCMS- самый лучший движок для сайта, остальные все хуже, и чтобы все дружно переходили на эту CMS. Главная цель, донести до специалистов, что на рынке появился еще один сильный игрок достойный внимания.