CMSComparison
Оглавление
Содержание
Введение
CMS (Content Management System), или система управления контентом, или движок сайта -- веб-приложение, позволяющее применять обобщённый подход к формированию, сопровождению и переработке веб-сайта или группы таковых. Как правило, обеспечивает средства организации навигации, API для написания плагинов и какое-то количество таких плагинов для типовых задач.
Всячески рекомендуется исследовать существующие CMS/CMF перед написанием своего собственного сайтового движка, особенно если за это не заплатят по достижении соответствия точному и красивому ТЗ: гибкости наиболее развитых из нижеперечисленных систем хватит примерно с таким же запасом, как и гибкости vim/emacs относительно самописного текстового редактора.
Критерии оценки
- Ориентация
- предназначение CMS, узкая специализация. Например, только для блогов и новостей или универсальные CMS широкого профиля;
- Язык
- язык программирования на котором написана система;
- СУБД
- тип поддерживаемых хранилищ данных;
- Кэширование
- есть ли встроенные средства промежуточного кэширования отдаваемого пользователю контента, или каждый раз производится полная выборка данных из СУБД;
- Темплейты
- есть ли возможность гибкого и полноценного изменения внешнего вида через систему шаблонов страниц (дизайн отделен от кода) или HTML жестко прошит в скриптах и смешан с кодом;
- Производительность
- какова нагрузка на систему, насколько продумана структура СУБД, грамотно ли написан код, насколько полно задействованы индексы и расширения СУБД позволяющие увеличить производительность (например, отложенные и низкоприоритетные INSERT/UPDATE, блочное изменение в базе через кэш);
- Безопасность
- качество системы с точки зрения безопасности, как часто находят дыры, обращается ли внимание на безопасность при написании кода, есть ли полная проверка получаемых из вне данных. Если было обнаружено несколько серьезных проблем безопасности в разное время за последний год, то нужно ставить статус "низкая" или "крайне низкая", так как не осуществив полный аудит, после первой проблемы, разработчики дискредитировали себя и доверять такому проекту не стоит.
- Требование к памяти на процесс
- насколько система прожорлива с точки зрения памяти. Уже стали появляться системы требующие установки memory_limit в 24 или 32 Мб, что говорит о непродуманности таких программ и низком уровне профессионализма разработчиков;
- Поддержка русского языка
- русифицирован ли продукт и насколько качественно;
- Возможность использования в объемных проектах
- может ли использоваться продукт в проектах с большим объемом данных в базе (несколько десятков тысяч записей в базе) или его удел сайты с сотней страниц или новостей. При большом объеме данных сразу всплывают недостатки проектирования, при установке системы лучше сразу протестировать ее сгенерировав несколько десятков или сотен записей;
- Возможность использования в посещаемых проектах
- на сколько система подготовлена для использования в посещаемых проектах, сможет ли выдержать несколько десятков параллельных запросов, не потребовав при этом выделения отдельного сервера. Нет ли проблем с блокировками.
- Функциональность
- уровень функциональности CMS. Насколько удобен интерфейс администратора, есть ли типовой "скелет" от которого нельзя отклониться, если ли поддержка RSS, полнотекстовый поиск и т.д.;
- Зависимости
- список дополнительных программ, библиотек и системных требований, необходимых для работы программы;
- Простота установки
- есть ли скрипт автоматизирующий установку или какие-то действия нужно делать "руками".
- Размер
- размер архива дистрибутива программы и размер после установки;
Во всех пунктах, в дополнение к ответам "да", "нет", "хорошо", "плохо", желательно перечислить конкретные достоинства и недостатки, описать почему выставена подобная оценка. |
TYPO3
Ориентация | многофункциональная | |
Язык | PHP | |
СУБД | MySQL+ | |
Лицензия | GPL | |
Кеширование | да | |
Темплейты | да | |
Производительность | тяжёлое, но масштабируемое (трёхслойный кэш) | |
Безопасность | 4+ | |
Требование к памяти на процесс | для работы некоторых модулей требуется 16-32 Мб, в простейших случаях - 8Мб | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | позволяет создавать большие разнородные сайты | |
Возможность использования в посещаемых проектах | да (static export) | |
Зависимости | php4/5, mysql4/5 или другие БД; IM5/6/GM | |
Простота установки | да | |
Размер | архив 7.5 Мб | |
Функциональность | замечательно, на уровне серьезных коммерческих CMS |
Mambo / Joomla
- Mambo
- http://www.mamboserver.com http://ru-mambo.ru
- Joomla
- http://www.joomla.org/ http://joomlaportal.ru/ http://joomlaforum.ru/ - проект отделившийся от Mambo 4.5.2.3 в августе 2005 года с целью создания полностью открытой CMS (к Mambo были притензии по поводу использования в проекте коммерческого кода);
Ориентация | многофункциональная, расширяемая модульная структура | |
Язык | PHP | |
СУБД | MySQL | |
Лицензия | GPL | |
Кеширование | да | |
Темплейты | да, полностью настраиваемое расположение элементов на странице | |
Производительность | ? | |
Безопасность | 3- | |
Требование к памяти на процесс | 32M | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | ? | |
Возможность использования в посещаемых проектах | возможно | |
Зависимости | ? | |
Простота установки | отлично | |
Размер | 1.9 mb | |
Функциональность | главное правило - делать все как можно проще, обеспечивая при этом большой спектр возможностей. Может использоваться людьми не имеющими представления об web-программировании и HTML |
- Имеет большое количество уязвимостей. В сети существует червь, использующий проблемы с XMLRPC.
Plone
http://plone.org/, http://plone.ru
Ориентация | многофункциональная | |
Язык | Python | |
СУБД | объектная база данных ZODB | |
Лицензия | GPL | |
Кеширование | да | |
Темплейты | ZPT: язык шаблонов TAL,выражения TALES, макросы METAL | |
Производительность | тяжеловес, более требователен к ресурсам, чем остальные распостраненные CMS | |
Безопасность | самая проработанная и гибкая система безопасности из всех CMS (?) | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | приспособлен для крупных масштабируемых проектов | |
Возможность использования в посещаемых проектах | да | |
Зависимости | объектный сервер приложений Zope 2 | |
Простота установки | просто | |
Размер | пакет 8,2 MB, вместе с экземпляром Zope - 65 MB | |
Функциональность | самый функционально насыщенный из всех CMS (?) |
Xaraya
Ориентация | ? | |
Язык | PHP | |
СУБД | MySQL, PostgreSQL, SQLite и т.д. | |
Лицензия | GPL | |
Кеширование | да | |
Темплейты | да | |
Производительность | чисто субьективно очень тяжелая | |
Безопасность | ? так себе, форк phpnuke | |
Требование к памяти на процесс | 8Мб | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | ? | |
Возможность использования в посещаемых проектах | ? | |
Зависимости | ? | |
Простота установки | ? | |
Размер | ? | |
Функциональность | ? |
Nucleus CMS
Ориентация | Блоги, ленты новостей | |
Язык | PHP | |
СУБД | MySQL | |
Лицензия | GPL | |
Кеширование | ? | |
Темплейты | да | |
Производительность | ? | |
Безопасность | ? | |
Требование к памяти на процесс | ? | |
Поддержка русского языка | ? | |
Возможность использования в объемных проектах | ? | |
Возможность использования в посещаемых проектах | ? | |
Зависимости | ? | |
Простота установки | ? | |
Размер | ? | |
Функциональность | ? |
Drupal
Drupal создан международной командой разработчиков, как программное обеспечение с открытыми исходными текстами, защищенными
общественной лицензией GNU. Черезвычайно гибкая и удобная система, имеет множество модулей и хаков, значительно расширяющих
ее функциональность, например поддержку шаблонов Smarty и БД SQLite. Сложновата для новичков.
Русский сайт проекта — http://drupal.ru/
Ориентация | Сложные интернет-механизмы, блоги, форумы, средства коллективной разработки | |
Язык | PHP | |
СУБД | MySQL, PostgreSQL | |
Лицензия | GPL | |
Кеширование | да | |
Темплейты | да | |
Производительность | выше среднего | |
Безопасность | ~4 | |
Требование к памяти на процесс | 8Мб для базовой установки | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | да | |
Возможность использования в посещаемых проектах | возможно | |
Зависимости | ? | |
Простота установки | средне | |
Размер | ~500кб | |
Функциональность | отлично |
ReloadCMS
http://reloadcms.sourceforge.net/
Ориентация | Бесплатные хостинги, малые и средние проекты | |
Язык | PHP | |
СУБД | база текстовых файлов/MySQL | |
Лицензия | GNU GPL v.2 | |
Кеширование | Нет | |
Темплейты | Да | |
Производительность | 4+ | |
Безопасность | 1 | |
Требование к памяти на процесс | Низкие | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | Да | |
Возможность использования в посещаемых проектах | Проведен ряд оптимизаций, производительность гораздо лучше, чем в Guppy, Limbo CMS и Siteman | |
Зависимости | опционально GD | |
Простота установки | просто распаковка | |
Размер | ~100Kb в базовом варианте | |
Функциональность | Расширяема модулями |
Из CMS использующих текстовые файлы, вместо СУБД, можно отметить Guppy, Limbo CMS и Siteman.
Serendipity (s9y)
Ориентация | блоги, новости | |
Язык | PHP | |
СУБД | MySQL, PostgreSQL или SQLite | |
Лицензия | ? | |
Кеширование | ? | |
Темплейты | да | |
Производительность | ? | |
Безопасность | ? | |
Требование к памяти на процесс | ? | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | ? | |
Возможность использования в посещаемых проектах | ? | |
Зависимости | ? | |
Простота установки | ? | |
Размер | ? | |
Функциональность | ? |
PHP-Nuke
Ориентация | ? | |
Язык | PHP | |
СУБД | MySQL | |
Лицензия | ? | |
Кеширование | ? | |
Темплейты | ? | |
Производительность | низкая | |
Безопасность | крайне низкая | |
Требование к памяти на процесс | ? | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | ? | |
Возможность использования в посещаемых проектах | ? | |
Зависимости | ? | |
Простота установки | ? | |
Размер | ? | |
Функциональность | ? |
PostNuke
Ориентация | ? | |
Язык | PHP | |
СУБД | MySQL | |
Лицензия | ? | |
Кеширование | ? | |
Темплейты | ? | |
Производительность | низкая | |
Безопасность | ? 3 | |
Требование к памяти на процесс | ? | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | ? | |
Возможность использования в посещаемых проектах | ? | |
Зависимости | ? | |
Простота установки | ? | |
Размер | ? | |
Функциональность | ? |
WordPress
Ориентация | блоги | |
Язык | PHP | |
СУБД | MySQL | |
Лицензия | GPL | |
Кеширование | ? | |
Темплейты | да | |
Производительность | Средняя | |
Безопасность | ? 3- | |
Требование к памяти на процесс | ?8Mb для WP 2.3.3 и ?32Mb для WP 2.8.4 | |
Поддержка русского языка | есть | |
Возможность использования в объемных проектах | ? | |
Возможность использования в посещаемых проектах | ? | |
Зависимости | ? | |
Простота установки | да, "за 5 минут" | |
Размер | 2.5MB для WP 2.8.4 | |
Функциональность | ? |
PHP-Fusion
Ориентация | ? | |
Язык | PHP | |
СУБД | MySQL | |
Лицензия | GNU/GPL | |
Кеширование | нет | |
Темплейты | да | |
Производительность | высокая | |
Безопасность | ? | |
Требование к памяти на процесс | ? | |
Поддержка русского языка | да | |
Возможность использования в объемных проектах | ? | |
Возможность использования в посещаемых проектах | ? | |
Зависимости | ? | |
Простота установки | да | |
Размер | ? | |
Функциональность | ? |
Ссылки
- Сравнительная таблица систем управления контентом с открытым кодом;
- Comparison of content management systems;
- cmsmatrix.org - специализированный сайт со сравнением более 100 CMS;
- Content Management Problems and Open Source Solutions - обзор открытых 15 CMS;
- opensourcecms.com - сайт, посвященный открытым CMS.