Drupal

Drupal - это название системы, управляющей сайтом ibank.by. Существует много сайтов Drupal по всему миру и многие из них делятся регистрацией с другими проектами, так что пользователи, зарегистрировавшись на одном сайте, могут войти в систему в другом, используя единый идентификатор Drupal.

Поэтому не стесняйтесь заходить на наш сайт , используя имя пользователя от другого Drupal-проекта. Формат идентификатора Drupal схож с адресом электронной почты: логин@сервер. Пример верного идентификатора Drupal: mwlily@www.drupal.org.

CMS Drupal

Drupal позволяет создавать самые разные сайты, при этом сильно сокращая объем разработки и, в конечном счете, повышая качество продукта. Drupal готов к использованию «из коробки», но его истинные преимущества заключаются в большей, по сравнению с другими CMS, гибкости и расширяемости, а также в контентно-ориентированном подходе к организации содержания сайта.

В данной статье предлагается краткий обзор системы управления контентом Drupal в ракурсе её применимости для построения сайтов различного профиля.

По каждой обсуждаемой теме представлены ссылки. К сожалению, далеко не все материалы по ссылкам русскоязычные.

CMS и CMF

Для начала предлагается формальное определение системы управления контентом.

Система управления контентом (англ. Content management system, CMS)
Программный комплекс, используемый для управления содержанием сайта или информационной системой с неструктурированным контентом.
Каркас системы управления контентом (англ. Content management framework, CMF)
Программный комплекс, используемый для построения CMS с требуемой функциональностью.

Существует множество CMS (по данным CMSMatrix: более 820), в том числе открытых, ориентированных, в основном, на LAMP-платформу.

Примеры CMS: phpNuke, Joomla, Wordpress, и пр.

Примеры 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, 2008 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 студия звукозаписи Warnerbros Records,
    • P!nk Пинк,
    • Beyonce Beyonce,
    • Kelly Clarkson Келли Кларксон,
    • Тори Эймос: 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,
    • Job online,
    • сайт Sony Playstation для азиатского региона: http://asia.playstation.com,
    • Хиллари Клинтон: http://votehillary.org
    • Tattoovorlagen kostenlos портал татуировок и пр.
  • Некоторые русскоязычные сайты использующие Друпал -
    российское подразделение Pepsi: http://pepsi.ru,
    популярный отечественный информационный портал: http://internet.ru, в Москве -сайт города Москвы http://vmoskve.eu/, http://vpitere.eu - портал Санкт-Петербурга, http://vkieve.eu - портал Киева, http://www.rezepty.ru/ - кулинарные рецепты, http://www.kriptolog.net/ -криптология, http://secretstyle.biz/ - сайт интимных причёсок, http://longlash.biz/ - женский портал.
  • Белорусские сайты использующие Drupal - http://www.yurist.by/ - юридический форум Беларуси, http://www.univer.by/ - студенческий портал, http://dsl.by/ новости интернета, http://seo.by/ - Seo форум, http://tatu.by/ - татуировки, http://ei.by/ B2B каталог, http://222.by/ - Сайт города Могилёва, http://017.by/ - сайт города Минска, http://dvina.by/ - Витебский сайт, http://vgomele.by/ -Гомельский сайт, http://vgrodno.by/ - сайт Гродно, http://bug.by/ - брестский сайт, http://absinth.by/ - Абсент в Беларуси, http://direktor.by/- блог директора, http://diwo.by/ - уроки фотошопа, http://asterisk.by/ - форум астериска, http://diskoteka.by/ - дискотеки, http://rezepty.by/ - народные рецепты, http://scooter.by/ всё о скутерах, http://soldat.by/- армейский сайт, http://igrok.by/ всё о покере, http://akno.by/ - всё о окнах, http://beautiful.by/ - красота, http://bogi.by/ о религиях, http://caviar.by/ о икре, http://mp4.by/, http://tabun.by/ о лошадях, http://telega.by/ автосайт и мн. другие
  • Более 1500 готовых модулей;
  • Наличие готовых модулей для электронной коммерции, построения сообществ и прочих популярных задач;
  • Рекомендации к применению от таких компаний как IBM;
  • Ежегодная конференция разработчиков (более 430 участников побывало на конференции в 2007 году, прошедшей в Барселоне);
  • Локализация более чем на четыре десятка языков;
  • Хорошее быстродействие, обеспечиваемое встроенным механизмом кеширования;
  • Работа на популярной LAMP-платформе.

Подходы к организации содержания сайта

Модульно-ориентированный подход

В системе имеются различные функциональные модули (лента новостей, форум, блог, статические страницы и пр.), содержание каждого модуля существует только в его контексте.

В структуре сайта связаны, как правило, материалы порождаемые одним модулем.

Контентно-ориентированный подход

Содержание — первично. Модуль, создающий, обрабатывающий или выводящий материал не определяет положение материала в структуре сайта.

Одни и те же материалы могут обрабатываться разными модулями, относиться к разным типам материалов, но объединяться содержательной тематикой и потому быть связанными.

Drupal пропагандирует контентно-ориентированный подход к организации содержания сайтов.

Таксономия Drupal

В нашем случае таксономию можно понимать как классификацию, применительно к материалам сайта.

Таксономия в Drupal
Механизм, позволяющий создавать произвольное количество категорий (тегов, терминов), ассоциировать с ними материалы сайта (с целью классификации последних).

Категории могут образовывать списки, древовидные иерархии или сложные структуры, где элемент может иметь несколько родителей и несколько дочерних элементов.

Категории объединяются в группы (или словари). Группа определяет виды связей категорий, типы контента к которым они могут применяться и пр. Категории вне групп создаваться не могут.

Принятые синонимы:

  • Тег — термин — категория;
  • Словарь — группа.

Инструменты Drupal помогают создавать удобную навигацию по сайту произвольной структуры, основываясь на категориях и связями между ними.

Понимание принципов организации контента в Drupal — основной барьер для быстрого и безболезненного освоения системы.

Иллюстрация связей материалов факультетского сайта, возможных в рамках модульно-ориентированного подхода (голубые непрерывные линии) и таксономии (пунктирные линии цветов, соответвующих категориям):

Таксономия против древовидной иерархии

Цветные прямоуголники внизу иллюстрации — представляют категории таксономии, разбитые на два независимых словаря (слева: учебные предметы, справа: категории посетителей сайта). Оба словаря имеют простейшую структуру списков. Категории в данных словарях никак не связаны между собой, но это не мешает какому-то одному материалу сайта относиться сразу к нескольким категориям даже и из одного словаря.

Возможности локализации Drupal

  • Использование кодировки UTF-8;
  • Локализация с помощью библиотеки gettext (см. http://uneex.cs.msu.su/uneex/LecturesDistro2007/12_Translate);
  • Возможность перевода элементов действующего сайта через веб-интерфейс на работающем сайте;
  • Удобные средства для локализации модулей сторонней разработки через po-файлы (см., например, http://drupal.org/project/potx и http://www.poedit.net);
  • Существующие сообщества переводчиков и готовые переводы ко многим модулям (см. http://drupaler.ru).

Документация Drupal

  • Документированный API для разработчиков;
  • Локализованные руководства и wiki для пользователей Drupal;
  • Встроенная справочная система для администраторов сайта и пользователей.

Расширяемость Drupal

  • Установка качественных модулей, не требует особой квалификации (существуют даже модуль для автоматической инсталляции других модулей);
  • Встроенные функции API и модулей могут замещаться или расширяться сниппетами;
  • Drupal поддерживает технологию Ajax, разработчикам модулей доступна популярная библиотека JQuery;
  • Существует обширный набор модулей для интеграции Drupal с другими популярными веб-сервисами и приложениями;
  • Зависимости между модулями отслеживаются.

Инсталляционные профили Drupal

  • Возможность локализации, предварительной настройки и комплектации нужными модулями с помощью создания инсталляционных профилей — специально подготовленных дистрибутивов Drupal;
  • Процесс создания инсталляционных профилей документирован.

Оформление Drupal

  • Большое количество готовых бесплатных тем оформления, в том числе, распостраняемых самостоятельными проектами;
  • Документированное содержание тем, возможность интеграции сниппетов в темы;
  • Темы построенны на основе движка PHPTemplate, но существет возможность применения и других популярных движков;
  • Разделение представления, содержания и функциональности.

Управление доступом в Drupal

  • Разграничение доступа к различным функциям и материалам всей системы и модулей на основе ролей (аналог групп пользователей в Unix);
  • Наличие модулей для автоматического управления ролями;
  • Настраиваемые подсистемы регистрации и авторизации пользователей, расширяемые с помощью модулей.

Готовность Drupal к поисковой оптимизации (SEO)

  • Поддержка ЧПУ-ссылок в системе и на уровне базовых модулей;
  • Модули для управления мета-тегами;
  • Модули улучшающие индексацию конкретными поисковыми системами.

Рекомендуемые источники дополнительной информации

  • http://drupal.ru — сайт русскоязычного сообщества пользователей;
  • http://setegnom.com/booktree — русскоязычное руководство пользователя (рекомендуется в первую очередь для изучения начинающим пользователям системы);
  • http://drupaler.ru — сообщество локализации модулей;
  • Drupal.by - белорусское сообщество друпалеров
  • drupalcookbook - рецепты друпала
  • Seo и Drupal - Seo и Drupal
  • http://drupal.ru — сайт русскоязычного сообщества пользователей;
  • http://drupal.org — официальный сайт;
  • http://drupal.ru/node/4195 — руководство по установке русского инсталляционного пакета Drupal.
  • Видео уроки - Видео уроки по друпалу на русском языке
  • robots.txt - Настройка robots.txt на друпале.
  • Коммерческое Создание сайта на Drupal.

Также имеется готовая форма пользовательского поиска Google, ищущая сразу по большинству сайтов о Drupal`е (включая, в основном, русскоязычные):

Оригинал

Создание сайта в Беларуси ООО "Интернет-маркетинг"