Мультисайтові встановлення.
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. Вибирайте на сайт відповідно до теми, яку використовує цей сайт.
Налаштування нового сайту в мультисайті
-
Створіть
sites/<name>/settings.phpсайту та базу даних, як і для будь-якого сайту мультисайту Drupal. -
Увімкніть модуль на цьому сайті:
drush --uri=https://<site-host> en dxpr_builder -y -
Перейдіть до DXPR Studio > DXPR Builder > General Settings (
/admin/dxpr_studio/dxpr_builder/settings) на цьому сайті. У розділі License вставте той самий ключ продукту, який ви використовуєте на інших сайтах, або виберіть Key на цьому сайті, що його тримає. -
Установіть Sideload Bootstrap files відповідно до теми сайту.
-
Створіть профілі конструктора сайту і, якщо потрібно, імпортуйте шаблони, як описано нижче.
Обмін шаблонами між сайтами
Шаблони сторінок і шаблони користувачів це сутності конфігурації, тож ви можете пересувати їх експортом та імпортом конфігурації:
-
Експортуйте конфігурацію вихідного сайту:
drush --uri=https://<source-host> config:export -
Скопіюйте файли
dxpr_builder.page_template.*.ymlіdxpr_builder.user_template.*.ymlу теку синхронізації конфігурації цільового сайту. -
Імпортуйте їх на цільовому сайті:
drush --uri=https://<target-host> config:import --partial
Шаблони користувачів несуть uid; експортований файл посилається на
ID користувача власника на вихідному сайті, тож перевірте власника після
імпорту.
Що далі?
- Мультисайтове ліцензування для підрахунку редакторів і звільнення ліцензій.
- Імпорт та експорт шаблонів для пересування окремих шаблонів через інтерфейс адміністрування.