Sviluppo e differenze tra pagine

Ultimo aggiornamento: 2023-10-25

Panoramica delle funzioni

La creazione dei contenuti è un processo iterativo. Per un authoring efficace, è necessario essere in grado di vedere cosa è cambiato da un’iterazione all’altro. La visualizzazione separata di due versioni di una pagina è inefficiente e soggetta a errori. L’autore vuole poter confrontare la pagina corrente con una versione precedente evidenziando le differenze.

La differenza di pagina consente a un utente di confrontare la pagina corrente con lanci, versioni precedenti e così via. Per informazioni dettagliate su questa funzione utente, consulta Differenza di pagina.

Dettagli operazione

Quando si confrontano le versioni di una pagina, la versione precedente che l’utente desidera confrontare viene ricreata dall’AEM in background per facilitare la differenza. Questo è necessario per poter eseguire il rendering del contenuto per il confronto affiancato.

Questa operazione di ricreazione viene eseguita internamente dall'AEM, è trasparente per l'utente e non richiede alcun intervento. Tuttavia, un amministratore che visualizza l’archivio, ad esempio, in CRXDE Liti vedrebbe queste versioni ricreato all’interno della struttura del contenuto.

Quando si confronta il contenuto, l’intera struttura fino alla pagina da confrontare viene ricreata nella seguente posizione:

/tmp/versionhistory/

Un’attività di pulizia viene eseguita automaticamente per pulire questo contenuto temporaneo.

Autorizzazioni

Precedentemente, nell’interfaccia classica, era necessario prestare particolare attenzione allo sviluppo per facilitare la differenziazione dell’AEM (ad esempio utilizzando cq:text libreria di tag o integrazione personalizzata DiffService servizio OSGi nei componenti). Questa funzione non è più necessaria per la nuova funzione di differenze, poiché la differenza si verifica lato client tramite il confronto DOM.

Tuttavia, ci sono alcune limitazioni che devono essere considerate dallo sviluppatore.

  • Questa funzione utilizza classi CSS che non fanno parte del namespace del prodotto AEM. Se nella pagina sono incluse altre classi CSS personalizzate o classi CSS di terze parti con gli stessi nomi, la visualizzazione delle differenze potrebbe esserne influenzata.

    • html-added
    • html-removed
    • cq-component-added
    • cq-component-removed
    • cq-component-moved
    • cq-component-changed
  • Poiché la differenze è lato client ed viene eseguita al caricamento della pagina, eventuali modifiche apportate al DOM dopo l’esecuzione del servizio differenze lato client non verranno contabilizzate. Questo può influire

    • Componenti che utilizzano l’AJAX per includere i contenuti
    • Applicazioni a pagina singola
    • Componenti basati su JavaScript che manipolano il DOM in seguito all’interazione dell’utente.
NOTA

Il confronto delle differenze di pagina funziona solo per i componenti che hanno nodi cq:editConfig validi.

In questa pagina