Instalaciones multisitio.

Aprende DXPR BuilderGestionar el sitioPuesta en producción

DXPR Builder funciona en una instalación multisitio de Drupal igual que en servidores separados: una copia del código del módulo, una base de datos por sitio y una clave de producto que comparten todos los sitios. Esta página explica qué se comparte, qué es propio de cada sitio y cómo configurarlo.

Licencias entre sitios

Una clave de producto sirve para todos tus sitios. Las licencias son por persona que edita, no por sitio, y el recuento lo lleva el servidor de licencias de DXPR:

  • Cada sitio envía su nombre de host y sus personas que editan (las cuentas con el permiso edit with dxpr builder que no están excluidas, más el usuario 1) al servidor de licencias (src/Service/DxprBuilderLicenseService.php). Las cuentas sin una dirección de correo válida no se envían.
  • El servidor guarda un registro por dirección de correo con la lista de dominios en los que esa dirección ha editado. Una persona que edita en tres sitios con la misma dirección de correo cuenta una vez.
  • Cada sitio obtiene del servidor la lista compartida de edición e informa del total en el informe de estado y en la página User Licenses. La lista se guarda en caché 24 horas.

Lee Licencias multisitio para saber cómo se cuentan y liberan las personas que editan.

Qué se comparte y qué es propio de cada sitio

Compartido por la base de código:

  • El módulo y sus submódulos en modules/contrib/dxpr_builder.
  • El JavaScript del editor. Con Asset source fijado en Cloud, el valor predeterminado, cada sitio carga la misma versión desde la CDN de DXPR. Cuando el directorio del módulo contiene una compilación local, cada sitio carga los archivos desde allí.
  • Conjuntos de iconos y clases de utilidades declarados por módulos y temas (*.dxpr_icon_sets.yml, dxpr_builder_classes en el .info.yml de un tema). Las clases de un tema solo aparecen en los sitios donde ese tema está habilitado.

Propio de cada sitio, porque vive en la base de datos y la configuración de ese sitio:

  • dxpr_builder.settings: la clave de producto o la entidad Key que la contiene, Custom styles, Sideload Bootstrap files, Browser type para medios, los ajustes de filtros de texto y de recursos del editor.
  • La propia entidad Key (key.key.*), cuando la clave de producto se guarda con el módulo Key.
  • Ajustes de IA (DXPR Studio > DXPR Builder > AI), incluidos los modelos habilitados.
  • Perfiles del constructor (dxpr_builder.dxpr_builder_profile.*), plantillas de página (dxpr_builder.page_template.*) y plantillas de usuario (dxpr_builder.user_template.*).
  • Imágenes subidas en el directorio de archivos de cada sitio (dxpr_builder_images, dxpr_builder_videos, dxpr_builder_files).

El ajuste de Bootstrap tiene dos valores, None (theme provides Bootstrap) y Bootstrap 5. Elige por sitio según el tema que usa ese sitio.

Configura un sitio nuevo en el multisitio

  1. Crea el sites/<name>/settings.php del sitio y su base de datos como para cualquier sitio multisitio de Drupal.

  2. Habilita el módulo en ese sitio:

    drush --uri=https://<site-host> en dxpr_builder -y
    
  3. Ve a DXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings) en ese sitio. En la sección License, pega la misma clave de producto que usas en los otros sitios, o selecciona una Key de este sitio que la contenga.

  4. Fija Sideload Bootstrap files según el tema del sitio.

  5. Crea los perfiles del constructor del sitio y, si hace falta, importa plantillas como se describe abajo.

Comparte plantillas entre sitios

Las plantillas de página y de usuario son entidades de configuración, así que puedes moverlas con exportación e importación de configuración:

  1. Exporta la configuración del sitio de origen:

    drush --uri=https://<source-host> config:export
    
  2. Copia los archivos dxpr_builder.page_template.*.yml y dxpr_builder.user_template.*.yml al directorio de sincronización de configuración del sitio de destino.

  3. Impórtalos en el sitio de destino:

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

Las plantillas de usuario llevan un uid; el archivo exportado referencia el ID de usuario de la persona propietaria en el sitio de origen, así que comprueba la propiedad tras la importación.

¿Qué sigue?