Drupal (Дру́пал) — система управления содержимым (CMS), используемая также как каркас для веб-приложений, написанная на языке PHP, является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира. Drupal предоставляет серверный фреймворк с открытым исходным кодом как минимум для 14 % из 10 000 самых посещаемых веб-сайтов мира[8] и для 1,2 % из 10 миллионов самых посещаемых веб-сайтов[9] — от личных блогов до корпоративных, политических и правительственных сайтов[10]. Также Drupal используется для управления знаниями и делового сотрудничества[11].
Drupal | |
---|---|
Тип | система управления содержимым |
Разработчики | Анжела Байрон, Дрис Бёйтарт и Nathaniel Catchpole[вд] |
Написана на | PHP, с использованием Symfony |
Операционные системы | Linux, Windows, macOS и UNIX |
Первый выпуск | 15 января 2001 |
Последняя версия | 11.1.0[1], 11.0.9[2], 10.4.0[3], 10.3.10[4], 7.103[5] |
Репозиторий | Drupal Repository |
Лицензия | GNU GPL 2+[вд][6][7] |
Сайт | drupal.org (англ.) |
Медиафайлы на Викискладе |
История проекта
правитьНачал разработку в 2000 году бельгиец Дрис Бёйтарт (Dries Buytaert), который и поныне является руководителем проекта. Название drupal является искажённым произношением голландского слова druppel (капля) и появилось в результате забавной ошибки. В 2000 году несколько студентов Антверпенского университета использовали общий ADSL-модем для доступа в интернет, и для общения пользователей этой маленькой локальной сети Дрис создал внутренний сайт. Программа, на которой работал сайт, не имела имени, пока Дрис не собрался регистрировать доменное имя для нового сайта, и в результате опечатки вместо dorp.org (от голландского dorp — деревня, вполне уместное имя для небольшого сообщества) был зарегистрирован drop.org (англ. drop — капля). Аудитория нового сайта со временем сменилась на интересующихся развитием новых веб-технологий, и новый сайт постепенно перешёл из любительского эксперимента в проект по обсуждениям идей веб-программирования. В 2001 году Дрис опубликовал исходный код drop.org под именем «Drupal». С тех пор разработка переместилась на зарегистрированный позднее сайт drupal.org, который приобрёл статус официального сайта проекта[12].
Со времени создания в процесс разработки были вовлечены сотни людей. Официальные разработчики ядра сейчас — это десятки человек, но много людей присылают свои патчи, включаемые в код системы. Также функциональность движка расширяется дополнительными модулями, которые создают сторонние разработчики. Например, в релизе 4.6 приняли участие 50 человек, приславших 338 поправок к коду, а в релизе 4.7 приняли участие уже 338 разработчиков, приславших примерно 1500 поправок. За пять лет существования проекта (к 2006 году) вышло 13 релизов. На данный момент (январь 2011) было разработано более 7000 дополнительных модулей, расширяющих базовые функции CMS. По статистике обращения к обновлениям движка, на март 2009 года в интернете — в пределах 120 тыс. активных сайтов на Drupal 6 (без учёта сайтов, находящихся за файрволлами, сайтов с отключённым механизмом обновлений). Это также не учитывает сайтов, работающих на ранних версиях Drupal.[13]
В 2007 году Дрис Бёйтарт создал фирму Acquia, направленную на коммерческую поддержку проектов и сервисов, основанных на Drupal, вдохновлённый успехами Canonical и RedHat, построивших бизнес на поддержке открытых проектов. В 2008 Бёйтарт получил докторскую степень в области информатики и приборостроения («Computer Science and Engineering»).
Drupal 8 был переписан на Symfony. Файлы шаблонов изменили расширение с .tpl на .twig.
Со временем вокруг международного сайта появились национальные сообщества, функционируют более 20 национальных сайтов поддержки на разных языках[14].
Эмблема проекта
правитьПосле выхода Drupal в свет очевидным вопросом стал выбор эмблемы проекта. Участники сообщества считали, что она должна быть связана с каплей или водой. Первоначально логотип Drupal выглядел как капля в круге, а со временем пришла идея сделать логотип в виде карикатурной капли с лицом, но сейчас для каждой версии системы используется свой логотип со стилизованной каплей. Стивен Виттенс (Steven Wittens) создал трёхмерную каплю, но идея не пошла в массы. Главным образом потому, что трёхмерный объект трудно печатать, редактировать и т. д.
Логотип системы для Drupal 7 был придуман Кристьяном Янсеном (Kristjan Jansen)[15], он представляет собой каплю, изображающую лицо, глаза показываются как две соединённые капли в виде знака бесконечности и выражают в символической форме бесконечные возможности.
Логотип системы для Drupal 8 представлял собой цифру 8 в капле[источник не указан 443 дня].
Логотип системы для Drupal 9 и 10 представляет собой сетчатую каплю[источник не указан 443 дня].
Награды
править- Трижды — в 2007, 2008 и 2009 годах — система получила награду Webware 100 (присуждается лучшим на сегодня сайтам, сервисам и приложениям Сети)[16];
- Друпал — абсолютный победитель Packt Open Source CMS в 2008 г. и победитель в категории PHP в 2008 и 2009 гг. Основным соперником Drupal была «Joomla!». Победители выбирались жюри из экспертов в своей области, а также посетителями сайта Packt[17][18].
- Победитель конкурса «Best open source applications 2010» в категории «Лучшая система управления web-контентом»[19]
Цикл разработки
правитьВерсия | Срок поддержки ветви |
---|---|
12.x (ядро) | В разработке.[20]Релиз Drupal 12 запланирован на вторую половину 2026 года
(конец июля - начало августа или декабрь 2026) |
11.x (ядро) | 2 августа 2024 Окончание срока ожидается через 2 года 5 месяцев 3 дня. | — 1 июня 2027 : до релиза Drupal 13
11.1.0 | 16 декабря 2024[1]
Окончание срока ожидается через 11 месяцев 17 дней. | — 16 декабря 2025 : до релиза Drupal 11.3.0
11.0.9 | 2 августа 2024 Окончание срока ожидается через 5 месяцев 3 дня. | — 1 июня 2025 : до релиза Drupal 11.2.0
10.x (ядро) | 15 декабря 2022 Окончание срока ожидается через 1 год 5 месяцев 3 дня. | — 1 июня 2026 : до релиза Drupal 12
10.4.0 | 17 декабря 2024[3]
Окончание срока ожидается через 11 месяцев 18 дней. | — 17 декабря 2025 : до релиза Drupal 10.6.0
10.3.10 | 20 июня 2024 Окончание срока ожидается через 5 месяцев 22 дня. | — 20 июня 2025 : до релиза Drupal 10.5.0
10.2.12 | 15 декабря 2023 | — 17 декабря 2024
10.1.0 | 22 июня 2023 | — 20 июня 2024
10.0.11 | 15 декабря 2022 | — 15 декабря 2023
9.5.11 | 3 июня 2020[21] | — 1 ноября 2023
8.9.20 | 19 ноября 2015[22] | — 17 ноября 2021
7.103 | 5 января 2011[23]
Окончание срока ожидается через 7 дней. | — 5 января 2025 (финальное продление)
6.38 | 13 февраля 2008[24] | — 26 февраля 2016
5.23 | 15 января 2007[25] | — 21 января 2011
4.7.11 | 15 июня 2002[26] | — 10 января 2008
3.0.1 | 15 сентября 2001[26] | — 15 июня 2002
2.0.0 | 15 марта 2001[26] | — 15 сентября 2001
1.0.0 | 15 января 2001[26] | — 15 марта 2001
Статус поддержки: анонсирована активная временная завершена |
Ежемесячный цикл обновления стабильных версий Drupal (выпуск исправлений — патчей) запланирован в две фазы: релиз некритических обновлений с исправлениями кода (bugfix) — каждую первую, а релиз обновлений безопасности — каждую третью среду месяца[27]. При этом, выход релизов с обновлениями безопасности не обязательно происходит именно в этом временном окне, а может произойти в любой момент по решению команды безопасности Drupal.
Сообществом Drupal выпускаются:
- Разрабатываемые версии, рекомендуются только для тестирования и отладки разработчиками, не рекомендуются для использования.
- Релизы с активной поддержкой, рекомендуются для всех новых и существующих проектов.
- Релизы с временной поддержкой, рекомендуется провести обновление (или миграцию) до последнего стабильного релиза версии с активной поддержкой до конца срока, отведённого на обновление.
- Релизы с завершенной поддержкой, рекомендуется обновить как можно скорее и не использовать из соображений безопасности.
Модель семантического версионирования
правитьНомер каждой версии обновлений релиза Drupal формируется по принципам семантического версионирования[28] — мажор.минор.патч, например, 10.4.0, где номер мажорной (основной) версии указывает на совместимость ядра, номер минорной (дополнительной) версии указывает на важные новые функции, а номер патча — на исправления ошибок и незначительные улучшения[29].
Для повышения эффективности выпуска патчей для мажорных и минорных версий создаются отдельные ветви разработки (например, 11.0.x, 11.1.x и т. д.).
Из мажорных версий сообщество стремится активно поддерживать только последнюю и, временно, предпоследнюю версии релизов (например, Drupal 11 и, временно, Drupal 10). Время поддержки предпоследней мажорной версии релиза, обычно, составляет около одного года, что считается достаточным сроком для обновления до последней версии релиза с активной поддержкой (исключение было сделано только для Drupal 7).
Аналогичный принцип применяется и для минорных версий (например, если релиз 10.4.x — последний, то временно осуществляется поддержка предпоследней минорной ветви — 10.3.x, а поддержка ветви 10.2.x завершается)[30].
Разрабатываемые версии, которые предназначены только для тестирования и отладки разработчиками, проходят стадии, обозначаемые в названиях версий:
- Начальной разработки (например, Drupal 12.x-dev)
- Альфа-версии (12.0.0-alpha1, 12.0.0-alpha2 и т. д.)
- Бета-версии (12.0.0-beta1, 12.0.0-beta2 и т. д.)
- Релиз кандидаты (12.0.0-rc1, 12.0.0-rc2 и т. д.)
По окончании процесса разработки выпускается очередная версия релиза (например, Drupal 12.0.0, Drupal 12.0.1 и т. д.).
Версии Drupal
правитьРаспределение версий Drupal
правитьW3Techs сообщает, что по состоянию на 2 декабря 2024 года (5 месяцев после релиза Drupal 11), Drupal используется в следующем распределении версий[31]:
- Drupal 11, актуальное ядро с активной поддержкой до 1 июня 2026 и далее используют 0,5 % пользователей;
- Drupal 10, актуальное ядро с активной поддержкой до 1 июня 2026 используют 29,5 % пользователей;
- Drupal 9, поддержка завершена 1 ноября 2023 используют 15,6 % пользователей;
- Drupal 8, поддержка завершена 17 ноября 2021 используют 11,6 % пользователей;
- Drupal 7, ядро с временной поддержкой до 5 января 2025 используют 40 % пользователей;
- Drupal 6, поддержка завершена 26 февраля 2016 используют 2,5 % пользователей;
- Drupal 5, поддержка завершена 21 января 2011 используют 0,1 % пользователей;
- Drupal 4, поддержка завершена 10 января 2008 используют менее 0,1 % пользователей.
Это означает, что как минимум 29,8 % сайтов на Drupal используют устаревшие ядра и уязвимы для взлома. При этом 27,2 % — это сайты на устаревших ядрах Drupal 9 и Drupal 8 которые могут быть обновлены с использованием стандартных механизмов обновления Drupal, совместимых с активно поддерживаемым ядром — Drupal 10. Для Drupal 7 и Drupal 6 также доступны механизмы прямой миграции на Drupal 10.
После 5 января 2025 года (когда поддержка Drupal 7 будет окончательно завершена), подавляющее большинство сайтов, использующих Drupal, включая все сайты использующие ветвь Drupal 10.2, а, также, все предыдущие версии могут быть уязвимы для взлома. В связи с этим, сообщество Drupal активно призывает разработчиков и владельцев сайтов к миграции на последнюю версию с активной поддержкой.[32][33][34]
Drupal 11
правитьПоддержка Drupal 11 активна, ядро будет получать активные обновления каждые 6 месяцев. Важным отличием Drupal 11 от предыдущих версий является обязательное использование Composer: возможность устанавливать, обновлять и удалять модули напрямую через интерфейс полностью отсутствует.
- Для работы Drupal 11 требуется PHP 8.3, начиная с релиза ветви 11.1.x внедрена поддержка PHP 8.4;
Drupal 11.1.x
правитьПоддержка ветви Drupal 11.1.x активна, релиз 11.1.0 состоялся 16 декабря 2024[35], последний релиз ветви — 11.1.0 от 16 декабря 2024[1]. Обновления минорной ветви Drupal 11.1.x:
- Ветвь совместима с PHP 8.4;
- Composer был обновлен до версии 2.8.1;
- jQuery UI был обновлен до версии 1.14.0;
- CKEditor 5 был обновлен до версии 44.0.0.
Drupal 11.0.x
правитьПоддержка ветви Drupal 11.0.x временна, релиз 11.0.0 состоялся 2 августа 2024[36], последний релиз ветви — 11.0.9 от 22 ноября 2024.
Drupal 10
правитьПоддержка Drupal 10 активна — до 1 июня 2026
, завершение поддержки ожидается через 1 год 5 месяцев 3 дня.Использование Drupal 10 рекомендуется для проектов, которые уже работают на этой версии ядра, до их полной готовности к обновлению до Drupal 11.
Обновления Drupal 10:
- современные компоненты JavaScript чтобы заменить частичное использование jQuery;
- вместо устаревшей версии Symfony 4 внедрена Symfony 6;
- из соображений безопасности требуется, как минимум PHP 8.1 или PHP 8.2, рекомендуется PHP 8.3 и начиная с ветви 10.4 внедрена поддержка PHP 8.4[37];
- возможность прямой миграции с Drupal 6 и Drupal 7 будет доступна до конца цикла поддержки Drupal 10, миграцию рекомендуется осуществить как можно быстрее[38].
- для обновления с Drupal 8 требуется предварительное обновление, как минимум до Drupal 9.4.4, после чего доступна возможность обновления до Drupal 10.
Drupal 10.4.x
правитьПоддержка ветви Drupal 10.4.x активна, релиз Drupal 10.4.0 вышел 17 декабря 2024[3].
Обновления минорной ветви Drupal 10.4.x:
- Ветвь совместима с PHP 8.4;
- Composer был обновлен до версии 2.8.1;
- jQuery UI был обновлен до версии 1.14.0;
- CKEditor 5 был обновлен до версии 44.0.0.
Drupal 10.3.x
правитьПоддержка ветви Drupal 10.3.x временна (до июня 2025), релиз Drupal 10.3.10 вышел 17 декабря 2024[39].
Обновления минорной ветви Drupal 10.3.x:
- Для действующих проектов предварительное обновление до 10.3.x обязательно для возможности последующего обновления до Drupal 11;
- Для управления ядром требуется Composer 2.7.7;
- Ветвь полностью совместима с PHP 8.3;
- Twig был обновлен с версии 3.5.0 до 3.9.3;
- CKEditor 5 был обновлен с версии 41.2.0 до 41.3.1.
Устаревшие версии Drupal
правитьDrupal 10.2.x
правитьПоддержка ветви Drupal 10.2.x завершена, релиз Drupal 10.2.0 вышел 15 декабря 2023[40], последний релиз ветви — 10.2.12 от 22 ноября 2024[41].
Обновления минорной ветви Drupal 10.2.x[40]:
- Внедрена поддержка PHP 8.3, рекомендуется PHP 8.2 вместо 8.1.6;
- внедрена поддержка Symfony 6.4 (добавлен компонент Symfony — mail);
- CKEditor обновлен до версии 40.0.0 и теперь поддерживает продвинутое форматирование для таблиц и ячеек таблиц в формате «Full HTML» (или в аналогичных «Full HTML» форматах);
- система фильтрации была обновлена для вывода HTML5;
- для ESLint внедрена поддержка синтаксиса ES11/ECMAScript 2020 для JavaScript как в современных браузерах.
Drupal 10.1.x
правитьПоддержка ветви Drupal 10.1.x завершена, релиз 10.1.0 состоялся 22 июня 2023[42], последний релиз ветви — 10.1.8 от 17 января 2024[43].
Обновления минорной ветви Drupal 10.1.x:
- Внедрена поддержка Symfony 6.3;
- CKEditor обновлен с версии 35.4.0 до 38.0.1.
Drupal 10.0.x
правитьПоддержка ветви Drupal 10.0.x завершена, релиз 10.0.0 состоялся 15 декабря 2022[44], последний релиз ветви — 10.0.11 от 20 сентября 2023[45].
Обновления минорной ветви Drupal 10.0.x[46]:
- новая административная тема Claro (вместо темы Seven);
- новая тема по умолчанию — Olivero (вместо темы Bartik);
- современный визуальный редактор CKEditor 5 (вместо CKEditor 4).
Drupal 9
правитьПоддержка Drupal 9 завершена 1 ноября 2023[21], не рекомендуется для использования.
Первый релиз Drupal 9.0.0 состоялся 3 июня 2020[47].
, последний релиз 9.5.11 — 20 сентября 2023Ядро Drupal 9 рекомендуется обновить до Drupal 10 как можно быстрее.
Обновления Drupal 9:
- в основе Drupal 9 находится Symfony 4, для работы требуется, как минимум PHP 7.4 (рекомендуется PHP 8.0);
- используется Twig 2 вместо Twig 1;
- ядру все ещё требуется jQuery, также из ядра были удалены зависимости от jQuery UI;
- в системе были сохранены встроенные модули миграции с Drupal 6 и Drupal 7[48].
Drupal 8
правитьПоддержка Drupal 8 завершена, не рекомендуется для использования.
Первый релиз Drupal 8.0.0 состоялся 19 ноября 2015[49].
, последний релиз 8.9.20 — 17 ноября 2021Начиная с Drupal 8 архитектура системы была целиком переработана и впервые в истории проекта стал использоваться Symfony. Это упростило работу с зависимостями, однако привело к ощутимому усложнению системы и вызвало противоречивую реакцию в сообществе Drupal.
Одной из ключевых целей, заложенных в релиз Drupal 8 было максимально упростить обновления ядра в будущем[50].
Drupal 7
правитьПоддержка Drupal 7 временна — до 5 января 2025
(финальное продление), завершение поддержки ожидается через 7 дней. Первый релиз Drupal 7.0 состоялся 5 января 2011 , последний релиз 7.103 — 4 декабря 2024.Для Drupal 7 рекомендуется миграция на Drupal 10 как можно быстрее.
В ядро Drupal 7 вошла библиотека jQuery UI. Был улучшен административный интерфейс. Изначально Drupal 7 работал на PHP 5, что позволило полноценно использовать ООП, позже была внедрена поддержка PHP 7, а затем и PHP 8, каждое такое обновление положительно сказывалось на скорости работы системы.
Ввиду очень широкого распространения и осложненным процессом перехода на новую архитектуру (принятую начиная с Drupal 8), срок поддержки ядра Drupal 7 продлевался несколько раз[23][51]. 7 июня 2023 года сообществом было окончательно объявлено, что срок поддержки Drupal 7 будет продлен до 5 января 2025 года и это будет финальное продление. Таким образом, полный срок поддержки Drupal 7 составит рекордные 14 лет[23]. Миграцию с Drupal 7 на Drupal 10 рекомендуется осуществить как можно быстрее, для этой цели сообществом разработан ряд решений[52].
Drupal 6
правитьПоддержка Drupal 6 завершена, не рекомендуется для использования. Первый релиз Drupal 6.0 состоялся 13 февраля 2008
, последний релиз 6.38 — 26 февраля 2016 .Для сайтов на Drupal 6 существует возможность прямой миграции на Drupal 10 (которая будет доступна до конца цикла поддержки Drupal 10), миграцию рекомендуется осуществить как можно быстрее.[38]
В Drupal 6 появилась возможность динамически изменять формы посредством AHAH.
Drupal 5
правитьПоддержка Drupal 5 завершена, не рекомендуется для использования. Первый релиз Drupal 5.0 состоялся 15 января 2007
, последний релиз 5.23 — 21 января 2011 .В Drupal 5 для удобства работы с JavaScript добавлена библиотека JQuery.
Drupal 4
правитьПоддержка Drupal 4 завершена, не рекомендуется для использования. Первый релиз Drupal 4.0.0 состоялся 15 июня 2002
, последний релиз 4.7.11 — 10 января 2008 .Начиная с версии 4.7.0 Drupal поддерживает технологию Ajax для динамической загрузки содержимого без полного обновления страниц.
Drupal 3
правитьПоддержка Drupal 3 завершена, не рекомендуется для использования. Первый релиз Drupal 3.0.0 состоялся 15 сентября 2001[26].
, последний релиз 3.0.1 — 15 октября 2001Drupal 2
правитьПоддержка Drupal 2 завершена, не рекомендуется для использования. Релиз Drupal 2.0.0 состоялся 15 марта 2001[26].
Drupal 1
правитьПоддержка Drupal 1 завершена, не рекомендуется для использования. Релиз Drupal 1.0.0 состоялся 15 января 2001[26]
Первая в истории версия Drupal.
Технические особенности
правитьАрхитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и новостных сайтов до информационных архивов или социальных сетей. Имеющуюся по умолчанию функциональность можно увеличивать подключением дополнительных расширений — «модулей» в терминологии Drupal. Наиболее важные функции, предоставляемые Drupal «из коробки»:
- единая категоризация всех видов содержимого (таксономия) — от форумных сообщений до блогов и новостных статей
- широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории
- вложенность категорий любой глубины
- поиск по содержимому сайта, в том числе поиск по таксономии и пользователям
- разграничение доступа пользователей к материалам (ролевая модель)
- динамическое построение меню
- поддержка XML-форматов:
- авторизация через OpenID
- символьные осмысленные URL (иначе «человекопонятные» — ЧПУ)
- переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента
- возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)
- раздельные конфигурации сайта для различных виртуальных хостов (мультисайтинг), в том числе собственные наборы модулей и тем оформления для каждого подсайта.
- уведомления о выходящих обновлениях модулей
Поддержка локализации
правитьСистема поддерживает локализацию интерфейса на более чем 100 языках (однако не все переводы являются полными). Имеется поддержка русского языка. В Drupal используется собственный механизм для локализации с хранением переводов в базе данных, наравне с остальным содержимым сайта. Импорт и экспорт переводов сайта осуществляется в виде po-файлов (формат используемый библиотекой gettext).
Полная локализация содержимого поддерживается сторонними модулями, которые не входят в поставку Drupal, но могут быть скачаны с сайта разработчиков.
Методы структуризации содержимого
правитьВ Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.
Другая парадигма появилась с созданием в Drupal расширения Content Construction Kit (CCK). CCK позволяет дополнять документы новыми полями различных типов — от полей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Также посредством дополнительных модулей к CCK (например Node reference) можно организовать связи между документами, не используя механизм таксономии.
Механизмы расширения функциональности
правитьDrupal имеет модульную архитектуру с компактным ядром, предоставляющим API, к которому могут обращаться модули. Стандартный набор модулей включает такие функции, как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и другие. Дизайн сайта меняется также посредством специальных модулей — «тем оформления».
Модули
правитьМодули предлагают такие дополнительные или альтернативные функции, как галереи изображений, настраиваемые типы контента и списки контента, редакторы WYSIWYG, личный обмен сообщениями, сторонние инструменты интеграции[53] и многое другое. По состоянию на декабрь 2019 года на сайте Drupal представлено более 44 000 бесплатных модулей[54].
Темы оформления
правитьПо состоянию на декабрь 2019 года существует более 2800 бесплатных тем, созданных сообществом[55]. Темы адаптируют или заменяют внешний вид сайта Drupal по умолчанию.
В качестве шаблонизатора («движок темы» в терминологии Drupal) используется PHPTemplate, однако есть возможность использовать Xtemplate, Smarty, Twig и другие.[источник не указан 4049 дней]
Системные требования
правитьDrupal в первую очередь ориентирован на платформу LAMP, но возможны варианты использования другого системного ПО.
- Операционная система: семейство Unix (в том числе FreeBSD, Mac OS X), Windows (любые ОС, на которых может работать интерпретатор PHP)
- Веб-сервер: Apache, Nginx, Lighttpd, IIS Versions 6, 7 (через Fast CGI) (теоретически любой веб-сервер, допускающий исполнение PHP-кода)
- СУБД: MySQL, PostgreSQL (в принципе несложна адаптация к другим реляционным СУБД, например IBM DB2[56])
- PHP 8.1+. В некоторых случаях (например, для работы устаревших модулей Drupal 7) могут потребоваться старые версии PHP, но использовать их настоятельно не рекомендуется из соображений безопасности[57].
Критика
править- Критики Drupal ставили в упрёк разработчикам слабое использование объектных возможностей PHP в ранних версиях. Действительно, API Drupal практически не использовало имеющиеся в PHP возможности ООП. Разработчики аргументировали это слабой реализацией ООП в языке (особенно до версии PHP 5). Объектная модель в Drupal присутствовала, но в несколько нетрадиционном для PHP виде[58]. В Drupal 7 однако присутствует ряд нововведений, задействующих объектные возможности PHP 5. А в версии Drupal 8 официально принято использование ООП. Однако, в сообществе присутствовали весьма противоречивые мнения по данному поводу.
- К недостаткам (но одновременно и к достоинствам) Drupal можно отнести отсутствие обратной совместимости API. В каждом новом большом релизе происходят большие изменения API, когда наряду с добавлением новых функций убираются некоторые старые или изменяются параметры вызова существующих. Это приводит к необходимости разработчикам сторонних модулей адаптировать их для работы с новыми версиями Drupal. Однако изменения API и процедура адаптации модулей к новым версиям описываются в документации для каждого релиза, также всегда предлагается механизм автоматизированного апгрейда ядра системы на новую версию.[59][60] Плюс данной схемы разработки — нет необходимости тянуть из версии в версию программный слой совместимости со старыми API, что облегчает текущий код системы.
Форки Drupal
правитьПроект Backdrop CMS[61][62][63] был создан как форк 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 6
- Анжела Байрон, Эдисон Берри, Натан Хог, Джефф Итон, Джеймс Уокер, Джефф Роббинс. 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.
Drupal 5
- Мэтт Вестгейт, Джон К. Вандюк. 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
Примечания
править- ↑ 1 2 3 drupal 11.1.0 | Drupal.org . Дата обращения: 16 декабря 2024.
- ↑ drupal 11.0.9 | Drupal.org . Дата обращения: 22 ноября 2024. Архивировано 7 декабря 2024 года.
- ↑ 1 2 3 drupal 10.4.0 | Drupal.org . Дата обращения: 17 декабря 2024.
- ↑ "10.3.10".
{{cite news}}
: Википедия:Обслуживание CS1 (url-status) (ссылка) - ↑ "drupal 7.103".
- ↑ https://web.archive.org/web/20170214210656/https://api.drupal.org/api/drupal (англ.)
- ↑ The drupal Open Source Project on Open Hub: Licenses Page — 2006.
- ↑ Open Source Usage Distribution in the Top 10k Sites . BuiltWith Pty Ltd (2 января 2022). Дата обращения: 7 января 2022. Архивировано 8 января 2022 года.
- ↑ W3Techs. Usage Statistics and Market Share of Content Management Systems . W3Techs (13 июня 2022). Дата обращения: 13 июня 2022. Архивировано 7 мая 2020 года.
- ↑ The State of Drupal 2010 speech (10 марта 2001). Дата обращения: 31 августа 2011.
- ↑ Knowledge management with Drupal (19 мая 2004). Дата обращения: 20 сентября 2023. Архивировано 30 июля 2020 года.
- ↑ История проекта Архивная копия от 28 февраля 2009 на Wayback Machine (англ.)
- ↑ Drupal 6 growth | Dries Buytaert . Дата обращения: 22 апреля 2009. Архивировано 27 апреля 2009 года.
- ↑ Список сообществ Drupal . Дата обращения: 8 ноября 2008. Архивировано 12 декабря 2008 года.
- ↑ History of the Druplicon logo Архивная копия от 9 февраля 2010 на Wayback Machine, drupal.org (Дата обращения: 24 марта 2010)
- ↑ Друпал — победитель Webware 100 Архивировано 3 июня 2008 года.
- ↑ Drupal overall winner of the Packt Open Source CMS awards Архивировано 2 апреля 2009 года. (англ.)
- ↑ Open Source CMS Award Previous Winners | Packt Publishing Technical & IT Book and eBook Store Архивная копия от 14 июня 2008 на Wayback Machine (англ.)
- ↑ Bossie Awards 2010: The best open source applications Архивировано 7 декабря 2013 года. (англ.)
- ↑ [1]Архивная копия от 27 мая 2024 на Wayback Machine [12.x] [meta] Release Drupal 12 in 2026 [#3449806] | Drupal.org
- ↑ 1 2 How long will Drupal 9 be supported? | Drupal 9 release date and what it means | Drupal Wiki guide on Drupal.org . Дата обращения: 10 января 2023. Архивировано 10 января 2023 года.
- ↑ Drupal 8 is now end-of-life - PSA-2021-11-30 | Drupal.org . Дата обращения: 10 января 2023. Архивировано 10 января 2023 года.
- ↑ 1 2 3 End of life announcement and changes to Drupal 7 support — PSA-2023-06-07 | Drupal.org . Дата обращения: 8 июня 2023. Архивировано 7 июня 2023 года.
- ↑ Drupal 6 end-of-life announcement | Drupal.org . Дата обращения: 10 января 2023. Архивировано 10 января 2023 года.
- ↑ So long, Drupal 5.x (End of Life Announcement) | Drupal.org . Дата обращения: 10 января 2023. Архивировано 10 января 2023 года.
- ↑ 1 2 3 4 5 6 7 Legacy Drupal release history | Understanding Drupal version numbers | Drupal Wiki guide on Drupal.org . Дата обращения: 27 сентября 2023. Архивировано 27 сентября 2023 года.
- ↑ Drupal core release cycle: major, minor, and patch releases | Core release cycles | About guide on Drupal.org . Дата обращения: 10 января 2023. Архивировано 10 января 2023 года.
- ↑ Семантическое Версионирование 2.0.0 | Semantic Versioning . Дата обращения: 22 сентября 2023. Архивировано 5 июня 2020 года.
- ↑ Understanding Drupal version numbers | Understanding Drupal | Drupal Wiki guide on Drupal.org . Дата обращения: 10 января 2023. Архивировано 5 октября 2021 года.
- ↑ Ошибка в сносках?: Неверный тег
<ref>
; для сносокавтоссылка2
не указан текст - ↑ Usage Statistics and Market Share of Drupal, December 2024
- ↑ Preparing Drupal.org projects for Drupal 9 | Preparing your site to upgrade to a newer major version | Drupal Wiki guide on Drupal.org . Дата обращения: 14 декабря 2023. Архивировано 14 декабря 2023 года.
- ↑ Upgrading from Drupal 8 (or later) | Upgrading Drupal | Drupal Wiki guide on Drupal.org . Дата обращения: 14 декабря 2023. Архивировано 14 декабря 2023 года.
- ↑ Upgrading from Drupal 6 or Drupal 7 | Upgrading Drupal | Drupal Wiki guide on Drupal.org . Дата обращения: 14 декабря 2023. Архивировано 14 декабря 2023 года.
- ↑ drupal 11.1.0 | Drupal.org
- ↑ drupal 11.0.0 | Drupal.org
- ↑ PHP requirements | System requirements | Drupal Wiki guide on Drupal.org
- ↑ 1 2 drupal 10.2.1 | Drupal.org . Дата обращения: 5 января 2024. Архивировано 5 января 2024 года.
- ↑ Ошибка в сносках?: Неверный тег
<ref>
; для сносокавтоссылка9
не указан текст - ↑ 1 2 Ошибка в сносках?: Неверный тег
<ref>
; для сносокавтоссылка7
не указан текст - ↑ drupal 10.2.12 | Drupal.org . Дата обращения: 22 ноября 2024.
- ↑ drupal 10.1.0 | Drupal.org . Дата обращения: 10 октября 2023. Архивировано 23 июля 2023 года.
- ↑ drupal 10.1.8 | Drupal.org . Дата обращения: 17 января 2024. Архивировано 17 января 2024 года.
- ↑ drupal 11.0.0 | Drupal.org (2 августа 2024). Дата обращения: 2 августа 2024. Архивировано 2 августа 2024 года.
- ↑ drupal 11.0.1 | Drupal.org (8 августа 2024). Дата обращения: 8 августа 2024. Архивировано 10 августа 2024 года.
- ↑ Drupal 10 | Drupal.org . Дата обращения: 25 сентября 2023. Архивировано 2 октября 2023 года.
- ↑ drupal 9.5.11 | Drupal.org . Дата обращения: 8 октября 2023. Архивировано 10 октября 2023 года.
- ↑ Ultimate Guide to Drupal 9 | Acquia
- ↑ drupal 8.9.20 | Drupal.org . Дата обращения: 8 октября 2023. Архивировано 10 октября 2023 года.
- ↑ Move from Drupal 8 to 9 | Drupal.org . Дата обращения: 27 сентября 2023. Архивировано 27 сентября 2023 года.
- ↑ Drupal 7 will reach end-of-life in November of 2022 - PSA-2019-02-25 | Drupal.org . Дата обращения: 10 апреля 2023. Архивировано 10 апреля 2023 года.
- ↑ Drupal 7 End of Life | Drupal.org . Дата обращения: 8 сентября 2023. Архивировано 8 сентября 2023 года.
- ↑ Integrating Drupal with External Systems . specbee.com (24 августа 2018). Дата обращения: 24 августа 2018.
- ↑ Module project | Drupal.org . www.drupal.org (18 марта 2022). Дата обращения: 23 июня 2023. Архивировано 23 июня 2023 года.
- ↑ Theme project | Drupal.org . www.drupal.org (18 марта 2022). Дата обращения: 21 сентября 2017. Архивировано 18 марта 2022 года.
- ↑ Статья по адаптации на сайте IBM Developer Networks . Дата обращения: 16 мая 2007. Архивировано 29 апреля 2007 года.
- ↑ PHP: Supported Versions . Дата обращения: 26 сентября 2023. Архивировано 26 сентября 2023 года.
- ↑ Программирование в Drupal с точки зрения ООП Архивировано 21 мая 2007 года.
- ↑ Обновление системы (для пользователей) . Дата обращения: 19 декабря 2009. Архивировано из оригинала 23 марта 2011 года.
- ↑ Обновление модулей (для разработчиков) . Дата обращения: 19 декабря 2009. Архивировано из оригинала 22 мая 2011 года.
- ↑ Introducing Backdrop CMS . Дата обращения: 6 апреля 2015. Архивировано 14 марта 2015 года.
- ↑ Todd Tomlinson. Migrating from Drupal to Backdrop. — Apress. — P. 150. — ISBN 978-1-484217-59-7.
- ↑ Todd Tomlinson. Beginning Backdrop CMS. — Apress, 2016. — 350 с. — ISBN 978-1-484219-69-0.
Ссылки
править- Официальный сайт проекта Drupal (англ.)
- «Drupal Россия» (рус.)
- Выставка сайтов, сделанных на Drupal (рус.)