Движок Drupal. Друпал движок
Движок Drupal - Wordpress Master
Движок Drupal
Данная платформа прекрасно подходит для создание сайтов которые занимаются продажей какой либо продукции.
В движок встроен механизм с помощью которого вы можете с легкостью загрузить от сканированные листы книги или журнала на сайт заместо контента.
На мой взгляд это очень удобно и просто к сожалению такую фишку нельзя проделать на других движках например таких как wordpress поскольку этот движок для блогов и навигация по выложенному вами контенту будет не удобно и задом наперед.
Движок drupal использует в качестве базы данных MySql, PostgreSql также любые СУБД которые поддерживают PEAR.
Что же вы сможете создать при помощи этого движка:
— Форум
— Блог
— Информационные сайты
— Сайты новостей
— Сайты для электронной коммерции
Как и в любом движке drupal не исключение и имеет перечень модулей такие как RSS, сборщик новостей, блог, форум, голосования, загрузка файлов. Это стандартные функции которые уже включены в движок.
Панель управления данного движка простая и не требует от вас знаний html и css, есть большое Но для новичка данный движок будет сложен в освоении при этом уйдет много времени на ознакомление всех функций.
Вам на выбор доступны шаблоны и модули которые вы можете скачать с официального сайта или с интернета.
Движок drupal плюс ко всему многофункциональный, он опережает другие движки по количеству опций и функциональности.
При полном освоении данного движка вы также можете создать профессиональный интернет магазин.
Пределов у этого движка нету вы можете творить на нем сайт любой сложности если вы не новичок.
Если вы решили создать многофункциональный сайт с множеством функций для пользователей то лучше drupal вам не найти.
Плюс ко всему данный движок бесплатен.
Зашита находится на высоком уровне то есть так просто спереть ваш контент не удастся.
comments powered by HyperCommentswordpressmaster.ru
CMS Drupal
Интерфейс пользователя позволяет управлять сайтами на Drupal без знаний HTML, веб-вёрстки и языков программирования. Система разрабатывается международной командой разработчиков, как программное обеспечение с открытыми исходными текстами, защищенными общественной лицензией GNU.
Обзор возможностей Drupal
Если сайт часто обновляется и приходится менять его структуру или если он является чем-то большим, чем просто онлайновое хранилище файлов — не обойтись без использования скриптов. C некоторого момента развития сайта затраты на поддержку десятков разнообразных скриптов, написанных разными авторами с использованием различных программных технологий возрастают настолько, что удобства их использования становится сомнительным. CMS (Content Management System) — набор программных средств, предоставляющий комплексный подход к созданию сайта.
Drupal — один из представителей CMS. Система может быть использована для построения самых разных типов сайтов. В базовой поставке возможности движка наиболее хорошо подходят для построения интернет-сообществ: новостных и форумных сайтов, персональных и коллективных блогов и подобных вещей, где основная задача — не потеряться в массе регулярно поступающих материалов, иметь возможность их структурировать и архивировать для легкого доступа в будущем. Функционал наращивается дополнительными модулями, которые можно доустанавливать по мере необходимости.
Концепции Drupal
- Механизмы рубрикации. Каждый документ сайта может входить в одну или несколько рубрик. Сами же рубрики могут составлять списки или сложные иерархические структуры произвольной вложенности (с множественными предками и перекрестными ссылками элементов).
- Интеграция всех компонентов. Возможна сквозная рубрикация по всем типам документов сайта (например список ключевых слов, общий для форумов и блогов). Форум с выводом интересных новостей на главную страницу или новостной сайт с блогами и видеопрезентациями — все это можно уложить в единый рубрикатор (или несколько рубрикаторов) и это будет выглядеть частями единого сайта, а не разрозненными страничками объединенными лишь общим дизайном.
- Готовые решения типовых задач. Новостной сайт, сайт-визитка компании, блог или форум — такие сайты можно построить пользуясь только модулями движка идущими в поставке, вам нужно только включить соответствующие модули, настроить их по своему вкусу и перенести сайт на хостинг.
- Навигация и поиск. Для удобства доступа к архивным материалам служат рубрикация контента и поиск с учётом видов контента, рубрик и содержимого. Документы сохраняют неизменные ссылки все время своей жизни (т.н. перманентные ссылки). Также с помощью коротких ссылок и псевдонимов сайт приобретает запоминающиеся имена разделов и отдельных страниц, не использующие специальных символов и поэтому хорошо индексируемые поисковыми системами. На сайте Drupal вы не увидите длинных неудобоваримых ссылок типа modules.php?op=modload&name=News&file=article&sid=166&mode=&order=0&thold=0 (пример с реального сайта), которыми по сию пору страдает немало CMS.
Виды сайтов из коробки?
Какие виды сайтов можно получить в наборе модулей «из коробки». Простейший и самый популярный вариант — персональный блог, с возможностями комментирования статей. Также легко настраивается сайт сообщества — форум, персональные блоги пользователей, новости на главной странице. В стандартной комплектации легко можно получить сайт-визитку компании, если вас устроят дефолтные шаблоны тем оформления из поставки (в настройках можно будет сменить цвета тем оформления и логотип, что может быть достаточным для простейших сайтов). Вообще пофантазировав, можно придумать много разных применений, а если задействовать огромный набор дополнительных модулей, которые доступны на drupal.org, то пожалуй и фантазии не хватит придумать все возможные варианты использования.
Подробнее о функционале
- Таксономия (taxonomy) — оригинальная методика, присущая именно этой системе, для задания структуры сайта, способ отделить структуру от представления. С помощью таксономии можно определить произвольное число рубрик, в которых будут в дальнейшем помещаться материалы сайта. Эти рубрики могут быть представлены как плоские списки или иерархические структуры произвольной вложенности (как древовидные, когда элемент имеет только одного родителя в иерархии, так и произвольные, когда элемент может иметь сразу нескольких родителей). В результате получаем такую схему: документы (nodes) различных типов (node types) ассоциируются с рубриками (terms), рубрики в свою очередь разбиваются на принадлежность к словарям (vocabularies). Такая схема позволяет выстраивать на сайте несколько независимых структур, ассоциируя одни и те же документы (как бы листья на структурном «дереве» сайта) с различными структурами. Пример: словарь «Форумы» задаёт дерево форумов/подфорумов произвольно вложенности и применяется только к документам типа «форумный топик», словарь «Новости» — плоский список рубрик для новостных публикаций (документы типа «статья»), а словарь «Ключевые слова» ассоциируется с обоими типами и по выбранному ключевому слову можно найти как форумные топики так и новости. И т. д.
- Темы оформления — содержимое сайта в Drupal отделено от дизайна, сейчас это уже традиционно для любой порядочной CMS. С помощью сменных тем можно очень значительно изменять дизайн не трогая при этом содержимое и структуру сайта. Системаl не привязана к какому-то одному «единственно верному» механизму реализации тем, разработчик сайта может выбирать наиболее удобные ему способы формирования дизайна сайта. Но Drupal предлагает ряд готовых решений в виде движков тем (theme engines), таких как например xtemplate (темы с шаблонами в XML) или phptemplate (темы с шаблонами на PHP). Однако значительных изменений дизайна можно порой добиться манипуляцией стилями.
- Комментарии — любой документ сайта посетители могут комментировать. Конечно, если в настройках им разрешена эта возможность — можно ограничивать возможность комментариев для отдельных документов или целиком для типов документов, а также настраивать их представление (нитевое или плоское, рейтинг и фильтрация по нему и т. п.). Для анонимных посетителей предусмотрены поля для их идентификации (имя, email, адрес сайта), но эта возможность также отключаема.
- Дневники (blogs) — популярное в интернете развлечение, известное как «блоги» доступно в Drupal «из коробки». Ведение дневников, возможность комментировать их другим пользователям, а также поддержка через XML-RPC внешних программ-клиентов для помещения заметок в дневники.
- Подборка сайта (collaborative book) — идея в чем-то похожая на Wiki, когда каждый пользователь может вносить свои дополнения и исправления в текст. В реализации Drupal документы могут проходить через очередь модерации. Большинство документов сайта могут быть включены как страницы книги. Это можно использовать например для архивации обсуждений форумов, когда из наиболее интересных обсуждений можно составить книгу-архив. При этом включенные в книгу материалы по прежнему остаются доступными в своих разделах (т. е. форумное обсуждение будет видно на форуме, но также будет являться страницей книги сайта).
- Форум — имеется встроенный движок форума, удачно вписывающийся в структуру всего сайта. Поскольку структура форумов строится на таксономии, возможно создание категорий и форумов произвольной вложенности. Включены основные форумные функции, однако отсутствуют средства массовой модерации, поэтому в случае построения активных форумных сайтов, содержащих сотни тысяч или миллионы сообщений форум Drupal не будет удобен — лучше в этом случае посмотреть в сторону специализированных форумных движков (phpbb например).
- Новости в оффлайн (content syndication) — система управления контентом Drupal экспортирует большинство материалов в формате RDF/RSS, Atom и некоторых других, удобных для просмотра в оффлайн с помощью внешних программ, либо для автоматизированной публикации на других сайтах.
- Сбор новостей — новости предоставляемые в RDF/RSS с других сайтов могут собираться Drupal и отображаться на сайте.
- Разграничение прав доступа — основано на присвоении одной или нескольких ролей пользователям, непосредственно права доступа к различным функциям сайта закрепляются за ролями. Подключаемые модули сами определяют к каким из своих функций дать доступ определённым ролям. Понятная и логичная схема, входящая в стандартную поставку Drupal, достаточна для большинства задач. Для случаев, когда подобной схемы недостаточно, Drupal предоставляет более мощный механизм, основанный на присвоении прав (на просмотр, создание, изменение и удаление) каждому отдельному документу. Но интерфейс для управления этим механизмом в текущей версии CMS отсутствует, для его использования предлагаются дополнительные модули.
- Встраиваемые скрипты — в Drupal возможно включение PHP-скриптов в любых документах сайта (разумеется это ограничено в целях безопасности и доступно не всем пользователям). В скриптах можно обращаться к функциям API Drupal — это позволяет оперативно создавать динамические странички с функциональностью не предусмотренной движком, не прибегая к написанию отдельных модулей.
- Интернационализация — Drupal предоставляет различные механизмы для интернационализации и локализации интерфейса (не содержимого) сайта. В том числе возможность правки переводов «на лету» через вебинтерфейс (для переводов хранящихся в БД). Также удачной особенностью архитектуры Drupal является повсеместное использование в нем Unicode — все тексты хранятся в UTF-8, в этой же кодировке отдаются новости и почтовые сообщения. Такая унификация позволяет публиковать на сайте материалы на различных языках не требуя переключения кодировок в браузере — на одной страничке мирно уживутся тексты на русском, немецком и китайском. Следует отметить, что для получения полной многоязычности (синхронное ведение содержимого сайта, а не только интерфейсных надписей на многих языках) встроенного решения нет (но предлагается доп. модуль i18n, либо для сайтов не требующих синхронизации разноязычного содержимого можно использовать возможности мультисайтинга Drupal).
Эргономика
- Персонализация — Drupal позволяет пользователям настраивать представление сайта по собственному вкусу. Это включает выбор тем и набор информационных блоков, которые пользователь желает видеть на сайте.
- Перманентные ссылки (permalinks) — каждый документ (node) созданный на сайте, получает на все время своего существования уникальный ID, ссылка на страницу для просмотра этого документа всегда будет оставаться неизменной, к какой-бы категории или типу этот документ не относился. Например перемещение обсуждения из одного форума в другой не приведет к изменению ссылки на это обсуждение.
- Короткие URL (friendly URLs) — Drupal использует механизм mod_rewrite сервера Apache для получения эстетично выглядящих именований страниц сайта, позволяя избежать использования параметров в строке URL. Это также значительно улучшает отношение многих поисковых систем к сайту, поскольку не все поисковики любят возиться со страничками содержащими '?', '&' и прочие спецсимволы в строке URL.
- Псевдонимы (URL aliasing) — можно присваивать альтернативные имена страницам, например чтобы дать им более запоминающиеся названия: www.example.com/node/view/31 -> www.example.com/about.
- Управление версиями (revisions) — при изменении любого документа сайта можно создать новую версию документа, при этом хранится история версий и при необходимости можно откатиться к старым правкам документа.
- Общественная модерация — может быть удобна для некоторых типов сайтов, например для сайтов различных сообществ, где в наполнении сайта материалами участвует большое количество пользователей. Такая модерация представляет собой механизм одобрения материалов сайта самими его посетителями (или отдельными их группами). Каждый материал имеет свой рейтинг и пользователи могут повышать его или понижать — в результате популярные и полезные документы могут быть опубликованы, перемещены на главную страницу сайта, вызывающие недовольство пользователей — удалены из списка опубликованных. Этот механизм можно настраивать для различных ролей пользователей.
- Отслеживание обновлений (tracker) — все обновленные документы сайта или материалы к которым появились новые комментарии группируются на общей странице, ссылка на которой присутствует в меню пользователя. Особенно полезно для сайтов имеющих сложную структуру и большое количество разделов.
Поддержка
- Свободное п/о (open source) — Drupal является свободным программным обеспечением, распространяемым под лицензией GNU GPL. Это означает, что используя Drupal вы получаете полные исходные тексты на которых он построен и можете вносить в них собственные изменения. Вы можете беспрепятственно использовать Drupal в коммерческих проектах, соблюдая условия лицензии GNU GPL, которой защищены исходные тексты Drupal.
- Документация — документация поставляется вместе с Drupal и гораздо больше на сайте drupal.org (также drupal.ru), нет каких-либо аспектов реализации закрытых от пользователей, поскольку Drupal является свободным п/о. Впрочем, по этой же причине — документация по некоторым частям системы является не всегда полной, если вообще имеется. Побочный эффект открытых проектов — энтузиасты создают то, что им интересно, а написание документации далеко не всегда увлекательное занятие;)
- Поддержка сообщества — сильная сторона свободного п/о, поскольку пользователи и разработчики, для которых проект является в первую очередь увлекательным хобби, охотнее оказывают помощь, чем в коммерческих проектах, где вы как правило ограничены общением со службой поддержки. Учитывая, что Drupal и CMS вообще — развлечение людей в большинстве своем технически грамотных, техподдержка от сообщества энтузиастов-спецов зачастую эффективнее чем от пофигистичных коммерческих служб. Утверждение впрочем не претендует быть абсолютной истиной:)
- Сторонние фирмы и разработчики — проще найти специалистов для работы с opensource системой (ведь API и исходные коды полностью официально доступны и программисту не составит труда разобраться в архитектуре), чем для работ с проприетарными системами.
Масштабируемость
- Модульность — к небольшому ядру Drupal можно добавлять новые возможности при помощи модулей. Существует большое количество готовых модулей для различных применений — от фильтров для импорта данных и галерей изображений, до систем ведения проектов и электронной коммерции.
o Навскидку несколько примеров дополнительных модулей к Drupal:+ mailhandler — интеграция сайта с электронной почтой (публикация материалов посредством email)+ ubercart — решение для электронного магазина+ ad — система для управления показом рекламных баннеров+ project — управление программными разработками с интеграцией CVS и Subversion+ flowplayer — видеоплеер для сайта (к Drupal предлагается несколько подобных решений с разными видеоплеерами)+ fckeditor — WYSIWYG редакторо (к Drupal адаптировано несколько разных редакторов)+ captcha — традиционное решение для блокировки спама+ ldap — интеграция LDAP с сайтом на Drupalo Список модулей для скачивания на drupal.orgo Форум на drupal.ru с обзорами некоторых модулей
- Кэширование страниц — страницы просмотренные пользователями кэшируются в базе и анонимные пользователи получают страницы из кэша, без повторной генерации каждого информационного блока отображаемого на странице. Это позволяет значительно снизить число запросов к базе данных и увеличить скорость отдачи страниц.
- Многоплатформенность — Drupal поддерживает Apache и MS IIS, СУБД MySQL, PostgreSQL и MS SQL (не составит сложности перевод на любую другую СУБД, поддерживающую ANSI SQL). Наилучшим образом отработана традиционная для хостингов связка Apache на unix (Linux, *BSD и др.) + MySQL, на ней как правило сначала появляются новые возможности и модули Drupal, потом уже адаптируемые к остальным платформам.
Drupal как CMF
Предлагая решения с помощью установки и настройки готовых модулей Drupal также выгодно смотрится в качестве конструктора для программистов, которых не устраивают стандартные решения. Drupal имеет внятный API, с компактным ядром и очень гибкими возможностями кастомизации, включая механизмы «перекрытия» стандартных функций и модулей собственными, что даёт возможности в большинстве случаев изменять поведение ядра и сторонних модулей не изменяя непосредственно их кода.
All systems suck
«All content management systems suck, Drupal just happens to suck less» — Boris Mann at DrupalCON Amsterdam, August 2005.
Эта же фраза много лет назад, совсем о другом популярном продукте Mutt: «All mail clients suck. This one just sucks less.« — Michael R. Elkins, circa 1995
Нет универсальных CMS, оптимальным образом решающих все задачи, функциональность отдельных частей может быть лучше или хуже, чем в других продуктах. Drupal не предендует быть универсальным инструментом для веб (хотя порой его называют «swiss knife for web»), но претендует входить в набор необходимых инструментов вебразработчика. Не все концепции этой системы могут показаться очевидными сходу, как и любая стоящая вещь Drupal потребует уделить ему время — на изучение и понимание.
Пробуйте, те кто изучил эту систему досконально говорят вам — оно того стоит!
Сайт скрипта: www.drupal.org.
Русскоязычный сайт: www.drupal.ru.
pingvinoff.net
Drupal CMS (Друпал)
Drupal (Друпал) — система управления сайтом (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие). Drupal является свободным программным обеспечением защищённым лицензией GPL и развивается усилиями энтузиастов со всего мира.
Система управления содержимым (CMS) Drupal – свободное программное обеспечение, модульная архитектура которого позволяет применять его для построения различных типов сайтов — от блогов и новостных сайтов до информационных архивов, социальных сетей и корпоративных приложений.
На базе Drupal работают миллионы веб-сайтов и приложений, включая WhiteHouse.gov и InfoWorld.com. На базе Drupal Gardens сегодня работает около 30 тыс. сайтов.
Drupal 6
Компания VASCO Data Security International, разработчик систем и сервисов для строгой аутентификации, и специалисты Drupal осенью 2012 года закончили работу над модулем для CMS DRUPAL v6, который позволит веб-разработчикам обеспечить безопасность доступа к сайтам и приложениям за счет интеграции сервиса одноразовых паролей MYDIGIPASS.COM.
Благодаря модулю MYDIGIPASS.COM для DRUPAL v6 интеграция двухфакторной аутентификации на веб-сайтах DRUPAL становится вопросом нескольких настроек. Веб-разработчики, которые используют Drupal v6, могут добавить новый уровень безопасности с помощью строгой двухфакторной аутентификации очень просто, быстро и без дополнительных затрат, в то же время обеспечив высокий уровень защиты доступа конечных пользователей к внутреннему контенту и данным учетных записей при максимальном удобстве.
Drupal 7
По сравнению с шестой версией Drupal 7 должна лучше масштабироваться при работе на больших сайтах с несколькими серверами. Не исключено, однако, что при установке лишь на одном сервере производительность окажется несколько ниже. Drupal используют многие крупные организации. На ней работают сайты Best Buy, Infoworld и американского Белого дома. Система отличается улучшенной поддержкой СУБД, включая добавление нового слоя абстрации СУБД. Усовершенствованы также средства работы с Postgres, обеспечивается поддержка SQLIte.
Drupal 7 позволяет подключаться к архитектуре на базе модулей расширения, что дает, например, возможность использовать значительно более быстродействующие базы данных, такие как MongoDB. Разработчики системы исходили из того, что новое программное обеспечение поступит в распоряжение корпоративных пользователей.
Модернизация Drupal 6 до Drupal 7 требует исполнения скрипта модернизации. Пользователям может потребоваться переписать коды некоторых адаптированных к конкретной версии модулей, а также обновить пользовательские интерфейсы.
К октябрю 2010 года вышло семь альфа-версий Drupal 7 и две бета-версии, первая из которых появилась 7 октября. Авторы рассчитывают выпустить финальную версию в течение ближайших двух месяцев, но перед этим может быть сделано несколько кандидатских версий.
2014: Опасная уязвимость в Drupal 7
20 октября 2014 года компания Digital Security сообщила о необходимости обратить внимание на факт обнаружения опасной уязвимости в Drupal 7. Уязвимость обнаружена почти года назад, однако известно о ней стало недавно.
15 октября 2014 года германская компания SektionEins, специализирующаяся на поиске уязвимостей в веб-продуктах, опубликовала подробности критической уязвимости, позволяющей неаутентифицированному пользователю без каких-либо прав выполнить произвольный SQL-запрос к базе данных на сервере под управлением Drupal 7. Практически сразу в сети начали появляться эксплоиты для применения данной уязвимости, которые позволяли злоумышленнику незаметно изменить пароль администратора Drupal, не имея на это прав в системе.
Опасность уязвимости в том, что она не оставляет никаких следов в системе — выполненные таким способом запросы не регистрируются в файлах регистрации (логах). Кроме того, отключение сайта штатными средствами Drupal (режим техобслуживания) не ограничивает использование вышеописанного бага. Злоумышленник получает прямой доступ к базе данных, что может стать причиной утечки информации.
Уязвимость устранили в Drupal 7.32.
2015: Drupal 8
19 ноября 2015 года вышел релиз свободной системы управления веб-контентом Drupal 8[1].
Система подходит для создания различных категорий веб-проектов - от блогов и персональных страниц до крупных новостных порталов и социальных сетей.
Основные изменения в Drupal 8:
- поддержка предпросмотра и редактирования макетов страниц "на лету". Встроенный полноценный WYSIWYG-редактор на платформе CKEditor;
- средства комплексного моделирования контента с объектами, полями и представлениями. Новые типы полей для почтовых адресов, ссылок, телефонов, и других типов данных;
- полноценные средства для создания и поддержания представлений сайтов на нескольких языках;
- появление в интерфейсе администрирования новых инструментов для адаптации под свои предпочтения как страниц с содержимым и форм, так и служебных административных страниц;
- средства управления конфигурацией. Применение единого универсального хранилища конфигурации, в котором размещаются все типы настроек и данные о том как и где хранятся данные. Возможен экспорт конфигурации в формате YAML для использования в системах контроля версий;
- инструменты для распространения изменений между сайтами в разных серверных средах;
- адаптация страниц для мобильных устройств, а также применение методов адаптивного веб-дизайна и формирование вывода HTML5;
- встроенная поддержка средств для создания веб-сервисов RESTful и доступа к контенту через API на базе форматов JSON или XML;
- улучшенные средства для людей с ограниченными возможностями;
- поддержка применения современных техник программирования на PHP и интеграция с такими популярными библиотеками, как Composer, Symfony2, Guzzle, и Twig;
- существенное повышение производительности фронт-энда;
- расширенные средства кэширования страниц, возможности для интеграции с системами доставки контента (CDN) и веб-акселераторами;
- полная совместимость с PHP 7;
- полноценная поддержка СУБД PostgreSQL и SQLite.
История проекта
Начал разработку в 2000 году голландец Дрис Байтаерт (Dries Buytaert), который и поныне является руководителем проекта. Название drupal является искажённым произношением голландского слова druppel (капля) и появилось в результате забавной ошибки. В 2000 году несколько студентов антверпенского университета использовали общий ADSL-модем для доступа в интернет и для общения пользователей этой маленькой локальной сети Дрис создал внутренний сайт. Программа, на которой работал сайт, не имела имени, пока Дрис не собрался регистрировать доменное имя для нового сайта и в результате опечатки вместо dorp.org (от голландского dorp — деревня, вполне уместное имя для небольшого сообщества) был зарегистрирован drop.org (drop на английском — капля). Аудитория нового сайта со временем сменилась на интересующихся развитием новых веб-технологий и новый сайт постепенно перешёл из любительского эксперимента в проект по обсуждениям идей веб-программирования. В 2001 году Дрис опубликовал исходные коды drop.org под именем «Drupal», с тех пор разработка переместилась на зарегистрированный позднее сайт drupal.org, который приобрёл статус официального сайта проекта[2].
Со времени создания в процесс разработки были вовлечены сотни людей. Официальные разработчики ядра сейчас — это десятки человек, но много людей присылают свои патчи, включаемые в код системы, также функциональность движка расширяется дополнительными модулями, которые создают сторонние разработчики. Например в релизе 4.6 приняли участие 50 человек, приславших 338 поправок к коду, а в релизе 4.7 приняли участие уже 338 разработчиков приславших примерно 1500 поправок. За пять лет существования проекта (к 2006 году) вышло 13 релизов, было разработано более 300 дополнительных модулей, расширяющих базовые функции CMS и по примерной статистике Drupal использовали более 55 тыс. сайтов в Интернете.
В 2007 году Дрис Байтаерт создал фирму Acquia направленную на коммерческую поддержку проектов и сервисов, основанных на Drupal, вдохновленный успехами Canonical и Red Hat, построивших бизнес на поддержке открытых проектов. В 2008 Байтаерт получил учёную степень и теперь собирается полностью сконцентрироваться на развитии своего детища.
Со временем вокруг международного сайта появились национальные сообщества. Первым национальным доменом стал в 2003 году drupal.ru — сообщество пользователей и разработчиков, говорящих на русском языке. Сейчас работают более 20 национальных сайтов поддержки на разных языках. Полный список национальных сообществ можно найти на странице Сообществ Drupal.
Логотип
После того, как Друпал был создан, очевидным вопросом был выбор и создание логотипа. Участники сообщества считали, что он должен быть связан с каплей или водой. И первоначально логотип Друпала изображался как капля в круге. Со временем пришла идея сделать логотип в виде карикатурной капли с лицом. Стивен Виттенс (Steven Wittens) создал трёхмерную каплю, но идея не пошла в массы главным образом потому, что трёхмерный объект трудно печатать, редактировать и т. д.
Текущий логотип Друпала придуман Кристианом Дженсеном (Kristjan Jansen). Он представляет собой каплю, изображающую лицо. Глаза показываются как две соединённые капли в виде знака бесконечности и выражают в символической форме бесконечные возможности Друпала. Дополняют лицо полукруглый нос и озорная улыбка.
Технические особенности
Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и форумов, до информационных архивов или сайтов новостей. Функциональность обеспечивается подключаемыми модулями, обращающимися к общему API Drupal. Стандартный набор модулей включает, например, такие функции как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и др. Большое количество дополнительных модулей, значительно расширяющих базовые функции можно скачать с официального сайта.
Наиболее важные функции предоставляемые модулями входящими в поставку Drupal:
- единая категоризация всех видов содержимого (таксономия) — от форумных сообщений до блогов и новостных статей
- широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории
- вложенность категорий любой глубины
- поиск по содержимому сайта, в том числе поиск по таксономии и пользователям
- разграничение доступа пользователей к документам (ролевая модель)
- динамическое построение меню
- поддержка XML-форматов:
- вывод документов в RDF/RSS
- аггрегация материалов с других сайтов
- BlogAPI для публикации материалов с помощью внешних приложений
- авторизация через OpenID
- короткие URL (иначе «человеко-понятные» — ЧПУ)
- поддержка сменных тем оформления сайта с предоставлением нескольких готовых вариантов
- переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента
- возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)
- раздельные конфигурации сайта для различных виртуальных хостов (в том числе собственные наборы модулей и тем оформления для каждого подсайта)
- механизм для ограничения нагрузки на сайт (автоматическое отключение при высокой посещаемости части информационных блоков и модулей)
- уведомления о выходящих обновлениях модулей
Поддержка локализации
Система поддерживает локализацию интерфейса для различных языков. Drupal 5 имеет переводы интерфейса на 33 языка (однако не все переводы являются полными). Имеется поддержка русского языка. В Drupal используется собственный механизм для локализации с хранением переводов в базе данных, наравне с остальным содержимым сайта. При этом несложной является адаптация к работе со стандартной библиотекой gettext. Импорт и экспорт переводов сайта также осуществляется в виде po-файлов (формат используемый библиотекой gettext).
Полная локализация содержимого поддерживается сторонними модулями (не входят в поставку Drupal, но могут быть скачаны с сайта разработчиков).
В Drupal 6 планируется обновление механизма локализации, для полноценной работы с многоязычным содержимым. Также планируется адаптация к формату XLIFF для хранения переводов (совместимость с gettext сохранится).
Методы структуризации содержимого
В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.
Темы оформления
Дизайн сайта на Drupal строится на основе сменных тем оформления. Как таковой нет единственной схемы построения дизайна, взамен Drupal даёт возможность использовать различные «движки тем», использующие шаблоны, удобные для редактирования (шаблоны XML в движках xtemplate и Smarty или шаблоны на HTML+встроенный PHP в движке phptemplate и т. п.), либо создавать темы оформления напрямую обращающиеся к API Drupal. В комплект поставки Drupal включён движок тем на основе phptemplate и несколько примеров тем. Другие движки тем можно скачать на сайте проекта.
Начиная с версии 4.7 Drupal поддерживает технологию Ajax, для динамической подгрузки содержимого без полного обновления страниц. В версии 5 для работы с JavaScript добавлена библиотека JQuery. C версии 6.0 появилось создание форм посредством AHAH (без полной перезагрузки страниц сайта).
Примеры модулей
Дополнительные модули, размещённые в репозитории на drupal.org, позволяют значительно расширить функциональность системы. Несколько примеров (приведены модули для версии Drupal 4.6, не всегда модули доступны для всех версий системы):
К несомненным достоинствам Drupal следует отнести весьма полную документацию по различным аспектам системы (однако только на английском языке).
Системные требования
Drupal в первую очередь ориентирован на платформу LAMP, но возможны варианты использования другого системного ПО.
- Операционная система: семейство Unix (в том числе FreeBSD, Mac OS X), Windows (любые ОС, на которых может работать интерпретатор PHP)
- Веб-сервер: Apache, Lighttpd (теоретически любой веб-сервер, допускающий исполнение PHP-кода)
- СУБД: MySQL, PostgreSQL (в принципе несложна адаптация к другим реляционным СУБД, например IBM DB2
- PHP версии 4.3.3 и выше
Недостатки
- Критики Drupal ставят в упрёк разработчикам слабое использование объектных возможностей PHP. Действительно, API Drupal практически не использует имеющихся в PHP возможностей ООП. Разработчики аргументируют это слабой реализацией ООП в языке (особенно до версии PHP 5). Объектная модель в Drupal присутствует, но в несколько нетрадиционном для PHP виде.
- Ввиду активного использования базы данных Drupal может быть слишком тяжёл для ресурсов предоставляемых на дешёвых тарифных планах хостинг-провайдеров, хотя для небольших сайтов с посещаемостью в несколько сотен или тысяч посетителей в сутки этих ресурсов будет достаточно.
- В некоторых случаях, особенно при большой посещаемости, использование встроенного механизма кэширования (основанного на использовании БД) может привести к повреждению таблиц в БД
- К недостаткам (но одновременно и к достоинствам) Drupal можно отнести достаточно высокую динамику разработки проекта. Практически в каждом релизе происходят изменения API, когда наряду с добавлением новых функций убираются некоторые старые или изменяются параметры вызова функций. Это приводит к необходимости разработчикам сторонних модулей адаптировать их для работы с новыми версиями Drupal. Однако изменения API и процедура адаптации модулей к новым версиям описываются в документации для каждого релиза, также всегда предлагается механизм автоматизированного апгрейда ядра системы на новую версию.
- Сложная для понимания неподготовленными пользователями система классификации содержимого — таксономия.
- Не очень хорошая поддержка мультиязычных сайтов.
Примеры реализации сайтов на Drupal
Приведены примеры нескольких сайтов с высокой посещаемостью (десятки тысяч посетителей в сутки и выше), работающие на Drupal:
Литература
Полный список вышедших на разных языках книг можно найти на странице drupal.org/node/42200.
Книги на русском языке
- Джон Вандюк, Мэтт Вестгейт «CMS Drupal: руководство по разработке системы управления сайтом», 400 стр., с ил.; ISBN 978-5-8459-1356-2, 978-1-5905-9755-2
Книги на английском языке
- Robert T. Douglass, Mike Little, Jared W. Smith «Building Online Communities with Drupal, phpBB, and WordPress». Apress, ISBN 1-59059-562-9
- David Mercer «Drupal: Creating Blogs, Forums, Portals, and Community Websites», ISBN 1-904811-80-9
- John K. VanDyk, Matt Westgate «Pro Drupal Development», ISBN 139781590597552, ISBN 101590597559
- Matt Butcher «Learning Drupal 6 Module Development», ISBN 1847194443, ISBN 13 978-1-847194-44-2
Ссылки
Со временем вокруг международного сайта появились национальные сообщества. Первым национальным доменом стал в 2003 году drupal.ru — сообщество пользователей и разработчиков говорящих на русском языке. Сейчас работают более 20 национальных сайтов поддержки на разных языках. Полный список национальных сообществ можно найти на странице www.drupal.org/language-specific-communities.
Примечания
www.tadviser.ru