Loading AI tools
Система управления контентом Из Википедии, свободной энциклопедии
Drupal (Дру́пал) — система управления содержимым (CMS), используемая также как каркас для веб-приложений, написанная на языке PHP, является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира. Drupal предоставляет серверный фреймворк с открытым исходным кодом как минимум для 14 % из 10 000 самых посещаемых веб-сайтов мира[3] и для 1,2 % из 10 миллионов самых посещаемых веб-сайтов[4] — от личных блогов до корпоративных, политических и правительственных сайтов[5]. Также Drupal используется для управления знаниями и делового сотрудничества[6].
Drupal | |
---|---|
Тип | система управления содержимым |
Разработчики | Анжела Байрон, Дрис Бёйтарт и Nathaniel Catchpole[вд] |
Написана на | PHP, с использованием Symfony |
Операционные системы | Linux, Windows, macOS и UNIX |
Первый выпуск | 15 января 2001 |
Последняя версия | 11.1.1 ∥ 10.4.1 (7 января 2025) |
Репозиторий | Drupal Repository |
Лицензия | GNU GPL 2+[вд][1][2] |
Сайт | drupal.org |
Медиафайлы на Викискладе |
Начал разработку в 2000 году бельгиец Дрис Бёйтарт (Dries Buytaert), который и поныне является руководителем проекта. Название drupal является искажённым произношением голландского слова druppel (капля) и появилось в результате забавной ошибки. В 2000 году несколько студентов Антверпенского университета использовали общий ADSL-модем для доступа в интернет, и для общения пользователей этой маленькой локальной сети Дрис создал внутренний сайт. Программа, на которой работал сайт, не имела имени, пока Дрис не собрался регистрировать доменное имя для нового сайта, и в результате опечатки вместо dorp.org (от голландского dorp — деревня, вполне уместное имя для небольшого сообщества) был зарегистрирован drop.org (англ. drop — капля). Аудитория нового сайта со временем сменилась на интересующихся развитием новых веб-технологий, и новый сайт постепенно перешёл из любительского эксперимента в проект по обсуждениям идей веб-программирования. В 2001 году Дрис опубликовал исходный код drop.org под именем «Drupal». С тех пор разработка переместилась на зарегистрированный позднее сайт drupal.org, который приобрёл статус официального сайта проекта[7].
Со времени создания в процесс разработки были вовлечены сотни людей. Официальные разработчики ядра сейчас — это десятки человек, но много людей присылают свои патчи, включаемые в код системы. Также функциональность движка расширяется дополнительными модулями, которые создают сторонние разработчики. Например, в релизе 4.6 приняли участие 50 человек, приславших 338 поправок к коду, а в релизе 4.7 приняли участие уже 338 разработчиков, приславших примерно 1500 поправок. За пять лет существования проекта (к 2006 году) вышло 13 релизов. На данный момент (январь 2011) было разработано более 7000 дополнительных модулей, расширяющих базовые функции CMS. По статистике обращения к обновлениям движка, на март 2009 года в интернете — в пределах 120 тыс. активных сайтов на Drupal 6 (без учёта сайтов, находящихся за файрволлами, сайтов с отключённым механизмом обновлений). Это также не учитывает сайтов, работающих на ранних версиях Drupal.[8]
В 2007 году Дрис Бёйтарт создал фирму Acquia, направленную на коммерческую поддержку проектов и сервисов, основанных на Drupal, вдохновлённый успехами Canonical и RedHat, построивших бизнес на поддержке открытых проектов. В 2008 Бёйтарт получил докторскую степень в области информатики и приборостроения («Computer Science and Engineering»).
Drupal 8 был переписан на Symfony. Файлы шаблонов изменили расширение с .tpl на .twig.
Со временем вокруг международного сайта появились национальные сообщества, функционируют более 20 национальных сайтов поддержки на разных языках[9].
После выхода Drupal в свет очевидным вопросом стал выбор эмблемы проекта. Участники сообщества считали, что она должна быть связана с каплей или водой. Первоначально логотип Drupal выглядел как капля в круге, а со временем пришла идея сделать логотип в виде карикатурной капли с лицом, но сейчас для каждой версии системы используется свой логотип со стилизованной каплей. Стивен Виттенс (Steven Wittens) создал трёхмерную каплю, но идея не пошла в массы. Главным образом потому, что трёхмерный объект трудно печатать, редактировать и т. д.
Логотип системы для Drupal 7 был придуман Кристьяном Янсеном (Kristjan Jansen)[10], он представляет собой каплю, изображающую лицо, глаза показываются как две соединённые капли в виде знака бесконечности и выражают в символической форме бесконечные возможности.
Логотип системы для Drupal 8 представлял собой цифру 8 в капле. Логотип системы для Drupal 9 и 10 представляет собой сетчатую каплю.
Версия | Срок поддержки ветви |
---|---|
12.x (ядро) | В разработке.[15]Релиз Drupal 12 запланирован на вторую половину 2026 года
(конец июля - начало августа или декабрь 2026) |
11.x (ядро) | 2 августа 2024 — 1 июня 2027 : до релиза Drupal 13
Окончание срока ожидается через 2 года 4 месяца 8 дней. |
11.1.1 | 16 декабря 2024 — 16 декабря 2025 : до релиза Drupal 11.3.0[16]
Окончание срока ожидается через 10 месяцев 22 дня. |
11.0.10 | 2 августа 2024 — 1 июня 2025 : до релиза Drupal 11.2.0
Окончание срока ожидается через 4 месяца 8 дней. |
10.x (ядро) | 15 декабря 2022 — 1 июня 2026 : до релиза Drupal 12
Окончание срока ожидается через 1 год 4 месяца 8 дней. |
10.4.1 | 17 декабря 2024 — 17 декабря 2025 : до релиза Drupal 10.6.0[17]
Окончание срока ожидается через 10 месяцев 23 дня. |
10.3.11 | 20 июня 2024 — 20 июня 2025 : до релиза Drupal 10.5.0
Окончание срока ожидается через 4 месяца 27 дней. |
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 — 1 ноября 2023[18] |
8.9.20 | 19 ноября 2015 — 17 ноября 2021[19] |
7.103 | 5 января 2011 — 5 января 2025[20] |
6.38 | 13 февраля 2008 — 26 февраля 2016[21] |
5.23 | 15 января 2007 — 21 января 2011[22] |
4.7.11 | 15 июня 2002 — 10 января 2008[23] |
3.0.1 | 15 сентября 2001 — 15 июня 2002[23] |
2.0.0 | 15 марта 2001 — 15 сентября 2001[23] |
1.0.0 | 15 января 2001 — 15 марта 2001[23] |
Статус поддержки: анонсирована активная временная завершена | |
Ежемесячный цикл обновления стабильных версий Drupal (выпуск исправлений — патчей) запланирован в две фазы: релиз некритических обновлений с исправлениями кода (bugfix) — каждую первую, а релиз обновлений безопасности — каждую третью среду месяца[24]. При этом, выход релизов с обновлениями безопасности не обязательно происходит именно в этом временном окне, а может произойти в любой момент по решению команды безопасности Drupal.
Сообществом Drupal выпускаются:
Номер каждой версии обновлений релиза Drupal формируется по принципам семантического версионирования[25] — мажор.минор.патч, например, 10.4.0, где номер мажорной (основной) версии указывает на совместимость ядра, номер минорной (дополнительной) версии указывает на важные новые функции, а номер патча — на исправления ошибок и незначительные улучшения[26].
Для повышения эффективности выпуска патчей для мажорных и минорных версий создаются отдельные ветви разработки (например, 11.0.x, 11.1.x и т. д.).
Из мажорных релизов сообщество стремится активно поддерживать последнюю и, параллельно, предпоследнюю ветви разработки, например, Drupal 11 и, параллельно, Drupal 10 (обозначается: ^10 || ^11). Время поддержки предпоследней мажорной ветви релиза, обычно, составляет не менее одного года, что считается достаточным сроком для обновления до последней версии релиза с активной поддержкой.
Аналогичный принцип применяется и для минорных ветвей: например, если ветвь 10.4.x — последняя, то параллельно временно осуществляется поддержка предпоследней минорной ветви — 10.3.x, а поддержка ветви 10.2.x завершается)[27]. Время активной поддержки минорных ветвей составляет 6 месяцев.
Разрабатываемые версии, которые предназначены только для тестирования и отладки разработчиками, проходят стадии, обозначаемые в названиях версий:
По окончании процесса разработки выпускается очередная версия релиза (например, Drupal 12.0.0, Drupal 12.0.1 и т. д.).
W3Techs сообщает, что по состоянию на 2 января 2025 года (6 месяцев после релиза Drupal 11), Drupal используется в следующем распределении версий[28]:
Это означает, что как минимум 29,2 % сайтов на Drupal используют устаревшие ядра и уязвимы для взлома. При этом 26,6 % — это сайты на устаревших ядрах Drupal 9 и Drupal 8 которые могут быть обновлены с использованием стандартных механизмов обновления Drupal, совместимых с активно поддерживаемым ядром — Drupal 10. Для Drupal 7 и Drupal 6 также доступны механизмы прямой миграции на Drupal 10.
После 5 января 2025 года (когда поддержка Drupal 7 была окончательно завершена), подавляющее большинство сайтов, использующих Drupal, включая все сайты использующие ветвь Drupal 10.2, а, также, все предыдущие версии могут быть уязвимы для взлома. В связи с этим, сообщество Drupal активно призывает разработчиков и владельцев сайтов к миграции на последнюю версию с активной поддержкой.[29][30][31]
Поддержка Drupal 11 активна, ядро будет получать активные обновления каждые 6 месяцев. Важным отличием Drupal 11 от предыдущих версий является обязательное использование Composer: возможность устанавливать, обновлять и удалять модули напрямую через интерфейс полностью отсутствует.
Поддержка ветви Drupal 11.1.x активна, релиз 11.1.0 состоялся 16 декабря 2024[32], последний релиз ветви — 11.1.1 от 6 января 2025[16]. Обновления минорной ветви Drupal 11.1.x:
Поддержка ветви Drupal 11.0.x временна, релиз 11.0.0 состоялся 2 августа 2024[33], последний релиз ветви — 11.0.9 от 22 ноября 2024.
Поддержка Drupal 10 активна — до 1 июня 2026 , завершение поддержки ожидается через 1 год 4 месяца 8 дней.
Использование Drupal 10 рекомендуется для проектов, которые уже работают на этой версии ядра, до их полной готовности к обновлению до Drupal 11.
Обновления Drupal 10:
Поддержка ветви Drupal 10.4.x активна, релиз Drupal 10.4.1 вышел 6 января 2025[17].
Обновления минорной ветви Drupal 10.4.x:
Поддержка ветви Drupal 10.3.x временна (до июня 2025), релиз Drupal 10.3.10 вышел 17 декабря 2024[36].
Обновления минорной ветви Drupal 10.3.x:
Поддержка ветви Drupal 10.2.x завершена, релиз Drupal 10.2.0 вышел 15 декабря 2023[37], последний релиз ветви — 10.2.12 от 22 ноября 2024[38].
Обновления минорной ветви Drupal 10.2.x[37]:
Поддержка ветви Drupal 10.1.x завершена, релиз 10.1.0 состоялся 22 июня 2023[39], последний релиз ветви — 10.1.8 от 17 января 2024[40].
Обновления минорной ветви Drupal 10.1.x:
Поддержка ветви Drupal 10.0.x завершена, релиз 10.0.0 состоялся 15 декабря 2022[41], последний релиз ветви — 10.0.11 от 20 сентября 2023[42].
Обновления минорной ветви Drupal 10.0.x[43]:
Поддержка Drupal 9 завершена 1 ноября 2023[18], не рекомендуется для использования.
Первый релиз Drupal 9.0.0 состоялся 3 июня 2020 , последний релиз 9.5.11 — 20 сентября 2023[44].
Ядро Drupal 9 рекомендуется обновить до Drupal 10 как можно быстрее.
Обновления Drupal 9:
Поддержка Drupal 8 завершена, не рекомендуется для использования.
Первый релиз Drupal 8.0.0 состоялся 19 ноября 2015 , последний релиз 8.9.20 — 17 ноября 2021[46].
Начиная с Drupal 8 архитектура системы была целиком переработана и впервые в истории проекта стал использоваться Symfony. Это упростило работу с зависимостями, однако привело к ощутимому усложнению системы и вызвало противоречивую реакцию в сообществе Drupal.
Одной из ключевых целей, заложенных в релиз Drupal 8 было максимально упростить обновления ядра в будущем[47].
Поддержка Drupal 7 завершена 5 января 2025 , не рекомендуется для использования. Первый релиз 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 продлевался несколько раз[20][48]. 7 июня 2023 года сообществом было окончательно объявлено, что срок поддержки Drupal 7 будет продлен до 5 января 2025 года и это будет финальное продление. Таким образом, полный срок поддержки Drupal 7 составил рекордные 14 лет[20]. Миграцию с Drupal 7 на Drupal 10 рекомендуется осуществить как можно быстрее, для этой цели сообществом разработан ряд решений[49].
Поддержка Drupal 6 завершена, не рекомендуется для использования. Первый релиз Drupal 6.0 состоялся 13 февраля 2008 , последний релиз 6.38 — 26 февраля 2016 .
Для сайтов на Drupal 6 существует возможность прямой миграции на Drupal 10 (которая будет доступна до конца цикла поддержки Drupal 10), миграцию рекомендуется осуществить как можно быстрее.[35]
В Drupal 6 появилась возможность динамически изменять формы посредством AHAH.
Поддержка Drupal 5 завершена, не рекомендуется для использования. Первый релиз Drupal 5.0 состоялся 15 января 2007 , последний релиз 5.23 — 21 января 2011 .
В Drupal 5 для удобства работы с JavaScript добавлена библиотека JQuery.
Поддержка Drupal 4 завершена, не рекомендуется для использования. Первый релиз Drupal 4.0.0 состоялся 15 июня 2002 , последний релиз 4.7.11 — 10 января 2008 .
Начиная с версии 4.7.0 Drupal поддерживает технологию Ajax для динамической загрузки содержимого без полного обновления страниц.
Поддержка Drupal 3 завершена, не рекомендуется для использования. Первый релиз Drupal 3.0.0 состоялся 15 сентября 2001 , последний релиз 3.0.1 — 15 октября 2001[23].
Поддержка Drupal 2 завершена, не рекомендуется для использования. Релиз Drupal 2.0.0 состоялся 15 марта 2001[23].
Поддержка Drupal 1 завершена, не рекомендуется для использования. Релиз Drupal 1.0.0 состоялся 15 января 2001[23]
Первая в истории версия Drupal.
Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и новостных сайтов до информационных архивов или социальных сетей. Имеющуюся по умолчанию функциональность можно увеличивать подключением дополнительных расширений — «модулей» в терминологии Drupal. Наиболее важные функции, предоставляемые Drupal «из коробки»:
Система поддерживает локализацию интерфейса на более чем 100 языках (однако не все переводы являются полными). Имеется поддержка русского языка. В Drupal используется собственный механизм для локализации с хранением переводов в базе данных, наравне с остальным содержимым сайта. Импорт и экспорт переводов сайта осуществляется в виде po-файлов (формат используемый библиотекой gettext).
Полная локализация содержимого поддерживается сторонними модулями, которые не входят в поставку Drupal, но могут быть скачаны с сайта разработчиков.
В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.
Другая парадигма появилась с созданием в Drupal расширения Content Construction Kit (CCK). CCK позволяет дополнять документы новыми полями различных типов — от полей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Также посредством дополнительных модулей к CCK (например Node reference) можно организовать связи между документами, не используя механизм таксономии.
Drupal имеет модульную архитектуру с компактным ядром, предоставляющим API, к которому могут обращаться модули. Стандартный набор модулей включает такие функции, как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и другие. Дизайн сайта меняется также посредством специальных модулей — «тем оформления».
Модули предлагают такие дополнительные или альтернативные функции, как галереи изображений, настраиваемые типы контента и списки контента, редакторы WYSIWYG, личный обмен сообщениями, сторонние инструменты интеграции[50] и многое другое. По состоянию на декабрь 2019 года на сайте Drupal представлено более 44 000 бесплатных модулей[51].
По состоянию на декабрь 2019 года существует более 2800 бесплатных тем, созданных сообществом[52]. Темы адаптируют или заменяют внешний вид сайта Drupal по умолчанию.
В качестве шаблонизатора («движок темы» в терминологии Drupal) используется PHPTemplate, однако есть возможность использовать Xtemplate, Smarty, Twig и другие.[источник не указан 4075 дней]
Drupal в первую очередь ориентирован на платформу LAMP, но возможны варианты использования другого системного ПО.
Проект Backdrop CMS[58][59][60] был создан как форк Drupal, его целью ставится сохранить принципы архитектуры Drupal, применяемые до Drupal 8.
На drupal.org зарегистрировано более 1 млн учётных записей, из них — 30 тыс. учётных записей разработчиков. Постоянно действуют несколько списков рассылки, открыто несколько IRC-каналов.
Ассоциация Drupal — некоммерческая организация, занимающаяся организацией мероприятий DrupalCon, сбором пожертвований, обучением и продвижением.
Drupal 7
Drupal 6
Drupal 5
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.