Друпал-дайджест — 2019/декабрь [#33]

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Друпал-дайджест за декабрь 2019 года: вышедшие версии, изменения внесённые в ядро разрабатываемых веток, статьи, модули, темы и статистика использования Drupal. Дайджест не включает статьи на английском языке, которые публикуются в Drupal Planet и The Weekly Drop.



Почему номер 33
В 2014–2016 годах, на Хабре были опубликованы 20 выпусков Друпал-дайджеста — habr.com/ru/search/?target_type=posts&q=%5Bdrupal-digest%5D&order_by=date. В 2018 и 2019 годах Друпал-дайджест публиковался в группе Drupal ВКонтакте — vk.com/@drupalgroup и было опубликовано 12 выпусков. Этот дайджест снова выходит на Хабре и продолжает нумерацию под номером 33.

Версии


► 4 декабря вышли Drupal 7.68 и Drupal 8.8.0
► 18 декабря вышли Drupal 7.69, Drupal 8.7.11 и Drupal 8.8.1

Изменения в ядре
Изменения, которые вносились в разрабатываемые ветки и версии.

○ 2 декабря, 9.0.x/9.0.0 → Deprecated twig_without() function has been removed
○ 3 декабря, 8.8.x/8.8.0-RC1 → Database dump for upgrade path has been updated
○ 4 декабря, 7.x/7.68 → theme_table() takes an optional footer variable and produces <tfoot>
○ 4 декабря, 7.x/7.68 → drupal_http_request() accepts data as an array in Drupal 7
○ 4 декабря, 7.x/7.68 → Access to web.config is blocked in .htaccess (and vice-versa)
○ 4 декабря, 7.x/7.68 → New «scripts» element
○ 4 декабря, 8.8.x/8.8.0-beta1 → Drupal 8.8.0 requires pathauto version 8.x-1.6 or higher if installed
○ 5 декабря, 8.9.x/8.9.0-alpha1 → hook_install, hook_uninstall, hook_modules_installed and hook_modules_uninstalled now receive an $is_syncing parameter
○ 6 декабря, 9.0.x/9.0.0 → jQuery UI source added to Drupal core and deprecated code removed
○ 9 декабря, 8.9.x/8.9.0-alpha1 → Classy has clearfix class on field container when field label is configured as inline
○ 10 декабря, 8.8.x/8.8.0-alpha1 → Views UI no longer attaches jquery.ui.tabs
○ 16 декабря, 8.7.x/8.7.2 → Animations are disabled in WebDriverTestBase javascript testing
○ 16 декабря, 8.8.x/8.8.1 → Config entity updater can only update one entity type per update hook


Статьи


► Выполнить очередь с помощью Batch API (andead) — Пример выполнения очереди products_import с помощью Batch API…
► Как расширить функционал фильтр-плагина Views? (добавляем возможность фильтровать числовые поля по нескольким значениям) (andead) — Пример добавления возможности фильтровать числовые поля по нескольким значениями…
► Кейс: Missing Car Register GmbH (CimpleO) — Мы разработали мультиязычный сайт с отзывчивым интерфейсом, доступный для широкой публики. Пользователи получили возможность легко искать и регистрировать свои авто. Так же они могут быть уверенными, что информация об их собственности находится в надёжных руках…
► Критический баг, связанный с обработкой архивов, исправлен в Drupal (XakepRU) — Разработчики Drupal обновили свою CMS до версий 7.69, 8.7.11 и 8.8.1, в которых устранили несколько уязвимостей, включая критические…
► AJAX-добавление товара в корзину в Commerce 2 (andead)

Модули


Некоторые появившиеся в декабре модули:

Друпал 7


► File Organizer — перемещение файлов из коневой папки [root] файловой системы в папку [root/год/месяц]. Этот модуль может быть полезен, если вы хотите упорядочить размещение файлов или использовать для управления файлами файловый менеджер подобный IMCE. Модуль реализует команду drush file-organizer с набором параметров и работает следующим образом: 1) ищет в таблице file_managed файл размещённый в корне файловой системы (или определённой папке), 2) перемещает файл в новую папку на основании timestamp, 3) обновляет таблицу file_managed, 4) ищет в поле field_body ссылку на файл и обновляет её. Отметьте: модуль работает только с полем field_body.

► TS Google Cloud Storage — интеграция с сервисом Google Cloud Storage. Модуль позволяет заменить локальную файловую систему хранилищем Google Cloud, которое может использоваться в качестве файловой системы по умолчанию для всех полей типа «Файл» и «Изображение», или каждое поле можно настроить для использования Google Cloud Storage по отдельности.



Друпал 8


► Akamai Media Viewer — интеграция с галереей изображений Akamai Media Viewer (AMV).

► Attach Libraries — прикрепление библиотеки к дисплею вида, блоку, документу или странице термина.



► Autocomplete Entity ID — расширение для стандартного поля автозаполнения, позволяющее создавать связь вводя идентификатор объекта, а не только его заголовок.



► Backup and Migrate Yandex Disk — расширение модуля Backup and Migrate, которое позволяет использовать в качестве хранилища резервных копий Яндекс.Диск.



► Basic Watermark — эффект стиля изображения для добавления на изобрежение водяного знака.



► Box Access — интеграция с сервисом box.com. Пользователи могут создавать папки и работать с файлами на этом сервисе.

► CKEditor Pastefromgdocs — вставка данных из Google Docs в CKEditor с сохранением разметки.



► CKEditor Pastefromword — вставка данных из Microsoft Word в CKEditor с сохранением разметки.

► Clockify — интеграция с Clockify.

► Cloudflare Image Style — интеграция с Cloudflare для отдачи изображений с применёнными стилями через CDN Cloudflare и возврат к стандартному управлению изображениями в локальном окружении, где CDN не используется.

► Commerce Custom Shipping By Weight — расширение модуля Drupal Commerce, которое позволяет рассчитывать стоимость доставки с учётом веса посылки.

► Config batch export — удобное скачивание архива конфигураций на медленном VPS или хостинге с маленьким http timeout. Например, если сайт использует CDN и CDN ограничивает время ожидания ответа сервера 30 секундами. Если у вас много файлов конфигураций, то процесс генерации архива займёт продолжительное время и появятся ошибки. Преимущества модуля: 1) скорость, 2) малое использование памяти, 3) отсутствие ограничений по времени ожидания ответа, 4) удобное скачивание архива и безопасность из-за удаления файла архива после первого скачивания.



► Config stylesheets — объект конфигурации для CSS, которые могут прменятся к разделам сайта с использованием той же логики, что и видимость блоков. Любой CSS прикреплённый к странице размещается в конце списка импорта CSS, что позволяет перекрыть существующие в теме стили.

► Custom Account Link — модуль User создаёт в меню пользователя ссылку My account с путём /user. Этот модуль позволяет переопределить заголовок ссылки или использовать в качестве заголовка имя текущего пользователя. Стандартная ссылка может быть выключена, а новая может быть создана с нужным заголовком.

► E-mail Field Formatter — форматтер для стандартного поля типа E-mail, который позволяет: рендерить почтовый адрес как ссылку mailto:; делать ссылки усечёнными с определённым количеством знаков и многоточием после усечения; добавлять свой текст, HTML-форматирование и значок Font Awesome.

► Email Blocker — блокирование исходящих почтовых сообщений. Этот модуль полезен в среде разработки, когда сообщения с сайта отправлять не нужно и исходящие сообщения могут привести к проблемам. Например, если сайт отправляет письма по cron, с выставлением счетов клиентам, которые не должны отправляться с разрабатываемой версии сайта.

► Entity Autocomplete Hierarchy — показ иерархии в полях с автозаполнением. Термины таксономии поддерживаются по умолчанию.



► Entity Theme Engine — редактирование шаблонов Twig через интерфейс сайта. Поддерживаются все объекты содержания, в том числе block_content и node.



► Entity usage views field — поле вида, которое показывает количество использований (referencing) объекта.



► Entity Visitors — показ посетителей страницы. Модуль распространяется с 3 блоками: 1) Users viewed profile block (список пользователей, заходивших в профиль), 2) Users viewed page block (список пользователей, заходивших на страницу), 3) Users viewed node block (список пользователей, заходивших в документ). Параметры позволяют настроить оповещение пользователя, если кто-то зашёл посмотреть его профиль.



► Epub Viewer — форматтер поля для стандартного типа «Файл», который позволяет посетителям читать на сайте книги в формате .epub.



► Expose Status Report — экспонирование данных со страницы /admin/reports/status в файл формата JSON. Модуль может быть полезен, если вы управляете несколькими сайтами и хотите настроить отслеживание их статуса, собирая экспонированные этим модулем данные в одном месте.

► Fakelink — создание ложных ссылок с путём #. Используйте для указания пути ссылки запись и href ссылки будет преобразован в #.



► Flexible Views — улучшение эргономики видов, путём добавления в них нескольких новых возможностей: Views format plugin: Flexible Table, Exposed Filter: Visible Column Selector, Exposed form style: Manual selection. С помощью гибких таблиц и плагинов выбора колонок, пользователи могут выбрать, какие данные они хотят в виде видеть, а какие нужно скрыть.



► Google Webfonts Helper — интеграция с сервисом Google Fonts. Модуль позовляет скачивать шрифты с сервиса Google для локального использования. Он скачает нужные файлы и сгенерирует связанную с ними библиотеку. Таким образом, доставлять посетителю шрифты сайта можно с его сервера или CDN, что ускорит загрузку сайта на стороне посетителя.



► HTML Importer — сздание документов из HTML-файлов на сервере.



► Infogram charts — интеграция с сервисом Infogram. Модуль позволяет втраивать на сайте графики Infogram через стандартный код сервиса и тектовый фильтр.



► International Phone — ввод и проверка международного кода телефонного номера на основе библиотеки intl-tel-input.



► Lightweight Groups — использование терминов таксономии в качестве групп пользователей и содержания (этот модуль похож на упрощённую версию модуля Groups). Идея следующая: 1) если у нас есть связи пользователей и термина таксономии, то фактически это группа пользователей; 2) если у нас есть связь содержания и термина таксономии, то это какая-то группа содержания; 3) если они совпадают, то это содержание принадлежит этой группе пользователей. Модуль предоставляет разные параметры для работы групп.

► Login Warning — показ сообщения с предупреждением/оповещением перед тем, как будет показана форма входа в аккаунт. Для того, чтобы форма входа показалась, посетитель должен согласиться с сообщением нажав кнопку OK. Обычно, такие сообщения используют для информирования пользователя об условиях пользования сайтом и получения его согласия.

► Math Operation — модуль добавляет на сайт новый тип поля, который содержит два текстовых поля для ввода аргументов и позволяет вычислять общее значение на основе введённых данных и арифметических операторов (+, -, *, /).

► Microsoft Azure Blob Storage — интеграция с Microsoft Azure Blob Storage.

► Modal block — показ любого блока в модальном окне. Модуль располагает большим количеством настраиваемых параметров: задержка до появления, частота обновления, показ при попытке закрытия вкладки в браузере и так далее.



► Module List For D8 — показ установленных на сайте модулей в виде таблицы, разбитый на кастомные и скачанные с drupal.org модули.



► NfP365 CRM API — API для интеграции с Microsoft Dynamics 365 для НКО.

► Node Link Report — модуль генерирует блок, в котором показывается отчёт обо всех ссылках использующихся в данном документе. Он может быть полезен в связи с тем, что ссылки в содержании документа могут находиться в разных местах — полях с текстовым редактором, полях ссылок, текстовых полях, полях связей и других местах, что затрудняет их обнаружение и проверку. Этот модуль позволяет убедиться в том, что все используемые в содержании ссылки исправны.

► Notify Bar — показ на сайте настраиваемого оповещения. Оповещение можно включить/выключить на странице настройки модуля, а также использовать для его показа блок Notify bar, который также генерируется модулем.



► Page Specific Class — добавление класса HTML-элементу body на основе пути страницы сайта.



► PHP Runtime Memory — изменение конфигурации среды PHP без изменения файла php.ini. Параметры модуля позволяют настроить следующие параметры PHP: File Upload Limit, Memory Limit, Maximum Execution Time Limit, Input Variable Limit.



► Prevent Node Delete — gредотвращение и ограничение удаления документа, когда он связан с другим документом или используется в каком-либо объекте через поле связи.

► Security Questions — Drupal 8 — модуль добавит секретные вопросы в профиль, процесс регистрации на сайте и процесс восстановления пароля.



► Shorten Bit.ly V4 — интеграция модуля Shorten и сервиса bit.ly.

► Social Tracking — отслеживание на сайте конверсии Facebook Pixel и Twitter Conversion. Модуль поддерживает событие PageView для любых путей.



► Submit and continue — добавление в формы кнопки, которая позволяет отправить данные формы, а затем перенаправить пользователя обратно на эту же форму, чтобы он мог выполнить новое действие.



► Symfony debug — замена стандартного обработчика исключений Drupal, обработчиком Symfony Debug component, который упрощает отладку путём предоставления более подробной информации.

► Taxonomy Term Glossary — использование словаря таксономии в качестве глоссария. Возможности модуля: генерация блока для поиска по терминам или буквам (простой глоссарий), сканирование и тегирование содержания (стандартно сканируются поля text_with_summary, text_long, string_long, text, entity_reference, entity_reference_revisions), показ термина в модальном окне, использование в работе JavaScript.



► User Email text format — использование HTML-форматирования и редактора CKEditor для настройки содержания писем, которые отправляются пользователю при регистрации на сайте, восстановлении пароля и так далее. Модуль не отправляет письма в формате HTML сам, он только позволяет отредактировать само содержание письма в HTML-формате. Для отправки писем используйте модули SMTP Authentication Support, Mime Mail и подобные.



► User Status Online — показ статуса пользователя на сайте: он-лайн/офф-лайн.



► View Entity Reference Field Formatter — использование вида для показа и выбора пунктов в поле связи с объектом.



► Views Default Argument: Entity Field Values — плагин вида, для использования значения текущего объекта в качестве значения по умолчанию, в контекстном фильтре. Это работает аналогично использованию значения Content ID from URL, за тем исключением, что вы можете извлекать значение любого поля, а не только ID.



► Views user field value contextual filter — расширение возможности контекстного фильтра по передаче значения поля пользователя, в качестве аргумента по умолчанию.



► Webform Autosave — автоматическое сохранение черновика веб-формы при обнаружении ввода данных или выбора элемента в форме. Для определения активности и записи данных модуль используется jQuery и AJAX.

► Webform Navigation — возможность перехода вперёд и назад по страницам веб-формы, которая использует несколько шагов.

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



► Workspaces route lock — способ блокирования произвольных данных/маршрутов в выбранных рабочих областях. Например, можно заблокировать все страницы таксономии в рабочей области Live, чтобы категории оставались одинаковыми.



Темы


Некоторые появившиеся в декабре темы:

Друпал 8


► Elegant Showcase — тема оформления. Simple, Minimal and Clean Design, Responsive, Mobile-Friendly, 1-column and 2-columns layout, Image Slideshow with Caption, HTML 5, Total 11 block regions, Drupal standards compliant and Supported standard theme features, Ideal for business, company, professionals and portfolio sites.



► SeASer Blog Theme — тема оформления. Minimal but powerful Drupal 8 theme. Takes its power from Uikit. Uikit is more than a css framework. It provides dozens of commonly used functions with just one js file. Grid (smart), Slideshow, Slider (carousel), Lightbox, Masonry, Parallax, Sticky (navbar), Off-canvas (menu).






Статистика использования Друпала



Источник: https://habr.com/ru/post/482922/


Интересные статьи

Интересные статьи

Мне было необходимо делать 2 раза в сутки бэкап сайта на «1С-Битрикс: Управление сайтом» (файлов и базы mysql) и хранить историю изменений за 90 дней. Сайт расположен на VDS под уп...
В этой статье мы рассмотрим, как система управления 1С-Битрикс справляется с большими нагрузками. Данный вопрос особенно актуален сегодня, когда электронная торговля начинает конкурировать по обороту ...
Однажды, в понедельник, мне пришла в голову мысль — "а покопаюсь ка я в новом ядре" (новым относительно, но об этом позже). Мысль не появилась на ровном месте, а предпосылками для нее стали: ...
Как быстро определить, что на отдельно взятый сайт забили, и им никто не занимается? Если в подвале главной страницы в копирайте стоит не текущий год, а старый, то именно в этом году опека над са...
На сегодняшний день у сервиса «Битрикс24» нет сотен гигабит трафика, нет огромного парка серверов (хотя и существующих, конечно, немало). Но для многих клиентов он является основным инструментом ...