CMS Drupal
Drupal позволяет создавать самые разные сайты, при этом сильно сокращая объем разработки и, в конечном счете, повышая качество продукта. Drupal готов к использованию «из коробки», но его истинные преимущества заключаются в большей, по сравнению с другими CMS, гибкости и расширяемости, а также в контентно-ориентированном подходе к организации содержания сайта.
В данной статье предлагается краткий обзор системы управления контентом Drupal в ракурсе её применимости для построения сайтов различного профиля.
По каждой обсуждаемой теме представлены ссылки. К сожалению, далеко не все материалы по ссылкам русскоязычные.
CMS и CMF
Для начала предлагается формальное определение системы управления контентом.
- Система управления контентом (англ. Content management system, CMS)
- Программный комплекс, используемый для управления содержанием сайта или информационной системой с неструктурированным контентом.
- Каркас системы управления контентом (англ. Content management framework, CMF)
- Программный комплекс, используемый для построения CMS с требуемой функциональностью.
Существует множество CMS (по данным CMSMatrix: более 820), в том числе открытых, ориентированных, в основном, на LAMP-платформу.
Примеры CMS: phpNuke, Joomla и пр.
Примеры CMF: Zend Framework, Ruby On Rails, CakePHP и пр.
Drupal — система управления контентом, гибкость и расширяемость которой позволяют получать нетиповые конфигурации, фактически, приравнивая её к CMF.
В роли совмещения концепция CMF и CMS в одном продукте у Drupal есть аналоги (например, TYPO3), но среди них Drupal обладает еще и наименьшей сложностью в освоении.
Краткая история развития CMS
- 2000: Франциско Бурзи создает php-версию phpNuke — одной из самых массовых до недавнего времени CMS, породившей множество форков;
- 2001: Появляется первая открытая версия Drupal;
- 2005: От открытого к тому моменту проекта Mambo, отделяется сообщество разработчиков, решающих независимо развивать CMS Joomla — одну из лучших CMS, построенную в соответствии с модульно-ориентированным подходом.
Краткая история развития Drupal
- 2000: Дрис Байтаерт создает первую версию Drupal для использования в личных целях;
- 2001: Появляется первая открытая версия Drupal;
- 2007: Дрис Байтаерт создает фирму Acquia направленную на коммерческую поддержку проектов и сервисов, основанных на Drupal, вдохновленный успехами Canonical и RedHat.
Проект был начат в 2000 году Дрисом Байтаертом. В 2001 году были открыты исходные коды. Сейчас Drupal распространяется под лицензией GPL v.2 Drupal написан на php, данные система хранит в реляционной БД («из коробки» поддерживаются MySQL и PostgreSQL).
Разработчики поддерживают две версии Drupal: текущую (5.x) и предыдущую (4.7.x). Обратная совместимость между версиями не гарантируется. В соответствии с заявлением Дриса Байтаерта, более старые версии не поддерживаются даже на уровне исправлений безопасности, чтобы разработчики могли активно применять актуальные технологии в Drupal без оглядки на совместимость со старыми версиями.
Drupal сегодня
- Первое место в номинации Overall на 2007 Open Source CMS Award;
- Сотни разработчиков и всего 20 тыс. строк кода при функциональности базового дистрибутива вполне соответствующей другим популярным CMS;
- Более 600 тыс. скачиваний дистрибутива в год;
- Более 55 тыс. работающих сайтов на базе Drupal, в том числе сотни популярнейших и авторитетных сайтов (популярнейший Linux-дистрибутив Ubuntu: http://ubuntu.com, компания Novell: http://www.novell.com/communities/, компания Yahoo: http://research.yahoo.com, Аврил Лавин:http://www.avrillavigne.com, Гарвардский университет: http://harvardscience.harvard.edu, Дженифер Лопес: http://jenniferlopez.com, Бритни Спирс: http://britney.com, http://www.warnerbrosrecords.com, Тори Эймос: http://toriamos.com, IDE Eclipse: http://live.eclipse.org, британское отделение канала MTV: http://www.mtv.co.uk, британское отделение Greenpeace: http://www.greenpeace.org.uk, немецкое отделение журнала Playboy: http://playboy.de, сайт Sony Playstation для азиатского региона: http://asia.playstation.com, Хиллари Клинтон: http://votehillary.org, российское подразделение Pepsi: http://pepsi.ru, популярный отечественный информационный портал: http://internet.ru и пр.);
- Более 1500 готовых модулей;
- Наличие готовых модулей для электронной коммерции, построения сообществ и прочих популярных задач;
- Рекомендации к применению от таких компаний как IBM;
- Ежегодная конференция разработчиков (более 430 участников побывало на конференции в 2007 году, прошедшей в Барселоне);
- Локализация более чем на четыре десятка языков;
- Хорошее быстродействие, обеспечиваемое встроенным механизмом кеширования;
- Работа на популярной LAMP-платформе.
Подходы к организации содержания сайта
Модульно-ориентированный подход
В системе имеются различные функциональные модули (лента новостей, форум, блог, статические страницы и пр.), содержание каждого модуля существует только в его контексте.
В структуре сайта связаны, как правило, материалы порождаемые одним модулем.
Контентно-ориентированный подход
Содержание — первично. Модуль, создающий, обрабатывающий или выводящий материал не определяет положение материала в структуре сайта.
Одни и те же материалы могут обрабатываться разными модулями, относиться к разным типам материалов, но объединяться содержательной тематикой и потому быть связанными.
Drupal пропагандирует контентно-ориентированный подход к организации содержания сайтов.
Таксономия Drupal
В нашем случае таксономию можно понимать как классификацию, применительно к материалам сайта.
- Таксономия в Drupal
- Механизм, позволяющий создавать произвольное количество категорий (тегов, терминов), ассоциировать с ними материалы сайта (с целью классификации последних).
Категории могут образовывать списки, древовидные иерархии или сложные структуры, где элемент может иметь несколько родителей и несколько дочерних элементов.
Категории объединяются в группы (или словари). Группа определяет виды связей категорий, типы контента к которым они могут применяться и пр. Категории вне групп создаваться не могут.
Принятые синонимы:
- Тег — термин — категория;
- Словарь — группа.
Инструменты Drupal помогают создавать удобную навигацию по сайту произвольной структуры, основываясь на категориях и связями между ними.
Понимание принципов организации контента в Drupal — основной барьер для быстрого и безболезненного освоения системы.
Иллюстрация связей материалов факультетского сайта, возможных в рамках модульно-ориентированного подхода (голубые непрерывные линии) и таксономии (пунктирные линии цветов, соответвующих категориям):

Цветные прямоуголники внизу иллюстрации — представляют категории таксономии, разбитые на два независимых словаря (слева: учебные предметы, справа: категории посетителей сайта). Оба словаря имеют простейшую структуру списков. Категории в данных словарях никак не связаны между собой, но это не мешает какому-то одному материалу сайта относиться сразу к нескольким категориям даже и из одного словаря.
Возможности локализации Drupal
Документация Drupal
Расширяемость Drupal
Инсталляционные профили Drupal
- Возможность локализации, предварительной настройки и комплектации нужными модулями с помощью создания инсталляционных профилей — специально подготовленных дистрибутивов Drupal;
- Процесс создания инсталляционных профилей документирован.
Оформление Drupal
Управление доступом в Drupal
Готовность Drupal к поисковой оптимизации (SEO)
Рекомендуемые источники дополнительной информации
Также имеется готовая форма пользовательского поиска Google, ищущая сразу по большинству сайтов о Drupal`е (включая, в основном, русскоязычные):
Оригинал
Комментарии
По поводу
По поводу импорта из ЖЖ - модуль в разработке, скоро должен быть официально выпущен. А вообще друпал - да, интересная система
Да, Drupal — это
Да, Drupal — это хорошая система. Последнее время делаю сайты преимущественно на этой CMS. Есть конечно свои минусы, но это везде так.
А вот
А вот нормального модуля импорта из Livejournal так в живых и не осталось под Drupal...