Drupal – мощная CMS для вашего сайта. Обзор CMS Друпал. Drupal wiki
Drupal — WiKi
История проекта
Начал разработку в 2000 году бельгиец Дрис Бёйтарт (Dries Buytaert), который и поныне является руководителем проекта. Название drupal является искажённым произношением голландского слова druppel (капля) и появилось в результате забавной ошибки. В 2000 году несколько студентов Антверпенского университета использовали общий ADSL-модем для доступа в интернет, и для общения пользователей этой маленькой локальной сети Дрис создал внутренний сайт. Программа, на которой работал сайт, не имела имени, пока Дрис не собрался регистрировать доменное имя для нового сайта, и в результате опечатки вместо dorp.org (от голландского dorp — деревня, вполне уместное имя для небольшого сообщества) был зарегистрирован drop.org (англ. drop — капля). Аудитория нового сайта со временем сменилась на интересующихся развитием новых веб-технологий, и новый сайт постепенно перешёл из любительского эксперимента в проект по обсуждениям идей веб-программирования. В 2001 году Дрис опубликовал исходный код drop.org под именем «Drupal». С тех пор разработка переместилась на зарегистрированный позднее сайт drupal.org, который приобрёл статус официального сайта проекта[6].
Со времени создания в процесс разработки были вовлечены сотни людей. Официальные разработчики ядра сейчас — это десятки человек, но много людей присылают свои патчи, включаемые в код системы. Также функциональность движка расширяется дополнительными модулями, которые создают сторонние разработчики. Например, в релизе 4.6 приняли участие 50 человек, приславших 338 поправок к коду, а в релизе 4.7 приняли участие уже 338 разработчиков, приславших примерно 1500 поправок. За пять лет существования проекта (к 2006 году) вышло 13 релизов. На данный момент (январь 2011) было разработано более 7000 дополнительных модулей, расширяющих базовые функции CMS. По статистике обращения к обновлениям движка, на март 2009 года в интернете - в пределах 120 тыс. активных сайтов на Drupal 6 (без учёта сайтов, находящихся за файрволлами, сайтов с отключённым механизмом обновлений). Это также не учитывает сайтов, работающих на ранних версиях Drupal.[7]
В 2007 году Дрис Бёйтарт создал фирму Acquia, направленную на коммерческую поддержку проектов и сервисов, основанных на Drupal, вдохновленный успехами Canonical и RedHat, построивших бизнес на поддержке открытых проектов. В 2008 Бёйтарт получил докторскую степень в области информатики и приборостроения («Computer Science and Engineering»).
Со временем вокруг международного сайта появились национальные сообщества, функционируют более 20 национальных сайтов поддержки на разных языках[8].
Эмблема проекта
После того, как Drupal был создан, очевидным вопросом стал выбор и создание эмблемы проекта. Участники сообщества считали, что она должна быть связана с каплей или водой. Первоначально эмблема Drupal изображалась как капля в круге, со временем пришла идея сделать эмблему в виде карикатурной капли с лицом. Стивен Виттенс (Steven Wittens) создал трёхмерную каплю, но идея не пошла в массы главным образом потому, что трёхмерный объект трудно печатать, редактировать и т. д.
Текущая эмблема системы придумана Кристьяном Янсеном (Kristjan Jansen)[9][10], она представляет собой каплю, изображающую лицо, глаза показываются как две соединённые капли в виде знака бесконечности и выражают в символической форме бесконечные возможности.
Награды
- Трижды — в 2007, 2008 и 2009 годах — система получила награду Webware 100 (присуждается лучшим на сегодня сайтам, сервисам и приложениям Сети)[11];
- Друпал — абсолютный победитель Packt Open Source CMS в 2008 г. и победитель в категории PHP в 2008 и 2009 гг. Основным соперником Drupal была «Joomla!». Победители выбирались жюри из экспертов в своей области, а также посетителями сайта Packt[12][13].
- Победитель конкурса «Best open source applications 2010» в категории «Лучшая система управления web-контентом»[14]
Технические особенности
Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и новостных сайтов до информационных архивов или социальных сетей. Имеющуюся по умолчанию функциональность можно увеличивать подключением дополнительных расширений — «модулей» в терминологии Drupal. Наиболее важные функции, предоставляемые Drupal «из коробки»:
- единая категоризация всех видов содержимого (таксономия) — от форумных сообщений до блогов и новостных статей
- широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории
- вложенность категорий любой глубины
- поиск по содержимому сайта, в том числе поиск по таксономии и пользователям
- разграничение доступа пользователей к материалам (ролевая модель)
- динамическое построение меню
- поддержка XML-форматов:
- вывод документов в RDF/RSS
- агрегация материалов с других сайтов
- BlogAPI для публикации материалов с помощью внешних приложений
- авторизация через OpenID
- символьные осмысленные URL (иначе «человеко-понятные» — ЧПУ)
- переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента
- возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)
- раздельные конфигурации сайта для различных виртуальных хостов (мультисайтинг), в том числе собственные наборы модулей и тем оформления для каждого подсайта.
- уведомления о выходящих обновлениях модулей
Поддержка локализации
Система поддерживает локализацию интерфейса на более чем 100 языкаx (однако не все переводы являются полными). Имеется поддержка русского языка. В Drupal используется собственный механизм для локализации с хранением переводов в базе данных, наравне с остальным содержимым сайта. Импорт и экспорт переводов сайта осуществляется в виде po-файлов (формат используемый библиотекой gettext).
Полная локализация содержимого поддерживается сторонними модулями, которые не входят в поставку Drupal, но могут быть скачаны с сайта разработчиков.
Методы структуризации содержимого
В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.
Другая парадигма появилась с созданием в Drupal расширения Content Construction Kit (CCK). CCK позволяет дополнять документы новыми полями различных типов — от полей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Также посредством дополнительных модулей к CCK (например Node reference) можно организовать связи между документами, не используя механизм таксономии.
Механизмы расширения функциональности
Drupal имеет модульную архитектуру с компактным ядром, предоставляющим API, к которому могут обращаться модули. Стандартный набор модулей включает такие функции, как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и другие. Дизайн сайта меняется также посредством специальных модулей — «тем оформления».
Темы оформления
Дизайн сайта на Drupal можно менять с помощью тем оформлений. В качестве шаблонизатора («движок темы» в терминологии Drupal) используется PHPTemplate, однако есть возможность использовать Xtemplate, Smarty, Twig и другие.[источник не указан 1699 дней]
Начиная с версии 4.7 Drupal поддерживает технологию Ajax для динамической подгрузки содержимого без полного обновления страниц. В версии 5 для работы с JavaScript добавлена библиотека JQuery. C версии 6.0 появилась возможность динамически изменять формы посредством AHAH. В версию 7.0 вошла библиотека jQuery UI.[источник не указан 1699 дней]
Системные требования
Drupal в первую очередь ориентирован на платформу LAMP, но возможны варианты использования другого системного ПО.
- Операционная система: семейство Unix (в том числе FreeBSD, Mac OS X), Windows (любые ОС, на которых может работать интерпретатор PHP)
- Веб-сервер: Apache, Nginx, Lighttpd, IIS Versions 6, 7 (через Fast CGI) (теоретически любой веб-сервер, допускающий исполнение PHP-кода)
- СУБД: MySQL, PostgreSQL (в принципе несложна адаптация к другим реляционным СУБД, например IBM DB2[15])
- PHP версии 4.3.3 и выше (для совместимости со всеми сторонними модулями рекомендуется применять PHP 5, вместо PHP 4). Drupal 7 требует PHP 5.2.4 и выше
Недостатки
- Критики Drupal ставят в упрёк разработчикам слабое использование объектных возможностей PHP. Действительно, API Drupal практически не использует имеющиеся в PHP возможности ООП. Разработчики аргументируют это слабой реализацией ООП в языке (особенно до версии PHP 5). Объектная модель в Drupal присутствует, но в несколько нетрадиционном для PHP виде[16]. В Drupal 7 однако присутствует ряд нововведений, задействующих объектные возможности PHP 5. А в версии Drupal 8 официально принято использование ООП. Однако, в сообществе присутствуют весьма противоречивые мнения по данному поводу.
- К недостаткам (но одновременно и к достоинствам) Drupal можно отнести отсутствие обратной совместимости API. В каждом новом большом релизе происходят большие изменения API, когда наряду с добавлением новых функций убираются некоторые старые или изменяются параметры вызова существующих. Это приводит к необходимости разработчикам сторонних модулей адаптировать их для работы с новыми версиями Drupal. Однако изменения API и процедура адаптации модулей к новым версиям описываются в документации для каждого релиза, также всегда предлагается механизм автоматизированного апгрейда ядра системы на новую версию.[17][18] Плюс данной схемы разработки — нет необходимости тянуть из версии в версию программный слой совместимости со старыми API, что облегчает текущий код системы.
Форки Drupal
Проект Backdrop CMS[19][20][21] был создан как форк Drupal, его целью ставится сохранить принципы архитектуры Drupal, применяемые до Drupal 8.
Сообщество
На drupal.org зарегистрировано более 1 млн учётных записей, из них — 30 тыс. учётных записей разработчиков. Постоянно действуют несколько списков рассылки, открыто несколько IRC-каналов.
Ассоциация Drupal — некоммерческая организация, занимающаяся организацией мероприятий DrupalCon, сбором пожертвований, обучением и продвижением.
Литература
Книги на русском языке
Drupal 7- Тодд Томлинсон. CMS Drupal 7: руководство по разработке системы управления веб-сайтом, 3-е издание = Pro Drupal 7 Development, 3rd Edition. — М.: «Вильямс», 2011. — 560 с. — ISBN 978-5-8459-1743-0.
- Мелансон Б., Нордин Д., Луиси Ж. Профессиональная разработка сайтов на Drupal 7. — СПб.: «Питер», 2013. — 688 с. — ISBN 978-5-4461-0054-5.
- Алексей Черных. Drupal 7. — «Эксмо», 2011. — С. 208. — ISBN 978-5-699-47059-4 rus.
- Колисниченко Денис Николаевич. Drupal 7. Руководство пользователя. — «Диалектика», 2011. — С. 256. — ISBN 978-5-8459-1717-1.
- Ромашов В. CMS Drupal: система управления содержимым сайта (+CD с видеокурсом). — СПб.: «Питер», 2010. — С. 256. — ISBN 978-5-49807-241-8.
- Анжела Байрон, Эдисон Берри, Натан Хог, Джефф Итон, Джеймс Уокер, Джефф Роббинс. Drupal: создание и управление сайтом = Using Drupal. — «Символ», 2010. — С. 576. — ISBN 978-0-596-51580-5 eng. — ISBN 978-5-93286-174-5 rus.
- Джон Вандюк. CMS Drupal: руководство по разработке системы управления сайтом = Pro Drupal development. — «Вильямс», 2009. — С. 576. — ISBN 978-1-43-020989-8 eng. — ISBN 978-5-8459-1513-9 rus.
- Томас Захреддин. Drupal 6 = Das Drupal 6 Praxisbuch. — «Эксмо», 2008. — С. 432. — ISBN 978-5-699-36219-6.
- Дэвид Мерсер. Drupal 6. Создание надежных и полнофункциональных веб-сайтов, блогов, форумов, порталов и сайтов-сообществ = Building powerful and robust websites with Drupal 6: Build your own professional blog, forum, portal or community website with Drupal 6. — «Вильямс», 2009. — С. 272. — ISBN 978-1-847-19297-4 eng. — ISBN 978-5-8459-1556-6 rus.
- В.Ромашов. CMS Drupal: система управления содержимым сайта. — «Питер», 2009. — С. 256. — ISBN 978-5-49807-241-8 rus.
- Мэтт Вестгейт, Джон К. Вандюк. CMS Drupal: руководство по разработке системы управления сайтом = Pro Drupal Developer. — «Вильямс», 2008. — С. 400. — ISBN 978-1-5905-9755-2 eng. — ISBN 978-5-8459-1356-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 978-1-59059-755-2
- Matt Butcher «Learning Drupal 6 Module Development», ISBN 978-1-84719-444-2
Примечания
Ссылки
ru-wiki.org
Модули book и wiki в CMS Drupal
Часто владельцы Drupal-сайтов сравнивают модули book и wiki. Обычно считается, что wiki-модули дают больше возможностей.Но я не могу сказать, что модуль "book" более ущербный, чем wiki-модули. Они просто созданы для разного. И в целом на Drupal-сайте модуль book гораздо более уместен, чем wiki-модули.Сразу оговорюсь, что в Друпале несколько модулей wiki. Под словами "wiki-модули" я буду понимать не конкретный модуль под названием Wiki (он уже умер вместе с информацией, накопленной им), а модули, которые создают wiki-подобную структуру информации.Wiki-модули создают свою структуру данных и реализуют основные возможности wiki. Главная цель у них - дать на Drupal-сайте возможность создавать и хранить материалы в wiki-стиле. Есть фанаты wiki, они с удовольствием ставят wiki-модули. Они рискуют, что в один прекрасный день поддержка wiki-модулей может прекратиться и на сайте окажется куча повисшего в воздухе материала, который не вписывается в стандартные структуры Друпала.Модуль "book" не пытается создавать комфорт для фанатов wiki. "Book" берет от wiki только возможность совместно редактировать страницы. Все остальное в "Book" сильно завязано на стандартные структуры информации в Друпале. Модуль "Book" обслуживает стандартные структуры информации Друпала, совершенно не беспокоясь, что скажут заядлые wiki-сты. В этом сила модуля "book", он плоть и кровь от Друпала и интегрирован в Друпал на 200%. Пока жив Друпал, будут живы все материалы, накопленные через модуль book.Но любителям wiki модуль "book" конечно не нравится. Функции модуля "book"Основных функций 3.1-я функция. Создание подшивок (книг).Любой материал, опубликованный на сайте (статья в дневнике, сообщение на форуме и т.д.) может быть включен в подшивку (книгу).Например, можно создать подшивку (книгу), целиком состоящую из чужих статей, опубликованных на сайте. Одно из очевидных применений - FAQ. Если на форуме появился удачный вопрос и длинная дискуссия по нему, то его можно подшивать в подшивку (книгу) "FAQ".Таких подшивок может быть много. Авторы у каждой страницы в подшивке могут быть разные. Авторы могут менять свои страницы. Они даже могут и не знать, что их страницы включены в книгу. Подшивка (книга) в сравнении с таксономией (классификацией)Классификацию создает администрация сайта. Авторы статей получают возможность выбрать нужную рубрику в классификации. Но часто они делают выбор неправильно или классификация не предусматривает каких-то редко встречающихся вариантов.Подшивка (книга) готовых статей это способ для администрации объединить материалы на одну тему, созданные разными авторами.И таксономия и подшивка раскладывают материал по полочкам. Но если в таксономии авторы самостоятельно выбирают подходящую рубрику, то подшивку (книгу) создает администрация в соответствии со своими нуждами.Также в таксономии под каждый элемент рубрики создается отдельный канал. В нем появляются время от времени статьи, качество их может быть самым разных, от хорошего до совершенно дилетантского или вообще статья может быть не в тему.А в подшивку отбираются только самые лучшие статьи.Поэтому подшивка всегда компактнее, чем таксономия и качество подшивки всегда выше, чем качество таксономии.Можно сказать, что таксономия делит весь поток информации на динамические потоки разных тематик. А подшивка (книга) старательно отбирает из всех материалов самое лучшее и подходящее по теме подшивки и собирает отобранное в удобном для просмотра виде. Как не захлебнуться в информацииКогда сайт мал, то можно публиковать статьи без всякой рубрикации, их слишком мало. Просмотреть одну статью в неделю посетителям сайта не составит труда. Равно как и окинуть одним взглядом все 5 статей, которые есть на сайте.Когда количество статей начинает измеряться десятками, приходится делить их на разные рубрики с помощью таксономии.Когда статей сотни и тысячи, число рубрик измеряется десятками, авторам уже лень искать подходящие рубрики и каждый день добавляется новая информация. Здесь на поле выступают подшивки (книги).Для простоты можете представить себе, что параллельно каждой рубрике в словаре заводится отдельная подшивка (книга) с этой же тематикой. В подшивку отбираются лучшие статьи из этой рубрики. Подшивка - сгусток лучшего, что наработано в рубрике.На практике подшивка не обязана "курировать" какую-то рубрику классификации. Обычно сначала заводят подшивку FAQ. Затем тематика статей на сайте сама подскажет, какую сделать очередную подшивку. Если классификация создается из представлений администрации сайта о том, что должно быть на сайте, то подшивка подстраивается под то, что уже наработано на сайте.Можно легко перемещать страницы внутри подшивки или вообще удалять некоторые страницы из подшивки. Можно удалить и саму подшивку. На страницах, включенных в подшивку это никак не сказывается. Они как жили самостоятельной жизнью, так и будут продолжать жить. 2-я функция модуля book, подача информации в подшивкеНабранный в подшивку материал Друпал укладывает в древообразном виде.У каждой страницы подшивки внизу текста страницы есть навигация в виде списка подчиненных страниц и строки с 3-мя ссылками:
- название предыдущей страницы
- на уровень вверх
- название следующей страницы.
С помощью стороннего модуля можно создать страницу, где все страницы книги развернуты в оглавление. Само оглавление делается из заголовков, которые дают авторы своим страницам. 3-я функция модуля book Это включение в подшивку (книгу) коллективно написанных страниц.Подшивка (книга) создается трудом многих авторов. Модуль "book" доводит идею совместного труда до конца и позволяет включать в подшивку страницы, созданные совместным трудом многих авторов. Назову такие страницы общественными. Если в обычных статьях и комментариях авторство строго поддерживается и редактировать текст может только администрация и редактора, то в общественных страницах круг редакторов расширяется до круга пользователей, которые получили право на редактирование общественной страницы. В этот круг можно включить даже гостей. Причем в качестве автора общественной страницы показывается последний автор, который вносил изменения.Ведется история версий. Пользователи с соответствующими правами могут откатить неудачную правку общественной страницы на одну из предыдущих версий. Применение общественных страницПример 1. Нужна инструкция по обновлению сайта на Друпале.Кто-то из администрации создает набросок шагов для обновления и оформляет его в виде общественной страницы. Другие друпальщики пользуются этой инструкцией и по ходу дела дополняют ее своими примечаниями. Так, шаг за шагом, инструкция приобретает очень подробный вид. И становится такой, что в нее ни добавить, ни убрать.Пример 2. Описание модулейДля каждого модуля заводится отдельная общественная страница. И дается первичное описание, можно даже на английском языке. У кого из пользователей есть время, переводит описание на русский или пополняет его своими впечатлениями.Пример 3. Инструкция для посетителей сайтаМожно создать подшивку с общественными страницами, в которых подробно рассказывается, что и как может делать посетитель на сайте, начиная от авторизации и кончая использованием редактора и подпиской на новости. При соответствующей настройке модуля "book" доверенные пользователи смогут не только сообща править общественные страницы в такой книге, но и даже сами создавать структуру такой книги. ТерминологияТеперь надеюсь читателям понятно, почему результатом работы модуля book является структура, которая имеет 2 перевода на русский язык - подшивка и книга.Когда подшивка (книга) набрана целиком из чужих материалов, то уместнее назвать такую структуру подшивкой в знак того, что страницы подшивки живут самостоятельной жизнью и подшивка только удобный способ объединения разрозненных удачных страниц.Когда подшивка (книга) состоит целиком из общественных страниц, специально написанных для подшивки (книги), то здесь уместнее аналогия с настоящей книгой, где все страницы написаны для книги и не существуют отдельно от книги.Но для самого Друпала все равно, из чего набивается подшивка (книга) - из чужих статей, из общественных страниц или из того и другого вместе. И чужие статьи и общественные страницы для Drupal равноправные составляющие подшивки (книги). Модуль Book в тени Таксономию (классификацию) пользователи Друпала осваивают быстро и используют с удовольствием.Сторонние wiki-модули тоже ставят с охотой. Как же, wiki это круто.Подшивки (книги) это довольно необычная структура информации, которая не встречается в других CMS. Поэтому ее ставят редко. Хотя это самая рабочая лошадка Друпала.Поэтому, как ни странно, владельцы Друпал-сайтов готовы скорее мучаться со сторонними wiki-модулями, чем включить штатный модуль book. Рекомендации1. С первых дней жизни сайта используйте возможности подшивки чужих материалов для создания хотя бы FAQ. Подшивки можно делать даже на сайтах с парой десятков статей.2. Когда немного набьете руку на создании подшивок и на сайте появится сообщество, переходите к освоению общественных страниц. (На сайтах с маленьким сообществом общественные страницы будет просто некому редактировать).Сделайте для старта подшивку с несколькими страницами с инструкциями, отражающими тематику сайта. Объясните посетителям с правом редактировать общественные страницы, что от них ожидается помощь в редактировании.3. Только когда сообщество на сайте очень большое и возможностей book перестанет хватать, только тогда можно подумать (но не ставить) wiki-модули.Линия, до которой даже и думать о wiki не стоит, это 5-10 тысяч посетителей в день. Модуля Book для обслуживания такого сообщества хватает за глаза.Если сообщества стало больше, то можно начинать думать (но не ставить) wiki-модули.Для примера, на сайте Drupal.org в день ходит десятки тысяч посетителей. Там через подшивки ведется FAQ, причем из чужих страниц. Но wiki-модули на Drupal.org почему-то не ставят, хотя силы сообщества Drupal.org вполне хватило бы наполнять wiki материалами и поддерживать их. На многих русских Друпал-сайтах wiki-модули начинают ставить с посещаемости в 100-1000 раз меньшей. При этом даже не попробовав включить штатный модуль book.Дело в том, что концепцию wiki знают все, даже не друпальщики, а концепцию book - единицы из друпальщиков. Надеюсь, моя статья привлечет внимание к использованию модуля book и его начнут чаще включать на Друпал-сайтах. Ссылки
- Модуль Booktree, создает на одной странице оглавление подшивки (книги), демо
- Модуль Diff, красиво показывает разницу между разными версиями одной страницы
- Модуль Wiki, есть только для устаревшей версии Друпала 4.6. Иллюстрация того, как на глазах умирают сторонние модули
- Модуль Liquid, запускает на сайте полноценный wiki-движок, хранит данные в собственном формате. Тоже когда-нибудь может умереть, как и модуль Wiki
- Модуль WikiTools, а-ля wiki модуль, но хранит данные в стандартном друпаловском виде. Даже если умрет, накопленные данные останутся живыми. Если без wiki жизнь не мила, то попробуйте сначала поставить его.
Источник: http://www.razgonka.ru/book-vs-wiki
drupal.ru
Drupal – мощная CMS для вашего сайта. Обзор CMS Друпал » Мистерия онлайна
Общее представление о Drupal
Drupal – это одна из наиболее известных систем управления контентом (CMS), которой пользуются миллионы людей на всей планете, а если говорить о цифрах, то это 26% от всех пользователей интернета. Многие веб-мастера начинают свое знакомство с сайтами и их созданием именно с Друпал.
Но здесь можно обнаружить парадокс, который заключается в том, что несмотря на то, что на сегодняшний день Drupal — победитель конкурсов Packt Open Source CMS Awards, трехкратный номинант Webware 100, и имеет лавинообразную популярность, многие пользователи вообще не имеют представления о том, что такое Drupal, или вообще не слышали об этой CMS раньше. Поэтому я думаю, что нелишним будет объяснить читателям моего блога основные идеи и принципы Drupal. Я работал с Drupal в течение 2 лет, и поэтому уверен, что вы по достоинству оцените этот фреймворк после ознакомления с ним. За недолгое время своего существования CMS Drupal пропахал в интернете довольно большую борозду и изменил его ландшафт.
Этот многофункциональный конструктор позволит вам создать сайты практически любого направления и с самым разнообразным контентом. Многие трактуют Drupal как фреймворк – его многогранность может изменить и ваши стереотипы мышления как веб-мастера. Это немного больше, чем просто CMS. Вы можете легко построить сайт такой высокой степени сложности, какой нельзя добиться на том же WordPress. Многие мои друзья спрашивают у меня – где можно найти подробную информацию по Drupal? Поэтому сегодня я постараюсь донести до читателя основы построения и работы этого конструктора — это обширная тема, и в одной статье всего не расскажешь.
Drupal — бесплатная система управления содержанием контента сайта, свободная в распространении, позволяющая легко создать сайт, опубликовать контент и в дальнейшем управлять созданным сайтом и его содержанием. Многотысячная армия поклонников и веб-компаний пользуются Друпал, так как знают об эффективности управления сайтами. Сайт на этой CMS может работать сразу после того, как был установлен в корневую директорию www. В сборке есть инсталлятор, который установит программу в визуальном режиме, поэтому даже неподготовленный чайник сможет без труда это сделать.
Мощная функциональность и множество дополнительных модулей в свободном доступе позволяют на Друпал организовать:
1. Персональный сайт.2. Ресурс социальных сетей.3. Общественный блог.4. Корпоративный сайт.5. Внутрисетевой сайт.6. Портал для организации любого сообщества.7. Тематический или дискуссионный сайт.8. Интернет-магазин.9. Каталог или файловое хранилище.10. Информационную среду для совместной работы.11. Систему управления любыми проектами.
Drupal — программное обеспечение с открытым исходным кодом, как и многие другие CMS, которое распространяется по лицензии ГПЛ, поддерживающееся и разрабатывающееся сообществом многих тысяч последователей и профессиональных разработчиков. Drupal свободно можно скачивать и пользоваться им в свое удовольствие. Конечно, если сравнивать его с WordPress, то для построения блогов он мало подходит, но в остальном это настолько мощный конструктор, что может решать практически все ваши проблемы с созданием сайта.
Преимущества CMS Drupal
Функциональность, доходящая до универсальности
Стабильная работа ядра
Масштабируемость
Гибкость в работе и в управлении.
Легкое понимание архитектуры сайта и системы управления.
Качественное построение всех используемых модулей
Построение CMS направлена на удобное понимание работы с контентом
Возможность мультисайтовой работы
Полный набор документации по API — интерфейса прикладного программирования.
Существует сообщество пользователей Drupal, которое на русскоязычном пространстве находится здесь — drupal.ru. Если вам понравится работа с Друпал, вы можете принимать активное участие в сотрудничестве с сообществом, и внести свой посильный вклад в расширение и улучшения программы для ваших нужд и потребностей.
Что такое же такое Drupal? Если в двух словах, то официально (как я уже говорил) — это система управления контентом сайта с открытым кодом. Попроще это будет звучать так – вы можете, так же, как и на Вордпресс, создавать любые сайты, но Друпал ориентирован на создание более сложных ресурсов, и позволяет управлять ими легко и непринужденно. Да и в плане SEO Drupal изначально заточен хорошо.
Все что можно сделать на Друпале, ограничивается только вашей фантазией и временем для изучения этой CMS. Да, документации много, и половина из тех, кто начинает ее изучать, бросает это дело на полпути. Зато те, кто остался, понимают, что нашли в буквально «золотую жилу». Фреймворк способен выдержать любую нагрузку на сайт, можно создать любой шаблон или переделать существующий, и еще много чего интересного. Кстати, о мощности – сайт Drupal.org выдерживает нагрузку более 100000 посетителей в сутки, и выдерживает легко. И знаете ли вы, что сегодня четко обрисовалось две сферы, где Drupal виден издалека. Это сфера развлечений и медиа, где Drupal используется чаще всего. Использование Drupal в правительственных целях – очень хорошая реклама. По меньшей мере, в Америке и в Европе существует очень много правительственных сайтов, работающих именно на Drupal. Даже сайт Белого Дома работает на Drupal, и это говорит о многом. А между тем, компания Acquia, возглавляемая Дрисом Байтаертом (создатель Drupal), имеет в своем штате всего 160 человек.
Новые модули создаются в основном в среде сообщества и имеют, конечно, открытый исходный код. Модули в Drupal – это как плагины в WordPress. Только в отличие от него, эти модули создаются не с такой «бешеной» скоростью, поэтому и ассортимент функционала меньше. На сегодня в свободном распространении находится около 10000 модулей. Как только в интернете появляется новая разработка или интересная идея, многие программисты начинают ее прикручивать к своим CMS, и к Друпалу в том числе, и результат будет выглядеть в виде нового модуля.
Изучать Drupal – все равно, что изучать новую, пока неизвестную для вас технологию. Помните о тех, кто бросает ознакомление на полдороге? Будут проблемы и вопросы, будут шаги назад и желание бросить все. Просто нужно понять – если вы узнаете Drupal в полном объеме, то потом сами удивитесь, насколько все просто, и «как же я не понимал этого раньше», и так далее. Надеюсь, эта статья поможет сгладить проблемы, и вы получите довольно информации, чтобы сложить свое мнение о Drupal. А вообще, чтобы получить информацию в полном объеме, читайте самоучитель по Drupal 7.22 на сайте сообщества – последней его версии, которую вы можете свободно там скачать. В планах компании – выпуск Drupal 8, который, по словам Дриса Байтаерта, планируется через год-полтора. А на сайте opensourcecms.com/demo/1/183/Drupal вы можете попробовать демо-версию:
Сообщество и помощь
Вы не будете платить кому-то, кто знает HTML лучше вас, чтобы провести простейшие изменения на своем сайте. Русское сообщество на сайте drupal.ru обучает использованию системы, и грех не воспользоваться такой возможностью. Да, Друпал сложнее в понимании, чем Вордпресс, и сторонняя помощь никогда не помешает. Многие под словом «фреймворк» подразумевают именно Drupal — средство для разработки любых приложений. Drupal, и это когда при знакомстве думаешь: «Какую CMS поставить на сайт?», а потом, увидев его в работе: «Да тут вообще все понятно с самого начала». Наперед знаю, что начав работать с Друпал, вы пойдете на сайт сообщества с мыслью: «Спрошу на сайте, что это такое, а там увидим», а после того, как вам будет оказана реальная помощь, поймете, что это именно то общение, которое принято называть дружеским.
Открытый исходный код
Проект Drupal создан Дрисом Байтаертом, имеет открытый исходный код. Это открытый для всех источник и развивается под лицензией GNU (GNU General Public License) – генеральной публичной лицензией. Друпал нужно понимать с разных сторон:
1. Drupal – бесплатный конструктор. Вы не платите, чтобы получить программное обеспечение или обновить его.
2. Открытый исходный код для всех желающих. Его можно не только просматривать, но и редактировать или расширять его своими возможностями или функциональностью.
Модули для Drupal
Открытость CMS Drupal — это работа профессиональных веб-разработчиков всей планеты. Программисты разрабатывают надстройки или подключаемые плагины (модули). Модули обеспечивают добавление или интеграцию специфических особенностей в тело конструктора. Это может быть все, что угодно – от формы заказа до видеочата. Многие модули изначально создавались просто потому, что в зависимости от нужд вашего сайта, программисты их пишут, а потом, в силу открытости исходного кода, делятся со всеми желающими. Для разработчиков такой подход выгоден и открывает большие перспективы — программист знает, что другой разработчик тоже сталкивался с похожей проблемой, и поэтому можно решить ее сообща. Перед передачей модуля в свободное распространение (в сообщество Drupal) он обязательно проверяется. Поэтому практически все модули, и старые, и новые, можно найти на сайте сообщества.
Существует много самых разных сайтов на Drupal. Это как конструктор LEGO. Представьте — разработчики уже сделали дополнительные модули, и все, что вам нужно — это собрать конструктор в удобную для вас форму. Это может быть социальная сеть, новостной сайт, интернет-магазин, персональный или общественный блог, энциклопедия типа wiki, или что-нибудь совершенно другое.
Drupal – это безопасно
Drupal безопасен по многим причинам. Во-первых, это разработка «open source». Ситуация складывается таким образом: после разработки очередного патча он моментально появляется в сообществе, и иногда его применение даже опережает официальное его использование. Эту ситуацию можно назвать экстремальным предварительным обзором, которого на данный момент не существует даже у конкурентов Друпала. В проприетарных (частных) компаниях чаще всего происходит так: кто-то знакомится новым с кодом и его окружением, использует его, и в лучшем случае выставляет его на продажу. Политика Drupal основана на доверии — никто не хочет получить модуль, зараженный троянами, и не факт, что этим кем-то может оказаться и сам разработчик, который найдет в интернете свой же код, но видоизмененный.
Вторая причина надежности Drupal – существует специально выделенная команда по обеспечению безопасности CMS. В компании работает 30-40 человек, обеспечивающих безопасность, что во многих других компаниях просто спускается на тормозах. И WordPress, и Drupal популярны у пользователей больше других CMS, и этот факт делает их основными хакерскими мишенями. Но, так как Drupal одобрен Палатой представителей правительства Америки, а также некоторыми оборонными компаниями, его проверки на безопасность постоянны и серьезны. Это также обеспечивает массовое продвижение Drupal по сравнению с другими системами и фреймворками. Люди не любят делать обновления, и это одна из основных проблем безопасности. Взлом сайта – это почти всегда результат пренебрежения обновлениями.
Open source проекты направлены как раз на предупреждение таких случаев. Если вы пользуетесь Drupal и не обновляетесь, вы легко можете стать отличной мишенью. Часто именно так и происходит. По большому счету, каждое программное обеспечение может иметь проблемы с безопасностью. Пользователям Drupal просто необходимо применять исправления безопасности, впрочем, как и всем сторонникам других CMS. Компания Acquia предлагает решение по обеспечению безопасности под названием Drupal Gardens – программный продукт, как услуга, и в этом продукте компания закладывает все исправления безопасности, а вам только остается их применить к своему сайту.
Третья причина – аудитория, которая пользуется Drupal-ом. Не знаю, сколько сайтов вообще сейчас существует в мире, но больше 20 % из них работают на Drupal. Вы уже знаете, что Drupal используют даже в правительствах и, так как он имеет открытый доступ к исходному коду, часто проводится всеми, кому не лень, проверка этого кода. Так что такие сторонние проверки – это даже плюс к общему обеспечению безопасности CMS. Поэтому реально аудиты Drupal проводились чаще, чем проверки других известных систем и фреймворков.
За все время своего существования (это больше 10 лет) Drupal набрал огромное сообщество разработчиков, которые и выявляют все программные ошибки в Drupal. Любые недочеты в безопасности сразу отправляются в сообщество, тщательно исследуются Советом Безопасности Drupal. Если ошибка безопасности подтверждается, то программист, который разрабатывал и внедрял модуль с ошибками, сразу ставится в известность, получает какое-то время для исправления этой ошибки, а если не справляется с задачей – модуль просто изымается из общего пользования. Как видите, требования к безопасности довольно суровы, но только так можно добиться безопасного использования конструктора.
Что умеет Drupal
Фреймворк Drupal может почти все в плане создания сайтов с самым разным контентом, и ниже я перечислю основные возможности конструктора, чтобы вы смогли по достоинству оценить эту надежную, как танк, CMS:
Модульное построение Drupal. Основное преимущество Drupal – функционал можно расширять практически до бесконечности. В рамках написанных плагинов, конечно. Делается это модульным способом построения сайта. Модули помогут вам не только расширить функциональность сайта, но и кардинально поменять дизайн (сразу вспоминается WordPress – такие же возможности). Все, что можно реализовать на Drupal, уже существует в виде модулей – вам осталось только выбрать нужный и установить его. Можно инсталлировать столько модулей, сколько пожелаете – ваш сайт на Drupal выдержит любую нагрузку, выдержал бы хостинг. Кстати, вы можете просто заказать выделенный сервер, и ваш сайт будет «летать» даже со всеми нужными и ненужными модулями. А если вы не нашли такого модуля – предложите его к разработке в сообществе – обязательно кто-нибудь возьмется.
Визуальное оформление сайта на Drupal – вы сможете выводить любой контент и любую информацию на Drupal, и все можно настроить под ваши нужды, а не использовать настройки по умолчанию.
Информационное наполнение тоже может быть самым разным. На Drupal вы сможете создать блог, видеоблог, каталог, интернет магазин, форум, и так далее, и тому подобное. Можно даже совмещать несколько направлений в одном сайте, например, фотоблог и видеогалерею с обсуждением на форуме. Не спешите останавливаться — Drupal еще может работать с модулями, с помощью которых можно создавать информационные поля своей разработки внутри уже созданного контента.
- Drupal имеет встроенную организацию seo-оптимизации под поисковые системы. Умеет поддерживать разные виды URL-адресов, и ЧПУ в том числе (человеко-понятные URL-ы, которые так любят все поисковые системы), а HTML-код, который генерируется Drupal, соответствует всем стандартам, и в новой версии, по словам Дриса Байтаерта, HTML5 будет использоваться на всю катушку, а также будет организована возможность работы с любыми мобильными приложениями. Все эти новшества и дружественное отношение ПС навевает мысль о том, что ваш сайт будет гарантировано постоянно индексироваться.
Среда взаимодействия в Drupal. Так как на Drupal можно создавать интерактивные сайты, на которых посетители могут как-то общаться друг с другом, обмениваться не только информацией, но и файлами (в общем, взаимодействовать), то необходимых для этого возможностей в Drupal просто уйма. Здесь есть такие встроенные программные продукты для организации взаимодействия, как блоги, форумы, комментарии, личные кабинеты пользователей. И опять же, эти возможности можно увеличить использованием модулей.
Ниже видео — обзор возможностей Друпал (Drupal)
Блоки в Drupal
Блок в Друпале — это содержимое, которое размещается в некоторых определенных областях сайта и отображается на определенных страницах. Часто блок используется для визуализации динамического контента, который автоматически обновляется, если вы что-то в нем изменили или добавили. Динамическое содержимое – это, например, последние новости, или блоговедение, где записи обновляются чуть ли не каждый день. Если блок настроить правильно, то он будет обновляться автоматически каждый раз, когда появляется какая-то новость или добавляется запись в блог.
В общем возможность классификации содержания и проведение четкого разграничения между разными видами контента увеличивает способность организации контента на сайте и общую его производительность. Все разделяется на блоки таким образом, чтобы информацию можно было быстро и легко отыскать. А это, как вы знаете, удерживает пользователя на сайте – ведь он получил не только нужную информацию, но и дополнительные сведения к ней.
Темы и дизайн Drupal
Многие начинающие пользователи Drupal думают, что возможности дизайна в этой CMS сильно ограничены. Стандартная сборка Друпал включает в себя сразу несколько шаблонов тем. Для того, чтобы установить новый шаблон вместо используемого, нужно его скопировать в директорию текущей темы и почистить реестр тем. В старых версиях Drupal некоторые файлы шаблонов можно переопределить и другим способом. Но этот способ уже требует знаний PHP и HTML.
В Drupal конкретный дизайн и пользовательский интерфейс сайта зарождается внутри самой темы. Проще говоря, тема — это шаблон нового дизайна для сайта, с которым вы можете «играться» сколько угодно, и вам за это ничего не будет. То есть – вы не сможете настолько «сломать» тему, чтобы пришлось переустанавливать весь Drupal. Всемирное сообщество пользователей Drupal сейчас больше выполняет роль технической поддержки для начинающих и представляет собой форум для мозговой атаки любого направления, в том числе и по изменениям дизайна, поэтому не стесняйтесь туда обращаться, если что-то не срастается.
Список специализированных сборок Drupal
Инсталляционная сборка — это ядро Drupal, которое еще включает в себя и набор готовых к использованию модулей. То есть, эти модули уже заранее настроены соответствующим образом. Сборка может наполняться или вообще любыми модулями, которые вы можете скачать на https://drupal.org/project/Modules, или своими собственными, которые будут реализовывать тот уникальный функционал, который вы хотите создать. Также ваши модули могут быть просто передаточным звеном для стандартных модулей, играющих роль связующего звена между стандартными Drupal-модулями. Ниже я привел список самых популярных на сегодня сборок для Drupal. Если вам ничего не подходит, то вы можете добавить свои модули. Можно найти сборки и в разделе инсталляционных профилей на сайте drupal.org чтобы создать свою собственную сборку или найти более подходящий модуль:
1. Сборка с инсталлятором OpenPublish – на ее основе вы можете получить многофункциональный мультимедийный или информационный портал.
2. Сборка Open Atrium – отлично подойдет для развития малого и среднего бизнеса, поможет организовать слаженную коллективную работу. В сборке есть вики, To-Do List, блог, внутренний микроблог, календарь и панель управления.
3. Drupal commons 3.0 — корпоративная социальная сеть, естественно, бесплатная. В сборке присутствуют новости, группы, профили пользователей, вики, организована система прав доступа.
4. Drupal PressFlow — эта сборка имеет функцию масштабируемости сайта и максимальную производительность. В сборку сразу готова к использованию после инсталляции, ничего перенастраивать не нужно, максимально готова для взаимодействия с Varnish и Memcache (это программное обеспечение для кэширования сайта и его ускорения). Максимальная доступность и предварительное тестирование – дополнительные достоинства сборки.
5. Швабрашвабр (смешное название). Это социальная русскоязычная сеть. Работа этой версии построена не на записи в блоге, как главного элемента, а на приоритете пользовательского профиля, как в Вконтакте или Facebook. Здесь реализуются основные идеи любой социальной сети. Как-то: наличие профиля, возможность создания групп, привлечение друзей, ведение микроблога, на котором тоже можно зарабатывать, организация собственной фотогалереи, создание персональных и коллективных блогов.
6. Электронная коммерция OpenStore – сборка с набором модулей Ubercart (самая популярная на сегодня сборка для организации платформы электронной коммерции для вашего сайта. Ubercart реализует все, что вам нужно для начала продаж). OpenStore более гибок в работе, и может совершать такие действия: экспорт товара в Яндекс-маркет, организация любых способов оплаты товара (Webmoney, квитанция, PayPal, кредитные карточки).
7. Сборка Statusbook – практически брат-близнец Facebook. Этот функционал копирует все главные функции сети Facebook, а дополнительные возможности можно реализовать при помощи стандартных модулей для Drupal.
8. Сборка Drigg — готовый функционал, который позволяет создать сайт новостей, как на Digg.com. На таком сайте пользователи могут отдавать свои голоса за самую важную новость этого дня.
Вместо эпилога
После создания Дрисом Байтаертом CMS Drupal следующим на повестке дня был вопрос о создании эмблемы проекта. Кстати, важность этого вопроса трудно переоценить. Обсуждение длилось недолго – почему-то все участники сообщества посчитали, что эмблема должна быть как-то связана с изображением воды или капли воды. Сначала эмблем Drupal было много, и выглядели они вот так:
Затем эмблемой, после долгих мучений, стала капля в окружности. А через некоторое время кому-то пришла в голову идея создать эмблему Drupal как карикатурную каплю воды с человеческим лицом. Дизайнер Steven Wittens нарисовал трехмерную каплю, но эта эмблема не понравилась пользователям в основном потому, что 3-D объект затруднительно напечатать, отредактировать и т. д. По этой же причине не публикую ее и я.
Сегодняшнюю эмблему Drupal придумал Kristjan Jansen. Ее уже все знают – это капля, изображающая лицо. Глаза изображены как две капли воды, напоминают знак бесконечности и в символической форме выражают бесконечные возможности CMS Drupal. Эмблема для русскоязычного сообщества — это комбинация эмблемы Drupal и цветов российского флага в виде четырех блоков, которые символизируют модульное построение системы.
На этом я буду заканчивать обзор Drupal – замечательной и единственной в своем роде CMS, способной выдержать все ваши требования и нагрузки, особенно от начинающих веб-мастеров. И помните – стоит только начать и не бросать, и все у вас получится!
Вконтакте
Google+
Понравилась запись? Подпишитесь на обновления по почте:
Читайте похожие статьи
max1net.com
Drupal
Вы посетили: • DrupalБезграничные возможности для хобби и для бизнеса.
Drupal1) –– это система управления контентом сайтов, со свободным кодом. Таким образом, система открыта для обсуждения и модифицирования. Каждый имеет доступ к коду программы и может вносить в неё изменения, согласно своим предпочтениям.
Эта система получила название в честь сайта, на котором применялась, впервые, в 2000 году. - drop.org. Сайт был предназначен для общения на разные темы. Позже система управления получила название Drupal2), что обозначает – капля, однако это слово записано с ошибкой.
Правильно говорить druppel. Но, так или иначе, в 2001 году Дрис Бейтарт – основатель этой системы, выпустил её в свет под тем названием, которое мы сейчас знаем.
К 2009 году на Drupal3) 6 версии уже работало более 160 тысяч разных сайтов.
Основа на которой построен Drupal
Эта CMS использует в качестве основы язык программирования PHP. Данные хранятся в базе данных MySQL или другой совместимой базе. Как и любая современная CMS, Drupal не обходится без Ajax и JavaScript, для оперативной подачи информации на экран, при внесении изменений в проект сайта, без перезагрузки страницы. Кстати, Drupal как и многие другие полноценные системы обладает своим API для взаимодействия с различными модулями, написанными на одном из поддерживаемых языков.
Лицензия
В данный момент проект поддерживают и развивают тысячи людей со всего света. Такой популярностью среди разработчиков не может похвастаться ни одна CMS, и вся благодаря открытой лицензии.
Благодаря оживлённому сообществу энтузиастов, которые поддерживают этот проект, CMS быстро развивается и обрастает новыми возможностями. На 2011 год насчитывалось более 7000 различных дополнений для этой системы, для реализации разных возможностей. Тем не менее GPL накладывает свой отпечаток и без напильника тут не обойтись никак.
Drupal является одной из самых популярных CMS в мире. Особенно широко она применяется среди любителей открытого кода. К примеру, сайт операционной системы на базе Linux – Ubuntu, базируется на Drupal. Однако, множество чисто коммерческих проектов выбирают эту систему в качестве движка сайта.
Интерфейс
Интерфейс не отличается особенной сложностью из коробки, так что с некоторыми возможностями Drupal достаточно легко познакомиться самостоятельно без дополнительной документации. К тому же прямо из системы управления можно воспользоваться помощью, для решения сложных вопросов.
Например, для многих оказывается достаточно сложной для понимания реализация возможностей таксономии в CMS. Но на первых парах этого не понадобиться, а когда дело дойдёт до категоризации контента на сайте по словарю, всё окажется на много проще. Но вообще-то навигация по системе управления и сайту выглядит несколько непривычно с точки зрения принятых норм оформления элементов управления, списков и представления панели управления в целом, как отдельного инструмента.
Сфера применения
Социальная сфера. Эта CMS хорошо зарекомендовала себя в блогосфере и в качестве движка для новостных сайтов. Первенство, среди бесплатных CMS, на этом месте Drupal оспаривает с Joomla CMS. С помощью дополнительных модулей к CMS, можно организовать полноценное сообщество, форум или социальный сервис, с большими возможностями.
Коммерческое применение и поддержка. Помимо социальной направленности, на которую изначально была рассчитана CMS Drupal, она применяется в коммерческих целях. Для этого она оснащается дополнительным модулем Ubercart. В этих же целях существует возможность обзавестись платной лицензией Drupal для поддержки коммерческой организации и сервисного обслуживания.
Естественно, есть много модулей для социальных сетей. Так же существуют модули, упрощающие способ работы с системой. CMS можно управлять из консоли, или управлять содержимым страниц сайта, с помощью WYSIWYG средств.
Возможности из коробки
Из коробки Drupal 4) обладает достаточно скромными возможностями:
Существует поддержка многоязыкового интерфейса, однако его следует включить самостоятельно, скачав модуль нужного языка с сайта поддержки.
Существует возможность сложной и глубокой категоризации страниц, для последующей манипуляции их содержимым
Таксономия
Многопользовательский интерфейс с разграничением прав пользователей
Несколько встроенных модулей для перевода псевдонимов страниц и приведения их в нужный вид
Достаточно сложное меню управления, с возможностью включения и выключения тех или иных элементов для разных пользователей
Поддержка популярных браузерных текстовых редакторов
Очень интересный и богатый список функций релятивного представления информации с сайта на разных доменах, серверах, и возможность предоставлять страницы пользователям со сторонних ресурсов
Регистрация через OpenID
- Возможность создания RSS
Несколько готовых тем для сайта
Модульность – является одним из главных достоинств
Запутанный и достаточно сложный интерфейс панели управления, трудная для понимания большинства пользователей система таксономии
Нагрузка на сервер (большое потребление ресурсов из-за не слишком хорошей оптимизации кода)
- Для разработчиков: не наследуемое от версии к версии API, т.е. к примеру API Drupal 6 достаточно сильно отличается от API Drupal 7
Система из коробки обладает скромным функционалом. Без модулей и сторонних шаблонов сайта, создать можно только простенький форум, ленту новостей или сайт. Но задумка представляется довольно интересной, при том на столько, что сообщество Drupal легко «переплюнет» другие сообщества по своей популярности и горячему обсуждению возможностей этой CMS в сети. Так что любителям Open Source, эта программа придётся особенно по вкусу, чтобы поделиться своим опытом с остальными.
Наверхwiki.webimho.ru
Модули book и wiki в CMS Drupal
Часто владельцы Drupal-сайтов сравнивают модули book и wiki. Обычно считается, что wiki-модули дают больше возможностей.
Но я не могу сказать, что модуль "book" более ущербный, чем wiki-модули. Они созданы для разного. В целом на Drupal-сайте модуль book гораздо более уместен, чем wiki-модули.
Сразу оговорюсь, что в Друпале несколько модулей wiki. Под словами "wiki-модули" я буду понимать не конкретный модуль под названием Wiki (он уже умер вместе с информацией, накопленной им), а модули, которые создают wiki-подобную структуру информации.
Wiki-модули создают свою структуру данных и реализуют основные возможности wiki. Главная цель у них - дать на Drupal-сайте возможность создавать и хранить материалы в wiki-стиле. Есть фанаты wiki, они с удовольствием ставят wiki-модули. Они рискуют, что в один прекрасный день поддержка wiki-модулей может прекратиться и на сайте окажется куча повисшего в воздухе материала, который не вписывается в стандартные структуры Друпала.
Модуль "book" не пытается создавать комфорт для фанатов wiki. "Book" берет от wiki только возможность совместно редактировать страницы. Все остальное в "Book" сильно завязано на стандартные структуры информации в Друпале. Модуль "Book" обслуживает стандартные структуры информации Друпала, совершенно не беспокоясь, что скажут заядлые wiki-сты. В этом сила модуля "book", он плоть и кровь от Друпала и интегрирован в Друпал на 200%. Пока жив Друпал, будут живы все материалы, накопленные через модуль book.
Но любителям wiki модуль "book" конечно не нравится.
Функции модуля "book"
Основных функций 3.
1-я функция. Создание подшивок (книг).
Любой материал, опубликованный на сайте (статья в дневнике, сообщение на форуме и т.д.) может быть включен в подшивку (книгу).
Например, можно создать подшивку (книгу), целиком состоящую из чужих статей, опубликованных на сайте. Одно из очевидных применений - FAQ. Если на форуме появился удачный вопрос и длинная дискуссия по нему, то его можно подшивать в подшивку (книгу) "FAQ".
Таких подшивок может быть много. Авторы у каждой страницы в подшивке могут быть разные. Авторы могут менять свои страницы. Они даже могут и не знать, что их страницы включены в книгу.
Подшивка (книга) в сравнении с таксономией (классификацией)Классификацию создает администрация сайта. Авторы статей получают возможность выбрать нужную рубрику в классификации. Но часто они делают выбор неправильно или классификация не предусматривает каких-то редко встречающихся вариантов.
Подшивка (книга) готовых статей это способ для администрации объединить материалы на одну тему, созданные разными авторами.
И таксономия и подшивка раскладывают материал по полочкам. Но если в таксономии авторы самостоятельно выбирают подходящую рубрику, то подшивку (книгу) создает администрация в соответствии со своими нуждами.
Также в таксономии под каждый элемент рубрики создается отдельный канал. В нем появляются время от времени статьи, качество их может быть самым разных, от хорошего до совершенно дилетантского или вообще статья может быть не в тему.
А в подшивку отбираются только самые лучшие статьи.
Поэтому подшивка всегда компактнее, чем таксономия и качество подшивки всегда выше, чем качество таксономии.
Можно сказать, что таксономия делит весь поток информации на динамические потоки разных тематик. А подшивка (книга) старательно отбирает из всех материалов самое лучшее и подходящее по теме подшивки и собирает отобранное в удобном для просмотра виде.
Как не захлебнуться в информации
Когда сайт мал, то можно публиковать статьи без всякой рубрикации, их слишком мало. Просмотреть одну статью в неделю посетителям сайта не составит труда. Равно как и окинуть одним взглядом все 5 статей, которые есть на сайте.
Когда количество статей начинает измеряться десятками, приходится делить их на разные рубрики с помощью таксономии.
Когда статей сотни и тысячи, число рубрик измеряется десятками, авторам уже лень искать подходящие рубрики и каждый день добавляется новая информация. Здесь на поле выступают подшивки (книги).
Для простоты можете представить себе, что параллельно каждой рубрике в словаре заводится отдельная подшивка (книга) с этой же тематикой. В подшивку отбираются лучшие статьи из этой рубрики. Подшивка - сгусток лучшего, что наработано в рубрике.
На практике подшивка не обязана "курировать" какую-то рубрику классификации. Обычно сначала заводят подшивку FAQ. Затем тематика статей на сайте сама подскажет, какую сделать очередную подшивку. Если классификация создается из представлений администрации сайта о том, что должно быть на сайте, то подшивка подстраивается под то, что уже наработано на сайте.
Можно легко перемещать страницы внутри подшивки или вообще удалять некоторые страницы из подшивки. Можно удалить и саму подшивку. На страницах, включенных в подшивку это никак не сказывается. Они как жили самостоятельной жизнью, так и будут продолжать жить.
2-я функция модуля book
Набранный в подшивку материал Друпал укладывает в древообразном виде.
У каждой страницы подшивки внизу текста страницы есть навигация в виде списка подчиненных страниц и строки с 3-мя ссылками:
- название предыдущей страницы
- на уровень вверх
- название следующей страницы.
3-я функция модуля book
Это включение в подшивку (книгу) коллективно написанных страниц.Подшивка (книга) создается трудом многих авторов. Модуль "book" доводит идею совместного труда до конца и позволяет включать в подшивку страницы, созданные совместным трудом многих авторов. Назову такие страницы общественными.
Если в обычных статьях и комментариях авторство строго поддерживается и редактировать текст может только администрация и редактора, то в общественных страницах круг редакторов расширяется до круга пользователей, которые получили право на редактирование общественной страницы. В этот круг можно включить даже гостей. Причем в качестве автора общественной страницы показывается последний автор, который вносил изменения.Ведется история версий. Пользователи с соответствующими правами могут откатить неудачную правку общественной страницы на одну из предыдущих версий.
Применение общественных страниц
Пример 1. Нужна инструкция по обновлению сайта на Друпале.
Кто-то из администрации создает набросок шагов для обновления и оформляет его в виде общественной страницы. Другие друпальщики пользуются этой инструкцией и по ходу дела дополняют ее своими примечаниями. Так, шаг за шагом, инструкция приобретает очень подробный вид. И становится такой, что в нее ни добавить, ни убрать.
Пример 2. Описание модулей
Для каждого модуля заводится отдельная общественная страница. И дается первичное описание, можно даже на английском языке. У кого из пользователей есть время, переводит описание на русский или пополняет его своими впечатлениями.
Пример 3. Инструкция для посетителей сайта
Можно создать подшивку с общественными страницами, в которых подробно рассказывается, что и как может делать посетитель на сайте, начиная от авторизации и кончая использованием редактора и подпиской на новости. При соответствующей настройке модуля "book" доверенные пользователи смогут не только сообща править общественные страницы в такой книге, но и даже сами создавать структуру такой книги.
Терминология
Теперь надеюсь читателям понятно, почему результатом работы модуля book является структура, которая имеет 2 перевода на русский язык - подшивка и книга.
Когда подшивка (книга) набрана целиком из чужих материалов, то уместнее назвать такую структуру подшивкой в знак того, что страницы подшивки живут самостоятельной жизнью и подшивка только удобный способ объединения разрозненных удачных страниц.
Когда подшивка (книга) состоит целиком из общественных страниц, специально написанных для подшивки (книги), то здесь уместнее аналогия с настоящей книгой, где все страницы написаны для книги и не существуют отдельно от книги.
Но для самого Друпала все равно, из чего набивается подшивка (книга) - из чужих статей, из общественных страниц или из того и другого вместе. И чужие статьи и общественные страницы для Drupal равноправные составляющие подшивки (книги).
Модуль Book в тени
Таксономию (классификацию) пользователи Друпала осваивают быстро и используют с удовольствием.
Сторонние wiki-модули тоже ставят с охотой. Как же, wiki это круто.
Подшивки (книги) это довольно необычная структура информации, которая не встречается в других CMS. Поэтому ее ставят редко. Хотя это самая рабочая лошадка Друпала.
Поэтому, как ни странно, владельцы Друпал-сайтов готовы скорее мучаться со сторонними wiki-модулями, чем включить штатный модуль book.
Рекомендации
1. С первых дней жизни сайта используйте возможности подшивки чужих материалов для создания хотя бы FAQ. Подшивки можно делать даже на сайтах с парой десятков статей.
2. Когда немного набьете руку на создании подшивок и на сайте появится сообщество, переходите к освоению общественных страниц. (На сайтах с маленьким сообществом общественные страницы будет просто некому редактировать).
Сделайте для старта подшивку с несколькими страницами с инструкциями, отражающими тематику сайта. Объясните посетителям с правом редактировать общественные страницы, что от них ожидается помощь в редактировании.
3. Только когда сообщество на сайте очень большое и возможностей book перестанет хватать, только тогда можно подумать (но не ставить) wiki-модули.
Линия, до которой даже и думать о wiki не стоит, это 5-10 тысяч посетителей в день. Модуля Book для обслуживания такого сообщества хватает за глаза.
Если сообщества стало больше, то можно начинать думать (но не ставить) wiki-модули.
Для примера, на сайте Drupal.org в день ходит десятки тысяч посетителей. Там через подшивки ведется FAQ, причем из чужих страниц. Но wiki-модули на Drupal.org почему-то не ставят, хотя силы сообщества Drupal.org вполне хватило бы наполнять wiki материалами и поддерживать их. На многих русских Друпал-сайтах wiki-модули начинают ставить с посещаемости в 100-1000 раз меньшей. При этом даже не попробовав включить штатный модуль book.
Дело в том, что концепцию wiki знают все, даже не друпальщики, а концепцию book - единицы из друпальщиков. Надеюсь, моя статья привлечет внимание к использованию модуля book и его начнут чаще включать на Друпал-сайтах.
Ссылки
- Модуль Booktree, создает на одной странице оглавление подшивки (книги), демо
- Модуль Diff, красиво показывает разницу между разными версиями одной страницы
- Модуль Wiki, есть только для устаревшей версии Друпала 4.6. Иллюстрация того, как на глазах умирают сторонние модули
- Модуль Liquid, запускает на сайте полноценный wiki-движок, хранит данные в собственном формате. Тоже когда-то умрет, как и модуль Wiki
- Модуль WikiTools, а-ля wiki модуль, но хранит данные в стандартном друпаловском виде. Даже если умрет, накопленные данные останутся живыми. Если без wiki жизнь не мила, то ставьте его.
- Адрес этой статьи, http://www.razgonka.ru/book-vs-wiki
- Обсуждение этой статьи на Drupal.ru
.......................... Макс Кириленко, подбор названий и доменов
www.razgonka.ru
Что такое Drupal. Возможности Drupal. Как создать бесплатно сайт на Drupal.
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Как создать сайт бесплатно. В рубрике Делаем сайты на Drupal было три публикации: установка Drupal и русификация Drupal, настройка Drupal и админка Drupal и модули Drupal. Сегодня мы попытаемся разобраться с вопросом: что такое Drupal, заодно вкратце рассмотрим возможности Drupal. В рубрике Создание сайта на Joomla 1.5 была публикации, в которой мы разобрались с тем, что такое Joomla и ее возможностями, в общем, в этой публикации мы поговорим о Drupal.
Что такое Drupal. Возможности Drupal. Как создать бесплатно сайт на Drupal.
Drupal, как Joomla и WordPress является бесплатной системой управления содержимым, но если WordPress предназначен исключительно для ведения блога, а Joomla это система управления содержимым, которая, как и Drupal предназначена для создания интернет магазинов, каталогов, крупных и средних порталов и так далее. Только вот разница в том, что Drupal значительно тяжелее освоить, чем Joomla, зато, когда вы освоите Drupal, использовать Joomla вы не захотите. Ну, собственно, давайте разбираться с тем, что такое Drupal и с возможностями Drupal.
Чтобы создать сайт на Drupal, в отличие от сайта на Joomla, нужно знать CSS и HTML и основы PHP. В общем, для Drupal достаточно высокий порог вхождения. Можно, в принципе, не знать ни HTML и CSS, ни PHP и просто разобраться со структурой Drupal и создавать сайты на Drupal. Конечно, никто не спорит, в сети есть масса бесплатных тем Drupal, но все они одинаковые и отличаются лишь цветом оформления.
Не забываем подписываться на RSS-ленту, twitter и на публичную страницу Вконтакте
Что такое Drupal?
Содержание статьи:
Начнем с того, что Drupal – это система управления контентом с открытым исходным кодом, Drupal используется для создания веб-сайтов с различным информационным наполнением, сайт любой сложности можно реализовать на Drupal: блог на Drupal, новостной портал, создать на Drupal Wiki сайт не проблема, различные каталоги и интернет магазины можно с легкость создавать на Drupa, галереи и видеоблоги можно с легкостью реализовать на Drupal. Система управления содержимым Drupal используется по всему миру как для создание личных страниц в интернете, так и для создания крупных корпоративных решений.
Перед тем, как начать создавать сайты на Drupal можно установить несколько программ, которые буду просто незаменимы при создании сайта на Drupal. Во-первых, свой первый сайт лучше всего создавать на локальном сервере. Да и разбираться с возможностями Drupal лучше всего на локальном компьютере. Поэтому первое, что необходимо установить, так это три сервера, которые необходимы для работы Drupal, Drupal написан на PHP, поэтому необходим PHP сервер, в качестве сервера баз данных для Drupal идеально подойдет сервер MySQL, поскольку на домашнем компьютере необходимо реализовать схему взаимодействия клиент-сервер по HTTP протоколу, то сервер Apache тоже необходим. Можно установить все три сервера по отдельности, а затем связать их вместе, а можно установить Денвер и на него устанавливать Drupal.
Поверьте, при работе с Drupal вы не сможете избежать и обязательно научитесь создавать темы Drupal – это совсем не трудно. Для создания тем Drupal просто необходимы браузеры, все самые популярные браузеры, чтобы посмотреть, как будет выглядеть в том или ином браузере макет вашего сайта на Drupal. При создании темы Drupal у вас будет потребность просматривать исходный код вашего сайта, поэтому такой плагин, как Firebug будет просто незаменим. Чтобы перенести созданный сайт на сервер хостинг-провайдера вам потребуется доступ к удаленному серверу через протокол FTP одним из удобных и при этом бесплатных FTP менеджеров является FTP клиент FileZilla. При работе с Drupal у вас может возникнуть необходимость исправить код, поэтому удобный HTML и PHP редактор просто необходим, в качестве такого редактора можно использовать Notepad++.
Перейдем к рассмотрению вопроса: что такое Drupal? Максимально полный ответ на этот вопрос, вы сможете найти на сайте русского сообщества Drupal drupal.ru или на официальном сайте drupal.org. Сайт русского сообщества Drupal отличается дружелюбностью, поскольку вам там ответят даже на самые глупые ваши вопросы. Конечно, на своем сайте я постараюсь ответить на многие вопросы начинающих пользователей Drupal максимально подробно и понятно, но вы понимаете, что на все вопросы дать исчерпывающие ответы невозможно. В последнее время по Drupal стало появляться множество видео курсов и видео уроков, какие-то из них могут оказаться полезными, а какие-то не очень.
Вообще, в основе создания сайтов на Drupal лежит комбинирование различных «блоков», о которых мы поговорим далее. Блоки Drupal позволяют настроить функциональность сайта именно так, как требуется вам или вашему заказчику. Все что требуется от вас – это создать сайт на Drupal один раз, далее вы можете управлять своим сайтом на Drupal и изменять его функциональные возможности без необходимости программировать вручную. Система управления содержимым Drupal распространяется бесплатно, поэтому у нее множество сторонних разработчиков, которые создают модули Drupal, с помощью модулей можно значительно расширить функционал данной CMS.
Помимо того, что Drupal это CMS (система управления содержимым), Drupal это еще и CMF (Content Management Framework) платформа управления содержимым. То есть, Drupal это не только платформа, с помощью которой веб мастер может создавать и управлять сайтом, Drupal это еще платформа для веб разработчика, которая позволяет настроить сайт и значительно расширить его возможности при помощи специальных модулей, данные модули позволяют настроить поведение всех элементов Drupal. На данный момент существуют тысячи модулей Drupal, которые создаются и поддерживаются не только разработчиками Drupal, но и сторонними разработчиками при помощи модулей Drupal можно создавать различные по своему контенту сайты начиная с галереи на Drupal и заканчивая интернет магазином на Drupal. Большинство модулей Drupal бесплатны, и их можно скачать с официального сайта сообщества Drupal.
Еще раз не могу не упомянуть сообщество Drupal без которого Drupal не был бы таким, каковым он сейчас является. Поскольку сообщество Drupal занимается не только привлечением новых веб мастеров, которые будут создавать сайты на Drupal, но и активно участвует в разработке самой CMS Drupal и модулей для Drupal. Поэтому сообщество Drupal – это одна из самых важных составляющих данной CMS.
Возможности Drupal
Система Drupal предоставляет различные возможности для создания сайтов с различным наполнением, о возможностях Drupal я буду писать далее и очень подробно, сейчас достаточно их перечислить, чтобы вы оценили по достоинству эту замечательную CMS. Возможности Drupal:
- Модульная система Drupal. Самая главная возможность Drupal – это возможность расширения функционала Drupal. Осуществляется это при помощи модулей Drupal. Модули Drupal позволяют существенно расширить функционал сайта и даже в корне поменять его внешний вид. Все что вы захотите можно реализовать на Drupal, более того, практически все, что вам придет в голову уже реализовано при помощи модулей Drupal. Если одного модуля для реализации ваших идей мало, то никто вам не запрещает установить несколько модулей, но если у вас появилась идея, которая еще никому не приходила в голову во всем мире, то скорей всего вы сможете найти код, который послужит платформой для реализации вашей идеи.
- Система визуального оформления сайта на Drupal. Вывод любого контента и любой информации на Drupal можно настроить именно так, как это будет удобно вам, а не так, как это было заложено разработчиками при создании Drupal.
- Различные типы информационного наполнения. В список возможностей Drupal входит возможность создания сайтов с разным информационным наполнением. На Drupal можно создавать блоги, видео блоги, каталоги, интернет магазины, форумы и т.д. и т.п. Более того все это можно совмещать на одном сайте, например один раздел сайта на Drupal это блог, другой раздел – это галерея, третий раздел будет форумом. И это еще не все, у Drupal есть модули, которые позволяют создавать веб мастеру собственные информационные поля внутри созданного содержимого.
- Встроенная оптимизация под поисковые системы. Система Drupal поддерживать различные виды URL адресов, в том числе и ЧПУ, который так любят поисковые системы, кроме того HTML страницы, которые генерирует Drupal соответствуют всем стандартам. Поэтому дружественное отношение поисковых систем к сайтам гарантировано.
- Права доступа Drupal на основе ролей. Еще одной важной возможностью Drupal является назначение прав доступа к сайту. Роли пользователей и гибкая настройка возможностей для каждой роли дают возможность давать права доступа для пользователей Drupal к различным его компонентам. Модули Drupal позволяют расширить эти возможности.
- Средства взаимодействия Drupal. Поскольку Drupal – это система для создания интерактивных сайтов, на которых пользователи могут взаимодействовать друг с другом, то и возможностей у Drupal в этом плане масса. У Drupal имеются встроенные средства взаимодействия к ним относятся: блоги, комментарии, форум, личные профили пользователей Drupal. Если вам этого мало, то модули Drupal с легкостью расширяют эти возможности.
На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)
zametkinapolyah.ru
Drupal - это... Что такое Drupal?
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 с цветами российского флага, в виде четырёх блоков, символизирующих модульность системы.
Награды
- Трижды — в 2007, 2008 и 2009 годах — Друпал получил награду Webware 100 (присуждается лучшим на сегодня сайтам, сервисам и приложениям Сети)[9];
- Друпал — абсолютный победитель Packt Open Source CMS в 2008 г. и победитель в категории PHP в 2008 и 2009 гг. Основным соперником Drupal была Joomla!. Победители выбирались жюри из экспертов в своей области, а также посетителями сайта Packt[10][11].
- Победитель конкурса «Best open source applications 2010» в категории «Лучшая система управления web-контентом»[12]
Технические особенности
Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и новостных сайтов до информационных архивов или социальных сетей. Имеющуюся по умолчанию функциональность можно увеличивать подключением дополнительных расширений — «модулей» в терминологии Drupal. Наиболее важные функции, предоставляемые Drupal «из коробки»:
- единая категоризация всех видов содержимого (таксономия) — от форумных сообщений до блогов и новостных статей
- широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории
- вложенность категорий любой глубины
- поиск по содержимому сайта, в том числе поиск по таксономии и пользователям
- разграничение доступа пользователей к материалам (ролевая модель)
- динамическое построение меню
- поддержка XML-форматов:
- вывод документов в RDF/RSS
- агрегация материалов с других сайтов
- BlogAPI для публикации материалов с помощью внешних приложений
- авторизация через OpenID
- символьные осмысленные URL (иначе «человеко-понятные» — ЧПУ)
- переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента
- возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)
- раздельные конфигурации сайта для различных виртуальных хостов (мультисайтинг), в том числе собственные наборы модулей и тем оформления для каждого подсайта.
- уведомления о выходящих обновлениях модулей
Поддержка локализации
Система поддерживает локализацию интерфейса на более чем 100 языкаx (однако не все переводы являются полными). Имеется поддержка русского языка. В Drupal используется собственный механизм для локализации с хранением переводов в базе данных, наравне с остальным содержимым сайта. При этом несложной является адаптация к работе со стандартной библиотекой gettext[источник не указан 235 дней]. Импорт и экспорт переводов сайта осуществляется в виде po-файлов (формат используемый библиотекой gettext).
Полная локализация содержимого поддерживается сторонними модулями, которые не входят в поставку Drupal, но могут быть скачаны с сайта разработчиков.
Методы структуризации содержимого
В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.
Другая парадигма появилась с созданием в Drupal расширения Content Construction Kit (CCK). CCK позволяет дополнять документы новыми полями различных типов — от полей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Также посредством дополнительных модулей к CCK (например Node reference) можно организовать связи между документами, не используя механизм таксономии.
Механизмы расширения функциональности
Drupal имеет модульную архитектуру с компактным ядром, предоставляющим API, к которому могут обращаться модули. Стандартный набор модулей включает такие функции, как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и другие. Дизайн сайта меняется также посредством специальных модулей — «тем оформления».
Модули
Несколько примеров наиболее популярных модулей, которые можно скачать в репозитории на drupal.org:
- Views[13] — модуль с интерфейсом для создания различных списков
- Panels[14] — предоставляет возможность разбивать содержимое страницы на регионы (более продвинутое использование стандартных регионов Drupal)
- Services[15] — создание собственных веб-сервисов, например XMLRPC или REST
- WYSIWYG[16] — модуль для работы с wysiwyg редакторами, позволяет одновременно использовать несколько редакторов (ckeditor, tinymce, whyzziwyg)
- Apachesolr[17] — интеграция с поисковиком Apache SOLR
- Panels everywhere[18] — предоставляет возможность использовать главную панель для всего сайта, с последующей вставкой в неё других панелей
- Features[19] — позволяет сливать определенные данные из базы в код в виде модулей для последующего переноса (например с сервера разработки на препродакшен сервер)
- Backup and migrate (BAM)[20] — возможность дампа и восстановления базы полностью или частично
- Views bulk operations[21] — групповые операции над объектами в списках
- Devel[22] — набор средств и функций для быстрой разработки
- Drush[23] — Drupal shell, пакет для работы с друпалом и модулями через консоль (также доступен в репозитории последних версий ubuntu)
- Memcache[24] — интеграция с сервером memcached
- Ubercart — система электронной коммерции
К несомненным достоинствам 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, но возможны варианты использования другого системного ПО.
- Операционная система: семейство Unix (в том числе FreeBSD, Mac OS X), Windows (любые ОС, на которых может работать интерпретатор PHP)
- Веб-сервер: Apache, Nginx, Lighttpd, IIS Versions 6, 7 (через Fast CGI) (теоретически любой веб-сервер, допускающий исполнение PHP-кода)
- СУБД: MySQL, PostgreSQL (в принципе несложна адаптация к другим реляционным СУБД, например IBM DB2 [28])
- PHP версии 4.3.3 и выше (для совместимости со всеми сторонними модулями рекомендуется применять PHP 5, вместо PHP 4). Drupal 7 требует PHP 5.2.4 и выше
Недостатки
- Критики Drupal ставят в упрёк разработчикам слабое использование объектных возможностей PHP. Действительно, API Drupal практически не использует имеющиеся в PHP возможности ООП. Разработчики аргументируют это слабой реализацией ООП в языке (особенно до версии PHP 5). Объектная модель в Drupal присутствует, но в несколько нетрадиционном для PHP виде[29]. В Drupal 7 однако присутствует ряд нововведений задействующих объектные возможности PHP 5.
- К недостаткам (но одновременно и к достоинствам) Drupal можно отнести отсутствие обратной совместимости API. В каждом новом мажорном релизе происходят большие изменения API, когда наряду с добавлением новых функций убираются некоторые старые или изменяются параметры вызова существующих. Это приводит к необходимости разработчикам сторонних модулей адаптировать их для работы с новыми версиями Drupal. Однако изменения API и процедура адаптации модулей к новым версиям описываются в документации для каждого релиза, также всегда предлагается механизм автоматизированного апгрейда ядра системы на новую версию.[30][31] Плюс данной схемы разработки — нет необходимости тянуть из версии в версию программный слой совместимости со старыми API, что облегчает текущий код системы.
- Повышенные требования в размеру оперативной памяти на стороне провайдера. Обычно не менее 128 МБ, что увеличивает затраты на хостинг.
Примеры реализации сайтов на Drupal
Приведены примеры нескольких сайтов с высокой посещаемостью (десятки тысяч посетителей в сутки и выше), работающие на Drupal:
Интересные факты
Активисты сообщества Забей организовали в Минске (Беларусь) Drupal-клуб. Отдельные фанатичные участники под влиянием Drupal нарисовали огромное 3D-граффити и записали трэк[36].
Литература
Подробный список литературы можно найти на оф. сайте[37].
Книги на русском языке
Drupal 7- Тодд Томлинсон CMS Drupal 7: руководство по разработке системы управления веб-сайтом, 3-е издание = Pro Drupal 7 Development, 3rd Edition. — М.: «Вильямс», 2011. — 560 с. — ISBN 978-5-8459-1743-0
- Алексей Черных Drupal 7. — «Эксмо», 2011. — С. 208. — ISBN 978-5-699-47059-4 rus
- Колисниченко Денис Николаевич Drupal 7. Руководство пользователя. — «Диалектика», 2011. — С. 256. — ISBN 978-5-8459-1717-1
- Анжела Байрон, Эдисон Берри, Натан Хог, Джефф Итон, Джеймс Уокер, Джефф Роббинс Drupal: создание и управление сайтом = Using Drupal. — «Символ», 2010. — С. 576. — ISBN 978-5-93286-174-5 rus
- Джон Вандюк CMS Drupal: руководство по разработке системы управления сайтом = Pro Drupal development. — «Вильямс», 2009. — С. 576. — ISBN 978-5-8459-1513-9 rus
- Томас Захреддин Drupal 6 = Das Drupal 6 Praxisbuch. — «Эксмо», 2008. — С. 432. — ISBN 978-5-699-36219-6
- Дэвид Мерсер Drupal 6. Создание надежных и полнофункциональных веб-сайтов, блогов, форумов, порталов и сайтов-сообществ = Building powerful and robust websites with Drupal 6: Build your own professional blog, forum, portal or community website with Drupal 6. — «Вильямс», 2009. — С. 272. — ISBN 978-5-8459-1556-6 rus
- В.Ромашов CMS Drupal: система управления содержимым сайта. — «Питер», 2009. — С. 256. — ISBN 978-5-49807-241-8 rus
- Мэтт Вестгейт, Джон К. Вандюк CMS Drupal: руководство по разработке системы управления сайтом = Pro Drupal Developer. — «Вильямс», 2008. — С. 400. — ISBN 978-5-8459-1556-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 978-1-59059-755-2
- Matt Butcher «Learning Drupal 6 Module Development», ISBN 978-1-84719-444-2
Примечания
Ссылки
dic.academic.ru