Instalações multisite.
O DXPR Builder corre numa instalação multisite do Drupal tal como corre em servidores separados: uma cópia do código do módulo, uma base de dados por site, e uma chave de produto que todos os sites partilham. Esta página abrange o que é partilhado, o que é por site, e como o configurar.
Licenciamento entre sites
Uma chave de produto serve todos os sites. O licenciamento é por editor, não por site, e a contagem é mantida pelo servidor de licenças da DXPR:
- Cada site envia o nome de anfitrião e os editores (as contas com
a permissão
edit with dxpr buildernão excluídas, mais o utilizador 1) para o servidor de licenças (src/Service/DxprBuilderLicenseService.php). Contas sem um endereço eletrónico válido não são enviadas. - O servidor guarda um registo por endereço eletrónico com a lista de domínios onde esse endereço editou. Uma pessoa que edita em três sites com o mesmo endereço eletrónico conta uma vez.
- Cada site obtém a lista partilhada de editores do servidor e indica o total no relatório de estado e na página User Licenses. A lista fica em cache durante 24 horas.
Leia Licenciamento multisite para saber como os editores se contam e libertam.
O que é partilhado e o que é por site
Partilhado através da base de código:
- O módulo e os submódulos em
modules/contrib/dxpr_builder. - O JavaScript do editor. Com Asset source definido como Cloud, a predefinição, cada site carrega o mesmo lançamento da CDN da DXPR. Quando o diretório do módulo tem uma compilação local, cada site carrega antes os ficheiros de lá.
- Conjuntos de ícones e classes utilitárias declarados por módulos e temas
(
*.dxpr_icon_sets.yml,dxpr_builder_classesno.info.ymlde um tema). As classes de um tema aparecem apenas nos sites onde esse tema está ativo.
Por site, porque vive na base de dados e na configuração desse site:
dxpr_builder.settings: a chave de produto ou a entidade Key que a guarda, Custom styles, Sideload Bootstrap files, Browser type para multimédia, as definições de filtro de texto e de recursos do editor.- A própria entidade Key (
key.key.*), quando a chave de produto está guardada com o módulo Key. - Definições de IA (DXPR Studio > DXPR Builder > AI), incluindo que modelos estão ativos.
- Perfis do construtor (
dxpr_builder.dxpr_builder_profile.*), modelos de página (dxpr_builder.page_template.*) e modelos de utilizador (dxpr_builder.user_template.*). - Imagens carregadas no diretório de ficheiros de cada site
(
dxpr_builder_images,dxpr_builder_videos,dxpr_builder_files).
A definição de Bootstrap tem dois valores, None (theme provides Bootstrap) e Bootstrap 5. Escolha por site segundo o tema que o site usa.
Configurar um site novo no multisite
-
Crie o
sites/<name>/settings.phpdo site e a base de dados como para qualquer site multisite do Drupal. -
Ative o módulo nesse site:
drush --uri=https://<site-host> en dxpr_builder -y -
Aceda a DXPR Studio > DXPR Builder > General Settings (
/admin/dxpr_studio/dxpr_builder/settings) nesse site. Na secção License, cole a mesma chave de produto usada nos outros sites, ou selecione uma Key neste site que a guarda. -
Defina Sideload Bootstrap files segundo o tema do site.
-
Crie os perfis do construtor do site e, se preciso, importe modelos como descrito abaixo.
Partilhar modelos entre sites
Os modelos de página e de utilizador são entidades de configuração, por isso pode movê-los com exportação e importação de configuração:
-
Exporte a configuração do site de origem:
drush --uri=https://<source-host> config:export -
Copie os ficheiros
dxpr_builder.page_template.*.ymledxpr_builder.user_template.*.ymlpara o diretório de sincronização de configuração do site de destino. -
Importe-os no site de destino:
drush --uri=https://<target-host> config:import --partial
Os modelos de utilizador trazem um uid; o ficheiro exportado refere o
ID de utilizador do dono no site de origem, por isso verifique o dono após a
importação.
O que se segue?
- Licenciamento multisite para contagem de editores e libertação de licenças.
- Importar e exportar modelos para mover modelos individuais pela interface de administração.