Введение в CMS и CMF системы
CMS - система управления содержимым - информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым).
CMF - ContentManagementFramework — это каркас (фреймворк программной системы) для проектирования систем управления контентом. На их основе создаются системы управления содержимым (CMS), а также веб-приложения.
Если основная задача универсальных CMS — простота создания сайта без вмешательства программиста, то есть — конструктор сайтов, то CMF — это конструктор CMS (в том числе узкоспециализированных) для программиста. Благодаря такому подходу сайт, созданный с помощью CMF, по сравнению с сайтом на базе CMS, может иметь более простую и безопасную в работе административную панель (в которой отсутствуют функции настройки сайта под любые функции) и быть менее требовательным к ресурсам системы (каждый модуль реализует именно те функции, которые необходимы в работе сайта). При наличии грамотно спроектированной CMF и готовых модулей, программисту остаётся только сборка этих модулей в единое пространство и оформление вывода в соответствии с пожеланиями клиента, то есть разработка сайта на основе CMF вполне сравнима по трудоёмкости с разработкой сайта на универсальной CMS.
Фреймворки веб-приложений обычно обеспечивают механизмы доступа к базе данных, шаблонизации и управление сессиями.
Большинство современных CMF являются реализацией архитектуры Model-View-Controller. Веб-фреймворк обеспечивает бесшовную интеграцию всех трёх слоёв MVC архитектуры. Фреймворки скрывают от программиста детали подключения к базе данных и формирования веб страниц с помощью шаблонов-представлений, позволяя программисту сконцентрироваться на реализации бизнес-логики.
Процесс создания приложения с использованием MVC-фреймворка заключается в написании классов контроллеров, моделей и представлений, каждый из которых является наследником базовых классов для компонентов каждого слоя.
· Размер. При выборе CMF стоит обращать внимание на такие факторы, как размер фреймворка. Если фреймворк слишком велик и не имеет легко разделяемой модульной архитектуры, это может неоправданно утяжелить приложение. Компактность фреймворка может вступить в противоречие с широтой возможностей, которые он предоставляет.
· Производительность — другая важная на практике характеристика веб-фреймворка. Она может косвенно зависеть от размера, особенно для интерпретируемых языков вроде PHP. Следует оценивать производительность фреймворка в таких единицах, как количество обрабатываемых в секунду запросов.
6.2. Основные функции CMS:
· Предоставление инструментов для создания содержимого, организация совместной работы над содержимым,
· Управление содержимым: хранение, контроль версий, соблюдение режима доступа, управление потоком документов и т. п.,
· Публикация содержимого,
· Представление информации в виде, удобном для навигации, поиска.
Система управления — программа, предоставляющая инструменты для добавления, редактирования, удаления информации на сайте.
Большинство современных CMS имеют модульную архитектуру, что позволяет администратору самому выбирать и настраивать те компоненты, которые ему необходимы.
Сайты, организованные посредством системы управления контентом, основаны на следующих технологиях: веб-сервер, хранилище данных (зачастую СУБД, например такие как MySQL или PostgreSQL, однако существуют и noSQL CMS), веб-приложение для обеспечения работы самой системы, визуальный (WYSIWYG) редактор страниц, файловый менеджер с веб-интерфейсом для управления файлами сайта, система управления правами пользователей и редакторов сайта.
Существуют разнообразные системы управления сайтом, среди которых встречаются платные и бесплатные, построенные по разным технологиям. Каждый сайт имеет панель управления, которая является только частью всей программы, достаточной для управления сайтом.
Наиболее распространены следующие технологические платформы, используемые в качестве основы веб-приложения, реализующего работу CMS: PHP, Perl, .NET.
Анализ популярных систем
Бесплатные
Drupal –система управления контентом (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.
WordPress –система управления контентом (CMS) с открытым исходнымкодом, распространяемая под GNU GPL. Написана на PHP, в качестве базы данныхиспользует MySQL. Сфера применения – от блогов до не сложныхweb-ресурсов.
Встроенная система тем оформления и плагинов вместе с удачной архитектуройпозволяет создавать довольно интересные проекты.
Joomla –одна из самых распространенных и востребованных систем управленияконтентом. Она имеет ряд достоинств перед другими CMS. Joomlaбесплатна, постоянно совершенствуется и обновляется, работает с различными расширениями и модулями, имеет более 9000 бесплатных и платных расширений. Система реализована по блочному принципу. У каждого созданного на Joomlaweb-ресурса существует своя шапка, левый и правый блоки, меню и т.д. Такое построение упрощает понимание системы и дает широкие возможности для ее изменения. Joomla позволяет создавать сайты любой сложности, имеет много платных и бесплатных шаблонов которые легко модифицируются. Имеет множество языков локализаций (в том числе и русский).
MODxRevolution –система управления содержимым, первая версия которойвышла в 2010 г, а в 2012 г. запущен облачный хостинг для сайтов MODxCloud. Средидостоинств выделяется кроссплатформенность, поддержка модульной разработки,открытость исходного кода и лицензии. Написана на языке программирования PHP,использует для хранения данных СУБД MySQL или MS SQL.
Платные
1С-Битрикс -это профессиональная система для создания и управления интернет-проектами. Можно сказать, что данная CMS является лидером в своем сегменте на территории РФ и постсоветсткого пространства. Большинство крупных интернет-проектов разрабатывается на донной системе. С помощью «1С-Битрикс: Управление сайтом» можно разработать новый веб-проект или перевести существующий на новую систему управления.Продукт рассчитан как на профессиональных веб-разработчиков, так и на обычныхпользователей, которые будут управлять готовым сайтом.
Продукт обладает модульной системой и имеет несколько редакций, ограниченных набором включенных модулей.
Данная система обладает визуальным редактором, который позволяет выполнять основные действия для контент-менеджеров без захода в “админку” сайта. Так же она поддерживает режим мультисайтовости.
Битрикс обладает большим колличеством разработчиков-партнеров, в связи с этим, заказчика проектов выгодно использовать ее.
Имеется официальный сайт магазина расширений и готовых сайтов 1С-Битрикс: Маркетплейс. На торговой площадке предлагаются платные и бесплатные решения партнеров в виде модулей к 1С-Битрикс: Управление сайтом и 1С-Битрикс: Корпоративный портал. Установить решения из 1С-Битрикс: Маркетплейс возможно только при наличии активной лицензии 1С-Битрикс.
UMI.CMS -мультисайтовая система управления контентом, созданная командой российских разработчиков. В массовую продажу поступила в 2007 году. Написана на языке программирования PHP и использует базу данных MySQL.
UMI.CMSявляется кроссплатформенным программным обеспечением. Рекомендуемой типовой конфигурацией для системы является веб-сервер Apache под операционной системой Linux, которая доступна практически на любом виртуальном хостинге. Производитель UMI.CMS гарантирует работу системы на этой конфигурации и оказывает по ней поддержку.
Для разработчиков: Возможность распространять на базе UMI.Market свой модуль как бесплатно, так и на коммерческих условиях, устанавливая свою цену и получая прибыли с каждой продажи. Продажу готовых продуктов осуществляет UMI, а разработчик, таким образом, получает дополнительный заработок. Универсальный подход к системе шаблонизации и широкий перечень шаблонов: PHP, TPL и XSLT-шаблонизаторы, UMI.Framework. Эти преимущества позволяют разработчикам варьировать процесс производства, ориентируясь на конкретные задачи. Наличие технической поддержки и документации.
ExpressionEngine —коммерческая мультисайтовая система управления контентом, построенная на фреймворкеCodeIgniter. Разрабатывается компанией EllisLab.ExpressionEngine предоставляет возможности для регистрации пользователей, создания блогов, форумов, базы знаний, энциклопедии, поисковую машину и многое другое. Имеется бесплатная версия и русификация.Одной из особенностей ExpressionEngine является сочетание данной системы как коммерческого продукта, с программным обеспечением с открытым исходным кодом, коим является фреймворкCodeIgniter.ExpressionEngine имеет модульную систему. В стандартный комплект входят такие модули, как галерея изображений, wiki, а также модуль simplecommerce, полностью интегрированный в платежную систему PayPal. Работа с шаблонами позволяет интегрировать CMS в любой дизайн, при этом не затрагивая файлы движка.
ExpressionEngine довольно активно распространяется в России. Имеется документация на русском языке, переведенные файлы локализации, а также адаптированные под рунет модули, плагины и расширения. На данной CMS разрабатываются новостные сайты, сайты-визитки, блоги, интернет-магазины.
ExpressionEngine распространяется в двух вариантах: core, и commercia). Бесплатная версия ExpressionEngineCore предназначена для персонального некоммерческого использования. Однако эта версия имеет несколько ограниченную функциональность — в ней отсутствуют пользовательские профили, нет возможности использовать дополнительные модули, а также присутствуют другие ограничения.
Amiro.CMS —коммерческая система управления сайтом, разработанная и распространяемая российской компанией «Амиро» (Новосибирск). Написана на языке PHP и использует MySQL в качестве базы данных.Помимо коробочной версии для данной системы существует SaaS-платформа от разработчиков CMS.
По мнению аналитиков система довольно требовательна к ресурсам сервера, однако эти требования находятся в пределах нормы. Amiro.CMS работает на любом веб-сервере под Unix-подобной операционной системой или же Windows. Для работы требуется MySQL версии 4.1 или выше, а также корректная поддержка PHP версии 5.2.1 или выше с установленными модулями zlib, cURL, mbString и JSON. Также для корректной работы некоторых модулей (таких как модули резервного копирования, обновления системы и т. д.) требуются дополнительные настройки или возможности веб-сервера.
Все функции Amiro.CMS можно разбить на две условные категории: редактирование и разработка. В случае активации вкладки редактирования на любой странице, все доступные для этого элементы будут подсвечены, что позволит исправить заголовок текста, настроить форматирование, а также выполнить любые другие действия по редактированию сайта. При редактировании возможно использование языка разметки BBCode.Панель управления Amiro.CMS реализована с применением технологии AJAX, поддерживает drag-and-drop, а также проверку орфографии.