Обзор CMS по категориям
Просмотров: 1356.
Подписаться на комментарии по RSS.
Прежде всего: это заметки for self и они пока не приведены к единому знаменателю. Запись будет обновляться.
Второе: преимущество отдаётся бесплатным движкам. Платные будут рассматриваться только для сравнения или от безысходности.
Третье: описываю личный опыт для его систематизации, сохранения и…
Четвёртое: к заметкам в будущем планирую добавить и особенности архитектуры, взаимодействия с БД и так далее. Хотя бы даже — как устроен шаблон.
Пятое: в качестве апдейта. и собрала две сотни комментариев, в том числе довольно полезных.
Шестое: дисклеймеры. Ниже я опишу свои впечатления от знакомства с теми или иными движками для тех или иных целей. К некоторым приложу краткое описание особенностей, впечатление о прочих состоит только из заглядывания в админку.
Преимущество отдаётся бесплатным движкам. Платные будут рассматриваться только для сравнения или от безысходности, т.е. если нет бесплатных аналогов. Также ограничение на технологии: php. О движках на перле и питоне я не более чем слышал, на шарпе и джаве имел дело с самописными.
Итак, рассматриваются:
CMS общего назначения. Информационные сайты, визитки, блоги…
- .
Система написана на фреймворке, следовательно, дописывать любой функционал можно как угодно. Да и сама система поверх фреймворка предоставляет большое количество сервисного API. Поэтому нечего удивляться, что встречаться будет и в прочих разделах.
Структура и заточенность движка изначально блоговая, но как показывает пример того же вордпресса — это никакое не ограничение. В преимуществах: хорошая архитектура и сильное кеширование дают хорошую производительность, удобство при написании расширений — всю сервисную часть система берёт на себя, гибкость настроек — условия отображения виджетов, построения ссылок, конструирование типов данных позволяют делать сайты очень отличающиеся структурой от блогов.
- .
Upd. всё же получше будет, хотя ещё лучше см. ниже.
- .
- .
Проблема та же, что и с Пикатекой — проект умер в 2007. Ещё одна проблема, судя по отзывам, при активном использовании повреждаются индексы файловой БД, т.е. нуждается в постоянном бекапе. А упоминаю лишь затем, что сайты, не использующие базы данных, очень хорошо держать под системами контроля версий.
- .
- Также для сайтов общего назначения можно задействовать и Wordpress, и Drupal, и Joomla…
Многофункциональные монстры.
Многофункциональность монстров заключается в том, что к ним существует уйма плагинов, за счёт чего можно построить хоть портал, хоть мультиблог, хоть магазин, хоть галерею, хоть соцсеть, хоть всё это разом.
- .
Сейчас пришлось столкнуться опять. Актуальна версия 1.5.x. Юникод есть. Куча уже гововых плагинов. ЧПУ, форум(ы?), галереи, соц-сеть(и?), магазин(ы?) и так далее. Неповоротливость в принципе осталась, но всё же рекомендовать систему хотя бы тем, кто её более-менее знает и кому она подходит (или тем, у кого уже работающий проект на джумле) — согласен. Наверняка кэшированием можно исправить многое.
Русскоязычные сообщества, насколько помню, конкурировали между собой. joom.ru, joomla.ru или как-то так. Сейчас их изрядно больше. Что облегчает поиск информации и ответов на вопросы.
Upd. Довелось поработать с джумлой всерьёз. Впечатления разработчика абсолютно нецензурные. Впечатления пользователя очень благоприятные. Сконструировать можно абсолютно всё. Но выбрать из одинаковых плагинов наименее грузящий систему, наименее глючный и тот, который не будет заброшен (или переведён на платную основу) к следующей версии джумлы… Быстрей написать самому (не под джумлу, разумеется). В общем, если вы знакомы с джумлой хотя бы пару лет и знаете картину и перспективы нужных вам плагинов — тогда хорошо. И, да, у вас вдобавок должен быть мощный сервер, которому не страшно ворочать CMS с несколькими тысячами файлов и чудовищными запросами типа выборки по одной записи в цикле.
Ещё проблема в том, что много информации, которую удаётся найти, относится к джумле 1.0.х, тогда как версия 1.5.х носит то же название просто по недоразумению. Внутренне — это абсолютно другая система. А ещё предположительно в этом году должна выйти ветка 1.6, которая изрядно отличается уже от 1.5.
Ещё один апдейт. Опробовал 1.6 бета 2. Скривился.
- Что хорошего: больше удобств в админке. Действительно гораздо более мощный ACL. Явно для серьёзных порталов. Его ещё нужно изучать и настраивать. SEF из коробки.
- Что нейтрального: по функционалу всё та же джумла.
- Что обещано: совместимость с расширениями 1.5, теговая иерархия, многие улучшения во фреймворке, новый тип аддонов — библиотеки (раньше стояли монолитно в ядре), избавление от старого наследия (и копипаста) в коде.
- Что плохого: кроме ACL беглый взгляд ничего из обещанного не нашёл, масса багов на простейших вещах (не меняется порядок пунктов меню, вылезают ошибки запросов на простых иерархиях контента и т.п.), никакой совместимости с компонентами 1.5 нет и в помине (ни один даже не установился).
- Что в ретроспективе: одна мажорная версия в три года, очень рыхлое комьюнити, многие аддоны заброшены в версии для j1.0, про которую до сих пор появляется материал. Руководство по программированию для j1.5 до сих пор не полностью переведено на русский язык.
- Что в перспективе: выпустят релиз 1.6 вряд ли раньше осени. Нормально его обкатают, портируют основные аддоны, напишут мануалы и так далее не раньше чем через год. Только тогда можно будет начинать серьёзные проекты на j1.6. До этого только собственные небольшие сайтики, где всё под контролем и в случае чего сам можешь поправить траблу.
- .
Чем больше о вордпрессе узнавал, тем больше проникался. Плагинов — уйма. Это и галереи, и форум, и многоязычность, и каталоги всяческие, и магазины, и чёрт с рогами. Из вордпресса можно сделать что угодно. А со сборкой WP MU — ещё и сателлиты-мультиблоги ставить. Кстати, в третьей ветке WP и WPMU таки свели воедино.
Но при этом по мере совершенствования моих знаний и роста версий вордпресса всё более ужасался растущей прожорливости. И ограниченности в какой-то мере. На версии 2.8.0 можно было в определённые моменты (при обращении к архиву крупного сайта) увидеть 12 000 запросов к базе. Это один из самых впечатляющих, но не единственный пример того, что бывает, когда у проекта нет лидера и roadmap определяется голосованием.
Опять же, и эту систему можно рекомендовать. Но при этом её желательно знать и уметь настраивать на максимум производительности.
- .
В минусах большая сложность этой системы. Как-то так получилось, что за долгое время попыток его изучить, я так с ним и не сжился. Мыши плакали, кололись, но продолжали жрать кактус.
И ещё в минусах серьёзная прожорливость, ничуть не меньшая, а временами и большая, чем у предыдущих двух движков.
Главное преимущество друпала — очень развитая и продуманная система хуков, позволяющая переопределять практически любое событие системы. Плюс два самых популярных модуля, cck и views, позволяющих конструировать произвольные типы данных и их отображение.
Галереи.
Когда-то я не видел нормальных галерей в рамках других движков. Поэтому исследовал отдельные галереи.
- .
Есть много переводов, скинов, плагины есть. Интеграция с джумлой и, вероятно, некоторыми другими системами.
Ветка, с которой знакомился, развивается несколько лет очень вяло, в основном баг- и секьюрити-фиксы. Следующая ветка уже давно лежит в svn, но только недавно доросла до статуса беты и «официального» скачивания.
Сказал бы, что можно поставить, если галерея — это главная часть сайта. Тем более, что есть плагин, реализующий простейшую cms, чтобы не ставить ещё и какой-то другой движок ради нескольких страничек. Кстати, ради нескольких страничек можно поставить и нейтрино.
После лет четырёх как минимум разработки выложили версию 1.5.х.
- .
Заброшена в конце 2006. Никаких плагинов — не поддерживаются. Оф-сайт канул в лету. Если сливать из svn, то не последнюю ревизию, а ревизию 179. Там, кстати, есть багфиксы по сравнению с последним архивом.
Дописал ей некоторые мелочи. Понемногу портирую в MaxSite. Тому как раз не хватает хорошего плагина галереи.
P.s. Сейчас выяснил, что автор принимал участие в создании ReloadCMS — довольно большой CMS, не использующей базы данных.
- .
Сейчас глянул, увидел, что в феврале после нескольких лет разработки вышел 3.0RC1. Оказывается, третью ветку переписали на кохане. В результате чего она основательно похудела. Ещё из занятного: проект стартовал уже десять лет как. Возможно, это старейший проект php-галереи из оставшихся на плаву.
- . .
Симплвьювер — ещё одна штука без базы данных. Флешовый просмотрщик, интересен был как раз при отсутствии лайтбоксов и прочих спецэффектов. Хотя если нужен флеш, то можно приспособить и сейчас. Сам вьювер бесплатный, но есть платная к нему версия с сурцами, отсутствием линка на скачивание и т.п., и бесплатный плагин к вордпрессу. Подумываю о том, как его приспособить к МаксСайту. Но не очень активно, ибо для больших обьёмов фотографий он малоприспособлен.
Галерей без баз данных в сети можно найти великое множество, что на соурсфордже, что на phpclasses, что ещё где-то. Да и самому написать или собрать из кусков такой скрипт довольно просто: навигация на основе имеющихся папок, считывание файлов в этих папках и вывод превьюшек, загрузчик с предварительной жёстко прописанной авторизацией. И программа-минимум выполнена. Можно лайтбокс прицепить, а в процессе загрузки ставить ватермарки.
- .
Ставиться на третий денвер не пожелала с пятисотой ошибкой — чего-то ей не хватает.
Социальные сети.
Функционал социальных сетей можно организовать любым из многофункциональных монстров. И даже некоторыми форумами. Особо упомяну МаксСайт. Пока на нём развёрнута одна соц-сеть и делается ещё. Но система изрядно не готова для такого. Нужно многое дописать (архитектура позволяет): админку для зарегистрированных (ну не в админку же сайта их пускать), рейтинги, загрузки, чтобы была у каждого изолированная и не было доступа к основной, фотоальбомы тоже изолированные от чужих вмешательств и привязанные к пользователям, древовидность комментариев. Самборский не выкладывает свои наработки, а повторять их — есть более готовые инструменты. Хотя планирую всё же повторить собственного развития для и чтобы всё время можно было использовать свой любимый инструмент.
- .
А так система представляет собой отличную платформу для соц-сети и дописывания необходимого функционала. Самая технологичная из тех, что я видел, и так далее. Там на самом деле очень хорошее ООП, сильно напоминающее мне Java. Может заменить собой форум, если пользователи не слишком консервативны к этому и если немного поработать напильником.
Что до составляющих: для отображения используется Smarty, клиентская часть — mootools. Для работы с данными DbSimple, для кеширования DklabCache (весьма желателен memcache). Для поиска Sphinx, который соответственно должен быть установлен на сервере. Ну и ещё ряд библиотек.
Активно развивается (с сентября 2008 к июню 2010 940 коммитов, два активных разработчика и несколько десятков сторонних дополнений, проходящих контроль качества). Рекомендую, если функционала достаточно для ваших целей. Преимущество перед друпалом и компанией в том, что друпал до нужного функционала ещё нужно допилить.
Теперь о недостатках. Их два. Не смотря на хорошую оптимизацию, для полноценной посещаемой соц-сети требует выделенный сервер, т.е. системные требования не самые маленькие (см. пункт про мемкеш и сфинкс). И на доводку сайта на LiveStreet нужно закладывать определённые ресурсы времени и денег или самостоятельных усилий. Это
вам не вордпресс, у которого существуют бесплатные плагины и шаблоны, а кому мало, то и готовые сборки на все случаи жизни.
- .
Upd. Новый разработчик оценивает ядро как функциональное, но в целом кустарное. Подумывает о переписке ядра с нуля и возможно на фреймворке — Zend или Kohana. А скорость разработки всё же отстаёт от разработки LiveStreet.
- .
- .
- .
Наряду с LiveStreet очень технологичный движок, отстающий от LS только величиной комьюнити.
- .
В базе данных семьдесят таблиц, но по нагрузке это вполне вменяемое решение всё равно для любой социальной сети нужен хороший сервер.
Самый большой недостаток: отсутствие юникода. Второй — префикс таблиц жёстко зафиксирован. Но разработчики обещают это исправить (меня поправляют, уже есть). Проект живой и код непозорный. Т.е. рекомендую, особенно если возможностей хватает для целей, а знаний и времени мало.
Организация админки и некоторая логика очень похожи на джумлу, иногда даже кажется, что это и есть сборка джумлы с другим скином админки и уже подобранным набором компонентов, модулей и плагинов.
Не знаю даже, почему не отнёс к многофункциональным монстрам.
О, а ещё узнал, что пишется и скоро зарелизится под эту систему хороший форум. Хотя если учесть, что даже встроенный — вполне неплох, то этот (с интеграцией в систему) вообще должен быть супер. Форум весьма скромен, нужна интеграция со сторонним. В принципе, в комьюнити есть инструкция по интеграции с smf, но слегка устаревшая.
В целом лучшее КОРОБОЧНОЕ решение для социального портала.
- vBulletin, IPB, Vanilla.
- Social Engine. DataLife Engine (DLE).
Форумы.
- На рассмотрение: phpbb, прочие bb, vanilla, smf, ещё что-то. PhpBB — очень тяжёлый, навороченный, мощный. Очень сложный в администрировании (мне в кошмарах снился даже). Для простых случаев не рекомендую.
- В противовес punbb — лёгкий, шустрый и простой. Немного необычно то, что расширения должны быть в xml-файлах, но довольно быстро получилось разобраться. В миниатюрности и простоте кроется два подвоха. Первый: если нет какого-то функционала — то его нет. Второй: многие расширения модифицируют структуру базы данных и совершают прочие издевательства над базовой поставкой форума. Форум — для простых случаев — самое то. А судя по forum.mozilla-russia.org — можно рискнуть и для серьёзного проекта этот форум ставить. Только следует учесть, что на forum.mozilla-russia.org своя собственная сборка этого форума, уже, кажется, не совместимая с оригиналом. Но открытая.
- (не опробовал, но обязательно опробую) — форум, который изначально заявлен «не такой как другие». За счёт модульности и более 450 плагинов можно создавать форумы очень разной функциональности и направленности. Заявлена лёгкость самого форума и лёгкость изучения, изначально вебдванольная идеология, собственный фреймворк для написания расширений, возможность встроить форум в самые разные движки. Версия 1.1.10 выпущена в ноябре 2009. Версия 2.0 доступна в репозитории, говорят, только-только появился RC. Русское сообщество скромное и полумёртвое, но возлагают надежды на выход двойки.
- Плагины форумов есть у wordpress, drupal (в стандартной поставке), кажется, у джумлы…
- Для МаксСайта примитивный и очень глючный форум в ограниченном кругу водится ещё один пишется. Возможно, будет развиваться, в том числе моими силами. До функциональности примерно punbb. Но это будет не скоро.
1) Покупать есть смысл только третью версию (скоро выйдет 3.1.0).
2) Платные: IP.Gallery, IP.Blog, IP.Downloads, IP.Content.
3) Также есть бесплатные для клиентов: IP.Tracker (багтрек, используют сами), IP.Shoutbox (чат), и т.д. (можно найти на их сайте).
4) Очень просто разрабатывать модификации (мелкие изменения функционала; в большинстве случаев можно обойтись без модификации кода форума) и приложения (типа IP.Gallery, IP.Blog и т.д.). Также очень удобно редактировать шаблоны (после включения режима разработки). К сожалению, требует достаточно большого количества ручной работы при разработке и особенно сборке релизов, но большая часть мною уже автоматизирована.
5) Документация вся есть у них на сайте (EN), также можно найти на русском (не вся)
6) Недостатки: присутствует копипаст и говнокод (часть — наследие), баги есть, но оперативно исправляются. Убогий парсер BB-кодов (периодически допиливается).
7) Многоязычность (не полная — в ACP часть строк перевести сразу не несколько языков невозможно, public часть — вся переводиться).
8) Поддержка скинов (+мобильная версия, + xml версия). IE6 не поддерживается. Из коробки присутствуют баги в IE7/8.
9) ЧПУ (несколько видов, поддержка зависит от конкретного приложения).
10) Достаточно требователен к ресурсам.
11) Поддержка Sphinx из коробки (можно создавать плагины для собственных приложений).
12) Поддержка кеширования — из коробки использует БД, но одной строкой строкой включается нужный кеш (memcached, eaccelerator, и т.д.).
Официальный сайт тут (самая старая и полная база знаний в рунете по данному движку).
Изначально vbulletin разрабатывался силами компании JelSoft, позже вся продукция и самая компания JelSoft была куплена InternetBrands. Соответственно сменились разработчики. К этому момент поспел релиз vBulletin 4 линейке, и ни что не предвещало беды. Уже как полгода, 4 версия всё ещё сыра, унизительно гадко скомпканна из того что вышло из программистов. Даже на официальном камюнити в облаке меток долго весела метка «vB 4 Is gay». Если вы хотите попробовать движку в деле — советую версию 3.8. Надёжна, стабильна.
Для vBulletin существует огромное множество модификаций. Какие-то переведены на русский можно глянуть к примеру тут или на том же vbsupport.org, а какие-то создаются русскими разработчиками. Множество платных и бесплатных хаков.
Для vbulletin есть достаточно большое количество скинов, есть много больших, известных форумов именно на этом движке. VB всегда являлся лидером в надёжности и безопасности на поприще форумных движков.
Относительно приятный, чистый код. Модификации, ЧПУ пишутся просто. Есть много компонентов облегчающие жизнь сеошникам. Админка простая и приятная, многоязычность поддерживается. В качестве поиска используется фултекст. Полный русский перевод движка (админка/пользовательская часть) для все версий есть.
Интернет-магазины.
- Несколько на рассмотрение, а тем временем всё тот же МаксСайт.
Магазин для него пишется моими силамив предварительном билде выложен на офф-форуме (моя версия скорей всего не увидит свет). Небольшой и с базовой функциональностью. Использовать можно только если магазин нужен небольшой и именно на макссайте. В других случаях рекомендую prestashop или ecshop. Или magento.Есть шансы на появление ещё одного плагина-магазина — мелькали упоминания(именно он уже появился). - osCommerce и его клоны и форки.
Поскольку лицензия gpl, то за эти годы у магазина появилось множество клонов и форков, как бесплатных, так и очень дорогих. Есть множество комьюнити, и вообще — вокруг osCommerce так много всего, что наверняка есть возможность найти свой персональный Святой Грааль. Только искать его нужно долго и упорно.
- Magento
Лучший выбор, если знать и уметь Zend Framework и не бояться неполной руссификации и прожорливости. Имеет смысл на крупных проектах.
- Prestashop. Проект, который мне весьма понравился.
Ставится на денвер без всяких проблем. Инсталятор хороший, с аяксовыми проверками. Системные требования, похоже, вменяемые.
С первых же шагов чувсвтуется забота о безопасности: система принудительно требует переименовать каталог admin и удалить каталог install.
Возможности по первому же взгляду впечатляют.
Больше 130 таблиц в базе данных. На нагрузку ещё посмотрю, но на локальной машине шевелится достаточно быстро. Хотя кое-кто и жалуется на прожорливость.
В распакованном виде занимает 14.5 Мб, но по три с лишним мегабайта на tools, modules, img (демо-данные). Полтора метра js (jquery, tinymce and other stuff). 800 кб админка, 400 кб theme, 350 кб инсталятор. 800 кб за 80 классов.
По первому впечатлению довольно-таки ООП(php5), отчасти MVC, но не слишком ActiveRecord. Просто не вижу, чтобы модель была отдельно вынесена.
Очень серьёзный сервисный подход. Одно только меню «Инструменты» содержит: CMS для создания нескольких статических страниц типа ФАКа. Есть генератор .htaccess и robots.txt. Бэкап БД (прямо в магазине), работа с поддоменами, импорт из .csv, настраиваемое меню быстрого доступа в админке, настраиваемые виджеты, локализация.
Естественно, множество настроек. Очень хорошо поработали локализаторы, жаль только, что для России, а не Украины. Есть скидки, учёт налогов, реферальные программы, etc.
Дофига модулей, поддерживаются четыре способа оплаты (считая вебмани), статусы товаров (ждём оплату, товар закончился, отменено, доставлено, etc). Естественно, куча статистики.
Ей-Богу, с первого же взгляда очень нравится этот магазин по возможностям, интерфейсу и сервису! Причём, как для админа, так и для покупателя.
- ECShop.
Первый заход в админку дал 28 запросов.
За 70 таблиц в базе.
И ещё люди тестировали — признали этот магазин самым экономным для сервера.
Из админки можно делать оптимизацию, бэкап и даже прямые запросы: «SQL запрос работает напрямую с базой данных. Вы должны понимать что делаете».
Есть крон. Есть, как и в престо, настраиваемые быстрые пункты меню.
Более продвинутая CMS: не просто страницы, а категории деревом\типами.
Есть интеграция с форумами, в том числе с воблой(3.x), ipb(2.1\2) и phpbb(2.x).
Гостевая, группы пользователей (клиентов).
Рассылки, партнёрки, банеры, смс, доставки\оплаты, бонусы, распродажи.
Переведено неплохо, но не так тщательно, как престо. Однако работа идёт. Есть нюанс: перевод 1.6.2, 1.7.0 и далее — по платной подписке. Поэтому смотрел 1.6.1. Хотя позже на нулледе нашёл перевод для 1.7.2.
Если выбирать между этим магазином и престо, то даже не знаю, что выбрать. Престо понравился больше, особенно тем, как переведён и адаптирован, а здесь есть интеграция с форумами и ещё что-то такое. К тому же здесь гарантированно сильное кэширование.
3.5 мб инклюды, в т.ч. FCKeditor. Из них 1.3 мб что-то насчёт китайской codepage. 2.8 мб админки. 1.5 мб theme. Ещё какие-то data, js, api, wap, etc.
OOP почти нет и такое впечатление, что разобраться с архитектурой и писать модули\etc будет гораздо сложней. Но в целом достойный кандидат.
Шаблонизатором вроде как смарти, но что-то странное там. Во всяком случае, шаблоны имеют нестандартное расширение.
- .
- Плагины.
Комментариев: 7
Спасибо за обзор! Отличная стаття особенно по е-магазинам!
Хороший обзор, спасибо. Доводилось ли работать с CMS Silverstrype? Хотелось бы услышать оценку. Судя по прессе, она выдерживает очень большие нагрузки.
Напрочь не доводилось. Название смутно знакомо, наверняка мелькало мимо, но даже обзоров не читал, не говоря уже о «пощупать».
Зарекаться не буду, но скорей всего разбираться тоже не буду. Для всех типовых задач CMS выбираю из вышеописанных. А для нестандартных всё равно нужно писать своё.
Уже хватает
Есть дополнительный копонент с довольно большим количеством настроек.
Спасибо, буду иметь в виду.
Сделали бы интеграцию PunBB с MaxSiteCMS было бы круто!
Спасибо за такой подробный обзор, много нового узнал
такие статьи намного полезнее чем всякие cmsmagazin'ы
PS: а в instantCMS кстати уже сделали выбор префикса для таблиц базы, и сборка с утф на днях появилась