Мультисайтові встановлення.

Вивчення DXPR BuilderКерування сайтомЗапуск у продакшні

DXPR Builder працює у мультисайтовому встановленні Drupal так само, як на окремих серверах: одна копія коду модуля, одна база даних на сайт і один ключ продукту, який ділять усі сайти. Ця сторінка охоплює те, що спільне, те, що на сайт, і як це налаштувати.

Ліцензування між сайтами

Один ключ продукту обслуговує всі ваші сайти. Ліцензування йде на редактора, а не на сайт, і підрахунок веде сервер ліцензій DXPR:

  • Кожен сайт надсилає своє ім’я хоста та своїх редакторів (облікові записи з дозволом edit with dxpr builder, які не виключені, плюс користувач 1) на сервер ліцензій (src/Service/DxprBuilderLicenseService.php). Облікові записи без дійсної адреси електронної пошти не надсилаються.
  • Сервер тримає один запис на адресу електронної пошти зі списком доменів, на яких ця адреса редагувала. Людина, яка редагує на трьох сайтах з тією самою адресою електронної пошти, рахується один раз.
  • Кожен сайт отримує спільний список редакторів із сервера й повідомляє підсумок звіту про стан і сторінці User Licenses. Список кешується на 24 години.

Як редактори рахуються та звільняються, читайте в Мультисайтовому ліцензуванні.

Що спільне, а що на сайт

Спільне через кодову базу:

  • Модуль і його субмодулі в modules/contrib/dxpr_builder.
  • JavaScript редактора. З Asset source, установленим у Cloud, типово, кожен сайт завантажує той самий реліз із DXPR CDN. Коли тека модуля містить локальну збірку, кожен сайт завантажує файли звідти натомість.
  • Набори піктограм і службові класи, заявлені модулями та темами (*.dxpr_icon_sets.yml, dxpr_builder_classes у .info.yml теми). Класи теми з’являються лише на сайтах, де цю тему ввімкнено.

На сайт, бо це живе в базі даних і конфігурації цього сайту:

  • dxpr_builder.settings: ключ продукту або сутність Key, що його тримає, Custom styles, Sideload Bootstrap files, Browser type для медіа, налаштування текстового фільтра та ресурсів редактора.
  • Сама сутність Key (key.key.*), коли ключ продукту зберігається з модулем Key.
  • Налаштування ШІ (DXPR Studio > DXPR Builder > AI), включно з тим, які моделі ввімкнено.
  • Профілі конструктора (dxpr_builder.dxpr_builder_profile.*), шаблони сторінок (dxpr_builder.page_template.*) і шаблони користувачів (dxpr_builder.user_template.*).
  • Завантажені зображення в теці файлів кожного сайту (dxpr_builder_images, dxpr_builder_videos, dxpr_builder_files).

Налаштування Bootstrap має два значення, None (theme provides Bootstrap) і Bootstrap 5. Вибирайте на сайт відповідно до теми, яку використовує цей сайт.

Налаштування нового сайту в мультисайті

  1. Створіть sites/<name>/settings.php сайту та базу даних, як і для будь-якого сайту мультисайту Drupal.

  2. Увімкніть модуль на цьому сайті:

    drush --uri=https://<site-host> en dxpr_builder -y
    
  3. Перейдіть до DXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings) на цьому сайті. У розділі License вставте той самий ключ продукту, який ви використовуєте на інших сайтах, або виберіть Key на цьому сайті, що його тримає.

  4. Установіть Sideload Bootstrap files відповідно до теми сайту.

  5. Створіть профілі конструктора сайту і, якщо потрібно, імпортуйте шаблони, як описано нижче.

Обмін шаблонами між сайтами

Шаблони сторінок і шаблони користувачів це сутності конфігурації, тож ви можете пересувати їх експортом та імпортом конфігурації:

  1. Експортуйте конфігурацію вихідного сайту:

    drush --uri=https://<source-host> config:export
    
  2. Скопіюйте файли dxpr_builder.page_template.*.yml і dxpr_builder.user_template.*.yml у теку синхронізації конфігурації цільового сайту.

  3. Імпортуйте їх на цільовому сайті:

    drush --uri=https://<target-host> config:import --partial
    

Шаблони користувачів несуть uid; експортований файл посилається на ID користувача власника на вихідному сайті, тож перевірте власника після імпорту.

Що далі?