So führen Sie eine Baumaktivierung in AEM as a Cloud Service durch
Manchmal ist es notwendig, eine ganze Struktur von Dokumenten oder Assets zu veröffentlichen, z. B. wenn eine ganze Reihe von Dokumenten bereit ist, live zu gehen, oder wenn Sie gerade eine Asset-Migration zu AEM as a Cloud Service durchgeführt haben. Die Art und Weise, wie diese Massenaktivierungen durchgeführt werden, hat sich in den letzten Jahren geändert, und Sie können eine Baumreplikation nicht mehr auf die alte Weise in AEM Cloud Service durchführen. Folgendes hat sich geändert:
Baumreplikation in einer früheren Version von AEM
In früheren Versionen von AEM (z. AEM 6.5 und früher), wenn eine Massenaktivierung (oder "Massenveröffentlichung") erforderlich ist, wird die Funktion "Baumreplikation" oder "Baumaktivierung" in AEM verwendet. Dadurch werden alle Seiten oder Assets, die Sie replizieren möchten, in die Warteschlange von AEM eingereiht und diese zur Replikationswarteschlange von AEM hinzugefügt.
An dieser Stelle haben Sie eine der altehrwürdigsten und klassischsten Methoden eingeleitet, AEM in Brand zu setzen, da mehrere Dinge passieren können und häufig passieren:
- Die Replikationswarteschlange kann mit Hunderten, Tausenden oder manchmal Hunderttausenden von Assets und Seiten geladen werden, je nachdem, wie groß die Inhaltsstruktur war, die AEM aktivieren sollte, und wie viele Unter-Assets oder untergeordnete Seiten abgerufen werden mussten.
- Der AEM-Autor kann dann massiv ins Stocken geraten, wenn er versucht, den gesamten Replikationsdatenverkehr in den temporären Speicher zu ziehen, um ihn an AEM-Publisher weiterzuleiten
- Alle aktuellen Standard-Seitenaktivierungen, die andere Autoren zu diesem Zeitpunkt durchführen, müssen hinter dieser massiven Warteschlange von Replikationsdatenverkehr warten, was Stunden dauern kann (oder sogar das ganze Wochenende, wie ich in einigen Fällen gesehen habe)
- Wenn es irgendwelche Probleme mit einem der Publisher gibt, bleibt die Warteschlange hängen (einer Ihrer vielen Publisher hat eine hohe CPU, einen Netzwerk- oder Speicherfehler, während eines der Elemente repliziert wurde, ein böses Omen wird von Ihrem Stabschamanen am Himmel gesehen, IRGENDETWAS), dies wird die gesamte Replikationswarteschlange aufhängen, bis das Problem behoben ist.
- Wenn es Berechtigungsprobleme mit einem der replizierten Assets oder Seiten gibt (d. h. der Benutzer, der sie veröffentlicht, hat möglicherweise aus irgendeinem Grund keinen Zugriff auf den vollständigen Baum oder vielleicht wurde etwas manuell mit einem der Publisher gemacht, den Sie nicht berücksichtigt haben), wird die gesamte Warteschlange gesperrt.
- Oder ein Strukturreplikationsereignis kann so viele Cache-Invalidierungsereignisse verursachen, dass der eingehende Ladevorgang dann Publisher zum Absturz bringen kann, während sie versuchen, Ressourcen wiederholt zu aktivieren.
Jeder, der eine AEM-Site über einen längeren Zeitraum ausgeführt hat, ist sehr wahrscheinlich auf Replikationsprobleme und Probleme mit der Site-Zuverlässigkeit im Zusammenhang mit der Baumreplikation gestoßen.
Baumreplikation in AEM as a Cloud Service
Als AEM as a Cloud Service zum ersten Mal gestartet wurde, war die Baumreplikation noch verfügbar (mit Einschränkungen) und wurde auf ähnliche Weise wie in AEM 6.5 durchgeführt. (die Benutzeroberfläche für die Baumreplikation wurde dann tatsächlich Ende 2021 entfernt)
Als ersten Hinweis sollten Sie sich der Tatsache bewusst sein, dass die "Replikation", wie sie in AEM 6.5 und früher bekannt ist, nicht mehr die Art und Weise ist, wie Inhalte vom Autor zur Veröffentlichung gelangen. Dies geschieht nun mit Sling Distribution. Sehen Sie sich dieses AdaptTo-Video an, um mehr darüber zu erfahren, wie das funktioniert:
Der neue Mechanismus für die Replikation der Struktur ist der Workflow "Inhaltsstruktur veröffentlichen".
Was dieser Workflow im Wesentlichen tut, ist:
- Beim Starten des Workflows werden Sie mit einer Payload des Baums aufgefordert, den Sie aktivieren möchten (d. h. beginnend mit welcher Ebene)
- AEM startet dann den Workflow und stapelt die Baumreplikation in Pakete, die dann mithilfe der Sling-Verteilung an alle Publisher verteilt werden. Es wird rekursiv den gesamten Nutzlastpfad durchlaufen, bis es abgeschlossen ist.
Gehen Sie wie folgt vor, um es zu verwenden: Angenommen, Sie haben gerade eine Migration von Assets von Ihrer lokalen AEM 6.5 Assets-Instanz zu AEM as a Cloud Service durchgeführt. Nehmen wir an, Sie haben den Pfad von "/content/dam/arborydigital/images", der eine Reihe von Unterbäumen mit Tausenden von Bildern enthält, die Sie aktivieren möchten. Um diese zu aktivieren/zu veröffentlichen:
-
Rufen Sie Ihre AEM Cloud Service-Autoreninstanz auf
-
Gehen Sie zu Tools -> Workflow -> Modelle
-
Klicken Sie oben rechts auf "ERSTELLEN" und dann auf "Modell erstellen"
-
Geben Sie ihm einen Namen
-
Klicken Sie auf das Workflow-Modell und klicken Sie auf "BEARBEITEN".
-
Suchen Sie nach "Prozessschritt" und ziehen Sie diesen als Schritt in Ihren Workflow hinein
-
Klicken Sie auf den Prozessschritt und klicken Sie auf das Schraubenschlüsselsymbol, um diesen Schritt zu konfigurieren. Klicken Sie auf die Registerkarte "PROZESS" im sich öffnenden Dialogfeld.
-
Wählen Sie den Prozess "Inhaltsbaum veröffentlichen" aus und aktivieren Sie das Kontrollkästchen "Handler Advance".
-
Fügen Sie "enableVersion=true,agentId=publish,includeChildren=true" in die Argumente ein. Standardmäßig enthält der Workflow "Inhaltsstruktur veröffentlichen" KEINE untergeordneten Elemente. Wenn Sie dieses Argument hinzufügen, durchläuft der Workflow die Struktur und veröffentlicht alle untergeordneten Knoten.
Wenn Sie mit diesem Workflow und nicht mit Ihrer Veröffentlichungsebene nur auf die Vorschau abzielen möchten, können Sie stattdessen "agentId=preview" als Argument angeben. (Danke an Eric Van Geem , der darauf hingewiesen hat!) -
Klicken Sie auf die Schaltfläche "SYNC" in der oberen rechten Ecke
-
Wählen Sie Ihren neuen Workflow in der Liste Workflow-Modelle aus und klicken Sie auf "WORKFLOW STARTEN". In dem sich öffnenden Dialogfeld können Sie in der "Payload" den Baum, den Sie aktivieren möchten, entweder eingeben oder zu ihm navigieren. Wenn Sie beispielsweise "/content/dam/arborydigital/images" eingeben, werden ALLE Knoten in diesem Verzeichnis aktiviert. Drücke auf "RUN".
-
Der Workflow wird dann gestartet und dauert zwischen einigen Minuten und einigen Stunden, je nachdem, wie viele Assets Sie gerade aktiviert haben.
-
Überwachung: Sie können dann den Status Ihres Replikationsereignisses überwachen, indem Sie sich das "aemerror"-Protokoll entweder in Splunk ansehen oder die AEM-Fehlerprotokolle mit Adobe IO über die Befehlszeile verfolgen.
Es werden Ereignisse wie die folgenden angezeigt, die darauf hinweisen, dass die Strukturaktivierungspakete für die Veröffentlichung bereitgestellt werden:
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] Erfolgreich angewendetes Paket mit der ID dstrpck-1724161011143-d6d35a6a-d557-4f99-9906-e8eb55e7772c, Typ ADD, Pfade [/content/dam/arborydigital/images/smoothing-spline-jmp.jpg, /content/dam/arborydigital/images/screenshots/gallery/blorp.jpg...
Grenzen: Ich bin noch auf keine Grenzen gestoßen, wenn es darum geht, "wie groß ist zu groß" für die Aktivierung von Assets zu sein. Während des Schreibens dieses Blogbeitrags habe ich einen Baumreplikations-Workflow in AEM Cloud Service für einen Inhaltsbaum mit ca. 100 GB Assets gestartet, und der Baum war fertig, bevor ich den Blogbeitrag fertig geschrieben habe.
Hoffentlich funktioniert das gut für Sie!
Über den Autor
Gefällt Ihnen, was Sie gehört haben? Haben Sie Fragen dazu, was für Sie das Richtige ist? Wir würden uns freuen, mit Ihnen zu sprechen! Kontaktieren Sie uns