Drupal | это... Что такое Drupal? (original) (raw)

Drupal

Druplicon.vector.svg
Drupal 7 screenshot.png
Тип CMS/CMF
Разработчик Дрис Бёйтаерт (Dries Buytaert) и сообщество разработчиков
Написана на PHP[1]
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 7.18[2] (7 ноября, 2012 г.)
Лицензия GNU GPL
Сайт drupal.org

Drupal (друпал) — система управления содержимым (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие[3]). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.

Содержание

История проекта

Начал разработку в 2000 году бельгиец Дрис Бёйтарт (Dries Buytaert), который и поныне является руководителем проекта. Название drupal является искажённым произношением голландского слова druppel (капля) и появилось в результате забавной ошибки. В 2000 году несколько студентов антверпенского университета использовали общий ADSL-модем для доступа в интернет, и для общения пользователей этой маленькой локальной сети Дрис создал внутренний сайт. Программа, на которой работал сайт, не имела имени, пока Дрис не собрался регистрировать доменное имя для нового сайта, и в результате опечатки вместо dorp.org (от голландского dorp — деревня, вполне уместное имя для небольшого сообщества) был зарегистрирован drop.org (англ. drop — капля). Аудитория нового сайта со временем сменилась на интересующихся развитием новых веб-технологий, и новый сайт постепенно перешёл из любительского эксперимента в проект по обсуждениям идей веб-программирования. В 2001 году Дрис опубликовал исходный код drop.org под именем «Drupal». С тех пор разработка переместилась на зарегистрированный позднее сайт drupal.org, который приобрёл статус официального сайта проекта[4].

Со времени создания в процесс разработки были вовлечены сотни людей. Официальные разработчики ядра сейчас — это десятки человек, но много людей присылают свои патчи, включаемые в код системы. Также функциональность движка расширяется дополнительными модулями, которые создают сторонние разработчики. Например, в релизе 4.6 приняли участие 50 человек, приславших 338 поправок к коду, а в релизе 4.7 приняли участие уже 338 разработчиков, приславших примерно 1500 поправок. За пять лет существования проекта (к 2006 году) вышло 13 релизов. На данный момент (январь 2011) было разработано более 7000 дополнительных модулей, расширяющих базовые функции CMS. По статистике обращения к обновлениям движка на март 2009 года в интернете в пределах 120 тыс. активных сайтов на Drupal 6 (без учёта сайтов находящихся за файрволлами, сайтов с отключённым механизмом обновлений). Это также не учитывает сайтов работающих на ранних версиях Drupal.[5]

В 2007 году Дрис Бёйтарт создал фирму Acquia, направленную на коммерческую поддержку проектов и сервисов, основанных на Drupal, вдохновленный успехами Canonical и RedHat, построивших бизнес на поддержке открытых проектов. В 2008 Бёйтарт получил учёную степень доктора философии по информатике при университете Гента.

Со временем вокруг международного сайта появились национальные сообщества. Сейчас работают более 20 национальных сайтов поддержки на разных языках,[6] включая русскоязычное сообщество drupal.ru, основанное в 2003 году.

Эмблема проекта

Эмблема русского сообщества Drupal

После того, как Drupal был создан, очевидным вопросом стал выбор и создание эмблемы проекта. Участники сообщества считали, что она должна быть связана с каплей или водой. Первоначально эмблема Друпала изображалась как капля в круге. Со временем пришла идея сделать эмблему в виде карикатурной капли с лицом. Стивен Виттенс (Steven Wittens) создал трёхмерную каплю, но идея не пошла в массы главным образом потому, что трёхмерный объект трудно печатать, редактировать и т. д.

Текущая эмблема Друпала придумана Кристьяном Янсеном (Kristjan Jansen).[7][8] Она представляет собой каплю, изображающую лицо. Глаза показываются как две соединённые капли в виде знака бесконечности и выражают в символической форме бесконечные возможности Друпала.

Эмблема русскоязычного сообщества является комбинацией эмблемы Drupal с цветами российского флага, в виде четырёх блоков, символизирующих модульность системы.

Награды

Технические особенности

Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и новостных сайтов до информационных архивов или социальных сетей. Имеющуюся по умолчанию функциональность можно увеличивать подключением дополнительных расширений — «модулей» в терминологии Drupal. Наиболее важные функции, предоставляемые Drupal «из коробки»:

Поддержка локализации

Система поддерживает локализацию интерфейса на более чем 100 языкаx (однако не все переводы являются полными). Имеется поддержка русского языка. В Drupal используется собственный механизм для локализации с хранением переводов в базе данных, наравне с остальным содержимым сайта. При этом несложной является адаптация к работе со стандартной библиотекой gettext[источник не указан 235 дней]. Импорт и экспорт переводов сайта осуществляется в виде po-файлов (формат используемый библиотекой gettext).

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

Методы структуризации содержимого

В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.

Другая парадигма появилась с созданием в Drupal расширения Content Construction Kit (CCK). CCK позволяет дополнять документы новыми полями различных типов — от полей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Также посредством дополнительных модулей к CCK (например Node reference) можно организовать связи между документами, не используя механизм таксономии.

Механизмы расширения функциональности

Drupal имеет модульную архитектуру с компактным ядром, предоставляющим API, к которому могут обращаться модули. Стандартный набор модулей включает такие функции, как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и другие. Дизайн сайта меняется также посредством специальных модулей — «тем оформления».

Модули

Несколько примеров наиболее популярных модулей, которые можно скачать в репозитории на drupal.org:

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

Темы оформления

Дизайн сайта на Drupal можно менять с помощью тем оформлений. В качестве шаблонизатора («движок темы» в терминологии Drupal) используется PHPTemplate, однако есть возможность использовать Xtemplate[25], Smarty[26], Twig[27] и другие.

Начиная с версии 4.7 Drupal поддерживает технологию Ajax для динамической подгрузки содержимого без полного обновления страниц. В версии 5 для работы с JavaScript добавлена библиотека JQuery. C версии 6.0 появилась возможность динамически изменять формы посредством AHAH. В версию 7.0 вошла библиотека jQuery UI.

Системные требования

Drupal в первую очередь ориентирован на платформу LAMP, но возможны варианты использования другого системного ПО.

Недостатки

Примеры реализации сайтов на Drupal

Приведены примеры нескольких сайтов с высокой посещаемостью (десятки тысяч посетителей в сутки и выше), работающие на Drupal:

Интересные факты

Активисты сообщества Забей организовали в Минске (Беларусь) Drupal-клуб. Отдельные фанатичные участники под влиянием Drupal нарисовали огромное 3D-граффити и записали трэк[36].

Литература

Подробный список литературы можно найти на оф. сайте[37].

Книги на русском языке

Drupal 7

Drupal 6

Drupal 5

Книги на английском языке

Примечания

  1. System requirements | drupal.org
  2. CHANGELOG.txt
  3. Modules | drupal.org
  4. История проекта (англ.)
  5. Drupal 6 growth | Dries Buytaert
  6. Список сообществ Drupal
  7. History of the Druplicon logo, drupal.org (Проверено 24 марта 2010)
  8. История Друпликона, перевод статьи с английского, сайт переводчика
  9. Друпал — победитель Webware 100
  10. Drupal overall winner of the Packt Open Source CMS awards (англ.)
  11. Open Source CMS Award Previous Winners | Packt Publishing Technical & IT Book and eBook Store (англ.)
  12. Bossie Awards 2010: The best open source applications (англ.)
  13. Views
  14. Panels
  15. Services
  16. WYSIWYG
  17. Apachesolr
  18. Panels everywhere
  19. Features
  20. Backup and migrate (BAM)
  21. Views bulk operations
  22. Devel
  23. Drush
  24. Memcache
  25. XTemplate theme engine | drupal.org
  26. Smarty theme engine | drupal.org
  27. Twig template engine | drupal.org
  28. Статья по адаптации на сайте IBM Developer Networks
  29. Программирование в Drupal с точки зрения ООП
  30. Обновление системы (для пользователей)
  31. Обновление модулей (для разработчиков)
  32. Who is Using Drupal? (2008). Архивировано из первоисточника 23 августа 2011.
  33. ubuntu.com использует Drupal! | Drupal Россия
  34. Under First Open-Source Prez Obama, White House Adopts Drupal, but at What Cost? | Fast Company
  35. Drupal-клуб. Будь социальным!|Смотреть видео
  36. Books about Drupal | drupal.org

Ссылки

Просмотр этого шаблона PHP
Люди Энди ГутмансРасмус ЛердорфЗеев Сураски
Ресурсы Zend Engine • Библиотеки • PEAR • Редакторы • Акселератор
Реализации HipHopQuercus • Project Zero • PhalangerParrot
Фреймворки AppFlower • CakePHPCodeIgniterDrupal • FuelPHP • Horde • Joomla! • Lithium • Midgard • MODxQcodo • Seagull • SilverStripeSymfonyTYPO3XarayaYiiZend Framework • Zeta Components
Тестирование PHPUnit • PHP Unit Testing Framework • SimpleTest
ORM PropelDoctrine
IDE AppFlower • Eclipse PDTPhpStormNetBeansRadPHPPHP DevelStudio • PHPEdit • Zend Studio
Компилятор Phalanger
Widget toolkit wxPHP • PHP-GTKPHP-Qt
Category Категория
Просмотр этого шаблона Веб-фреймворки
ASP.NET DotNetNukeASP.NET MVC • MonoRail
ColdFusion ColdSpring • Fusebox • Mach-II • Model-Glue
Java Apache (CocoonStrutsVelocity • WebWork 2) • AppFuse • AraneaEclipseFacelets • Flexive • FreeMarkerGoogle Web ToolkitGrailsHamlets • ItsNat • JavaServer Faces • Jspx • JBoss Seam • jZeno • Makumba • OpenLaszlo • OpenXava • Reasonable Server Faces (RSF) • Restlet • RichFaces • RIFE • Shale • SmartClientSpringStripesTapestry • ThinWire • VaadinWebMacro • WebWork • WebObjects • WicketZK
JavaScript node.js • AJILE • Clean AJAX • Dojo Toolkit • Echo • Ext JSjQueryjMaki • Microsoft AJAX Library • MochiKit • MooToolsPrototype • qooxdoo • Rialto Toolkit • Ricoscript.aculo.usSmartClientSprySproutCoreYahoo! UI LibraryUnderscorePhoneGap
Perl CatalystInterchange • Titanium • Maypole • HTML:Mason
PHP Acode • Akelos • BlueShoes • CakePHP • Canvas • CodeIgniterCotonti • DIY • Drupal • Fuse • Horde • KohanaLiveStreet • PHP For Applications • PHPOpenbiz • PRADO • Qcodo • Seagull • Solar • Symfony • W3Core • YiiZend • Zoop • Joomla
Python CherryPyDjangoGAE framework • Karrigell • Nevow • Porcupine • PylonsPyramid • Spyce • TurboGearsTwistedTornado • Webware • Zope
Ruby Camping • Nitro • IOWA • Ramaze • Cerise • MerbRuby on RailsSinatra • Padrino
Прочиеязыки Alpha Five • Fusebox (ColdFusionPHP) • Helma Object Publisher (Server-side) • Lift (Scala) • Magic (Scheme) • OpenACS (Tcl) • Seaside (Smalltalk) • UnCommon Web (Common Lisp) • Yaws (Erlang) • Oracle Application Express (PL/SQL)
Просмотр этого шаблона Система управления содержимым
1С-Битрикс | ABO.CMS Amiro.CMS АТИЛЕКТ.CMS B2evolution BIGACE CMS Made Simple CMS Mail Keeper CMSimple Concrete5 Contao Cotonti DataLife Engine Danneo DotNetNuke Drupal E107 e2 eZ publish InSales Joomla HostCMS MODX Mambo Open Source MediaWiki Movable Type NetCat CMS Newscoop NPJ Nucleus CMS OpenCms PHP-Fusion PHP-Nuke Plone Prestashop S.Builder Sapid SharePoint Site Sapiens TYPO3 Textpattern TikiWiki uCoz UMI.CMS WikkaWiki WordPress XOOPS Xaraya Zikula
Популярные движки для автономных блогов
WordPress | Joomla Drupal Textpattern Nucleus CMS Movable Type B2evolution e2 Habari