Drupal

редактировать
Система управления веб-контентом
Drupal
Drupal-wordmark.svg
Drupal 8 в действии. Отображение редактирования и предварительного просмотра в контексте (WYSIWYG ).
Автор (ы) Дрис Байтаерт
Разработчик (и) Сообщество Drupal
Первоначальный выпуск15 января, 2001; 19 лет назад (2001-01-15)
Стабильный выпуск 9.0.6 / 2020-09-16
Репозиторий Drupal Repository
Написано наPHP, используя Symfony
Операционная система Unix-подобная, Windows
Платформа Веб-платформа
Размер 80 МБ (несжатое ядро ​​Drupal 8)
Тип Структура управления контентом, система управления контентом, программное обеспечение для ведения блогов
Лицензия GPLv2 +
Веб-сайтwww.drupal.org

Drupal- это бесплатная веб структура управления контентом с открытым исходным кодом, написанная на PHP. и распространяется по Стандартной общественной лицензии GNU. Drupal обеспечивает внутреннюю структуру как минимум для 2,3% всех веб-сайтов во всем мире - от личных блоги на корпоративных, политических и правительственных сайтах. Sy STEMS также используют Drupal для управления знаниями и для делового сотрудничества.

По состоянию на декабрь 2019 года сообщество Drupal насчитывало более 1,39 миллиона участников, в том числе 117 000 пользователей, активно участвующих, в результате чего более 44 000 бесплатные модули, которые расширяют и настраивают функциональность Drupal, более 2800 бесплатных тем, изменяющих внешний вид Drupal, и не менее 1300 бесплатных дистрибутивов, которые позволяют пользователям быстро и легко настроить сложный, специфичный для конкретного использования Drupal за меньшее количество шагов.

Стандартный выпуск Drupal, известный как ядро ​​Drupal, содержит основные функции, общие для систем управления контентом. К ним относятся регистрация и обслуживание учетной записи пользователя, управление меню, каналы RSS, таксономия, настройка макета страницы и администрирование системы. Базовая установка Drupal может использоваться в качестве простого веб-сайта, однопользовательского или многопользовательского блога, Интернет-форума или веб-сайта сообщества, на котором создается пользовательский контент..

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

Хотя Drupal предлагает сложный API для разработчиков, базовый веб-сайт установка и администрирование фреймворка не требуют навыков программирования.

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

Содержание

  • 1 История
  • 2 Core
    • 2.1 Основные модули
    • 2.2 Основные темы
    • 2.3 Локализация
    • 2.4 Уведомление об автоматическом обновлении
    • 2.5 Абстракция базы данных
    • 2.6 Windows разработка
    • 2.7 Доступность
  • 3 Расширение ядра
    • 3.1 Модули
    • 3.2 Темы
    • 3.3 Дистрибутивы
  • 4 Архитектура
  • 5 Сообщество
  • 6 Безопасность
  • 7 Drupal 6 Long Срок службы поддержки
  • 8 Расширенная поддержка Drupal 7
  • 9 Сертификация Drupal
  • 10 См. Также
  • 11 Ссылки
  • 12 Дополнительная литература
  • 13 Внешние ссылки

История

Последние основные выпуски
ВерсияДата выпуска
Текущая стабильная версия: 9.0.616 сентября 2020 г.
Старая версия, но все еще поддерживается: 8.9.616 сентября 2020 г.
Старая версия, но все еще поддерживается: 7.7316 сентября 2020 г.
Старая версия, больше не поддерживается: 6.3824 февраля 2016 г.
Старая версия, больше не поддерживается: 5.2311 августа 2010 г.
Условные обозначения: Старая версия Старая версия, все еще поддерживается ained Последняя версия Последняя предварительная версия Будущий выпуск Обозначения: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий выпуск

Первоначально написанный Дрисом Байтаертом как доска объявлений, Drupal стал проектом с открытым исходным кодом в 2001 году. Название Drupal представляет собой английскую интерпретацию голландского слова druppel, что означает «капля» (как в случае с каплей воды). Название произошло от ныне несуществующего веб-сайта Drop.org, код которого постепенно превратился в Drupal. Байтаерт хотел назвать сайт "dorp" (по-голландски "деревня") из-за его аспектов сообщества, но ошибся при проверке доменного имени и подумал, что ошибка звучит лучше.

Интерес к Drupal значительно вырос в 2003 г., когда он помог построить DeanSpace для Говарда Дина, одного из кандидатов в США. Первичная кампания Демократической партии на президентских выборах в США 2004 года. DeanSpace использовала совместное использование Drupal с открытым исходным кодом для поддержки децентрализованной сети, состоящей из примерно 50 разрозненных, неофициальных про-декановских веб-сайтов, которые позволяли пользователям напрямую общаться друг с другом, а также с кампанией. После того, как Дин завершил свою кампанию, члены его веб-команды продолжили проявлять интерес к разработке веб-платформы, которая могла бы способствовать политической активности, запустив CivicSpace Labs в июле 2004 года, «... первую компанию с штатными сотрудниками, которая развивалась и развивалась. распространение технологии Drupal ". Другие компании также начали специализироваться на разработке Drupal. К 2013 году на веб-сайте Drupal были перечислены сотни поставщиков, предлагающих услуги, связанные с Drupal.

По состоянию на 2014 год Drupal разрабатывается сообществом. С июля 2007 года по июнь 2008 года сайт Drupal.org предоставил более 1,4 миллиона загрузок программного обеспечения Drupal, что примерно на 125% больше, чем в предыдущем году.

По состоянию на январь 2017 года более 1 180 000 сайтов используют Drupal. В их число входят сотни известных организаций, включая корпорации, СМИ и издательские компании, правительства, некоммерческие организации, школы и частных лиц. Drupal выигрывал несколько наград Packt Open Source CMS Awards и выигрывал три раза подряд.

Drupal 6 был выпущен 13 февраля 2008 г., 5 марта 2009 г. Buytaert объявил о замораживание кода для Drupal 7 на 1 сентября 2009 года. Drupal 7 был выпущен 5 января 2011 года, и его релизы были выпущены в нескольких странах. После этого обслуживание Drupal 5 прекратилось, остались только Drupal 7 и Drupal 6. Обновления для обслуживания Drupal 7 выпускаются регулярно. Ранее окончание жизненного цикла Drupal 7 было запланировано на ноябрь 2021 года, но, учитывая влияние COVID-19, окончание жизненного цикла было перенесено на 28 ноября 2022 года. Срок действия Drupal 8 по-прежнему истекает в ноябре. 2, 2021.

7 октября 2015 года был объявлен первый релиз-кандидат Drupal 8 (rc1). Drupal 8 включает новые функции и улучшения как для пользователей, так и для разработчиков, в том числе: обновленный пользовательский интерфейс; WYSIWYG и редактирование на месте; улучшенная мобильная поддержка; добавлены и улучшены ключевые модули, включая представления, дату и ссылку на сущность; представил новый объектно-ориентированный бэкэнд, использующий компоненты Symfony; обновленное управление конфигурацией; и улучшенная многоязычная поддержка. Drupal 8 rc1 - это коллективная работа более 3200 основных участников.

Drupal 8.0.0 был выпущен 19 ноября 2015 года. Последующие основные и второстепенные выпуски, которые содержат множество улучшений и исправлений ошибок (включая улучшения CKEditor WYSIWYG, добавлены API, улучшенная страница справки) можно найти на странице Releases.

Drupal 9, первый выпуск 9.0.0 был выпущен 3 июня 2020 года.

Drupal 10 график выпуска - июль 2022 года.

Ядро

В сообществе Drupal под «ядром» понимается совместно созданная база кода, которая может быть расширена за счет дополнительных модулей и - для версий до Drupal 8 - хранится вне папки "sites" установки Drupal. (Начиная с версии 8 ядро ​​хранится в собственном подкаталоге «core».) Ядро Drupal является стандартным элементом Drupal. Общие библиотеки, специфичные для Drupal, а также процесс начальной загрузки определены как ядро ​​Drupal; все остальные функции определены как модули Drupal, включая сам системный модуль.

В конфигурации по умолчанию веб-сайта Drupal авторы могут размещать контент как зарегистрированные или анонимные пользователи (по усмотрению администратора). Этот контент доступен посетителям Интернета по множеству выбираемых критериев. Начиная с Drupal 8, Drupal адаптировал некоторые библиотеки Symfony в ядро ​​Drupal.

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

Drupal поддерживает подробный журнал изменений обновлений основных функций по версиям.

Основные модули

Ядро Drupal включает дополнительные модули, которые могут быть включены администратором для расширения функциональности основного веб-сайта.

Основной дистрибутив Drupal предоставляет ряд функций, включая:

  • Статистика доступа и ведение журнала
  • Расширенный поиск
  • Блоги, книги, комментарии, форумы и опросы
  • Кэширование и регулирование функций для повышения производительности
  • Описательные URL-адреса
  • Многоуровневая система меню
  • Поддержка нескольких сайтов
  • Многопользовательская создание и редактирование контента
  • OpenID поддерживает
  • RSS-канал и агрегатор каналов
  • Уведомление об обновлениях безопасности и новых выпусках
  • Профили пользователей
  • Разное ограничения контроля доступа (роли пользователей, IP-адреса, электронная почта)
  • Инструменты рабочего процесса (триггеры и действия)

Основные темы

Drupal включает основные темы, которые настраивают «внешний вид» сайтов Drupal, например, Гирлянда и Бартик.

Цветовой модуль, представленный в ядре Drupal 5.0, позволяет администраторам изменять цветовую схему определенных тем через интерфейс браузера.

Локализация

По состоянию на январь 2017 года Drupal был доступен на 100 языках и английском (по умолчанию). Включена поддержка языков с письмом справа налево, таких как арабский, персидский и иврит.

Локализация Drupal построена на основе gettext, библиотека интернационализации и локализации GNU (i18n).

Уведомление об автоматическом обновлении

Drupal может автоматически уведомлять администратора о новых версиях модулей, тем или ядра Drupal. После выпуска обновлений для системы безопасности важно выполнить быстрое обновление.

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

15 октября 2014 г. было объявлено об уязвимости SQL-инъекции и выпущено обновление. Две недели спустя группа безопасности Drupal выпустила уведомление, в котором объясняется, что все должны действовать, исходя из предположения, что любой сайт, не обновленный в течение 7 часов после объявления, заражен. Таким образом, может быть чрезвычайно важно быстро применить эти обновления, и настоятельно рекомендуется использовать инструмент, облегчающий этот процесс, например drush.

Абстракция базы данных

До версии 7 в Drupal были функции, которые выполняли задачи, связанные с базами данных, такие как очистка SQL-запросов, добавление префиксов к именам многосайтовых таблиц и генерация правильных SQL-запросов. В частности, Drupal 6 представил уровень абстракции, который позволил программистам создавать SQL-запросы без написания SQL.

Drupal 9 расширяет уровень абстракции данных, так что программисту больше не нужно писать запросы SQL в виде текстовых строк. Он использует объекты данных PHP для абстрагирования базы данных. Microsoft написала драйвер базы данных для своего SQL Server. Drupal 7 поддерживает файловую базу данных SQLite, которая является частью стандартного дистрибутива PHP.

Разработка для Windows

С новым уровнем абстракции базы данных Drupal 9 и возможностью работы на веб-сервере Windows IIS разработчикам Windows стало проще участвовать в Сообщество Drupal.

Группа на Drupal.org посвящена проблемам Windows.

Доступность

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

Drupal 8 претерпел множество улучшений по сравнению с рекомендациями Authoring Tool Accessibility Guidelines (ATAG) 2.0, которые поддерживают как доступную среду разработки, так и поддержку авторов для создания более доступного контента.

Группа обеспечения доступности продолжает работу по выявлению и устранению барьеров доступности и повышению осведомленности в сообществе.

Drupal 8 имеет хорошую семантическую поддержку для Rich Internet Applications - WAI-ARIA. В Drupal было много улучшений как для посетителей, так и для администратора, в частности:

  • функциональность перетаскивания;
  • улучшенный цветовой контраст и интенсивность;
  • добавление пропуска навигации к основным темам;
  • Добавление меток по умолчанию для форм ввода;
  • Исправление отображения CSS: нет с согласованными методами скрытия и отображения текста в фокусе;
  • Добавление поддержки ARIA Live Regions с помощью Drupal.announce (); и
  • Добавление TabbingManager для поддержки улучшенной навигации с помощью клавиатуры.

Сообщество также добавило шлюз доступности для основных проблем в Drupal 8.

Расширение ядра

Ядро Drupal является модульным, определяющим систему хуков и обратных вызовов, доступ к которым осуществляется внутри через API. Такой дизайн позволяет сторонним разработчикам модулей и тем расширять или переопределять поведение Drupal по умолчанию без изменения кода ядра Drupal.

Drupal изолирует файлы ядра от дополнительных модулей и тем. Это увеличивает гибкость и безопасность и позволяет администраторам полностью обновляться до новых выпусков, не перезаписывая настройки своего сайта. В сообществе Drupal есть поговорка: «Никогда не взламывайте ядро» - настоятельная рекомендация разработчикам сайтов не менять файлы ядра.

Модули

Дополнительные модули предлагают такие дополнительные или альтернативные функции, как галереи изображений, настраиваемые типы контента и списки контента, редакторы WYSIWYG, личные сообщения, сторонние инструменты интеграции, интеграция с порталами BPM и многое другое. По состоянию на декабрь 2019 года на веб-сайте Drupal перечислено более 44000 бесплатных модулей.

Некоторые из наиболее часто используемых дополнительных модулей включают:

  • Content Construction Kit (CCK): позволяет администраторам сайта динамически создавать типы контента, расширяя схема базы данных. «Тип контента» описывает вид информации. Типы контента включают, помимо прочего, мероприятия, приглашения, обзоры, статьи и продукты. CCK Fields API находится в ядре Drupal в Drupal 7.
  • Views: облегчает поиск и представление контента посетителям сайта через систему абстракции базы данных. В Drupal 8 в ядро ​​были добавлены базовые функции просмотра.
  • Панели: перетаскиваемый менеджер компоновки, который позволяет администраторам сайта визуально проектировать свой сайт.
  • Правила: условно выполняемые действия на основе повторяющихся событий.
  • Возможности: позволяет собирать и управлять функциями (сущностями, представлениями, полями, конфигурацией и т. Д.) В настраиваемые модули.
  • Контекст: позволяет определять разделы сайта, в которых могут использоваться функции Drupal. быть условно активированным
  • Медиа: упрощает загрузку фотографий и управление медиа
  • Службы: предоставляет API для Drupal.
  • Список рассылки органических групп

Темы

Как На декабрь 2019 года существует более 2800 бесплатных тем , внесенных сообществом. Темы адаптируют или заменяют внешний вид сайта Drupal по умолчанию.

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

Включение механизмов PHPTemplate и XTemplate в Drupal сняло обеспокоенность пользователей по поводу гибкости и сложности. Система тем Drupal использует механизм шаблонов для дальнейшего отделения HTML / CSS от PHP. Популярный модуль Drupal под названием «Devel» предоставляет разработчикам и участникам информацию о построении страницы в графическом интерфейсе.

Созданные сообществом темы на веб-сайте Drupal выпускаются под бесплатной лицензией GPL.

Распространение

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

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

Архитектура

Drupal основан на архитектуре Presentation Abstraction Control., или PAC.

Система меню действует как контроллер. Он принимает входные данные из одного источника (HTTP GET и POST ), направляет запросы в соответствующие вспомогательные функции, извлекает данные из абстракции (узлов и, начиная с Drupal 5, формирует), а затем проталкивает его через фильтр, чтобы получить его представление (система тем).

У него даже есть несколько параллельных агентов PAC в форме блоков, которые выталкивают данные на общий холст (page.tpl.php).

Сообщество

Drupal. org имеет большое сообщество пользователей и разработчиков, которые оказывают активную поддержку community, придумывая новые обновления, помогающие улучшить функциональность Drupal. По состоянию на январь 2017 года более 105 400 пользователей вносят свой вклад. Полугодовые конференции DrupalCon чередуются между Северной Америкой, Европой и Азией. Посещаемость DrupalCon выросла с 500 в Szeged в августе 2008 года до более 3700 человек в Остине, штат Техас, в июне 2014 года.

Происходят более мелкие мероприятия, известные как «Drupal Camps» или DrupalCamp. круглый год по всему миру. Ежегодный Florida DrupalCamp объединяет пользователей, что приносит пользу местной некоммерческой организации, как и ежегодное мероприятие GLADCamp (Camp),.

Сообщество Drupal также организует профессиональные и полупрофессиональные встречи, называемые митапами, в большом количестве мест по всему миру.

Существует ряд активных форумов, списков рассылки и дискуссионных групп по Drupal. Drupal также поддерживает несколько каналов IRC в сети Freenode.

Существует более 30 национальных сообществ вокруг drupal.org, предлагающих языковую поддержку.

Среди известных пользователей Drupal: NBC, Taboola, Patch и We the People.

Security

Политика Drupal заключается в том, чтобы объявлять природу каждой уязвимости безопасности после выпуска исправления.

Администраторы сайтов Drupal автоматически уведомляются об этих новых выпусках через модуль состояния обновления (Drupal 6) или через диспетчер обновлений ( Drupal 7).

Drupal поддерживает список рассылки объявлений по безопасности, историю всех рекомендаций по безопасности, домашнюю страницу группы безопасности и RSS-канал с самыми последними советами по безопасности.

В середине -Октябрь 2014 г., Drupal выпустил «критически важный» совет по безопасности в отношении ошибки SQL-инъекции в Drupal 7, также известной как Drupalgeddon.

Загрузка и установка обновления до Drupal 7.32 устраняет уязвимость, но не удаляет бэкдор, установленный хакерами, если сайт уже был взломан. Атаки начались вскоре после объявления об уязвимости. По словам группы безопасности Drupal, если сайт не был исправлен в течение нескольких часов после объявления, его следует считать скомпрометированным и перевести в автономный режим, заменив статической HTML-страницей, в то время как администратору его сервера нужно сообщить, что другие сайты на том же сервер также мог быть скомпрометирован.

Для решения проблемы сайт должен быть восстановлен с использованием резервных копий, сделанных до 15 октября, исправлен и обновлен вручную, а все, что объединено с сайта, должно быть проверено.

В конце марта 2018 г. выпущен патч для уязвимости CVE-2018-7600, также получившей название Drupalgeddon2. Основная ошибка позволяет удаленным злоумышленникам без специальных ролей или разрешений получить полный контроль над сайтами Drupal 6, 7 и 8. С начала апреля наблюдались крупномасштабные автоматические атаки на уязвимые сайты, а 20 апреля было сообщено о высоком уровне проникновения непропатченных сайтов.

23 декабря 2019 года Drupal исправил ошибку загрузки произвольного файла. Ошибка загрузки файла затрагивает Drupal 8.8.x до 8.8.1 и 8.7.x до 8.7.11, и эта уязвимость отмечена Drupal как умеренно критическая.

Долгосрочная поддержка Drupal 6

Хотя с 24 февраля 2016 года Drupal 6 больше не поддерживается, есть два утвержденных поставщика долгосрочных услуг.

Расширенная поддержка Drupal 7

Так же, как и долгосрочная поддержка Drupal 6, Drupal 7 будет иметь свои собственные после официального окончания срока службы 28 ноября 2022 года.

Сертификаты Drupal

Сертификаты Drupal под управлением Acquia доступны независимо от того, являетесь ли вы опытным разработчиком Drupal или редактор контента сайта Drupal. По состоянию на июль 2020 года вы можете выбрать Drupal 7, 8 или 9.

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Дополнительная литература

  • Abbott / Jones (2016), Learning Drupal 8, England, Packt Publishing. ISBN 978-1-78216-875-1
  • Пол, Кристен (2012). Многоязычные сайты Drupal 7. Бирмингем, Англия: Packt Publishing. ISBN 978-1-84951-818-5.
  • Мерсер, Дэвид (2010). Drupal 7. Бирмингем, Англия: Packt Publishing. ISBN 978-1-84951-286-2.
  • Трэвис, Брайан (2011). Pro Drupal 7 для разработчиков Windows. Беркли: АПресс. ISBN 978-1-4302-3153-0.
  • Бутчер, Мэтт; Ларри Гарфилд; Джон Уилкинс; Мэтт Фарина; Кен Рикард; Грег Данлэп (2010). Разработка модуля Drupal 7. Бирмингем, Англия: Packt Publishing. ISBN 978-1-84951-116-2.
  • Бхавин, Патель (август 2010 г.). Поваренная книга Drupal 6 Panel. Канада: Packt Publishing. ISBN 978-1-84951-118-6.
  • Бейли, Линн (2009). Drupal для чайников. Нью-Йорк: Для чайников. ISBN 978-0-470-55611-5.
  • Херреманс, Д. (2009). Drupal 6: полное руководство по сайту сообщества. Швейцария. ISBN 978-2-8399-0490-2.
  • Пикок, Майкл (2008). Продажа в Интернете с помощью Drupal e-Commerce. Бирмингем, Англия: Packt Publishing. ISBN 978-1-84719-406-0.
  • ВанДайк, Джон К. (2008). Профессиональная разработка Drupal, второе издание. Нью-Йорк: Springer Verlag / Apress. ISBN 978-1-4302-0989-8.
  • Кафер, Константин; Эмма Хогбин (апрель 2009 г.). Front End Drupal: проектирование, тематика, сценарии. Джерси, США: Прентис Холл. ISBN 978-0-13-713669-8.

Внешние ссылки

Викискладе есть медиафайлы, связанные с Drupal.
Последняя правка сделана 2021-05-18 04:51:30
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте