Jitterbit Form Flow App
Descripción general
Jitterbit proporciona la aplicación Form Flow a través de Jitterbit Marketplace. Construida con Jitterbit App Builder, es una aplicación de recopilación de datos y constructor de formularios impulsada por plantillas. Los administradores ensamblan plantillas de formularios reutilizables a partir de secciones, formularios y campos, y luego los usuarios finales completan esas plantillas mediante un asistente guiado paso a paso. Los envíos pasan por un ciclo de vida de revisión y aprobación, con notificaciones por correo electrónico en cada etapa.
Se descarga la aplicación como un paquete de versión de App Builder (un archivo .LP) desde Marketplace e instálalo en tu propia instancia de App Builder, donde puedes configurarla y extenderla para que se ajuste a tu proceso.
Esta página describe cómo funciona la aplicación, sus características principales y modelo de datos, y cubre los requisitos previos, cómo descargar e instalar, cómo configurarla para tu entorno, cómo se controla el acceso y pasos comunes de solución de problemas.
Cómo funciona
A alto nivel, Form Flow pasa de construir una plantilla, a completar envíos en relación con ella, a revisar esos envíos:
a form template"] --> B["Define sections, forms,
fields, and visibility rules"] B --> C["Template available
for submissions"] C --> D["User starts
a submission"] D --> E["Complete the
guided wizard"] E --> F["Submit"] F --> G{"Reviewer
decision"} G -->|Approve| H["Submission locked,
approval email sent"] G -->|Request revision| I["Submission reopened,
revision email sent"] I --> E
Características principales
Cuando instalas y configuras Form Flow, proporciona las siguientes capacidades:
-
Constructor de plantillas: Crea cuestionarios personalizados organizados en secciones y formularios, utilizando una variedad de tipos de campos incluyendo texto, área de texto, número, fecha, casilla de verificación, botón de radio, lista desplegable y contenido HTML.
-
Entrada de datos guiada: Los usuarios finales completan un envío a través de un asistente con un árbol de navegación en el lado izquierdo que agrupa secciones y formularios en secuencia y rastrea el progreso mientras avanzan.
-
Visibilidad condicional: Las reglas evalúan las respuestas de un usuario en tiempo real para mostrar u ocultar campos individuales o formularios completos, y para hacer que los campos sean obligatorios, según las respuestas anteriores.
-
Ciclo de vida de revisión y aprobación: Cada plantilla designa un revisor. Cuando un usuario envía una entrada, se mueve a un estado de revisión donde solo ese revisor puede aprobarlo o rechazarlo. La aprobación bloquea el envío; el rechazo lo reabre para ediciones.
-
Notificaciones por correo electrónico: La aplicación envía correos electrónicos en eventos clave del ciclo de vida (envío, aprobación y rechazo). El contenido del mensaje es impulsado por registros de plantilla configurables, por lo que los administradores pueden editar el texto sin cambiar la lógica de la aplicación.
Ciclo de vida y estados
Form Flow rastrea el estado de cada envío del usuario final (instancia) a dos niveles: el estado general del envío y el progreso de las secciones, formularios y campos individuales dentro de él.
Estado de envío
Un envío pasa por tres estados generales desde la creación hasta la aprobación:
-
En progreso: El estado inicial para un nuevo envío. Si el revisor rechaza una entrada enviada, vuelve a este estado para que el usuario pueda hacer ediciones.
-
En revisión: Se establece cuando el usuario envía. El envío pasa al revisor asignado.
-
Completado: Se establece cuando el revisor aprueba, lo que bloquea el envío.
Estados de sección y formulario
A medida que un usuario trabaja en un envío, sus secciones y formularios avanzan a través de estos estados:
-
Las secciones y formularios comienzan como No iniciado.
-
Una sección cambia a En progreso cuando el usuario la abre, y un formulario cambia a En progreso cuando el usuario responde su primer campo.
-
Al enviar, las secciones y formularios que están En progreso se convierten en Enviado, y cualquiera que aún esté No iniciado se convierte en Omitido.
-
Cuando el revisor aprueba, el estado general del envío se convierte en Completado, pero los estados de las secciones y formularios no cambian: permanecen Enviado u Omitido.
-
Si el revisor rechaza el envío, las secciones y formularios Enviado revierten a En progreso y los Omitido revierten a No iniciado, para que el usuario pueda editar y reenviar.
Modelo de datos
Form Flow es completamente independiente: almacena todos los templates, envíos y respuestas en sus propias tablas y no requiere una conexión a base de datos externa.
Cada tabla tiene un tipo de uso de datos, establecido por su Opción de instalación, que controla cómo se tratan sus datos cuando la aplicación se instala en un nuevo entorno: los datos de Developer se reemplazan en la instalación, los datos de Shared se siembran una sola vez, y los datos de User se dejan para que cada entorno los complete.
| Tabla | Tipo de uso | Propósito |
|---|---|---|
FieldType |
Developer | Registro de tipos de campos de entrada compatibles. |
TemplateStatus |
Developer | Estados del ciclo de vida del envío (In Progress, Under Review, Completed). |
SectionStatus |
Developer | Estados de navegación y bloqueo de secciones. |
FormStatus |
Developer | Estados de entrada y permisos del formulario. |
Operator |
Developer | Operadores de comparación utilizados por las reglas de visibilidad. |
VisibilityAction |
Developer | Resultados de visibilidad (Hidden, Visible). |
Template |
Shared | Registro raíz para un template de formulario reutilizable. |
Section |
Shared | Una agrupación de formularios dentro de un template. |
Form |
Shared | Un paso individual dentro de una sección. |
FormField |
Shared | Un único campo de entrada y su configuración. |
FieldOption |
Shared | Valores de opción para campos de radio y desplegables. |
FormVisibility |
Shared | Reglas que muestran u ocultan formularios completos. |
FieldVisibility |
Shared | Reglas que muestran u ocultan campos individuales. |
Parameter |
Shared | Configuración global y valores de entorno. |
WorkflowTemplate |
Shared | Templates de asunto y cuerpo de correo electrónico. |
TemplateInstance |
User | Una única ejecución del template por un usuario final. |
SectionInstance |
User | Estado de progreso de una sección dentro de una ejecución. |
FormInstance |
User | Estado de progreso de un formulario dentro de una ejecución. |
FieldResponse |
User | Una respuesta individual capturada de un usuario. |
Nota
Eliminar un Template se propaga a sus registros secundarios Section, Form, FormField y FieldOption; eliminar un TemplateInstance se propaga a sus registros secundarios SectionInstance, FormInstance y FieldResponse. Estas acciones de eliminación están restringidas a administradores.
Requisitos previos
Para usar Form Flow, necesitas lo siguiente:
-
Una licencia de Jitterbit Harmony con acceso a App Builder. Esto habilita la descarga desde Marketplace; si tu organización no tiene licencia para App Builder, la acción Download app se reemplaza por una acción de solicitud Get app (consulta Descarga e instalación).
-
Una instancia de App Builder ejecutando App Builder 4.63, la versión para la que se construye el paquete actual. Cada paquete se instala solo en su versión exacta de App Builder; si tu instancia está en una versión diferente, contacta al soporte de Jitterbit para solicitar un paquete coincidente.
-
Una base de datos PostgreSQL para tu instancia de App Builder.
-
Un servidor de correo SMTP saliente configurado en tu instancia de App Builder. Las notificaciones de la aplicación dependen de él; sin enrutamiento SMTP, las notificaciones por correo electrónico no se envían.
Descarga e instalación
Descarga la aplicación desde Marketplace
-
Inicia sesión en el portal de Harmony en https://login.jitterbit.com y abre Marketplace.
-
Localiza la aplicación denominada Form Flow. Puedes usar la barra de búsqueda o, en el panel Filters bajo Type, selecciona App para mostrar solo las aplicaciones.
-
Haz clic en la tarjeta de la aplicación para abrir el panel Details. Revisa los Requirements de la aplicación (la versión de App Builder y la base de datos que necesita).
-
Haz clic en el enlace Go to documentation de la aplicación para abrir esta documentación en una pestaña separada y mantenla abierta como referencia.
-
Realiza una de las siguientes acciones, según si tu organización tiene licencia para App Builder:
- Download app: Si tu organización tiene licencia para App Builder, haz clic en Download app, ya sea en la tarjeta de la aplicación o en el panel Details. Tu navegador guarda el archivo
.LPen su ubicación de descarga, y una notificación App Builder file downloaded successfully confirma la descarga.
- Download app: Si tu organización tiene licencia para App Builder, haz clic en Download app, ya sea en la tarjeta de la aplicación o en el panel Details. Tu navegador guarda el archivo
-
Obtener aplicación: Si su organización no tiene licencia para App Builder, la acción se etiqueta como Obtener aplicación. El panel Detalles muestra un mensaje indicando que se requiere una licencia de App Builder, con un botón Enviar. Haga clic en Enviar para solicitar que un representante se comunique con usted sobre App Builder; una notificación Mensaje enviado correctamente lo confirma.
Instalar la aplicación en App Builder
Instale el archivo .LP descargado en su instancia de App Builder:
-
Inicie sesión en App Builder y vaya al IDE.
-
En Deploy, haga clic en Install Release.
-
Haga clic en + Package, luego en Browse y seleccione el archivo
.LPque descargó. -
Haga clic en Save. El panel Release muestra la información del paquete y luego cierra el diálogo Package.
-
Confirme que los detalles sean correctos y haga clic en Install.
Para obtener una vista previa del contenido de un paquete antes de instalarlo, haga clic en el botón Manifest.
Modificación de la aplicación en un entorno de desarrollo
La fuente de datos de la aplicación se instala sellada. Si despliega la aplicación en un entorno de desarrollo y tiene la intención de modificarla, deselle la fuente de datos para poder editar los objetos de la aplicación. Déjela sellada en QA y producción para preservar la equivalencia entre entornos. Consulte Sellar o deseller una fuente de datos.
Configuración e instalación
Después de instalar la aplicación en un nuevo entorno, complete los siguientes pasos para prepararla para usar:
-
Asigne usuarios a grupos. Agregue sus usuarios al grupo de acceso apropiado, ya sea Form Flow Administrator o Form Flow User. Consulte Seguridad y acceso.
-
Verifique los formatos de correo electrónico del usuario. La notificación de rechazo se envía a la cuenta del creador del envío. Confirme que las cuentas de usuario utilicen direcciones de correo electrónico válidas para que las notificaciones se resuelvan correctamente. Consulte solución de problemas relacionada.
-
Establezca la URL del entorno. En la configuración de
Parameter, actualice el valor deAppBuilderURLpara que coincida con la URL raíz de su entorno de modo que los enlaces en las notificaciones de correo electrónico se resuelvan correctamente. -
Actualice el revisor de la plantilla de ejemplo. La aplicación incluye una "Plantilla de incorporación de empleados" de ejemplo. Ábrala y reemplace el correo electrónico del revisor de marcador de posición en el campo
ApproverEmailcon una dirección válida y monitoreada.
La aplicación también incluye datos de búsqueda de ejemplo y una plantilla de ejemplo para que sus características funcionen inmediatamente después de la instalación.
Seguridad y acceso
Form Flow utiliza seguridad basada en roles de App Builder con dos grupos de acceso, Form Flow Administrator y Form Flow User. El acceso a cada área es el siguiente:
| Área | Form Flow Administrator | Form Flow User |
|---|---|---|
| Generador de plantillas | Acceso completo | Crear y modificar plantillas |
| Espacio de trabajo de envíos | Acceso completo | Ver e iniciar envíos |
| Formularios de envío activos | Acceso completo | Completar entradas de formulario |
| Página de remediación de rechazo | Acceso completo | Solo lectura, se accede a través de acciones de flujo de trabajo |
| Datos de búsqueda y configuración | Acceso completo | Sin acceso (menús ocultos) |
| Eliminación de registros | Acceso completo | No permitido |
Las acciones de aprobación y rechazo están disponibles solo para el revisor cuyo correo electrónico coincida con ApproverEmail en la plantilla. Para todos los demás usuarios, esas acciones están deshabilitadas. Cuando se envía un envío, sus campos se vuelven de solo lectura; un rechazo del revisor los reabre para edición.
Reglas de negocio
La lógica de Form Flow se implementa como reglas de negocio de App Builder. Los nombres de las reglas siguen la convención Target (Purpose or Subtype) Descriptor de App Builder, por lo que la palabra inicial identifica la tabla en la que actúa la regla. Las tablas a continuación enumeran las reglas por área funcional para ayudarle a ubicarlas y comprenderlas cuando extienda la aplicación.
Reglas de configuración de plantilla
| Regla | Propósito |
|---|---|
Template (Business Object) |
Administra registros de configuración de plantilla principal. |
Template (List) |
Lista de selector de plantillas activas. |
Section (Business Object) |
Administra registros de diseño de sección. |
Section (List) |
Lista de selector de secciones configuradas. |
Form (Business Object) |
Administra registros de paso de formulario único dentro de una sección. |
Form (List) |
Lista estructural utilizada para asignación de plantillas. |
FormField (Form Fields) |
Agrega campos de formulario en el generador de plantillas y controla el panel de opciones de campo. |
FormField (List) |
Selector de campo utilizado al definir reglas de visibilidad, agrupado por sección y formulario. |
FieldOption (Business Object) |
Administra listas de opciones para campos de selección. |
FieldOption (List) |
Lista de referencia de valores de opciones. |
Reglas de tiempo de ejecución (instancia)
| Regla | Propósito |
|---|---|
TemplateInstance (Business Object) |
Gestiona el envío de ejecución de un usuario. |
TemplateInstance (Default) Status |
Establece una nueva instancia como predeterminada en Progreso. |
TemplateInstance (Navigation) |
Ordena secciones y formularios activos en el espacio de trabajo. |
TemplateInstance (Reject Submission) |
Respalda la página de rechazo y captura el motivo del rechazo. |
TemplateInstance (Subquery) Navigation Steps |
Agrega índices de navegación para el seguimiento del progreso. |
TemplateInstance (Subquery) Navigation Union |
Une la navegación de sección y formulario en una única lista. |
TemplateInstance (Update) Status Completed |
Establece el estado de la instancia como Completado. |
TemplateInstance (Update) Status In Progress |
Revierte el estado de la instancia a Progreso. |
TemplateInstance (Update) Status Under Review |
Escala el estado de la instancia a En revisión. |
FormInstance (Business Object) |
Rastrea un paso de formulario dentro de una ejecución. |
FormInstance (Insert) Forms |
Clona instancias de formulario activo a partir de la plantilla. |
FormInstance (Subquery) Form Navigation |
Ordena secuencialmente los formularios para la lista de navegación. |
FormInstance (Update) Status Change On Reject |
Al rechazar, establece Enviado a Progreso y Omitido a No iniciado. |
FormInstance (Update) Status Change On Submit |
Al enviar, establece Progreso a Enviado y No iniciado a Omitido. |
FormInstance (Update) Status In Progress |
Marca un formulario como Progreso en la primera edición. |
SectionInstance (Business Object) |
Rastrea una sección dentro de una ejecución. |
SectionInstance (Insert) Section |
Clona instancias de sección activa a partir de la plantilla. |
SectionInstance (Subquery) Section Navigation |
Construye el nivel de sección de la lista de navegación. |
SectionInstance (Update) Status Change On Reject |
Al rechazar, revierte los estados de la sección. |
SectionInstance (Update) Status Change On Submit |
Al enviar, avanza los estados de la sección. |
SectionInstance (Update) Status In Progress |
Marca una sección como Progreso cuando se abre. |
FieldResponse (Responses) |
Captura respuestas del usuario en la página de envío y aplica lógica de mostrar/ocultar y requerida. |
FieldResponse (Insert) Fields |
Clona registros de respuesta a partir de los campos de la plantilla. |
FieldResponse (Validation) Required Response |
Verifica campos requeridos antes de avanzar al siguiente formulario o sección. |
FieldResponse (Validation) Template Required Response |
Verifica todos los campos requeridos antes del envío final. |
Reglas de visibilidad
| Regla | Propósito |
|---|---|
FormVisibility (Business Object) |
Gestiona reglas que muestran u ocultan formularios completos. |
FormVisibility (Subquery) Count By Template |
Devuelve el recuento de reglas de visibilidad de formulario por plantilla. |
FieldVisibility (Business Object) |
Gestiona reglas que muestran u ocultan campos individuales. |
FieldVisibility (Subquery) Count By Template |
Devuelve el recuento de reglas de visibilidad de campo por plantilla. |
FieldResponse (Visibility) |
Marca un campo como requerido o disponible según las respuestas del usuario. |
FieldResponse (Subquery) Field Visibility Action |
Resuelve el estado de visibilidad a nivel de campo. |
FieldResponse (Subquery) Form Visibility Action |
Resuelve el estado de visibilidad a nivel de formulario. |
Reglas de búsqueda y configuración
| Regla | Propósito |
|---|---|
FieldType (Business Object) / FieldType (List) |
Gestiona tipos de campo compatibles. |
TemplateStatus (Business Object) / TemplateStatus (List) |
Gestiona estados del ciclo de vida del envío. |
SectionStatus (Business Object) / SectionStatus (List) |
Gestiona estados de sección. |
SectionStatus (List) Form and Section Statuses |
Lista combinada de estados de formulario y sección. |
SectionStatus (Subquery) Navigation Statuses |
Une estados de sección y formulario para el panel de navegación. |
FormStatus (Business Object) / FormStatus (List) |
Gestiona estados de formulario. |
FormStatus (Subquery) Form and Section Status Union |
Consolida estados de formulario y sección para la indexación. |
FormStatus (Subquery) Navigation Statuses |
Une estados de formulario y sección para el panel de navegación. |
Operator (Business Object) / Operator (List) |
Gestiona operadores de comparación para reglas de visibilidad. |
VisibilityAction (Business Object) / VisibilityAction (List) |
Gestiona resultados de visibilidad (Oculto, Visible). |
Parameter (Business Object) |
Proporciona acceso en tiempo de ejecución a la configuración global. |
Parameter (Application Settings) |
Respalda la página de configuración donde los administradores editan parámetros globales. |
Reglas de notificación
| Regla | Propósito |
|---|---|
Email (Submission Under Review) |
Envía la notificación cuando se envía un envío. |
Email (Submission Approved) |
Envía la notificación cuando se aprueba un envío. |
Email (Submission Requires Revision) |
Envía la notificación cuando se rechaza un envío. |
WorkflowTemplate (Business Object) |
Administra las definiciones del asunto y cuerpo del mensaje. |
WorkflowTemplate (List) |
Lista de selectores de plantillas de notificación. |
Configuración de reglas de visibilidad
Las reglas de visibilidad (en las tablas FormVisibility y FieldVisibility) controlan lo que ve un usuario según sus respuestas. Cada regla se define por las siguientes propiedades:
-
Campo del formulario de origen: El campo cuyo valor se monitorea.
-
Opción de campo: Una opción específica en un campo de selección (una opción de botón de radio o menú desplegable).
-
Operador: La comparación utilizada para evaluar la entrada.
-
Valor de comparación: El valor comparado con la entrada actual.
-
Acción de visibilidad: El resultado aplicado cuando la regla es verdadera, ya sea Oculto o Visible.
-
Campo o formulario dependiente: El destino cuya visualización y requisito cambian según la regla.
Se aplican dos comportamientos al configurar una regla:
-
La selección directa y la expresión son mutuamente excluyentes. Se puede evaluar una opción de campo específica, u un operador y valor de comparación, pero no ambos. Cuando se selecciona una opción de campo, el operador y el valor de comparación se borran y se bloquean.
-
Un campo oculto no puede ser obligatorio. Cuando la acción de visibilidad es Oculto, la configuración requerida se desactiva, se inhabilita y se bloquea. Un campo solo se puede hacer condicionalmente obligatorio cuando su acción es Visible.
Nota
Las comparaciones de expresiones se evalúan contra el Valor almacenado de una opción, no contra la Etiqueta que se muestra en pantalla. Consulta el artículo de solución de problemas relacionado.
Solución de problemas
Falla el envío de una notificación de rechazo
-
Síntoma: Un revisor rechaza un envío, pero el correo electrónico de notificación no se envía y los estados del envío no se revierten.
-
Causa posible: La notificación se envía a la dirección en la cuenta del creador del envío. Si esa cuenta utiliza un valor que no es una dirección de correo electrónico válida, el servidor SMTP no puede resolver el destinatario.
-
Resolución: Confirma que las cuentas de usuario utilicen direcciones de correo electrónico válidas. Alternativamente, actualiza la regla de notificación de rechazo para leer el destinatario desde un campo de correo electrónico dedicado en el perfil del usuario.
Una regla de visibilidad de menú desplegable nunca se evalúa como verdadera
-
Síntoma: Una regla de visibilidad que se dirige a un campo de menú desplegable utiliza un operador y valor de comparación, pero la regla nunca se evalúa como verdadera durante las pruebas.
-
Causa posible: La regla se evalúa contra el Valor almacenado de la opción, no contra la Etiqueta que se muestra en pantalla.
-
Resolución: Abre las opciones del campo y confirma que el valor de comparación de la regla coincide exactamente con la entrada en la columna Valor de la opción.
Un envío anterior muestra una opción con un tachado
-
Síntoma: Cuando revisas un envío anterior, un valor de menú desplegable o lista seleccionado aparece con una línea atravesándolo.
-
Causa posible: La respuesta almacenada se asigna a una opción que se ha desactivado desde entonces en los datos de búsqueda.
-
Resolución: Esto es lo esperado. La aplicación preserva la respuesta original para precisión histórica y aplica un tachado para indicar que la opción ya no está disponible para nuevos envíos. No se requiere ninguna acción a menos que desees reactivar la opción.
Para obtener más ayuda, revisa los registros de App Builder y contacta al soporte de Jitterbit.