Jak wykonać aktywację drzewa w AEM jako usłudze w chmurze?
Czasami konieczne jest opublikowanie całego drzewa dokumentów lub zasobów, na przykład gdy cała seria dokumentów jest gotowa do uruchomienia lub gdy właśnie przeprowadzono migrację zasobów do AEM jako usługi w chmurze. Sposób, w jaki wykonuje się te masowe aktywacje, zmienił się w ciągu ostatnich kilku lat i nie można już wykonywać replikacji drzewa w stary sposób w usłudze AEM Cloud Service. Oto, co się zmieniło:
Replikacja drzewa w poprzedniej wersji AEM
W poprzednich wersjach AEM (tj. AEM 6.5 i wcześniejsze), w przypadku konieczności masowej aktywacji (lub "masowego publikowania") należy użyć funkcji "Replikacja drzewa" lub "Aktywacja drzewa" w AEM. Spowoduje to umieszczenie w kolejce wszystkich stron lub zasobów, które chcesz replikować, i dodanie każdego z nich do kolejki replikacji AEM.
W tym momencie zainicjowałeś jeden z najbardziej tradycyjnych i klasycznych sposobów podpalenia AEM, ponieważ często może się zdarzyć wiele rzeczy:
- Kolejka replikacji może być załadowana setkami, tysiącami, a czasem setkami tysięcy zasobów i stron, w zależności od tego, jak duże było drzewo treści, które kazałeś AEM aktywować, i ile pod-zasobów lub stron podrzędnych musiało zostać pobranych.
- Autor AEM może się wtedy bardzo skomplikować, próbując przenieść cały ten ruch replikacyjny do tymczasowej pamięci masowej w celu wysłania go do AEM Publishers.
- Wszelkie bieżące aktywacje stron, które inni autorzy mogą wykonywać w tym czasie, muszą czekać za tą ogromną kolejką ruchu replikacyjnego, co może zająć godziny (lub nawet cały weekend, jak widziałem w niektórych przypadkach).
- Jeśli wystąpią JAKIEKOLWIEK problemy z którymkolwiek z wydawców, kolejka się zawiesi (jeden z wielu wydawców ma wysoki poziom CPU, błąd sieci lub pamięci masowej podczas replikacji jednego z przedmiotów, zły omen jest widziany na niebie przez szamana personelu, COKOLWIEK), co spowoduje zawieszenie całej kolejki replikacji do czasu rozwiązania problemu.
- Jeśli wystąpią jakiekolwiek problemy z uprawnieniami do replikowanych zasobów lub stron (np. użytkownik publikujący je może z jakiegoś powodu nie mieć dostępu do pełnego drzewa, a może coś zostało zrobione ręcznie dla jednego z wydawców, czego nie uwzględniono), spowoduje to zawieszenie całej kolejki.
- Albo zdarzenie replikacji drzewa może spowodować tak wiele zdarzeń unieważnienia pamięci podręcznej, że przychodzące obciążenie może następnie spowodować awarię wydawców, gdy próbują wielokrotnie aktywować zasoby.
Każdy, kto prowadził witrynę AEM przez dłuższy czas, najprawdopodobniej napotkał problemy z replikacją i niezawodnością witryny związane z replikacją drzewa.
Replikacja drzewa w AEM jako usłudze w chmurze
Kiedy po raz pierwszy uruchomiono AEM jako usługę w chmurze, replikacja drzewa była nadal dostępna (z ograniczeniami) i była wykonywana w podobny sposób, jak w AEM 6.5. (interfejs użytkownika replikacji drzewa został następnie usunięty pod koniec 2021 r.).
Po pierwsze, należy pamiętać, że "replikacja" znana w AEM 6.5 i wcześniejszych wersjach nie jest już sposobem, w jaki zawartość przechodzi od autora do publikacji. Jest to teraz możliwe dzięki Sling Distribution. Zobacz ten film AdaptTo, aby dowiedzieć się więcej o tym, jak to działa:
Nowym mechanizmem replikacji drzewa jest przepływ pracy "Publikuj drzewo zawartości".
To, co zasadniczo robi ten przepływ pracy, to:
- Uruchomienie przepływu pracy powoduje wyświetlenie monitu o wskazanie drzewa, które ma zostać aktywowane (tj. rozpoczęcie od jakiego poziomu).
- Następnie AEM uruchomi przepływ pracy i będzie wsadowo replikować drzewo do pakietów, które następnie dystrybuuje do wszystkich wydawców za pomocą Sling Distribution. Będzie ona rekurencyjnie przechodzić przez całą ścieżkę ładunku, aż do jej ukończenia.
Oto, co należy zrobić, aby z niej skorzystać: załóżmy, że właśnie przeprowadziłeś migrację zasobów z lokalnej instancji AEM 6.5 Assets do AEM jako usługi w chmurze. Załóżmy, że masz ścieżkę "/content/dam/arborydigital/images", która zawiera serię poddrzew zawierających tysiące obrazów, które chcesz aktywować. Aby je aktywować/opublikować:
-
Przejdź do instancji AEM Cloud Service Author
-
Przejdź do Narzędzia -> Przepływ pracy -> Modele
-
Kliknij "CREATE", a następnie "Create Model" w prawym górnym rogu.
-
Nadaj mu nazwę
-
Kliknij model przepływu pracy i naciśnij "EDYTUJ".
-
Wyszukaj "Process Step" i przeciągnij go jako krok w przepływie pracy.
-
Kliknij krok procesu i naciśnij ikonę klucza, aby skonfigurować ten krok. Kliknij zakładkę "PROCESS" w wyświetlonym oknie dialogowym.
-
Wybierz proces "Publish Content Tree" i zaznacz pole wyboru "Handler Advance".
-
Dodaj "enableVersion=true,agentId=publish,includeChildren=true" w argumentach. Domyślnie przepływ pracy Publikuj drzewo zawartości NIE zawiera elementów podrzędnych. Dodanie tego argumentu sprawia, że przepływ pracy iteruje przez drzewo i publikuje wszystkie węzły podrzędne.
Dodatkowo, jeśli chcesz kierować ten przepływ pracy tylko na podgląd zamiast na warstwę publikacji, możesz zamiast tego jako argument podać "agentId=preview". (Podziękowania dla Erica Van Geema za zwrócenie na to uwagi!). -
Naciśnij przycisk "SYNC" w prawym górnym rogu.
-
Wybierz nowy przepływ pracy z listy Modele przepływu pracy i kliknij przycisk "ROZPOCZNIJ PRZEPŁYW PRACY". W oknie dialogowym, które się pojawi, w polu "Payload" możesz wpisać lub przejść do drzewa, które chcesz aktywować. Na przykład wpisanie "/content/dam/arborydigital/images" spowoduje aktywację WSZYSTKICH węzłów w tym katalogu. Naciśnij "RUN".
-
Przepływ pracy zostanie następnie uruchomiony, a jego ukończenie zajmie od kilku minut do kilku godzin, w zależności od liczby zasobów, które właśnie zostały aktywowane.
-
Monitorowanie: można następnie monitorować stan zdarzenia replikacji, przeglądając dziennik `aemerror` w Splunk lub poprzez śledzenie dzienników błędów AEM za pomocą Adobe IO z wiersza poleceń.
Zobaczysz zdarzenia takie jak to, które wskazują, że pakiety aktywacji drzewa są wdrażane do publikacji:
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] Pomyślnie zastosowano pakiet o identyfikatorze dstrpck-1724161011143-d6d35a6a-d557-4f99-9906-e8eb55e7772c, typ ADD, ścieżki [/content/dam/arborydigital/images/smoothing-spline-jmp.jpg, /content/dam/arborydigital/images/screenshots/gallery/blorp.jpg...
Limity: Nie natknąłem się jeszcze na żadne ograniczenia dotyczące tego, "jak duży jest zbyt duży" dla aktywacji aktywów. Podczas pisania tego wpisu na blogu uruchomiłem przepływ pracy replikacji drzewa w usłudze AEM Cloud Service dla drzewa treści zawierającego około 100 GB zasobów, a drzewo zostało ukończone, zanim skończyłem pisać ten wpis na blogu.
Mam nadzieję, że to zadziała!
O autorze
Podoba ci się to, co usłyszałeś? Masz pytania dotyczące tego, co jest dla Ciebie odpowiednie? Chętnie porozmawiamy! Skontaktuj się z nami