Come eseguire l'attivazione di un albero su AEM as a Cloud Service
A volte è necessario pubblicare un'intera struttura di documenti o risorse, ad esempio quando un'intera serie di documenti è pronta per essere pubblicata o quando hai appena eseguito una migrazione delle risorse a AEM as a Cloud Service. Il modo in cui si eseguono queste attivazioni in blocco è cambiato negli ultimi anni e non è più possibile eseguire una replica ad albero nel vecchio modo su AEM Cloud Service. Ecco cosa è cambiato:
Replica ad albero su una versione precedente di AEM
Nelle versioni precedenti di AEM (ad es. AEM 6.5 e versioni precedenti), quando è necessario eseguire l'attivazione in blocco (o "pubblicazione in blocco") è necessario utilizzare la funzionalità "Replica ad albero" o "Attivazione ad albero" in AEM. In questo modo vengono messe in coda tutte le pagine o le risorse che si desidera replicare e vengono aggiunte alla coda di replica di AEM.
A questo punto, avete avviato uno dei modi più classici e consolidati per attivare AEM, poiché spesso possono accadere diverse cose:
- La coda di replica può essere caricata con centinaia, migliaia, a volte CENTINAIA DI MIGLIAIA di risorse e pagine, a seconda delle dimensioni della struttura dei contenuti che AEM ha indicato di attivare e del numero di risorse secondarie o pagine figlie che è stato necessario inserire.
- L'autore AEM può quindi impantanarsi enormemente nel tentativo di trasferire tutto il traffico di replica nell'archiviazione temporanea per inviarlo ad AEM Publishers
- Tutte le attivazioni di pagine attualmente ordinarie che altri autori potrebbero fare in quel momento devono attendere dietro questa enorme coda di traffico di replica che potrebbe richiedere ore (o addirittura l'intero fine settimana, come ho visto in alcuni casi)
- Se c'è QUALSIASI problema con uno qualsiasi degli editori, la coda si bloccherà (uno dei tuoi numerosi editori ha una CPU elevata, un blip di rete o di archiviazione mentre uno degli elementi veniva replicato, un cattivo presagio è visto nel cielo dal tuo sciamano dello staff, QUALSIASI COSA) questo bloccherà l'intera coda di replica fino a quando il problema non viene risolto.
- Se si verificano problemi di autorizzazione con una qualsiasi delle risorse o delle pagine replicate (ad esempio, l'utente che le pubblica probabilmente non ha accesso all'intero albero per qualche motivo, o forse è stato fatto qualcosa manualmente a uno degli editori di cui non hai tenuto conto), bloccherà l'intera coda.
- In alternativa, un evento di replica ad albero può causare un numero tale di eventi di invalidazione della cache che il caricamento in entrata può arrestare in modo anomalo gli editori mentre tentano di attivare ripetutamente gli asset.
Chiunque abbia eseguito un sito AEM per un certo periodo di tempo ha molto probabilmente riscontrato problemi di replica e problemi di affidabilità del sito associati alla replica ad albero.
Replica ad albero su AEM as a Cloud Service
Quando AEM as a Cloud Service è stato lanciato per la prima volta, la replica ad albero era ancora disponibile (con limitazioni) ed è stata eseguita in modo simile a come è stata eseguita su AEM 6.5. (l'interfaccia utente di Tree Replication è stata effettivamente rimossa alla fine del 2021)
Come prima nota, è necessario essere consapevoli del fatto che la "replica" come è nota in AEM 6.5 e versioni precedenti non è più il modo in cui il contenuto passa dall'autore alla pubblicazione. Questa operazione viene ora eseguita con Sling Distribution. Guarda questo video AdaptTo per saperne di più su come funziona:
Il nuovo meccanismo per la replica ad albero è il flusso di lavoro "Pubblica albero contenuto".
Ciò che questo flusso di lavoro fa essenzialmente è:
- L'avvio del flusso di lavoro richiede un payload di quale albero si sta cercando di attivare (cioè a partire da quale livello)
- AEM avvierà quindi il flusso di lavoro e raggrupperà la replica dell'albero in pacchetti che poi distribuirà a tutti gli editori utilizzando Sling Distribution. Seguirà in modo ricorsivo l'intero percorso del payload fino al completamento.
Ecco cosa fare per utilizzarlo: supponiamo che tu abbia appena eseguito una migrazione delle risorse dall'istanza di AEM 6.5 Assets on-premise a AEM as a Cloud Service. Supponiamo che tu abbia il percorso di "/content/dam/arborydigital/images" che ha una serie di sottoalberi contenenti migliaia di immagini che vuoi attivare. Per attivare/pubblicare:
-
Accedi all'istanza di creazione di AEM Cloud Service
-
Vai a Strumenti -> Flusso di lavoro -> Modelli
-
Fai clic su "CREA" e poi su "Crea modello" in alto a destra
-
Dagli un nome
-
Fare clic sul modello di flusso di lavoro e premere "MODIFICA"
-
Cerca "Passaggio del processo" e trascinalo come passaggio nel flusso di lavoro
-
Fare clic sul passaggio del processo e premere l'icona della chiave inglese per configurare quel passaggio. Fare clic sulla scheda "PROCESSO" nella finestra di dialogo che si apre.
-
Seleziona il processo "Pubblica struttura dei contenuti" e seleziona la casella di controllo "Avanzamento gestore".
-
Aggiungi "enableVersion=true,agentId=publish,includeChildren=true" negli argomenti. Per impostazione predefinita, il flusso di lavoro Pubblica struttura del contenuto NON include gli elementi figlio. L'aggiunta di questo argomento consente al flusso di lavoro di scorrere l'albero e pubblicare tutti i nodi figlio.
Inoltre, se si desidera utilizzare come destinazione solo l'anteprima con questo flusso di lavoro anziché il livello di pubblicazione, è possibile inserire "agentId=preview" come argomento. (Un ringraziamento a Eric Van Geem per averlo fatto notare!) -
Premi il pulsante "SINCRONIZZA" nell'angolo in alto a destra
-
Seleziona il tuo nuovo flusso di lavoro nell'elenco Modelli di flusso di lavoro e fai clic su "AVVIA FLUSSO DI LAVORO". Nella finestra di dialogo che si apre, nel "Payload" puoi digitare o navigare fino all'albero che desideri attivare. Ad esempio, inserendo "/content/dam/arborydigital/images" si attiveranno TUTTI i nodi in quella directory. Premi "CORRI".
-
Il flusso di lavoro verrà quindi avviato e richiederà da pochi minuti a poche ore per essere completato, a seconda del numero di risorse che gli hai appena detto di attivare.
-
Monitoraggio: è quindi possibile monitorare lo stato dell'evento di replica esaminando il registro "aemerror" in Splunk o eseguendo la coda dei registri degli errori AEM con Adobe IO dalla riga di comando.
Verranno visualizzati eventi come questo, che indicano che i pacchetti di attivazione dell'albero sono in fase di implementazione per la pubblicazione:
20.08.2024 13:53:24.538 [cm-p107857-e1299068-aem-author-6d6b4bddf6-bnhwx] *INFO* [EventAdminAsyncThread #7] org.apache.sling.distribution.journal.impl.publisher.DistributionPublisher [publish] Pacchetto applicato correttamente con id dstrpck-1724161011143-d6d35a6a-d557-4f99-9906-e8eb55e7772c, tipo ADD, percorsi [/content/dam/arborydigital/images/smoothing-spline-jmp.jpg, /content/dam/arborydigital/images/screenshots/gallery/blorp.jpg...
Limiti: Non ho ancora incontrato alcun limite su "quanto grande è troppo grande" per l'attivazione degli asset. Durante la stesura di questo post sul blog, ho avviato un flusso di lavoro di replica ad albero su AEM Cloud Service per un albero di contenuti contenente circa 100 GB di risorse e l'albero è stato terminato prima che finissi di scrivere il post sul blog.
Speriamo che funzioni bene per te!
Informazioni sull'autore
Ti piace quello che hai sentito? Hai domande su cosa è giusto per te? Ci piacerebbe parlare! Contattaci