Initiation form
Resumen
Sección titulada «Resumen»El formulario Initiation es una tarea especial que recopila datos del usuario antes de que un flujo de trabajo comience su ejecución. Cuando se define en un proceso de flujo de trabajo, el formulario de inicio se presenta al usuario en el momento en que inicia el flujo de trabajo, permitiéndole aportar datos iniciales que estarán disponibles durante todo el ciclo de vida del flujo de trabajo.
Técnicamente, el formulario Initiation es un nodo Task con el nombre reservado run_config. Cuando el motor de flujos de trabajo detecta este nombre de tarea, presenta automáticamente el formulario al usuario que inicia el proceso antes de comenzar la ejecución del flujo de trabajo. Esto permite parametrizar y personalizar los flujos de trabajo según los datos introducidos por el usuario en el momento de inicio.
Propiedades
Sección titulada «Propiedades»El formulario Initiation usa la misma interfaz de configuración que un nodo Task, pero la mayoría de las propiedades no se utilizan, ya que esta tarea cumple un propósito específico previo a la ejecución.
| Propiedad | Tipo | Uso | Descripción |
|---|---|---|---|
| Name | Texto | Obligatorio | Debe establecerse a run_config (nombre reservado). Este nombre especial indica al motor de flujos de trabajo que trate esta tarea como el formulario de inicio. |
| Id | Número | Automático | Identificador único generado automáticamente por el sistema. |
| Due date | Días / Horas | No se usa | Este campo no es aplicable al formulario de inicio, ya que el formulario se presenta inmediatamente al iniciar el flujo de trabajo. |
| Repeat | Días / Horas | No se usa | Este campo no es aplicable al formulario de inicio. |
| Source position | Desplegable | No aplica | El formulario de inicio no tiene posiciones de origen ni destino, ya que no está conectado a otros nodos en el diagrama del flujo de trabajo. Se ejecuta antes de que se inicie el flujo de trabajo. |
| Target position | Desplegable | No aplica | El formulario de inicio no tiene posiciones de origen ni destino, ya que no está conectado a otros nodos en el diagrama del flujo de trabajo. |
| Description | Área de texto | Opcional | Campo opcional para documentar el propósito del formulario de inicio y qué datos recopila. |
| Form definition | Editor XML | Campo principal | Es la propiedad principal usada en el formulario de inicio. Define los campos del formulario que se presentarán al usuario cuando inicie el flujo de trabajo. La definición del formulario sigue la misma estructura XML que los formularios de los nodos Task. El editor ofrece tres herramientas accesibles mediante iconos sobre el área de texto: - Edit (maximizar): abre la definición del formulario en una ventana emergente para facilitar la edición - Diseñador gráfico: abre una interfaz visual de creación de formularios - Preview: muestra una vista previa de cómo aparecerá el formulario a los usuarios El editor admite autocompletado. Pulse Ctrl+Espacio mientras escribe para ver las opciones disponibles y sugerencias de código. |
| Assign expression | Editor de scripts | Obligatorio (vacío) | Aunque este campo no se usa funcionalmente en el formulario de inicio, no puede dejarse vacío debido a la validación del sistema. El valor recomendado es devolver una cadena vacía:<br>return "";<br> |
Comportamiento
Sección titulada «Comportamiento»Cuando un flujo de trabajo incluye un formulario de inicio:
- El usuario inicia el flujo de trabajo (por ejemplo, desde un documento, una carpeta o manualmente)
- Antes de que comience la ejecución del flujo de trabajo, se presenta el formulario de inicio al usuario
- El usuario completa los campos del formulario y lo envía
- Los valores de los campos del formulario se guardan en las variables de contexto del flujo de trabajo
- La ejecución del flujo de trabajo comienza en el nodo Start con las variables de contexto ya rellenadas
Si el flujo de trabajo no define un formulario de inicio (sin tarea run_config), el flujo de trabajo se inicia inmediatamente sin solicitar datos al usuario.
Variables del formulario y contexto
Sección titulada «Variables del formulario y contexto»Cuando un usuario completa y envía el formulario de inicio, los valores de los campos del formulario se guardan automáticamente en las variables de contexto del flujo de trabajo usando el atributo name de cada campo.
Por ejemplo, un campo de formulario definido como:
<input label="Purchase amount" name="purchaseAmount" />Creará una variable de contexto llamada purchaseAmount que contiene un objeto Input con el valor introducido por el usuario. Esta variable estará accesible durante toda la ejecución del flujo de trabajo.
Ejemplo de definición de formulario
Sección titulada «Ejemplo de definición de formulario»Este es un ejemplo de formulario de inicio que recopila información básica de una solicitud de compra:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-form PUBLIC "-//OpenKM//DTD Workflow Form 1.0//EN" "https://www.openkm.com/dtd/workflow-form-1.0.dtd"><workflow-form> <input label="Requester name" name="requesterName" /> <input label="Department" name="department" /> <textarea label="Purchase description" name="description" /> <input label="Estimated amount" name="amount" /> <select label="Priority" name="priority"> <option label="Low" value="low" /> <option label="Medium" value="medium" /> <option label="High" value="high" /> </select></workflow-form>Este formulario de inicio creará las siguientes variables de contexto al enviarse:
requesterName- objeto Input con el nombre del solicitantedepartment- objeto Input con el nombre del departamentodescription- objeto TextArea con la descripción de la compraamount- objeto Input con el importe estimadopriority- objeto Select con el valor de prioridad seleccionado
Assign Expression
Sección titulada «Assign Expression»Como se ha mencionado en la tabla de propiedades, el campo Assign expression debe contener un valor, pero no se usa funcionalmente en el formulario de inicio. Use la siguiente expresión sencilla:
return "";Esto devuelve una cadena vacía, satisfaciendo el requisito de validación del sistema sin afectar al comportamiento del formulario.
Definición del formulario
Sección titulada «Definición del formulario»Los formularios se definen mediante sintaxis XML según la especificación de formularios de flujo de trabajo de OpenKM. La definición del formulario establece los campos y la estructura con los que interactuarán los usuarios al iniciar el flujo de trabajo.
Casos de uso
Sección titulada «Casos de uso»Escenarios habituales en los que resultan útiles los formularios de inicio:
- Solicitudes de compra: recopilar información del solicitante, departamento, importe y descripción antes de iniciar un flujo de aprobación
- Revisión de documentos: permitir que el iniciador especifique revisores, fechas límite o prioridades de revisión
- Solicitudes de cambio: recopilar detalles del cambio, evaluación de impacto y prioridad antes de enrutar la solicitud a través de la aprobación
- Solicitudes de vacaciones: recopilar fecha de inicio, fecha de fin, tipo de vacaciones e información de cobertura
- Inicio de proyectos: capturar el nombre del proyecto, objetivos, partes interesadas e información de plazos
Buenas prácticas
Sección titulada «Buenas prácticas»- Mantenga los formularios de inicio enfocados: recopile únicamente la información esencial necesaria para iniciar el flujo de trabajo
- Use etiquetas de campo claras y descriptivas para que los usuarios entiendan qué información deben aportar
- Añada reglas de validación para garantizar la calidad de los datos antes de que se inicie el flujo de trabajo
- Considere usar campos Select para datos estandarizados en lugar de texto libre
- Documente el propósito de cada campo en la propiedad Description
- Pruebe a fondo el formulario de inicio con usuarios representativos para asegurarse de que es intuitivo
- Use la función de vista previa para ver cómo aparecerá el formulario antes de desplegarlo