Menú. Flujos de Trabajo
FLUJOS DE TRABAJO
Desde este apartado del menú, se permite a los usuarios crear vervisualizar en una tabla el listado de todos los flujos de trabajo que se han generado. El usuario va a poder definir workflows o flujos de trabajo, sobre los documentos que se encuentran subidos en la aplicación. El flujo del sistema de gestión documental o workflow documental, seconsiste trata deen una automatización a través de procesos donde interviene la jerarquía preestablecida, pero aplicada a los documentos existentes. UnEsto workflow se refiere a lograrhará que las actividades se realicen con el menor esfuerzo posible del personal, es decir, a través de software. Gracias a la automatización del flujo de trabajo la empresa podrá reducir significativamente el tiempo invertido en cada transacción.proceso.
Mediante "Añadir", la aplicación despliega una nueva subventanaventana para dar de alta un nuevo workflow, donde se necesita establecer un nombreNombre y una descripcióDescripción identificativa de los flujos que se han establecido, y a continuación guardarGuardar o cancelarCancelar..
Una vez que hemos dado de alta o generado el workflow correspondiente, ya podemos, o bien editarEditar el flujo pulsando en el icono del lápiz o bien
borrar o eliminarEliminar el flujo pulsando el botón de cubo de basura , si no se necesita mantenerlo, lanzando una
subventanaventana de confirmaciónemergente para confirmar la eliminación.
En la parte inferior derecha de la tabla, se muestra el total de resultadosworkflows obtenidos,obtenidos como resultado, o bien sin aplicar ningún tipo de búsqueda o filtrado o aplicado alguna de las opciones posibles. El sistema muestra por defecto 10 líneas por tabla y pantalla, permitiendo mostrar 15 líneas o 2025 líneas por tabla y pantalla. También permite la navegación hacia adelante o hacia atrás en las listas mostradas, dependiendo de la paginación establecida.
En el caso de haber elegido la opción de editarEditar, el sistema va a desplegar en la misma ventana del navegador en el que se esté trabajando, un tablero principal con cuadrículas para el diseño del workflows o flujo de tareas,tareas que se viene a denominardenominada "diseñadorEdición de workflow". ElsaEste Workflowseditor ofrece flexibilidad sobrede cómo configurarconfiguración y ejecutarejecución de flujos de trabajo. Ya sea que esté buscando un flujo de trabajo rápido basado en consola o un servidor de flujo de trabajo ASP.NET Core completo, Elsa lo tiene cubierto.completo.
Flujos de trabajo del diseñador
Para una representación visual y gestión de sus flujos de trabajo, Elsael Studioeditor de workflws ofrece una interfaz fácil de usar para diseñar, monitorear y administrar sus flujos de trabajo. Cuando utiliza el diseñador,editor, define los flujos de trabajo arrastrando y soltando actividades en el lienzo y conectándolas. El modelo de datos subyacente es el mismo que se utiliza para los flujos de trabajo programáticos y utiliza la actividad Diagrama de flujo. En otras palabras, al crear flujos de trabajo utilizando el diseñador,editor, estás creando flujos de trabajo cuya Root
propiedad (propiedad) se establece en una Flowchart
actividad. (actividad).
Cuando crea flujos de trabajo con el diseñador, los valores de entrada se definen mediante expresiones de script en lugar de declaraciones lambda de C#. Aunque puede usar expresiones de script de C# en el diseñador, la diferencia es que las expresiones de script de C# se evalúan en tiempo de ejecución, mientras que las expresiones lambda en flujos de trabajo programáticos se compilan en tiempo de compilación.
Áreas de trabajo de la ventana de edición de Workflows
- Actividades de workflow disponibles:
- Administration (Administración).
- Find group: permite encontrar un
ejemplogrupousandode usuarios en base al nombre del grupo. - Find user: permite encontrar un usuario en base al email o el nombre del usuario.
- Find group: permite encontrar un
- Branching (Ramificación).
- Decision: introduce una condición que tiene salidas "True" o "False".
- Join: actividad de unión de varias líneas de flujo. Permite esperar cualquiera o todas las actividades precedentes.
- Switch (flow): permite insertar tantas salidas como sean necesarias configurando las condiciones que se deben cumplir en cada una de ellas.
- Document explorer (Explorador de documentos):
- Create smartinbox document: creación de un documento en base a una plantilla.
- Digital signature flow: creación de un flujo de firma remota.
- Receive document: actividad de entrada de un documento en Waidok. Actualmente, esta actividad supone el inicio de cualquier flujo relacionado con documentos.
- Search document: recupera uno o varios documentos en base a un texto o a los metadatos asociados a los documentos de la colección seleccionada.
- Update document metadata: permite actualizar los metadatos de un documento en base al ID del documento o a los metadatos asociados al documento de la colección seleccionada.
- Flow (Flujo):
- End: Indica el final del workflow.
- Forms (Formularios):
- Receive form request response: actividad que comienza cuando se completa o se rechaza la respuesta de un formulario solicitado.
- Send custom form: envía un formulario preconfigurado a un usuario o a un grupo.
- HTTP:
- HTTP request: envío de peticiones a datos publicados en un HTTP.
- HTTP request (flow): actividad que determina una acción en el workflow cuando se reciba una respuesta determinada desde una URL HTTP (200, failed to connect, Timeout, etc.).
- Looping (Bucle):
- Break: rompe el bucle y sale del mismo.
- For: ejecuta una instrucción o un bloque de instrucciones mientras una expresión
debooleanaJavaScript.seElevalúasiguientecomoflujo"True". - For each: ejecuta una instrucción o un bloque de
trabajoinstruccionesse crea utilizando el diseñador:Veamospara cadaactividadelementopor turno:Actividad 1Esta actividad esde unaWriteLineactividad.instanciaSudelTextpropiedadtiposedefinido. - While:
enPlease tell me your name:.Actividad 2Esta actividad esejecuta unaReadLineactividad.instrucciónestaoactividadunno tiene entrada, pero suOutputpropiedad está establecida en una variablebloque deflujoinstruccionesde trabajo llamadaName.Esta variable se define en laVariablesconfiguración del flujo de trabajo:Actividad 3Esta actividad es unaWriteLineactividad. SuTextpropiedad se establece enmientras una expresión booleana se evalúa como "True". Como esa expresión se evalúa antes deJavaScript:cadaNiceejecucióntodelmeetbucle,you,un${getName()}!\.bucle While se ejecuta cero o varias veces. Este tipo de bucle se diferencia del bucle Do porque se ejecuta una o varias veces.
establece - Notification (Notificación):
- Notify by email: envía un correo electrónico a un usuario o un grupo de usuarios.
- Primitives (Primitivas):
- Set variable: asigna valores a una variable predefinida.
- Records (Expedientes):
- Create record: crea un expediente de un tipo determinado con unos valores de metadatos.
- Receive record: actividad de entrada de un expediente en Waidok. Actualmente, esta actividad supone el inicio de cualquier flujo relacionado con expedientes.
- Search records: recupera uno o varios expedientes en base a un texto o a los metadatos asociados a un tipo de expediente.
- Update record metadata: permite actualizar los metadatos de un expediente en base al ID del expediente o a los metadatos asociados al expediente del tipo seleccionado.
- Scheduling (Planificación):
- Cron: programación de una actividad a través de una expresión cron.
- Delay: retardo en la ejecución de una actividad en base a un intervalo de tiempo.
- Tasks (Tareas):
- Create approval task: generación de una tarea de aprobación para un usuario o grupo de usuarios que permite salidas a la aprobación, al rechazo y otra.
- Create decision task: generación de tareas de decisión preconfiguradas con intervención de un usuario o grupo de usuarios que permite salidas al rechazo y otra.
- Create task: generación de una tareas simple que debe ser realizada manualmente por un usuario o grupo de usuarios.
- Create upload document task: generación de una tarea de actualización de metadatos de un documento para un usuario o grupo de usuarios que permite salidas a la actualización, al rechazo y otra.
- Administration (Administración).
- Nombre del workflow y área de guardado. Por defecto el guardado es automático, pero es necesaria su publicación para que esté operativo en producción
Ejemplo de workflow diseñado en Waydok
En este ejemplo/modelo, se observa diferenciada en la parte central, la cuadrícula de diseño, del workflow seleccionado, cuyo nombre de observa en la parte superior, en este caso "Sales quote". Debajo del nombre del flujo de trabajo, se observa una barra de herramientas que actuará sobre las tareas del flujo ya definidas. En la parte izquierda se muestran la biblioteca de actividades que se contemplan en diferentes categorías, cada una de ellas conteniendo más opciones que se van a poder seleccionar una vez que se despliega cada una de ellas. En la parte derecha se encuentran presentes una serie de valores e informaciones correspondientes a cada uno de los workflows y sus variables.
Veamos un ejemplo usando una expresión de JavaScript.
El siguiente flujo de trabajo se ha creado utilizando el diseñador:
Descripción de las actividades del workflow de ejemplo
- Comenzamos el flujo con la entrada en el sistema de un documento de la colección Sales quote (presupuesto de venta).
- Se comprueba si el total del presupuesto es mayor o igual a 2.500€.
- Si la cantidad es igual o mayor a 2.500€, se envía a aprobación a un usuario.
- Si se aprueba, se genera una tarea para que el equipo de Venta los envíe al cliente.
- Si se rechaza, se genera una tarea de corrección para el equipo de Venta.
- Si la cantidad es menor de 2.500€, se genera una tarea para que el equipo de Venta los envíe al cliente.
- Si la cantidad es igual o mayor a 2.500€, se envía a aprobación a un usuario.
WORKFLOWS
El motor de ejecución para los Workflows, es potente y flexible , encapsulado como un conjunto de bibliotecas .NET de código abierto diseñadas para dotar a las aplicaciones .NET de capacidades de flujo de trabajo. Se ha integrado la lógica directamente en el sistema, mejorando la funcionalidad y la automatización y alineándose perfectamente con la funcionalidad principal de la aplicación.
Los flujos de trabajo están definidos de dos maneras:
- Programáticamente : a través de código .NET, se han definido flujos de trabajo complejos adaptados a las necesidades específicas.
- Visualmente : con el diseñador integrado, los no desarrolladores o aquellos que prefieren un enfoque visual pueden crear y modificar flujos de trabajo con facilidad.
La versatilidad de los Workflows, los hace adecuados para definir diferentes procesos, como puede ser la automatización de tareas simples hasta la gestión de procesos complejos. La arquitectura modular ha facilitado la integración con el sistema, lo que va a permitir en cualquier momento, que se puedan agregar funcionalidades de flujos de trabajo al proyecto.