Show Menu
ARGOMENTI×

Sviluppo e Page Diff

Panoramica delle funzioni

La creazione di 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. Un autore desidera poter confrontare la pagina corrente con una versione precedente, affiancando le differenze evidenziate.
Le differenze di pagina consentono a un utente di confrontare la pagina corrente con gli avvii, le versioni precedenti e così via. Per informazioni dettagliate su questa funzione utente, consultate Page Diff (Differenza pagina).

Dettagli operazione

Quando si confrontano le versioni di una pagina, la versione precedente che l’utente desidera confrontare viene ricreata in background da AEM per facilitare la modifica. È necessario per poter eseguire il rendering del contenuto per il confronto affiancato.
Questa operazione di ricreazione viene eseguita internamente da AEM, è trasparente per l’utente e non richiede alcun intervento. Tuttavia, un amministratore che visualizza l'archivio, ad esempio in CRX DE Lite, visualizzerà queste versioni ricreato all'interno della struttura del contenuto.
A seconda del livello di patch di AEM, il comportamento è diverso e può essere necessario disporre di determinate autorizzazioni per funzionare correttamente.

Precedente AEM 6.4.3

Quando si confronta il contenuto, l'intera struttura fino alla pagina da confrontare viene ricreata nel seguente percorso:
/content/versionhistory/<userId>/<site structure>
Poiché quando si utilizza il meccanismo delle differenze di pagina, AEM ricrea la versione precedente della pagina, per poter utilizzare la funzione l’utente deve disporre di determinate autorizzazioni JCR.
Per utilizzare la funzione delle differenze di pagina, l'utente deve disporre dell'autorizzazione​ Modifica/Crea/Elimina sul nodo /content/versionhistory .

A partire da AEM 6.4.3

Quando si confronta il contenuto, l'intera struttura fino alla pagina da confrontare viene ricreata nel seguente percorso:
/tmp/versionhistory/
Questo contenuto viene creato da un utente di servizi con autorizzazioni che limitano la visibilità all’utente corrente. Per questo motivo, non sono richieste autorizzazioni speciali.
Un'attività di pulizia viene eseguita automaticamente per ripulire il contenuto temporaneo.

Limitazioni per sviluppatori

Precedentemente, nell’interfaccia classica, era necessario prestare particolare attenzione allo sviluppo per facilitare la diffusione di AEM (ad esempio, l’utilizzo di cq:text tag lib o l’integrazione personalizzata del servizio DiffService OSGi nei componenti). Questo non è più necessario per la nuova funzione diff, poiché la diff si verifica sul lato client tramite il confronto DOM.
Tuttavia, lo sviluppatore deve tenere in considerazione una serie di limitazioni.
  • Questa funzione utilizza classi CSS che non hanno un nome con spazio sul prodotto AEM. Se nella pagina sono incluse altre classi CSS personalizzate o classi CSS di terze parti con gli stessi nomi, la visualizzazione della diff potrebbe essere interessata.
    • html-added
    • html-removed
    • cq-component-added
    • cq-component-removed
    • cq-component-moved
    • cq-component-changed
  • Poiché la diff è lato client ed è eseguita al caricamento della pagina, eventuali modifiche al DOM dopo l'esecuzione del servizio diff lato client non verranno prese in considerazione. Ciò può incidere
    • Componenti che utilizzano AJAX per includere il contenuto
    • Applicazioni a pagina singola
    • Componenti basati su JavaScript che modificano il DOM in base all’interazione dell’utente.