Drupal

Pause

Drupal (произносится «дру́пал»; название происходит от нидерл. druppel  — «капля») — свободная система управления содержимым (CMS) и фреймворк управления содержимым (CMF), написанный преимущественно на PHP и распространяемый по GNU General Public License версии 2 или более поздней[1]. Drupal применяется для создания веб-сайтов и веб-приложений, в том числе систем со структурированным содержимым, разграничением прав доступа, редакционными процессами, многоязычностью и веб-API[2][3].

Функциональность Drupal разделена между ядром (Drupal core) и расширениями — модулями и темами оформления. Современные версии используют компоненты Symfony, шаблонизатор Twig, менеджер зависимостей Composer, объектно-ориентированную архитектуру, систему сервисов и унифицированную модель сущностей[4].

По состоянию на сентябрь 2026 года Drupal использовался примерно на 0,6 % обследуемых веб-сайтов и на 0,9 % сайтов с определяемой CMS; среди наиболее посещаемых ресурсов его доля была выше[5]. В 2023 году Drupal был зарегистрирован как цифровое общественное благо (Digital Public Good); в 2025 году этот статус был подтверждён повторной оценкой[6].

Общие сведения

История

Возникновение и раннее развитие

Разработка Drupal началась в 2000 году, когда студент Антверпенского университета Дрис Бёйтарт создал сайт для обмена сообщениями внутри студенческой сети[7]. Название связано с доменом Drop.org и нидерландским словом druppel («капля»). Первый публичный выпуск Drupal 1.0 состоялся 15 января 2001 года. В последующих версиях развивались модульная архитектура, управление пользователями, таксономия, локализация и административные средства[8].

Drupal 7 и Drupal 8

Drupal 7.0 вышел 5 января 2011 года[9]. В нём получили развитие Field API и Database API, а в ядро вошла поддержка RDF и RDFa. Поддержка ветки завершилась 5 января 2025 года[10].

Drupal 8.0.0 был выпущен 19 ноября 2015 года и стал существенным архитектурным переходом в развитии системы[11]. В ядро были интегрированы компоненты Symfony, PHPTemplate заменён Twig, расширено применение объектно-ориентированного программирования, переработаны Entity API и Field API и введена штатная система управления конфигурацией[12].

Drupal 9—11 и Drupal CMS

Drupal 9.0.0 был выпущен 3 июня 2020 года и в значительной степени продолжал архитектуру Drupal 8: из ядра удалялись устаревшие API и обновлялись внешние зависимости[13]. Такой подход закрепил модель обновления, при которой функциональные изменения преимущественно включаются в минорные версии, а основные релизы используются для удаления устаревших интерфейсов и обновления крупных зависимостей[14].

Drupal 10.0.0 был выпущен в декабре 2022 года, Drupal 11.0.0 — в августе 2024 года[15][16]. В 2025 году была выпущена предварительно настроенная сборка Drupal CMS 1.0[17]. По состоянию на 18 сентября 2026 года актуальным стабильным выпуском ветки 11.4 являлся Drupal 11.4.7 от 16 сентября 2026 года[18]. Первый альфа-выпуск Drupal 12 был опубликован 2 сентября 2026 года; стабильный выпуск запланирован на декабрь 2026 года[19][16].

Основные версии

Основные версии Drupal образуют несколько поколений. Drupal 1.0 был опубликован 15 января 2001 года; в версиях 2—4 развивались базовые механизмы публикации, модульность, управление пользователями и таксономия. Drupal 5.0 (2007) получил веб-установщик и обновлённый административный интерфейс, а Drupal 6.0 (2008) развивал локализацию, темы и механизмы производительности[8].

Drupal 7.0 (2011) расширил Field API и Database API и включил RDF/RDFa. Drupal 8.0 (2015) перешёл к архитектуре на основе Symfony и Twig и получил штатное управление конфигурацией. Drupal 9.0 (2020) продолжил архитектуру Drupal 8 с удалением устаревших API; Drupal 10.0 вышел в 2022 году, а Drupal 11.0 — в 2024 году[9][11][13][15][16].

Начиная с Drupal 8 изменилась модель развития основных версий. Переход к семантическому версионированию позволил включать новые функциональные возможности в минорные выпуски без ожидания следующей основной версии. Поэтому различия между последовательными основными версиями стали в меньшей степени связаны с полной переработкой архитектуры, а в большей — с удалением ранее объявленных устаревшими API и обновлением системных требований и внешних зависимостей[20].

Эта модель проявилась при переходе от Drupal 8 к Drupal 9: Drupal 9.0 был выпущен одновременно с Drupal 8.9 и отличался от него главным образом обновлёнными зависимостями и удалением устаревшего программного кода[13]. В современной схеме основные версии выпускаются приблизительно раз в два года, а минорные функциональные выпуски — примерно раз в шесть месяцев[21].

Архитектура

Ядро, сервисы и расширяемость

Архитектура Drupal основана на разделении ядра и устанавливаемых расширений. Ядро содержит API и подсистемы обработки HTTP-запросов, маршрутизации, управления пользователями и правами доступа, сущностями, конфигурацией, базой данных, представлением и кэшированием. Дополнительная функциональность реализуется модулями, а визуальное представление — темами[4][3].

Начиная с Drupal 8 платформа использует компоненты Symfony, включая инфраструктуру HTTP-запросов, маршрутизацию, контейнер сервисов и диспетчер событий. Общая функциональность во многих случаях оформляется как сервисы, зарегистрированные в контейнере внедрения зависимостей. Это позволяет отделять код, использующий определённую функцию, от её конкретной реализации[22].

Современные модули описывают метаданные и часть конфигурации в YAML-файлах; маршруты, сервисы и другие элементы разделены между специализированными механизмами. Система хуков продолжает использоваться наряду с сервисами и событиями Symfony; с Drupal 11.1 поддерживаются также объектно-ориентированные реализации хуков[23].

Одним из основных механизмов расширяемости является Plugin API. Плагины представляют взаимозаменяемые реализации определённых типов функциональности. На Plugin API основаны блоки, типы и форматтеры полей, виджеты, эффекты обработки изображений и ряд компонентов Views[24].

Сущности, поля и конфигурация

Центральным элементом модели данных современного Drupal является Entity API. Система различает сущности содержимого (content entities) и конфигурационные сущности (configuration entities)[25]. К сущностям содержимого относятся материалы, пользователи, комментарии, файлы и термины таксономии. Они могут иметь типизированные поля, переводы и ревизии. Конфигурационные сущности представляют структуру и настройки приложения.

Field API позволяет добавлять к сущностям текстовые, числовые, файловые, ссылочные и другие поля. Ссылки на сущности используются для построения взаимосвязанных моделей данных. Общая модель позволяет применять к различным объектам сходные механизмы полей, прав доступа, переводов, ревизий и режимов отображения.

Configuration API отделяет переносимые настройки от пользовательского содержимого. Активная конфигурация обычно хранится в базе данных, а экспортированная может представляться YAML-файлами и помещаться под управление системы управления версиями[12]. Например, конкретная публикация является содержимым, тогда как определение её типа, полей и режимов отображения относится к конфигурации.

Drupal предоставляет также Database API — уровень абстракции над поддерживаемыми СУБД, построенный поверх PDO. Он предоставляет единый интерфейс выполнения и построения запросов; для операций с объектами более высокого уровня обычно используется Entity API[26].

Представление, темы и кэширование

Формирование пользовательского интерфейса основано на Render API. Компоненты могут возвращать рендер-массивы (render arrays), описывающие структуру элементов и связанные метаданные; затем они преобразуются в итоговое представление с использованием шаблонов Twig[27]. Темы отвечают преимущественно за визуальное представление. В Drupal 10.3 стабильной частью системы стали Single-Directory Components (SDC), объединяющие шаблон компонента, метаданные и связанные CSS- и JavaScript-файлы[28].

Кэширование тесно связано с Render API. Кэшируемые элементы могут содержать контексты, теги и максимальный срок хранения: контексты учитывают зависимость вывода от языка, URL или пользователя, а теги позволяют инвалидировать кэш после изменения связанных данных. Internal Page Cache предназначен преимущественно для полностью сформированных страниц анонимных пользователей, Dynamic Page Cache позволяет повторно использовать кэшируемые части страниц, а BigPipe — передавать основную часть страницы до завершения формирования отдельных динамических фрагментов[29][30].

Управление содержимым

Типы содержимого, таксономия и Views

Drupal позволяет определять собственные типы содержимого и наборы полей. Материалы могут классифицироваться средствами таксономии: словари и термины используются для тематической и иерархической классификации. Содержимое может иметь разные формы редактирования и режимы отображения; общая модель полей используется не только для материалов, но и для других сущностей[3].

Views — подсистема построения выборок и представлений данных. Она позволяет выбирать материалы, пользователей, термины таксономии и другие сущности, применять фильтрацию, сортировку, связи и различные форматы вывода[31]. Views используется для создания списков, страниц, блоков и административных представлений без непосредственного написания SQL-запросов. Первоначально подсистема развивалась как отдельный модуль, а с Drupal 8 входит в ядро.

Редакционные процессы

Для редакционных процессов используются ревизии, Workflows и Content Moderation. Они позволяют задавать состояния публикации, например черновик, редакционная проверка и опубликованный материал, а также разрешённые переходы между ними. Ревизии сохраняют последовательные состояния сущности и могут использоваться при модерации изменений.

Workspaces предоставляет механизм подготовки группы изменений отдельно от основного опубликованного состояния сайта. Изменения нескольких объектов могут объединяться в рабочее пространство и публиковаться совместно[32].

Многоязычность и доступность

Современный Drupal включает в ядро средства локализации интерфейса и перевода содержимого. Переводимыми могут быть интерфейс, сущности, поля и часть конфигурации; поддерживаются языки с различными направлениями письма. Переводы сущностей используют общие механизмы прав доступа, ревизий и представления. Использование Drupal для многоязычных информационных систем рассматривалось в научной литературе, в том числе применительно к библиотечным веб-системам[33].

В разработке Drupal предусмотрены требования веб-доступности. Стандарты проекта ориентируют публичные интерфейсы на WCAG 2.2 уровня AA, а интерфейсы средств создания содержимого — на ATAG 2.0[34]. Соответствие ядра этим требованиям не означает автоматического соответствия конечного сайта: результат зависит также от тем, модулей, конфигурации и содержимого.

Веб-API и decoupled-архитектура

Drupal может использоваться как традиционная серверная CMS, непосредственно формирующая HTML, либо как система управления структурированным содержимым для внешних клиентских приложений. В последнем случае Drupal выполняет функции хранилища, редакционного интерфейса и уровня доступа к данным, тогда как пользовательский интерфейс создаётся отдельно. Такой подход обычно называют decoupled, или headless CMS.

Ядро предоставляет средства REST, а модуль JSON:API реализует программный интерфейс, интегрированный с системой сущностей, авторизацией, правами доступа и кэшированием[35]. Такая архитектура позволяет использовать один источник структурированного содержимого для различных клиентских приложений.

Расширения и экосистема

Модули, темы и Composer

Модули являются основным способом расширения функциональности Drupal. Они могут предоставлять новые типы сущностей, административные интерфейсы, интеграции с внешними системами, средства поиска, электронной коммерции и другие функции. В официальном каталоге представлены десятки тысяч проектов модулей различных поколений и состояний поддержки[36]. Число зарегистрированных проектов не совпадает с числом расширений, совместимых с текущей версией, поскольку каталог включает также устаревшие и неподдерживаемые проекты.

Темы определяют визуальное представление страниц и компонентов. Composer является стандартным инструментом управления PHP-зависимостями современных версий Drupal и используется для установки ядра и расширений, фиксации версий зависимостей и обновления пакетов[37].

Recipes

Recipes («рецепты») представляют переносимые наборы действий над конфигурацией и расширениями. Рецепт может включать установку модулей, создание типов содержимого, настройку полей, ролей и других параметров[38]. Recipes используются, в частности, при формировании предварительно настроенных возможностей Drupal CMS.

Безопасность

В проекте действует Drupal Security Team, координирующая обработку сообщений об уязвимостях и публикацию бюллетеней безопасности для поддерживаемых веток ядра и расширений, включённых в программу security coverage[39]. В бюллетенях указываются затронутые версии, уровень критичности, условия эксплуатации и рекомендуемые исправленные выпуски.

Одной из наиболее известных уязвимостей стала SA-CORE-2014-005, получившая неофициальное название Drupalgeddon. Ошибка в Database Abstraction API Drupal 7 допускала SQL-инъекцию без предварительной аутентификации и могла привести к компрометации сайта[40]. В 2018 году термин Drupalgeddon2 получил распространение применительно к другой критической уязвимости, допускавшей при определённых условиях удалённое выполнение кода; после публикации исправления наблюдались массовые попытки эксплуатации[41].

В исследованиях безопасности систем управления содержимым к базовым мерам защиты относят своевременное обновление ядра и расширений, сокращение количества необязательных сторонних компонентов, разграничение доступа и регулярное резервное копирование[42]. Безопасность Drupal и других CMS рассматривалась также в сравнительных исследованиях; их результаты относятся к конкретным поколениям программного обеспечения и используемым методикам[43].

Сообщество и управление проектом

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

Техническое управление и разработка

Техническое управление Drupal Core основано на распределённых ролях. В проекте существуют core committers, сопровождающие подсистем (subsystem maintainers), тематические сопровождающие и координаторы стратегических инициатив[44]. Core committers отвечают за итоговую интеграцию изменений; сопровождающие участвуют в рецензировании, принятии технических решений и поддержании отдельных частей ядра.

Изменения проходят публичное обсуждение, рецензирование и автоматизированное тестирование. Для крупных направлений создаются стратегические инициативы. В проекте действует система учёта вклада, охватывающая написание кода, тестирование, рецензирование и документацию. В 2026 году начался перевод системы задач проекта в GitLab, где задачи и merge requests размещаются рядом с исходным кодом и результатами непрерывной интеграции[45].

Drupal Association и мероприятия

Drupal Association — некоммерческая организация, поддерживающая инфраструктуру проекта, распространение программного обеспечения и мероприятия сообщества[46]. Её организационное управление отделено от технического управления ядром.

К международным мероприятиям сообщества относится DrupalCon. Кроме него проводятся региональные DrupalCamp, локальные встречи, обучающие мероприятия и сессии по внесению вклада в проект[47].

Распространённость и применение

По состоянию на сентябрь 2026 года Drupal использовался примерно на 0,6 % обследуемых веб-сайтов и на 0,9 % сайтов с определяемой CMS[5]. Среди наиболее посещаемых ресурсов его доля была выше: около 3,6 % среди первого миллиона сайтов с известной CMS, 6,0 % среди первых 100 тысяч и 6,8 % среди первых 10 тысяч. Эти показатели зависят от методики выборки и возможности автоматически определить используемую технологию и не являются полным подсчётом установок.

Drupal применяется в государственных, образовательных, коммерческих и некоммерческих проектах. Одним из примеров централизованного государственного использования является австралийская платформа GovCMS, построенная на Drupal как общая система управления содержимым и веб-хостинга для государственных организаций[48]. Drupal используется также в веб-инфраструктуре Европейской комиссии, в том числе в специализированных информационных платформах[49].

В высшем образовании и библиотечной сфере Drupal применяется для институциональных веб-платформ, многоязычных систем и публикации структурированных данных[50][33][51]. В российской университетской практике также описано применение Drupal как основы институционального сайта с несколькими функциональными подсистемами[52].

В зависимости от задач система может использоваться как традиционная CMS, многосайтовая платформа, backend в decoupled-архитектуре либо основа специализированного дистрибутива.

Рынок в России

Доступные оценки распространённости Drupal в России зависят от выборки и способа определения используемой CMS. В исследовании доменной зоны .RU за январь 2024 года было проверено 5 465 652 домена; CMS удалось определить примерно на 23,2 % обследованных доменов. Drupal был обнаружен примерно на 22,2 тыс. сайтов, что соответствовало 1,75 % сайтов с определённой CMS и 3,10 % сайтов, использовавших бесплатные CMS[53].

Эти показатели характеризуют технически обнаруженные установки в доменной зоне .RU и не эквивалентны доле Drupal в денежном выражении, количеству организаций-пользователей или объёму услуг разработки и сопровождения. Поэтому данные разных рейтингов и исследований рынка CMS непосредственно сопоставимы только при одинаковой методике подсчёта.

Исследования и сравнительные оценки

Drupal рассматривался в научных и профессиональных исследованиях наряду с Joomla! и WordPress. Сравнительные работы анализировали производительность, функциональность, безопасность и сложность использования; их результаты зависят от конкретных версий программного обеспечения, конфигурации серверов, набора расширений и выбранных критериев.

В исследовании 2011 года сравнивалась производительность нескольких CMS; его результаты характеризуют поколения систем начала 2010-х годов и конкретные сценарии тестирования[54]. В исследовании 2018 года были построены сопоставимые сайты на Drupal, WordPress и Joomla и проведено сравнение функциональности, сложности управления и отдельных характеристик безопасности. Использовавшиеся версии относились к предыдущему поколению платформ, поэтому результаты характеризуют состояние систем соответствующего периода[55].

Сравнение Drupal с WordPress, Joomla, MODX и другими способами создания веб-ресурсов проводилось также в российской научной литературе[56]. Отдельные публикации посвящены применению Drupal в многоязычных системах, цифровых библиотеках, проектах связанных данных и исследованиях безопасности[33][51][43][42].

Оценки и ограничения

В сравнительных публикациях среди особенностей Drupal отмечаются развитая модель структурированного содержимого, возможность детальной настройки пользовательских ролей, таксономия и расширяемость посредством модулей и API[55][3]. Эти механизмы позволяют использовать систему в проектах со сложной моделью данных, несколькими редакционными ролями и интеграцией с внешними сервисами.

Вместе с тем сравнительные исследования характеризовали Drupal как более сложную в освоении и администрировании систему по сравнению с некоторыми другими распространёнными CMS; расширение функциональности может требовать учёта зависимостей между модулями и более высокой квалификации разработчиков[55][56]. Такие оценки относятся к конкретным версиям и методикам исследований и не являются универсальной характеристикой всех проектов на Drupal.

Модульная архитектура предоставляет возможности расширения, однако сторонние модули различаются по состоянию поддержки и совместимости с актуальными версиями[36]. Использование ядра не требует покупки лицензии на CMS, однако затраты на разработку, инфраструктуру и сопровождение зависят от масштаба и сложности проекта[1].

Лицензирование

Drupal распространяется по лицензии GNU General Public License версии 2 или любой более поздней версии. Участники сохраняют авторские права на внесённый ими код, предоставляя его в рамках совместимой свободной лицензии проекта[1]. Расширения, распространяемые через инфраструктуру проекта и являющиеся производными работами Drupal, также должны соответствовать лицензионной политике. Использование Drupal как серверного программного обеспечения для предоставления веб-сайта само по себе не является распространением копии программы посетителям сайта.

Примечания

  1. ↑ 1 2 3 Licensing (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  2. ↑ Byron, Angela; Berry, Addison; De Bondt, Bruno. Using Drupal (англ.). — 2nd ed.. — O'Reilly Media, 2012. — 494 p. — ISBN 978-1-4493-0554-3.
  3. ↑ 1 2 3 4 Гениатулина Е. В. CMS — системы управления контентом. — Новосибирск: Изд-во НГТУ, 2015. — 63 с. — ISBN 978-5-7782-2696-8.
  4. ↑ 1 2 Sipos, Daniel. Drupal 8 Module Development (англ.). — Packt, 2017. — 566 p. — ISBN 978-1-78216-877-5.
  5. ↑ 1 2 Drupal usage statistics, September 2026 (англ.). W3Techs (17 сентября 2026). Дата обращения: 18 сентября 2026.
  6. ↑ Drupal DPG Profile (англ.). Digital Public Goods Alliance. Дата обращения: 18 сентября 2026.
  7. ↑ Our history (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  8. ↑ 1 2 Legacy Drupal release history (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  9. ↑ 1 2 drupal 7.0 (англ.). Drupal.org (5 января 2011). Дата обращения: 18 сентября 2026.
  10. ↑ Drupal 7 End-of-Life is coming Jan 5, 2025 (англ.). Drupal.org (5 мая 2024). Дата обращения: 18 сентября 2026.
  11. ↑ 1 2 Drupal 8.0.0 released (англ.). Drupal.org (19 ноября 2015). Дата обращения: 18 сентября 2026.
  12. ↑ 1 2 Configuration API overview (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  13. ↑ 1 2 3 Drupal 9 release date and what it means (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  14. ↑ Drupal 10 target release date and Drupal 9 end-of-life (англ.). Drupal.org (17 июля 2020). Дата обращения: 18 сентября 2026.
  15. ↑ 1 2 drupal 10.0.0 (англ.). Drupal.org (15 декабря 2022). Дата обращения: 18 сентября 2026.
  16. ↑ 1 2 3 Drupal core release schedule (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  17. ↑ Drupal CMS 1.0 is now available! (англ.). Drupal.org (15 января 2025). Дата обращения: 18 сентября 2026.
  18. ↑ drupal 11.4.7 (англ.). Drupal.org (16 сентября 2026). Дата обращения: 18 сентября 2026.
  19. ↑ drupal 12.0.0-alpha1 (англ.). Drupal.org (2 сентября 2026). Дата обращения: 18 сентября 2026.
  20. ↑ Why did we plan to release Drupal 9 in 2020? (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  21. ↑ Release process overview (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  22. ↑ Services and Dependency Injection Container (англ.). Drupal API. Дата обращения: 18 сентября 2026.
  23. ↑ Support for object oriented hook implementations using autowired services (англ.). Drupal.org (18 октября 2024). Дата обращения: 18 сентября 2026.
  24. ↑ Plugin API (англ.). Drupal API. Дата обращения: 18 сентября 2026.
  25. ↑ Entity types (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  26. ↑ Database abstraction layer (англ.). Drupal API. Дата обращения: 18 сентября 2026.
  27. ↑ Render API (англ.). Drupal API. Дата обращения: 18 сентября 2026.
  28. ↑ About Single-Directory Components (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  29. ↑ Dynamic Page Cache overview (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  30. ↑ BigPipe module — Overview (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  31. ↑ Views module (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  32. ↑ Workspaces module (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  33. ↑ 1 2 3 Kumar Ray, Aswini; Ramesh, D. B. (2017). “Multilingual Content Management System using Drupal — A Case Study”. Journal of Information and Knowledge [англ.]. 54 (5): 225—235. DOI:10.17821/srels/2017/v54i5/107583.
  34. ↑ Accessibility Coding Standards (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  35. ↑ JSON:API — API overview (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  36. ↑ 1 2 Modules (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  37. ↑ Using Composer to Install Drupal and Manage Dependencies (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  38. ↑ How to Download and Apply Drupal Recipes (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  39. ↑ Security advisories for Drupal core (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  40. ↑ SA-CORE-2014-005 — Drupal core — SQL injection (англ.). Drupal.org (15 октября 2014). Дата обращения: 18 сентября 2026.
  41. ↑ Goodin, Dan. "Drupalgeddon2" touches off arms race to mass-exploit powerful Web servers (англ.), Ars Technica (20 April 2018). Дата обращения: 18 сентября 2026.
  42. ↑ 1 2 Васильев Д. А.; Прокопова Н. С. Анализ подходов к повышению безопасности интернет-сайтов, развернутых с использованием систем наполнения контентом // Auditorium. Электронный научный журнал Курского государственного университета. — 2017. — № 2 (14). — С. 92—99.
  43. ↑ 1 2 Toma, Vlad (2021). “A Comparative Study on the Security of Web Content Management Systems”. The USV Annals of Economics and Public Administration [англ.]. 21 (1(33)): 146—151. DOI:10.4316/aepa.2021.21.1(33).146-151.
  44. ↑ Evolving and documenting Drupal core's structure, responsibilities, and decision-making (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  45. ↑ GitLab issues for Drupal.org projects (англ.). Drupal.org (3 сентября 2026). Дата обращения: 18 сентября 2026.
  46. ↑ Drupal Association FAQ (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  47. ↑ Events (англ.). Drupal.org. Дата обращения: 18 сентября 2026.
  48. ↑ GovCMS basics (англ.). GovCMS. Дата обращения: 18 сентября 2026.
  49. ↑ Joinup source code (англ.). Interoperable Europe Portal. European Commission. Дата обращения: 18 сентября 2026.
  50. ↑ Web Content Management (англ.). EDUCAUSE (2016). Дата обращения: 18 сентября 2026.
  51. ↑ 1 2 Thompson, Keri; Richard, Joel (2013). “Moving Our Data to the Semantic Web: Leveraging a Content Management System to Create the Linked Open Library”. Journal of Library Metadata [англ.]. 13 (2—3): 290—309. DOI:10.1080/19386389.2013.828551.
  52. ↑ Савиных И. В.; Пруглов А. В. Разработка сайта Института открытого образования и информационных систем МарГУ на базе CMS Drupal. Вестник Марийского государственного университета (2012). Дата обращения: 18 сентября 2026.
  53. ↑ Исследование популярности CMS за 2024 год. iTrack (2024). Дата обращения: 18 сентября 2026.
  54. ↑ Patel, Savan K.; Rathod, V. R.; Prajapati, Jigna B. (2011). “Performance Analysis of Content Management Systems — Joomla, Drupal and WordPress”. International Journal of Computer Applications [англ.]. 21 (4): 39—43. DOI:10.5120/2496-3373.
  55. ↑ 1 2 3 Martinez-Caro, Jose-Manuel; Aledo-Hernandez, Antonio-Jose; Guillen-Perez, Antonio; Sanchez-Iborra, Ramon; Cano, Maria-Dolores (2018). “A Comparative Study of Web Content Management Systems”. Information [англ.]. 9 (2): 27. DOI:10.3390/info9020027.
  56. ↑ 1 2 Мальцева В. В.; Фролова А. С. Анализ web-технологий для создания онлайн-площадки // Молодой исследователь Дона. — 2020. — № 2 (23). — С. 126—130.

Литература

  • Гениатулина Е. В. CMS — системы управления контентом. — Новосибирск: Изд-во НГТУ, 2015. — 63 с. — ISBN 978-5-7782-2696-8.
  • Byron, Angela; Berry, Addison; De Bondt, Bruno. Using Drupal (англ.). — 2nd Edition. — O'Reilly Media, 2012. — 494 p. — ISBN 978-1-4493-0554-3.
  • Melançon, Benjamin; Luisi, Jacine; Négyesi, Károly et al. The Definitive Guide to Drupal 7 (англ.). — Apress, 2011. — 1112 p. — ISBN 978-1-4302-3135-6. — doi:10.1007/978-1-4302-3136-3.
  • Sipos, Daniel. Drupal 8 Module Development (англ.). — Packt, 2017. — 566 p. — ISBN 978-1-78216-877-5.
  • Мальцева В. В.; Фролова А. С. Анализ web-технологий для создания онлайн-площадки // Молодой исследователь Дона. — 2020. — № 2 (23). — С. 126—130.
  • Васильев Д. А.; Прокопова Н. С. Анализ подходов к повышению безопасности интернет-сайтов, развёрнутых с использованием систем наполнения контентом // Auditorium. Электронный научный журнал Курского государственного университета. — 2017. — № 2 (14). — С. 92—99.
  • Thompson, Keri; Richard, Joel. Moving Our Data to the Semantic Web: Leveraging a Content Management System to Create the Linked Open Library (англ.) // Journal of Library Metadata. — 2013. — Vol. 13, no. 2—3. — P. 290—309. — doi:10.1080/19386389.2013.828551.
  • Kumar Ray, Aswini; Ramesh, D. B. Multilingual Content Management System using Drupal — A Case Study (англ.) // Journal of Information and Knowledge. — 2017. — Vol. 54, no. 5. — P. 225—235. — doi:10.17821/srels/2017/v54i5/107583.
  • Martinez-Caro, Jose-Manuel; Aledo-Hernandez, Antonio-Jose; Guillen-Perez, Antonio; Sanchez-Iborra, Ramon; Cano, Maria-Dolores. A Comparative Study of Web Content Management Systems (англ.) // Information. — 2018. — Vol. 9, no. 2. — P. 27. — doi:10.3390/info9020027.
  • Toma, Vlad. A Comparative Study on the Security of Web Content Management Systems (англ.) // The USV Annals of Economics and Public Administration. — 2021. — Vol. 21, no. 1(33). — P. 146—151. — doi:10.4316/aepa.2021.21.1(33).146-151.

Ссылки

Pause