AEM proporciona varias herramientas y recursos para crear modelos de flujo de trabajo, desarrollar pasos de flujo de trabajo e interactuar mediante programación con flujos de trabajo.
Los flujos de trabajo le permiten automatizar procesos para administrar recursos y publicar contenido en su entorno de AEM. Los flujos de trabajo constan de una serie de pasos, cada uno de los cuales realiza una tarea discreta. Puede utilizar datos lógicos y de tiempo de ejecución para tomar decisiones sobre cuándo puede continuar un proceso y seleccionar el siguiente paso de uno de los varios pasos posibles.
Por ejemplo, los procesos empresariales para crear y publicar páginas web incluyen tareas de aprobación y de cierre de sesión de varios participantes. Estos procesos se pueden modelar con flujos de trabajo de AEM y aplicar a contenido específico.
A continuación se explican los aspectos clave, mientras que en las páginas siguientes se explican más detalles:
Para obtener información sobre:
Un WorkflowModel
representa una definición (modelo) de un flujo de trabajo. Está compuesto por WorkflowNodes
y WorkflowTransitions
. Las transiciones conectan los nodos y definen el flujo. El modelo siempre tiene un nodo de inicio y un nodo final.
Los modelos de flujo de trabajo tienen versiones. Cuando ejecute una instancia de flujo de trabajo, utilizará (y mantendrá) el modelo de tiempo de ejecución del flujo de trabajo (tal como está disponible en el momento en que se inició el flujo de trabajo).
Un modelo de tiempo de ejecución se genera cuando Sync se activa en el editor de modelos de flujo de trabajo.
Las ediciones al modelo de flujo de trabajo que se producen y/o a los modelos de tiempo de ejecución que se generan, después de que se inició la instancia específica no se aplicarán a esa instancia.
Los pasos realizados son los definidos por el modelo de tiempo de ejecución; esto se genera cuando se activa la acción Sync en el editor de modelos de flujo de trabajo.
Si el modelo de flujo de trabajo se cambia después de este momento (sin sincronizar activarse), la instancia de tiempo de ejecución no reflejará esos cambios. Solo los modelos de tiempo de ejecución generados después de la actualización reflejarán los cambios. Las excepciones son las secuencias de comandos de ECMA subyacentes, que sólo se conservan una vez que se realizan los cambios.
Cada paso logra una tarea discreta. Existen diferentes tipos de pasos de flujo de trabajo:
Todos los pasos comparten las siguientes propiedades comunes: Autoadvance
y Timeout
alertas (script).
Un WorkflowTransition
representa una transición entre dos WorkflowNodes
de un WorkflowModel
.
Una WorkItem
es la unidad que se pasa a través de una instancia Workflow
de un WorkflowModel
. Contiene el WorkflowData
en el que la instancia actúa y una referencia al WorkflowNode
que describe el paso subyacente del flujo de trabajo.
WorkItems
al mismo tiempo (según el modelo de flujo de trabajo).WorkItem
hace referencia a la instancia de workflow.WorkItem
se almacena debajo de la instancia de flujo de trabajo.Hace referencia al recurso que se debe avanzar a través de un flujo de trabajo.
La implementación de carga útil hace referencia a un recurso del repositorio (por ruta, UUID o URL) o por un objeto Java serializado. Hacer referencia a un recurso en el repositorio es muy flexible y en conjunto con sling muy productivo; por ejemplo, el nodo al que se hace referencia se puede representar como un formulario.
Se crea al iniciar un nuevo flujo de trabajo (eligiendo el modelo de flujo de trabajo correspondiente y definiendo la carga útil) y finaliza cuando se procesa el nodo final.
Las siguientes acciones son posibles en una instancia de flujo de trabajo:
Las instancias completadas y terminadas se archivan.
Cada cuenta de usuario tiene su propia bandeja de entrada de flujo de trabajo en la que se puede acceder a los WorkItems
asignados.
Los WorkItems
se asignan directamente a la cuenta de usuario o al grupo al que pertenecen.
Existen varios tipos de flujo de trabajo, como se indica en la consola Modelos de flujo de trabajo:
Valor predeterminado
Estos son los flujos de trabajo predeterminados incluidos en una instancia de AEM estándar.
Flujos de trabajo personalizados (sin indicador en la consola)
Son flujos de trabajo que se han creado como nuevos o a partir de flujos de trabajo listos para usar que se han superpuesto con personalizaciones.
Heredado
Flujos de trabajo creados en una versión anterior de AEM. Estos se pueden conservar durante una actualización o exportar como paquete de workflow desde la versión anterior y luego importar a la nueva versión.
Los flujos de trabajo estándar guardan información de tiempo de ejecución (historial) durante la ejecución. También puede definir un modelo de flujo de trabajo como Temporal para evitar que este historial se mantenga. Se utiliza para ajustar el rendimiento, ya que ahorra/evita el tiempo/recursos utilizados para mantener la información.
Pueden utilizarse flujos de trabajo transitorios para cualquier flujos de trabajo que:
Se introdujeron flujos de trabajo transitorios para cargar un gran número de recursos, donde la información de los recursos es importante, pero no el historial de tiempo de ejecución del flujo de trabajo.
Consulte Creación de un flujo de trabajo transitorio para obtener más detalles.
Cuando un modelo de flujo de trabajo se marca como transitorio, hay algunos escenarios en los que la información del tiempo de ejecución se mantendrá:
Dentro de un flujo de trabajo transitorio no debe utilizar un paso Goto.
Esto sucede cuando el Paso de goto crea un trabajo de sling para continuar el flujo de trabajo en el punto goto
. Esto frustra el propósito de hacer que el flujo de trabajo sea transitorio y genera un error en el archivo de registro.
Para tomar decisiones en un flujo de trabajo transitorio, puede utilizar el OR Split.
Consulte Prácticas recomendadas para los recursos para obtener más información sobre el impacto de los Flujos de trabajo transitorios en el rendimiento de los recursos.
La activación de Compatibilidad con varios recursos para el modelo de flujo de trabajo significa que se iniciará una sola instancia de flujo de trabajo incluso cuando se seleccionen varios recursos; se adjuntarán como paquete.
Si Compatibilidad con varios recursos no está activada para el modelo de flujo de trabajo y se seleccionan varios recursos, se iniciará una instancia de flujo de trabajo individual para cada recurso.
Consulte Configuración de un flujo de trabajo para compatibilidad con varios recursos para obtener más detalles.
Las etapas del flujo de trabajo ayudan a visualizar el progreso de un flujo de trabajo al administrar tareas. Se pueden utilizar para proporcionar una visión general de hasta dónde se encuentra el flujo de trabajo a través del procesamiento, ya que cuando se ejecuta el flujo de trabajo, el usuario puede realizar una vista del progreso descrito en Stage (a diferencia de un paso individual).
Como los nombres de los pasos individuales pueden ser específicos y técnicos, los nombres de las etapas se pueden definir para proporcionar una vista conceptual del progreso del flujo de trabajo.
Por ejemplo, para un flujo de trabajo con seis pasos y cuatro etapas:
Nombre del paso | Etapa (asignada al paso) |
---|---|
Etapa 1 | Crear |
Etapa 2 | Crear |
Etapa 3 | Crítica |
Etapa 4 | Aprobar |
Etapa 5 | Completar |
Etapa 6 | Completar |
Cuando se ejecuta el flujo de trabajo, el usuario puede realizar la vista del progreso según los nombres de las fases (en lugar de los nombres de los pasos). El progreso del flujo de trabajo se mostrará en la ficha INFORMACIÓN DEL FLUJO DE TRABAJO de la ventana de detalles de tarea del elemento de trabajo que se encuentra en la Bandeja de entrada.
Normalmente, los flujos de trabajo se utilizan para procesar los envíos de formularios en AEM. Esto puede suceder con los componentes principales de los componentes de formulario disponibles en una instancia de AEM estándar o con la solución de AEM Forms.
Al crear un nuevo formulario, el envío del formulario se puede asociar fácilmente con un modelo de flujo de trabajo; por ejemplo, almacenar el contenido en una ubicación concreta del repositorio o notificar al usuario el envío del formulario y su contenido.
Los flujos de trabajo también forman parte integrante del proceso de traducción.