Міграція з DXPR Builder 1.x або 2.x.
DXPR Builder 3.x оновлюється на місці з будь-якого релізу
1.x або 2.x. Composer замінює код, а
drush updatedb виконує хуки оновлення у файлі
dxpr_builder.install, що перетворюють конфігурацію
та вміст. Ця сторінка перелічує дії цих хуків,
зміни для власного коду та спосіб перевірки
результату. Дати релізів узято з тегів git; див.
Старіші релізи.
Коротка історія версій
| Гілка | Drupal | Примітки |
|---|---|---|
| 7.x-1.x | Drupal 7 | Продавався як Glazed Builder, пізніше перейменований. |
| 1.x (8.x-1.x) | Drupal 8 і 9 | Машинна назва модуля dxpr_builder від першого релізу 1.x у травні 2020 року. Останній реліз 1.8.8. |
| 2.x | від Drupal 9.3 до 11 | CKEditor 5, підтримка модуля Key, перші функції ШІ. Останній реліз 2.8.1. |
| 3.x | Drupal 10.2 і 11 | Лише Bootstrap 5, обов’язковий модуль Key, міграції вмісту, генерування сторінок і зображень ШІ. |
Машинна назва не змінилася між 1.x і 3.x. Вміст, що досі має розмітку епохи Glazed, треба мігрувати на 1.x або 2.x перед оновленням; 3.x більше не переписує назву Glazed (див. нижче).
Вимоги перед початком
- Drupal 10.2 або новіший, або Drupal 11
(
core_version_requirementу файліdxpr_builder.info.yml). - Модуль Key. У 3.x це жорстка залежність;
dxpr_builder_update_9020()встановлює його, якщоdrush updatedbвиявляє його відсутність. - Ключ продукту, виданий для DXPR Builder 2.0.0 або
новішого. Ключі без клейма
dxpr_tierвідхиляються формою налаштувань. - Тема, що надає Bootstrap 5, або параметр підвантаження Bootstrap 5. Підвантаження Bootstrap 3 і 4 більше не існує.
Кроки міграції
-
Зробіть резервну копію бази даних і файлів:
drush sql:dump --result-file=backup.sql -
Оновіть код через Composer. 3.x наразі виходить як пререлізи, тож дозвольте їх:
composer require 'drupal/dxpr_builder:^3.0@beta' --with-all-dependencies -
Виконайте хуки оновлення й перебудуйте кеші:
drush updatedb drush cache:rebuildКілька хуків 3.x обробляють кожне значення поля DXPR Builder пакетами (див. нижче). На великих сайтах це займає хвилини, а не секунди.
-
Відкрийте
/admin/dxpr_studio/dxpr_builder/settingsі перевірте розділ Ліцензія. Після оновлення 9020 Спосіб зберігання це Модуль Key, а Ключ цеDXPR Builder JWT(dxpr_builder_jwt). -
Перевірте Підвантажувати файли Bootstrap на тій самій сторінці. Сайти, що мали вибраний Bootstrap 3 або 4, тепер на Bootstrap 5.
-
Відкрийте
/admin/dxpr_studio/dxpr_builder/ai_settingsі вирішіть, чи мають три перемикачі ШІ, стандартно увімкнуті, залишатися увімкнутими. -
Відвідайте сторінки, що використовують DXPR Builder, і переконайтеся, що вони правильно відображаються й редагуються.
Що роблять хуки оновлення
Хуки з номерами від 8005 до 8025 вийшли в 1.x. Сайт
1.x виконує все від 8026 далі; сайт 2.8.0
або 2.8.1 виконує 8040 і від 9014 далі. Назви функцій
мають вигляд dxpr_builder_update_NNNN().
Додані в 2.x (виконуються під час переходу з 1.x)
| Хук | Що робить |
|---|---|
| 8026 | Оновлює центральне сховище користувачів DXPR Builder. |
| 8027 | Додає ліцензійний інформаційний блок і стовпець «DXPR Builder User» до подання People. |
| 8028 | Створює таблицю dxpr_lock для блокування вмісту. |
| 8029 | Додає блок ліцензій до приладної дошки ліцензій користувачів. |
| 8030 | Перемикає налаштування Bootstrap після вилучення параметра «Bootstrap 3 Light». |
| 8031 | Вмикає ліцензійний інформаційний блок там, де його було встановлено вимкненим. |
| 8032 | Вилучає заблокованих користувачів із ліцензійного сховища. |
| 8033 | Ініціалізує drm_last_contact. |
| 8034 | Встановлює поле користувача dxpr_user_is_disavowed і дії підтвердження та скасування підтвердження користувачів. |
| 8035 | Ініціалізує налаштування hide_reminders. |
| 8036 | Мігрує назви кнопок панелі інструментів CKEditor 4 у профілях до CKEditor 5. |
| 8037 | Додає стандартний стиль зображення для швидкого завантаження зображень. |
| 8038 | Очищає кеші, щоб зареєструвати сервіси інтеграції модуля Key. |
| 8039 | Виправляє стилі зображень із неповними налаштуваннями image_scale_and_crop. |
| 9007 | Створює словники ai_tone_of_voice і ai_agent_commands зі стандартними термінами. |
| 9008 | Задає ai_enabled як true й вилучає старий ключ ai_page_enabled. |
| 9009 | Переміщує drm_last_contact із конфігурації до стану. |
| 9010 | Очищає кеші. |
| 9011 | Вмикає кнопки AI Assistant і AI Tone of Voice у кожному профілі. |
| 9012 | Відновлює ai_page_enabled зі стандартним true. |
| 9013 | Задає стандарти фільтрування виводу ШІ (ai_output_allowed_domains). |
| 9015 | Додає ai_image_enabled зі стандартним true. |
Додані в 3.x (виконуються під час переходу з 1.x або 2.x)
| Хук | Що робить |
|---|---|
| 8040 | Нормалізує bootstrap до bs5; значення 1 (Bootstrap 3) і bs4 переписуються. |
| 9014 | Пакетно: перетворює розмітку Owl Carousel у вмісті на карусель Bootstrap (src/Migration/OwlCarouselMigration.php). |
| 9016 | Додає ai_user_model_selection зі стандартним true. |
| 9017 | Пакетно: перетворює кругові лічильники circliful на розмітку прогресу Bootstrap (CircleCounterMigration.php). |
| 9018 | Пакетно: перетворює застарілу розмітку індикатора прогресу на структуру прогресу Bootstrap (ProgressBarMigration.php). |
| 9020 | Встановлює модуль Key, переміщує json_web_token до сутності Key dxpr_builder_jwt, задає api_key_storage як key і очищає значення у відкритому вигляді. |
| 9021 | Доповнює властивість type шаблонів користувачів з їхньої розмітки. |
| 9022 | Пакетно: додає data-entity-type і data-entity-uuid до внутрішніх посилань /node/N (EntityLinkMigration.php). |
| 9023 | Пакетно: виправляє текстовий формат, анотацію та втрачені дельти, які оновлення 9022 загубило на полях text_with_summary. |
| 9024 | Пакетно: збагачує внутрішні посилання з аліасами так само, як 9022 (AliasLinkMigration.php). |
| 9025 | Очищає tone_of_voice_vocabulary, коли він указує на словник, якого більше немає. |
| 9026 | Очищає json_web_token у відкритому вигляді, залишений у налаштуваннях, коли ключ міститься в сутності Key. |
Оновлення 9019 немає.
Міграції вмісту
3.x виконує міграції вмісту лише пакетно; перетворення
під час відображення більше немає. Сторінка статусу міграції
(/admin/dxpr_studio/dxpr_builder/migration-status)
і звіт про статус перелічують очікуваний вміст. Хуки
оновлення вище мігрують його, як і дії Запустити
зараз і Запустити всі очікувані міграції на
цій сторінці. Міграції це сервіси з тегом
dxpr_builder.content_migration
(dxpr_builder.services.yml). Пакет, що
записує збої, не позначається завершеним; невдалі
елементи журналюються й залишаються очікуваними.
Переписування рядків glazed_to_dxpr, яке 1.x і
2.x застосовували під час відображення, вилучено. Назву
Glazed відкинуто з 1.0.0 у травні 2020 року, і весь вміст
епох Glazed і Carbide вважається мігрованим тими релізами. Переписування
було звичайною заміною рядків. На сайтах, чий
вміст лише згадує Glazed (статті підтримки,
посилання на документацію), воно переписувало б прозу
й ламало посилання замість міграції розмітки.
Сайти, що досі тримають назви класів Glazed у збереженому
вмісті, мають спочатку оновитися до релізу 2.x.
Зміни для власного коду
Форматувальник поля
Ідентифікатор форматувальника поля це dxpr_builder_text
(мітка «DXPR Builder»,
src/Plugin/Field/FieldFormatter/DxprBuilderFormatter.php),
незмінний з 1.x. Він має одне налаштування,
profile, порожнє для стандарту на основі ролей, або містить ідентифікатор профілю. Перевірте, що кожне поле
конструктора досі використовує цей форматувальник на своєму
показі; виправлення з оновлення 9023 обмежене полями,
що його використовують.
Хуки
dxpr_builder.api.php документує хуки 3.x.
Перейменуйте хуки Glazed Builder так:
| Хук Glazed Builder | Хук DXPR Builder 3.x |
|---|---|
hook_glazed_builder_classes() |
hook_dxpr_builder_classes_alter(array &$dxpr_builder_classes) |
hook_glazed_builder_buttons_folders() |
hook_dxpr_builder_element_buttons_folders_alter(array &$dxpr_element_buttons_folders) |
hook_glazed_builder_elements_folders() |
Вилучено; заміни немає. |
| немає | hook_dxpr_builder_icon_sets_alter(array &$icon_sets), новий. Набори значків оголошуються у файлах MODULE.dxpr_icon_sets.yml. |
CSS і службові класи
Власний CSS, що використовує назви класів Glazed, має
використовувати назви DXPR, наприклад dxpr-theme-util,
panel-dxpr і dxpr-builder.
Службові класи, показані в редакторі, надаються
через hook_dxpr_builder_classes_alter().
Конфігурація та розгортання
- Вилучіть
json_web_tokenз будь-якої зафіксованої конфігурації; після оновлення 9020 ключ міститься в сутності Keydxpr_builder_jwt. Цей Key використовує постачальника Configuration, тож ключ досі експортується якkey.key.dxpr_builder_jwt. Перемкніть його на постачальника File або Environment за адресою/admin/config/system/keys, щоб тримати його поза експортом. - Експорт конфігурації тепер містить два словники ШІ та їхні терміни.
- Профілі експортують назви кнопок CKEditor 5 у
inline_buttonsіmodal_buttons.
Усунення несправностей
Якщо вміст після оновлення показується неправильно:
- Виконайте
drush cache:rebuild. - Перевірте
/admin/reports/dblogщодо повідомлень із каналуdxpr_builder; пакетні міграції журналюють пропущені ними елементи. - Підтвердіть, що показ кожного поля конструктора досі використовує форматувальник DXPR Builder.
- Підтвердіть, що тема завантажує Bootstrap 5, або увімкніть
підвантаження за адресою
/admin/dxpr_studio/dxpr_builder/settings.

Що далі?
- Оновлення: рутинні оновлення в межах гілки
- Журнал змін: що змінив кожен реліз
- Довідник конфігурації: кожен ключ, якого торкаються хуки оновлення