Installazioni multisito.

Impara DXPR BuilderGestisci il sitoUsalo in produzione

DXPR Builder gira in un’installazione multisito di Drupal come su server separati: una copia del codice del modulo, un database per sito e una chiave prodotto condivisa tra tutti i siti. Questa pagina spiega cosa è condiviso, cosa è per sito e come configurarlo.

Licenze tra siti

Una chiave prodotto serve tutti i tuoi siti. Le licenze sono per editor, non per sito, e il conteggio è tenuto dal server delle licenze DXPR:

  • Ogni sito invia il suo nome host e i suoi editor (gli account con il permesso edit with dxpr builder non esclusi, più l’user 1) al server delle licenze (src/Service/DxprBuilderLicenseService.php). Gli account senza un indirizzo email valido non sono inviati.
  • Il server tiene un record per indirizzo email con l’elenco dei domini su cui quell’indirizzo ha modificato. Una persona che modifica su tre siti con lo stesso indirizzo email conta una volta.
  • Ogni sito recupera dal server l’elenco condiviso degli editor e riporta il totale nel report di stato e nella pagina User Licenses. L’elenco è in cache per 24 ore.

Leggi Licenze multisito per come gli editor sono conteggiati e svincolati.

Cosa è condiviso e cosa è per sito

Condiviso tramite la base di codice:

  • Il modulo e i suoi sottomoduli in modules/contrib/dxpr_builder.
  • Il JavaScript dell’editor. Con Asset source su Cloud, il valore predefinito, ogni sito carica la stessa release dalla CDN di DXPR. Quando la directory del modulo contiene una build locale, ogni sito carica i file da lì invece.
  • Set di icone e classi di utilità dichiarati da moduli e temi (*.dxpr_icon_sets.yml, dxpr_builder_classes nel .info.yml di un tema). Le classi di un tema compaiono solo sui siti dove quel tema è attivo.

Per sito, perché vive nel database e nella configurazione di quel sito:

  • dxpr_builder.settings: la chiave prodotto o l’entità Key che la contiene, Custom styles, Sideload Bootstrap files, Browser type per i media, le impostazioni dei filtri di testo e degli asset dell’editor.
  • L’entità Key stessa (key.key.*), quando la chiave prodotto è memorizzata con il modulo Key.
  • Impostazioni AI (DXPR Studio > DXPR Builder > AI), inclusi i modelli attivi.
  • Profili builder (dxpr_builder.dxpr_builder_profile.*), modelli di pagina (dxpr_builder.page_template.*) e modelli utente (dxpr_builder.user_template.*).
  • Immagini caricate nella directory dei file di ogni sito (dxpr_builder_images, dxpr_builder_videos, dxpr_builder_files).

L’impostazione Bootstrap ha due valori, None (theme provides Bootstrap) e Bootstrap 5. Scegli per sito in base al tema usato da quel sito.

Configurare un nuovo sito nel multisito

  1. Crea il sites/<name>/settings.php del sito e il database come per qualsiasi sito multisito Drupal.

  2. Attiva il modulo su quel sito:

    drush --uri=https://<site-host> en dxpr_builder -y
    
  3. Vai in DXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings) su quel sito. Nella sezione License, incolla la stessa chiave prodotto che usi sugli altri siti, oppure seleziona una Key su questo sito che la contiene.

  4. Imposta Sideload Bootstrap files in base al tema del sito.

  5. Crea i profili builder del sito e, se serve, importa i modelli come descritto sotto.

Condividere modelli tra siti

I modelli di pagina e utente sono entità di configurazione, quindi puoi spostarli con esportazione e importazione della configurazione:

  1. Esporta la configurazione del sito d’origine:

    drush --uri=https://<source-host> config:export
    
  2. Copia i file dxpr_builder.page_template.*.yml e dxpr_builder.user_template.*.yml nella directory di sincronizzazione della configurazione del sito di destinazione.

  3. Importali sul sito di destinazione:

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

I modelli utente portano un uid; il file esportato fa riferimento all’ID utente del proprietario sul sito d’origine, quindi verifica il proprietario dopo l’importazione.

Prossimi passi