Información de entorno de ejecución

Cuando se ejecuta una actividad manual, el motor de flujo de trabajo procesa la estrategia de asignación definida en los metadatos para recuperar la lista de destinos de asignación de esa tarea. Si la estrategia de asignación es de tipo función, el motor de flujo de trabajo procesa las correlaciones de entrada definidas para la función de asignación asociada y la invoca para recuperar la lista de destinos de asignación. Si la estrategia de asignación es de tipo regla, el motor de flujo de trabajo procesa las correlaciones del conjunto de reglas especificado y llama al motor de reglas para que ejecute el conjunto de reglas para recuperar la lista de destinos de asignación. Si la estrategia de asignación es de tipo destino, el destino de asignación es simplemente el que se especifica en los metadatos y no se requiere proceso adicional.

Tal como se describe en los metadatos de un proceso de flujo de trabajo (consulte Metadatos de una definición de proceso), puede especificarse una estrategia de asignación de errores para un proceso. Esta estrategia se procesa y se utiliza cuando la invocación de la estrategia de asignación asociada a la tarea no devuelve ningún destino de asignación.

El motor de flujo de trabajo utiliza después la propiedad curam.custom.workflow.workresolver para determinar la implementación de la función utilizada para asignar tareas en la aplicación. Luego el motor de flujo de trabajo invoca esta función pasándole la lista de destinos de asignación que determine la estrategia de asignación y también los detalles de la tarea que se va a asignar.

Una vez invocado el programa de resolución de trabajos para la tarea, el motor de flujo de trabajo hace una llamada al método checkTaskAssignment de la clase curam.core.sl.impl.TaskAssignmentChecker. Esta función comprueba el estado de la asignación de la tarea (es decir, para asegurarse de que se ha asignado a al menos un usuario u objeto organizativo (organización, puesto o trabajo) o a una cola de trabajos). Si la tarea no se ha asignado, la propiedad de aplicación curam.workflow.defaultworkqueue se examina para ver qué se ha especificado como cola de trabajos predeterminada para el flujo de trabajo. Entonces la tarea se asigna a esa cola de trabajos.

Si la tarea se ha asignado a un único usuario después de haberse resuelto el trabajo, el sistema comprobará el valor de la propiedad de aplicación curam.workflow.automaticallyaddtasktousertasks. Este distintivo controla si el sistema va a añadir automáticamente la tarea especificada que se está procesando a la lista de las tareas de ese usuario para permitirle que trabaje en ella. El valor predeterminado de la propiedad es NO, pero si se ha especificado YES, el sistema añadirá automáticamente esta tarea a la lista Mis tareas del usuario en su bandeja de entrada para permitirle que trabaje en ella.