Сравнение Drupal и XOOPS
В одном онлайн-собеседовании, потенциальный работодатель попросил меня составить краткий сравнительный анализ CMS XOOPS и Drupal. Поковярялся еще раз в обоих CMS для сверения информации, полазил по вебу, и кратенько набросал на целую статейку, которую здесь же и выкладываю.
XOOPS, в целом, конечно, неплохая CMS.
Но все-же меня она оттолкнула как веб-разработчика несколькими нехорошими свойствами, склоняя выбор в пользу Drupal. Хотя бы своей шаблонизацией, об которую можно неоднократно сломать голову в попытке натянуть верстку на этот движок. В Drupal же все просто и понятно, PHPTemplate любит нас!
Кроме того, работа XOOPS CMS разбросана на множество скриптов-обработчиков, что вносит свои неудобства в персонализацию URL с использованием mod_rewrite.
Больше всего, конечно, раздражает система локализации XOOPS. Она реализована в виде папки с php-файлами, в которых через define() объявлены строки и переводы к ним. Да, включение языкового файла - это плюс к производительности по сравнению с хранением интернациональных строк в БД, но это очень сильный удар по гибкости и расширяемости, что же до производительности, то встроенная система кэширования Drupal сводит на нет разницу, поэтому считаю локализацию в виде включения php-файлов, как это сделано в XOOPS неоптимальной и неудобной. Например, чтобы заменить строку "Поиск" на "Искать", нам придется редактировать php-файл, потом заливать его по FTP, и так каждый раз... Сразу, как правило, все подобные мелочи не видны, но в процессе разработки накапливаются.
Бедность ассортимента модулей для XOOPS тоже ставит разработчка в невыгодное положение, так как существуют реальные шансы, что ему придется дописывать необходимый функционал самостоятельно. В репозитории не наберется и 400 модулей для XOOPS, в то время как в репозитории Drupal их тысячи, на все случаи жизни.
Мой личный опыт работы с этими CMS не так уж и богат, по крайней мере, в разработке мне участвовать не приходилось, да и вообще, последний раз в код ядра Drupal мне приходилось лезть в версии 4.7, когда требовалось изменить вывод ссылок главного меню(в той версии разделитель был прописан жестко в коде). С тех пор, движок эволюционировал до 6.4, и вся настройка его ведется через web-интерфейс, выставлением нужных галочек. Вся работа по ftp - это начальная загрузка файлов CMS, после - установка необходимых модулей(просто помещение их в соответствующую директорию), и шаблонов. Модули есть на все случаи жизни, нужно только поискать.
В форумах обсуждения и техподдержки XOOPS то и дело натыкаешься на самописные хаки, заставляющие CMS выполнять необходимый функционал.
Но особенно хорош друпал, как я считаю, в том, что он отлично поддерживает мультисайтинг, причем как с использованием разных баз данных, так и с полным/частичным комбинированием оных. Серьезная и мощная CMS для серьезных проектов. Мы можем создавать связки сайтов с единым набором пользователей, единой таблицей локалей(для экономии места в БД), но при этом разделяем контент и права доступа для этих сайтов, создавая для каждого свои группы со своими правами доступа, которые в Drupal настраиваются как для основных модулей ядра, так и для всех сторонних модулей, согласно стандарту, принятому разработчиками. В мультисатинге можно как угодно шаманить с таблицами и базами данных, добиваясь именно того результата, который нам нужен. Вот мои впечатления по использованию Drupal, и сравнению его с XOOPS.
Ссылки по теме:
- Официальный сайт XOOPS на английском
- Российский сайт XOOPS
- Официальный сайт Drupal
- Российский сайт Drupal
- Статьи схожей тематики:
Очередная сборка Neutrino Atomic Edition 0.8.7-5

Комментарии(16):
rss-лентаДобавлено: 2008-09-16 13:35:00, avv
Добавлено: 2008-09-16 18:15:36, vikeng
Добавлено: 2008-09-17 01:22:08, Bolzamo
Добавлено: 2008-09-17 07:26:53, vikeng
Добавлено: 2008-09-17 08:46:33, Bolzamo
Добавлено: 2008-09-20 05:48:14, avv
Добавлено: 2008-09-20 17:21:45, Bolzamo
Добавлено: 2008-09-21 10:06:07, avv
Добавлено: 2008-09-21 10:07:39, avv
Добавлено: 2008-09-21 10:25:53, А К
Добавлено: 2008-09-21 10:30:46, А К
Добавлено: 2008-09-27 18:24:13, Evgeny
Добавлено: 2008-12-28 15:59:41, assa
Добавлено: 2009-01-12 00:12:37, Marshall
Добавлено: 2009-01-12 00:41:50, Bolzamo
Добавлено: 2010-03-11 19:46:20, Алексей