Cómo realizar una activación de árbol en AEM as a Cloud Service
A veces es necesario publicar un árbol completo de documentos o recursos, como cuando una serie completa de documentos está lista para publicarse o cuando acaba de realizar una migración de recursos a AEM as a Cloud Service. La forma en que se realizan estas activaciones masivas ha cambiado en los últimos años y ya no se puede realizar una replicación de árbol a la antigua usanza en AEM Cloud Service. Esto es lo que ha cambiado:
Replicación de árbol en la versión anterior de AEM
En versiones anteriores de AEM (es decir, AEM 6.5 y versiones anteriores), cuando se necesitaba realizar una activación masiva (o "publicación masiva"), se utilizaba la funcionalidad "Replicación de árbol" o "Activación de árbol" en AEM. Esto pondría en cola todas las páginas o recursos que desea replicar y agregaría cada uno de ellos a la cola de replicación de AEM.
En este punto, ha iniciado una de las formas más tradicionales y clásicas de incendiar AEM, ya que a menudo pueden suceder varias cosas:
- La cola de replicación se puede cargar con cientos, miles, a veces CIENTOS DE MILES de recursos y páginas, en función del tamaño del árbol de contenido que le indicó a AEM que activara y del número de subrecursos o páginas secundarias que se tuvieron que extraer.
- A continuación, AEM Author puede atascarse masivamente al intentar extraer todo ese tráfico de replicación en un almacenamiento temporal para enviarlo a AEM Publishers
- Cualquier activación de página común y corriente que otros autores puedan estar haciendo en ese momento debe esperar detrás de esta cola masiva de tráfico de replicación, lo que puede llevar horas (o incluso todo el fin de semana, como he visto en algunos casos)
- Si hay ALGÚN problema con alguno de los editores, la cola se bloqueará (uno de sus muchos editores tiene una CPU alta, un problema de red o almacenamiento mientras se replicaba uno de los elementos, su chamán de personal ve un mal presagio en el cielo, CUALQUIER COSA) esto colgará toda la cola de replicación hasta que se resuelva el problema.
- Si hay algún problema de permisos con alguno de los activos o páginas que se replican (es decir, el usuario que los publica posiblemente no tenga acceso al árbol completo por alguna razón, o tal vez se hizo algo manualmente a uno de los editores que no tuvo en cuenta), colgará toda la cola.
- O bien, un evento de replicación de árbol puede provocar tantos eventos de invalidación de caché que la carga entrante puede bloquear a los editores mientras intentan activar activos repetidamente.
Es muy probable que cualquier persona que haya ejecutado un sitio AEM durante un período de tiempo prolongado se haya encontrado con problemas de replicación y problemas de fiabilidad del sitio asociados con la replicación de árbol.
Replicación de árbol en AEM as a Cloud Service
Cuando AEM as a Cloud Service se lanzó por primera vez, la replicación de árboles todavía estaba disponible (con límites) y se realizaba de forma similar a como se hacía en AEM 6.5. (la interfaz de usuario de replicación de árbol se eliminó a fines de 2021)
Como primera nota, debe tener en cuenta el hecho de que la "replicación", tal como se conoce en AEM 6.5 y versiones anteriores, ya no es la forma en que el contenido pasa del autor a la publicación. Esto ahora se hace con Sling Distribution. Vea este video de AdaptTo para obtener más información sobre cómo funciona:
El nuevo mecanismo para la replicación de árboles es el flujo de trabajo "Publicar árbol de contenido".
Lo que este flujo de trabajo hace esencialmente es:
- Al iniciar el flujo de trabajo, se le solicita una carga útil de qué árbol está buscando activar (es decir, a partir de qué nivel)
- AEM iniciará el flujo de trabajo y procesará por lotes la replicación del árbol en paquetes que luego distribuirá a todos los editores mediante Sling Distribution. Recorrerá recursivamente toda la ruta de carga útil hasta que se complete.
Esto es lo que debe hacer para ponerlo en uso: supongamos que acaba de realizar una migración de recursos desde la instancia local de AEM 6.5 Assets a AEM as a Cloud Service. Digamos que tiene la ruta de "/content/dam/arborydigital/images" que tiene una serie de subárboles que contienen miles de imágenes que desea activar. Para activarlos/publicarlos:
-
Vaya a la instancia de AEM Cloud Service Author
-
Ir a Herramientas -> Flujo de trabajo -> Modelos
-
Haga clic en "CREAR" y luego en "Crear modelo" en la parte superior derecha
-
Dale un nombre
-
Haga clic en el modelo de flujo de trabajo y presione "EDITAR"
-
Busque "Paso del proceso" y arrástrelo como un paso en su flujo de trabajo
-
Haga clic en el paso del proceso y presione el icono de llave inglesa para configurar ese paso. Haga clic en la pestaña "PROCESO" en el cuadro de diálogo que aparece.
-
Seleccione el proceso "Publicar árbol de contenido" y marque la casilla de verificación "Avance del controlador".
-
Agregue "enableVersion=true,agentId=publish,includeChildren=true" en los argumentos. De forma predeterminada, el flujo de trabajo Publicar árbol de contenido NO incluye elementos secundarios. Agregar este argumento hace que el flujo de trabajo itere a través del árbol y publique todos los nodos secundarios.
Además, si solo desea dirigirse a la versión preliminar con este flujo de trabajo en lugar de al nivel de publicación, puede colocar "agentId=preview" como argumento en su lugar. (¡Un saludo a Eric Van Geem por señalar esto!) -
Presiona el botón "SINCRONIZAR" en la esquina superior derecha
-
Seleccione su nuevo flujo de trabajo en la lista Modelos de flujo de trabajo y haga clic en "INICIAR FLUJO DE TRABAJO". En el cuadro de diálogo que aparece, en "Carga útil" puede escribir o buscar el árbol que desea activar. Por ejemplo, si se introduce "/content/dam/arborydigital/images", se activarán TODOS los nodos de ese directorio. Presiona "EJECUTAR".
-
El flujo de trabajo se iniciará y tardará entre unos minutos y unas horas en completarse, dependiendo de cuántos activos le acabes de decir que active.
-
Supervisión: a continuación, puede supervisar el estado del evento de replicación consultando el registro "aemerror" en Splunk o siguiendo los registros de errores de AEM con Adobe IO desde la línea de comandos.
Verá eventos como este, que indican que los paquetes de activación de árbol se están implementando para publicar:
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] Paquete aplicado correctamente con id dstrpck-1724161011143-d6d35a6a-d557-4f99-9906-e8eb55e7772c, tipo ADD, rutas [/content/dam/arborydigital/images/smoothing-spline-jmp.jpg, /content/dam/arborydigital/images/screenshots/gallery/blorp.jpg...
Límites: Todavía no me he encontrado con ningún límite sobre "qué tan grande es demasiado grande" para activar activos. Mientras escribía esta entrada de blog, inicié un flujo de trabajo de replicación de árbol en AEM Cloud Service para un árbol de contenido que contiene aproximadamente 100 GB de recursos, y el árbol terminó antes de que terminara de escribir la entrada de blog.
¡Espero que esto funcione bien para ti!
Sobre el autor
¿Te gusta lo que escuchaste? ¿Tiene preguntas sobre lo que es adecuado para usted? ¡Nos encantaría hablar! Contáctenos