Огляд безкоштовних cms - порівнюємо joomla, wordpress і drupal

Зараз до виходу готується 6-а версія, код якої вже досить давно заморожений. Поточна 5-я версія в порівнянні з 4.7 виглядає хорошим еволюційним етапом.

Нові версії підлягає тестуються. Ядро стабільний. Баги в затребуваних модулях зазвичай фікс оперативно. Зараз цілий ряд великих корпоративних сайтів компаній зі світовими іменами працює на Drupal, тому у розробників до безпеки серйозне ставлення.

Ситуація на даний момент така - всі шанувальники Joomla знаходяться в очікуванні версії 1.5. А гілка 1.0.х зазнає лише косметичні зміни, в основному що поліпшують безпеку. Так що з наявністю нових версій у Joomla «повний порядок». Безпека теж на рівні, версію 1.0.13 можна сміливо вважати дуже-дуже стабільною і безпечною.

Що ж стосується безпеки сторонніх розширень, то тут все не так гладко, що взагалі-то повторює ситуацію в цілому в мові PHP, як популярному серед новачків і людей не знають нічого про те, як ламаються сайти. 90% софта глючний, а платні програмісти готові працювати за їжу. Дійсно сильних розширень мало, але вони є, наприклад OpenSEF або MosetsTREE.

Хоча офіційно і заявлено, що версії WordPress будуть виходити за графіком, насправді цього не відбувається. Якщо буде виявлено будь-яка серйозна «діра», то розробники оперативно випускають оновлення, тому графік версій збивається. Існують дві лінійки WordPress: 2.0. * І 2.1 +. Перша (поточна 2.0.12) все ще підтримується і до неї випускаються оновлення безпеки. Але нові можливості з'являються тільки в лінійці 2.1 + (поточна 2.2.2). Поділ відбулося після того, як було вирішено відмовитися від підтримки MySQL<4.0. За счет оптимизации запросов, скорость работы новых версий выше. Также сыграло свою роль и то, что в WordPress'е активно стал использоваться AJAX, которому требуется UTF-8. Все это привело к определенным проблемам совместимости, но, на мой взгял, оно того стоило.

Приклад сайту на Drupal

Приклад сайту на Joomla

Огляд безкоштовних cms - порівнюємо joomla, wordpress і drupal

Російське співтовариство розвивається, причому досить бурхливо, оскільки останнім часом про Drupal багато говорять в рунеті. Є люди розбираються в архітектурі. Що важливо, вони відповідають на форумі. В цілому співтовариство відкрите і доброзичливе, але зловживати цим не варто.

Якщо коротко, то існує дві різних «тусовки», провідні свої форуми і сайти підтримки. Спроба об'єднання була, але так нічого і не вийшло. В принципі, наявність двох збірок і русифікації на даний момент всіх влаштовує (читай «все не погано влаштувалися»). Ближче до версії 1.5 питання буде підніматися все частіше, бо порталовци більш офіційна команда перекладу, ніж joom.ru. З іншого боку наявність конкуренції аніскільки не шкодить спільноті, а навпаки навіть підштовхує команди працювати все краще і краще.

Налаштування посилань в адмін-панелі WordPress

Зовнішній вигляд адмін-панелі Joomla

Огляд безкоштовних cms - порівнюємо joomla, wordpress і drupal

Інтеграція з форумом

Базовий пакет Drupal містить досить функціональний форум, який підійде для організації невеликих спільнот. Для організації великих спільнот він теж, втім, підійде - на форумі drupal.org зараз більше 320 000 повідомлень.

Наскільки я знаю, є можливість інтеграції з PHPBB.

Разом з Joomla не поставляється компоненту форуму, проте на даний момент найоптимальнішим варіантом створення вбудованого форуму є FireBoard і його російська редакція від Adeptus'а. Що ж стосується інтеграцій - вони існують. Найпоширенішою є зв'язка Joomla-SMF, під яку є не одна інтеграція, навіть комерційна.

Для WordPress'а розроблений і рекомендується форум BBPress (є і русифікація), який повністю інтегрується в блог. Правда, можливості у цього форум більш ніж скромні. На офіційному сайті WordPress'а використовується саме цей форум. Також існують плагіни, які дозволяють частково інтегрувати деякі популярні форуми в блог. Правда для цього потрібні хороші знання програмування, і при цьому, все одно стовідсоткової інтеграції не вийде - все-таки це різні системи.

Приклад настройки блоків на Drupal

В Drupal можна вбудувати TinyMCE або FCKEditor. І той і інший гнучко налаштовуються. Обидва є потужними засобами. У TinyMCE, наприклад, можна працювати з таблицями, додаючи і видаляючи рядки і стовпи і об'єднуючи осередки. Ще TinyMCE може «чистити» скопійовані з Ворда тексти від надлишкових тегів.

Огляд безкоштовних cms - порівнюємо joomla, wordpress і drupal

Робота з картинками

У цьому Joomla попереду всіх трьох інших систем, бо одних тільки типів розширень існує три штуки (компоненти, модулі і мамботи). Причому кожен тип розширень дозволяє вирішувати свої типи завдань, що дозволяє додавати фактично будь-який новий функціонал НЕ залазячи в "ядро". Та й конкурентів у офіційного сайту розширень серед інших систем я думаю теж немає (extensions.joomla.org).

Движок шаблонів - сильна сторона Drupal. Цей компонент добротно спроектований, тому розібратися з інтеграцією своїх шаблонів зможе початківець PHP-програміст. Взагалі Drupal надає цілий букет можливостей з управління темами: можна навіть як в ЖЖ настроювати кольори різних елементів прямо з адмінки. Втім, ці новації на любителя.

На Drupal є красиві сайти, однак, пристойних загальнодоступних тим вкрай мало. Якщо забажаєте обзавестися сайтом на Drupal, приготуйтеся витратитися на шаблон.

Joomla гілки 1.0.х не підтримує шаблони. Звичайно, в ній є загальний і великий шаблон, що дозволяє на PHP створювати цілком хитромудрі структури загальної структури сайту і розташування модулів, але ось шаблонізаціі окремих елементів немає, і все обмежується застосуємо CSS (до речі, дуже система дуже гнучка, взяти той же «префікс класу модуля »і добре задокументована) і копирсання в компонентах. Однак для статей вже давно існує ContentTemplater, що дозволяє створювати шаблони оформлення для статей і дуже непогано управляти їх зовнішнім виглядом.

Для WordPress'а створені тисячі шаблонів і багато хто з них виконані на дуже хорошому дизайнерському рівні. Пристрій WordPress таке, що під нього нескладно переробити, скажімо, html-шаблон. У шаблонах викорис звичайні PHP-функції, тому ніяких складнощів з вивченням т.зв. мов шаблонів немає. За створення шаблонів існує досить багато статей, навіть є он-лайн генератор. Готові шаблони достатньо завантажити в окремий каталог і після цього в адмін-панелі вибрати потрібний. Існує також можливість перемикати шаблони та відвідувачами.

Розширена функціональність (плагіни)

Зараз в офіційному репозиторії зберігається під тисячі безкоштовних модулів. Серед інших є рішення для електронної комерції, CRM-система, wiki-движок. Ще зазначу модулі Views і CCK, які дають Друпалу повне право називатися CMF, а не CMS. CCK (Content Construction Kit), наприклад, дозволяє за допомогою графічного інтерфейсу описувати об'єкти предметної області в базі даних і відразу ж створювати форми для управління ними.

У цьому я думаю Joomla попереду всіх трьох інших систем, бо одних тільки видів розширень існує три штуки. Та й конкурентів у офіційного сайту розширень серед інших систем я думаю немає (extensions.joomla.org) і бути не може. Одна тільки циферки (1915) нагорі з кількістю розширень в архіві змушує замислитися.

Найсильнішою стороною Joomla є, я вважаю, система розширень. Мало того, що їх існує кілька видів, ще є спеціальна система їх установки, що дозволяє за допомогою xml-файлу описувати всі дії необхідні для здійснення при створенні запису про розширення (наприклад, SQL-запити, копіюються файли або дії виконуються відразу після установки, які не можна виконати автоматично).

WordPress можна розширити за рахунок плагінів - це різні php-скрипти, які автоматично підключаються до основного «ядра». Таким чином можна не просто додати потрібну функціональність, а й змінити вже існуючу. Створити плагін не дуже складно, все залежить від рівня знання PHP. Підключення до WordPress'у зовсім просто: плагін копіюється в спеціальний каталог і активується в адмін-панелі. Деякі плагіни можна налаштовувати, деякі треба прописувати в шаблоні, а деякі працюють повністю автоматично.

Плагінів для WordPress написано кілька тисяч (лише на одному wp-plugins.net - 2568, але думаю, що загалом цифру можна подвоїти), тому можна знайти плагін практично під будь-які потреби. Виняток становлять плагіни, які вимагають значної переробки шаблону. З ними зазвичай доводиться повозитися.

В Drupal це називається «блоки». Їх можна розташовувати в різних областях сторінок в залежності від можливостей шаблону. У кожній області блоки можна сортувати для керування порядком виведення. Спочатку областей п'ять - шапка, центральна, ліва і права колонки, підвал. Блоки можна показувати не на всіх сторінках.

Так і не зрозумів що це таке. Ну, подумаєш, блоки переміщаються. При бажанні на Joomla теж можна таке зробити. Тільки питання - в чому їх корінний задум. Можливо, в Joomla це називається модулі, нехай і не перетягувати, зате дуже зручно розташовуються по всьому шаблоном у будь-якому вигляді.

Повноцінна підтримка віджетів з'явилася тільки у версії 2.2. До цього потрібно було встановлювати окремий плагін. Те що віджети дуже зручні, багато хто вже встигли переконатися. Для користувача тепер немає потреби щось змінювати в своєму шаблоні: управління чисто візуальне, досить відзначити потрібні опції, розташувати блоки як потрібно і зміни відразу ж набирають чинності. Внутрішня реалізація віджетів така, що з їх можна використовувати для виведення будь-якого плагіна або своєї функції.

Приклад налаштування віджета WordPress

Для багатокористувацьких блогів існує окрема версія: WordPress Multi User. Вимоги та можливості в неї практично такі ж як і у звичайного WordPress'а, хоча є деякі відмінності. На WordPressMU працює один з найбільших блог-сервісів WordPress.com, на якому зареєстровано майже 1,3 мільйона блогів.

Сучасні «фішки»: трекбакі, пінг, XML-RPC, RSS

Друпал популярний у світі, тому всі «модні» фішки там швидко реалізуються. У базовому пакеті є можливість ведення блогу посредствам блогового клієнта. Є модуль, пінг спеціальні каталоги Drupal-сайтів.

Joomla це CMS, і говорити про впровадження таких речей можна тільки на рівні сторонніх компонентів. Мабуть для Drupal'а і WordPress'а це питання сильно актуальне, бо спочатку це все-таки блогові движки, а не CMS, і нікуди від цього не дітися. А в Joomla треба все розглядати на рівні якихось компонентів, наприклад того ж платного MyBlog. Якщо реалізують - здорово, ні - позиції Joomla від цього ні скільки не похитнуть.

Трекбакі, пінг підтримуються вже давно. Причому для їх використання не потрібно взагалі ніяких додаткових дій: все працює на рівні "движка". Що стосується XML-RPC, то WordPress підтримує відразу кілька API, тому додавати / редагувати записи в WordPress можна з багатьох програм блог-клієнтів або он-лайн, наприклад за допомогою Google-Docs.

Drupal працює на UTF-8. Якихось забутих строкових функцій, які не працюють з UTF-8 я не помічав. Деякі хостери по-старому віддають сторінки в cp1251, але це легко чиниться. Проблеми з MySQL теж зазвичай вирішуються одним рядком коду. Мені подобається UTF-8 :)

Всі проблеми з російською версій в кодуванні CP1251 вже давно вирішені і на не надто високих версіях MySQL проблем майже не викликають, потрібно лише почитати документацію. В Парані (збірка Joomla від порталовцев, не зовсім від них, але це одна і та ж пісочниця) все вирішено більш вдало (це її основна особливість) і система сама вибирає потрібну конфігурацію підключення в залежності від версії MySQL.

З UTF-8 все складніше, про це досить написано, скажу лише, що повна підтримка очікується (власне вона вже є) у версії 1.5. Зараз можна говорити лише про однобайтовим кодуваннях і спробах зробити utf-сайти на непридатному для цього движку (хоча часом і вельми успішних). З Аяксом все теж складно, бо компоненти в основному роблять буржуї, які знати не знають про наших заморочках. А компонент цих стільки, що рук не вистачає ламати голову і мудрувати щось з iconv'ом.

У самому WordPress'е є можливість встановити будь-яку кодування. Головне, щоб кодування бази даних співпадала з кодуванням блогу. Правда, починаючи з версії 2.1 WordPress повинен працювати в UTF-8. Це безпосередньо пов'язано з використанням AJAX. Тому для російськомовних користувачів основна проблема полягає тільки в тому, що на серверах часто стоїть CP1251. Тому я випустив свою збірку WordPress (починаючи з 2.2), яка дозволяє використовувати роздільну кодування блогу і бази даних. Це дозволило багатьом без особливих проблем перейти на останні версії WordPress. Зараз можна досить впевнено сказати, що особливих проблем з кодуваннями в WordPress'е немає.

Для Друпала написано багато різних конвертерів, в основному пов'язаних з форумних міграціями. RSS віддаються на будь-який смак. Є безліч спеціальних речей в дусі експорту в RDF або CSV.

Я так розумію, що це питання дуже актуальне для блогових движків. Ще раз хочу згадати про те, що Joomla - це не блог, а CMS, а тому питання експорту заміток в якийсь формат для неї не важливі. Якщо компонент платний, то за N зелених американських Труппер легко можна замовити собі імпорт записів зі старого блогу в новий в якому завгодно форматі.

Схожі статті