CMS Drupal (Дру́пал)

Drupal (Дру́пал) — система управления содержимым (CMS), используемая также как каркас для веб-приложений (CMF), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.

На Drupal работает более 1 миллиона сайтов — от личных блогов до сайтов компаний, политических партий и государственных организаций. По состоянию на январь 2018 года Drupal-сообщество состоит из 1.3 миллиона человек, включая более 100 000 активных контрибьюторов. Экосистема Drupal насчитывает более 40 000 бесплатных модулей для расширения и настройки базовой функциональности, более 2500 бесплатных тем оформления, а также не менее 1200 готовых сборок, с помо которых можно быстро и легко установить Drupal с готовой специфической функциональностью.

Ядро (Drupal core) включает функции являющиеся стандартными для систем управления содержимым: регистрация пользователей и администрирование учетных записей, управление меню, RSS-потоки, таксономия, настройка макетов страницы и т. д. Установка Drupal даже без дополнительных модулей может быть использована для простых сайтов, личных и коллективных блогов, форумов или сайтов сообществ, в которых материалы создаются пользователями.

Несмотря на то, что Drupal предлагает опытным разработчикам развитый АПИ, для установки и администрирования обычных сайтов не требуются навыки программирования.

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

1. Встроенный визуальный редактор (WYSIWYG), с помощью которого можно легко оформить текст, используя привычные инструменты форматирования.

2. Поддержка адаптивного дизайна (responsive design) на уровня ядра для обеспечения правильного отображения сайта на различных устройствах.

3. Улучшенная поддержка локализации интерфейса и перевода содержимого на различные языки.

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

Наиболее важные функции, предоставляемые ядром Drupal:

Управление конфигурациями на уровне файловой системы для быстрого переноса элементов конфигурации (типа материалов, представлений, полей и т. д.) из локальной среды разработки на сервер. Конфигурационные данные хранятся в файлах, отдельно от базы данных сайта, что позволяет использовать системы управления версиями для отслеживания изменений в конфигурациях.

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

Типы материалов, которые могут быть созданы без программирования, используя удобный конструктор в административном интерфейсе сайта. Разные типы могут иметь свой набор полей, которые, по необходимости, можно добавлять и удалять. Примеры типов материалов: «Страница», «Статья», «Запись в блог», «Музыкальный альбом», «Товар» и т. п.

Модуль Services позволяет программно создать свой собственный сервисный модуль и интегрировать его с вызовами методов (например, Representational State Transfer [REST], JavaScript Object Notation [JSON] или XML-remote procedure call [XML-RPC]). Использую модуль Service можно извлекать информацию из одного Drupal-сайта и отображать на другом, расположенном на том же локальном сервере или в другом месте. Модуль Services можно использовать и для интеграции приложений, не основанных на Drupal, ― с помощью внешнего Web-сервиса.

Технология BigPipe, обеспечивающая прогрессивный рендеринг путем разграничения вывода статических, кэшированных динамических и персонализированных частей веб-страниц.