Ir para o conteúdo

Aplicativo Jitterbit Form Flow

Visão geral

O Jitterbit fornece o aplicativo Form Flow através do Jitterbit Marketplace. Construído com o Jitterbit App Builder, é um aplicativo de coleta de dados e construtor de formulários orientado por templates. Administradores montam templates de formulário reutilizáveis a partir de seções, formulários e campos, e usuários finais preenchem esses templates através de um assistente guiado passo a passo. Os envios passam por um ciclo de vida de revisão e aprovação, com notificações por email em cada etapa.

Você baixa o aplicativo como um pacote de lançamento do App Builder (um arquivo .LP) do Marketplace e o instala em sua própria instância do App Builder, onde pode configurá-lo e estendê-lo para se adequar ao seu processo.

Esta página descreve como o aplicativo funciona, seus recursos principais e modelo de dados, e cobre os pré-requisitos, como baixar e instalar o aplicativo, como configurá-lo para seu ambiente, como o acesso é controlado e as etapas comuns de resolução de problemas.

Como funciona

Em um nível alto, o Form Flow passa por construir um template, completar envios contra ele e revisar esses envios:

%%{init: {"themeVariables": {"lineColor": "#6b7280", "edgeLabelBackground": "#f5f5f5"}}}%% flowchart TD A["Administrator builds
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

Recursos principais

Quando você instala e configura o Form Flow, o aplicativo fornece os seguintes recursos:

  • Construtor de templates: Crie questionários personalizados organizados em seções e formulários, usando uma variedade de tipos de campos, incluindo texto, área de texto, número, data, caixa de seleção, botão de rádio, lista suspensa e conteúdo HTML.

  • Entrada de dados guiada: Usuários finais completam um envio através de um assistente com uma árvore de navegação à esquerda que agrupa seções e formulários em sequência e rastreia o progresso conforme avançam.

  • Visibilidade condicional: Regras avaliam as respostas do usuário em tempo real para mostrar ou ocultar campos individuais ou formulários inteiros, e para tornar campos obrigatórios, com base em respostas anteriores.

  • Ciclo de vida de revisão e aprovação: Cada template designa um revisor. Quando um usuário envia uma entrada, ela passa para um estado de revisão onde apenas esse revisor pode aprová-la ou rejeitá-la. A aprovação bloqueia o envio; a rejeição o reabre para edições.

  • Notificações por email: O aplicativo envia email em eventos chave do ciclo de vida (envio, aprovação e rejeição). O conteúdo da mensagem é orientado por registros de template configuráveis, para que administradores possam editar o texto sem alterar a lógica do aplicativo.

Ciclo de vida e estados

O Form Flow rastreia o estado para cada envio do usuário final (instância) em dois níveis: o status geral do envio e o progresso das seções, formulários e campos individuais dentro dele.

Status de envio

Um envio passa por três estados gerais da criação à aprovação:

%%{init: {"themeVariables": {"lineColor": "#6b7280", "edgeLabelBackground": "#f5f5f5"}}}%% flowchart LR IP["In Progress"] -->|Submit| UR["Under Review"] UR -->|Approve| C["Completed"] UR -->|Reject| IP
  • Em andamento: O estado inicial para um novo envio. Se o revisor rejeitar uma entrada enviada, ela retorna a este estado para que o usuário possa fazer edições.

  • Em revisão: Definido quando o usuário envia. O envio passa para o revisor designado.

  • Concluído: Definido quando o revisor aprova, o que bloqueia o envio.

Estados de seção e formulário

Conforme um usuário trabalha em um envio, suas seções e formulários progridem através destes estados:

  • Seções e formulários começam como Não iniciado.

  • Uma seção muda para Em andamento quando o usuário a abre, e um formulário muda para Em andamento quando o usuário responde seu primeiro campo.

  • Ao enviar, seções e formulários que estão Em andamento se tornam Enviado, e qualquer um ainda Não iniciado se torna Ignorado.

  • Quando o revisor aprova, o status geral do envio se torna Concluído, mas os estados das seções e formulários não mudam: permancem Enviado ou Ignorado.

  • Se o revisor rejeita o envio, seções e formulários Enviado revertem para Em andamento e os Ignorado revertam para Não iniciado, para que o usuário possa editar e reenviar.

Modelo de dados

Form Flow é totalmente independente: armazena todos os templates, envios e respostas em suas próprias tabelas e não requer uma conexão de banco de dados externo.

Cada tabela tem um tipo de uso de dados, definido pela sua Opção de Instalação, que controla como seus dados são tratados quando o app é instalado em um novo ambiente: dados de Developer são substituídos na instalação, dados de Shared são preenchidos uma vez, e dados de User são deixados para cada ambiente preencher.

Tabela Tipo de uso Finalidade
FieldType Developer Registro dos tipos de campos de entrada suportados.
TemplateStatus Developer Estados do ciclo de vida de envios (In Progress, Under Review, Completed).
SectionStatus Developer Estados de navegação e bloqueio de seções.
FormStatus Developer Estados de entrada e permissão de formulários.
Operator Developer Operadores de comparação usados por regras de visibilidade.
VisibilityAction Developer Resultados de visibilidade (Hidden, Visible).
Template Shared Registro raiz de um template de formulário reutilizável.
Section Shared Um agrupamento de formulários dentro de um template.
Form Shared Uma etapa individual dentro de uma seção.
FormField Shared Um único campo de entrada e suas configurações.
FieldOption Shared Valores de escolha para campos de rádio e dropdown.
FormVisibility Shared Regras que mostram ou ocultam formulários inteiros.
FieldVisibility Shared Regras que mostram ou ocultam campos individuais.
Parameter Shared Configurações globais e valores de ambiente.
WorkflowTemplate Shared Templates de assunto e corpo de email.
TemplateInstance User Uma única execução de um template por um usuário final.
SectionInstance User Estado de progresso de uma seção dentro de uma execução.
FormInstance User Estado de progresso de um formulário dentro de uma execução.
FieldResponse User Uma resposta individual capturada de um usuário.

Nota

Ao excluir um Template, a exclusão se estende aos seus registros filhos Section, Form, FormField e FieldOption; ao excluir um TemplateInstance, a exclusão se estende aos seus registros filhos SectionInstance, FormInstance e FieldResponse. Essas ações de exclusão são restritas aos administradores.

Pré-requisitos

Para usar Form Flow, você precisa do seguinte:

  • Uma licença Jitterbit Harmony com acesso ao App Builder. Isso habilita o download do Marketplace; se sua organização não tiver licença para App Builder, a ação Download app é substituída por uma ação de requisição Get app (consulte Baixar e instalar).

  • Uma instância do App Builder executando o App Builder 4.63, a versão para a qual o pacote atual foi construído. Cada pacote é instalado apenas em sua versão exata do App Builder; se sua instância estiver em uma versão diferente, entre em contato com o suporte Jitterbit para solicitar um pacote correspondente.

  • Um banco de dados PostgreSQL para sua instância do App Builder.

  • Um servidor SMTP de saída configurado em sua instância do App Builder. As notificações do app dependem dele; sem roteamento SMTP, as notificações por email não são enviadas.

Baixar e instalar

Baixar o app do Marketplace

  1. Faça login no portal Harmony em https://login.jitterbit.com e abra o Marketplace.

  2. Localize o app chamado Form Flow. Você pode usar a barra de pesquisa ou, no painel Filtros em Tipo, selecionar App para mostrar apenas apps.

  3. Clique no card do app para abrir o painel Detalhes. Analise os Requisitos do app (a versão do App Builder e o banco de dados necessários).

  4. Clique no link Ir para documentação do app para abrir esta documentação em uma guia separada e mantenha-a aberta para referência.

  5. Faça um dos seguintes, dependendo se sua organização tem licença para App Builder:

    • Download app: Se sua organização tiver licença para App Builder, clique em Download app, no card do app ou no painel Detalhes. Seu navegador salva o arquivo .LP em seu local de download, e uma notificação App Builder file downloaded successfully confirma o download.
  6. Obter app: Se sua organização não tem licença para App Builder, a ação é rotulada como Obter app. O painel Detalhes exibe uma mensagem informando que é necessária uma licença do App Builder, com um botão Enviar. Clique em Enviar para solicitar que um representante entre em contato sobre o App Builder; uma notificação Mensagem enviada com sucesso confirma o envio.

Instalar o app no App Builder

Instale o arquivo .LP baixado na sua instância do App Builder:

  1. Faça login no App Builder e acesse o IDE.

  2. Em Deploy, clique em Install Release.

  3. Clique em + Package, depois em Browse e selecione o arquivo .LP que você baixou.

  4. Clique em Save. O painel Release exibe as informações do pacote e depois fecha o diálogo Package.

  5. Confirme se os detalhes estão corretos e clique em Install.

Para visualizar o conteúdo de um pacote antes de instalá-lo, clique no botão Manifest.

Modificando o app em um ambiente de desenvolvimento

A fonte de dados do app é instalada selada. Se você implantar o app em um ambiente de desenvolvimento e pretender modificá-lo, dessoele a fonte de dados para que consiga editar os objetos do app. Mantenha-a selada em QA e produção para preservar a equivalência entre ambientes. Veja Selar ou desselar uma fonte de dados.

Configuração e setup

Depois de instalar o app em um novo ambiente, complete os seguintes passos para deixá-lo pronto para usar:

  1. Atribua usuários a grupos. Adicione seus usuários ao grupo de acesso apropriado, seja Form Flow Administrator ou Form Flow User. Veja Segurança e acesso.

  2. Verifique os formatos de email dos usuários. A notificação de rejeição é enviada para a conta do criador do envio. Confirme que as contas de usuário usam endereços de email válidos para que as notificações sejam resolvidas corretamente. Veja troubleshooting relacionado.

  3. Defina a URL do ambiente. Nas configurações de Parameter, atualize o valor de AppBuilderURL para corresponder à URL raiz do seu ambiente, de modo que os links nas notificações de email sejam resolvidos corretamente.

  4. Atualize o revisor do template de exemplo. O app vem com um "Employee Onboarding Template" de exemplo. Abra-o e substitua o email do revisor espaço reservado no campo ApproverEmail por um endereço válido e monitorado.

O app também vem com dados de lookup de exemplo e um template de exemplo para que seus recursos funcionem imediatamente após a instalação.

Segurança e acesso

Form Flow usa segurança baseada em papéis do App Builder com dois grupos de acesso, Form Flow Administrator e Form Flow User. O acesso a cada área é o seguinte:

Área Form Flow Administrator Form Flow User
Template builder Acesso total Construir e modificar templates
Workspace de envios Acesso total Visualizar e iniciar envios
Formulários de envio ao vivo Acesso total Completar entradas de formulário
Página de remediação de rejeição Acesso total Somente leitura, acessada por meio de ações de workflow
Dados de lookup e configurações Acesso total Sem acesso (menus ocultos)
Exclusão de registros Acesso total Não permitido

Ações de aprovação e rejeição estão disponíveis apenas para o revisor cujo email corresponde ao ApproverEmail no template. Para todos os outros usuários, essas ações são desabilitadas. Quando um envio é submetido, seus campos tornam-se somente leitura; uma rejeição do revisor reabre-os para edição.

Regras de negócio

A lógica do Form Flow é implementada como regras de negócio do App Builder. Os nomes das regras seguem a convenção Target (Purpose or Subtype) Descriptor do App Builder, portanto a palavra inicial identifica a tabela sobre a qual a regra atua. As tabelas abaixo listam as regras por área funcional para ajudar você a localizá-las e compreendê-las ao estender o app.

Regras de configuração de template

Regra Finalidade
Template (Business Object) Gerencia registros de configuração de template pai.
Template (List) Lista de seletor de templates ativos.
Section (Business Object) Gerencia registros de layout de seção.
Section (List) Lista de seletor de seções configuradas.
Form (Business Object) Gerencia registros de etapas de formulário único dentro de uma seção.
Form (List) Lista estrutural usada para mapeamento de template.
FormField (Form Fields) Adiciona campos de formulário no template builder e controla o painel de opções de campo.
FormField (List) Seletor de campo usado ao definir regras de visibilidade, agrupado por seção e formulário.
FieldOption (Business Object) Gerencia listas de opções para campos de seleção.
FieldOption (List) Lista de referência de valores de opção.

Regras de tempo de execução (instância)

Regra Finalidade
TemplateInstance (Business Object) Gerencia o envio de uma execução do usuário.
TemplateInstance (Default) Status Define uma nova instância como Em andamento por padrão.
TemplateInstance (Navigation) Ordena seções e formulários ativos no workspace.
TemplateInstance (Reject Submission) Respalda a página de rejeição e captura o motivo da rejeição.
TemplateInstance (Subquery) Navigation Steps Agrega índices de navegação para rastreamento de progresso.
TemplateInstance (Subquery) Navigation Union Une a navegação de seção e formulário em uma única lista.
TemplateInstance (Update) Status Completed Define o status da instância como Concluído.
TemplateInstance (Update) Status In Progress Reverte o status da instância para Em andamento.
TemplateInstance (Update) Status Under Review Escala o status da instância para Em revisão.
FormInstance (Business Object) Rastreia uma etapa de formulário dentro de uma execução.
FormInstance (Insert) Forms Clona instâncias de formulário ativo do modelo.
FormInstance (Subquery) Form Navigation Sequencia formulários para a lista de navegação.
FormInstance (Update) Status Change On Reject Ao rejeitar, define Enviado como Em andamento e Ignorado como Não iniciado.
FormInstance (Update) Status Change On Submit Ao enviar, define Em andamento como Enviado e Não iniciado como Ignorado.
FormInstance (Update) Status In Progress Marca um formulário como Em andamento na primeira edição.
SectionInstance (Business Object) Rastreia uma seção dentro de uma execução.
SectionInstance (Insert) Section Clona instâncias de seção ativa do modelo.
SectionInstance (Subquery) Section Navigation Cria o nível de seção da lista de navegação.
SectionInstance (Update) Status Change On Reject Ao rejeitar, reverte os estados da seção.
SectionInstance (Update) Status Change On Submit Ao enviar, avança os estados da seção.
SectionInstance (Update) Status In Progress Marca uma seção como Em andamento quando é aberta.
FieldResponse (Responses) Captura as respostas do usuário na página de envio e aplica lógica de mostrar/ocultar e obrigatório.
FieldResponse (Insert) Fields Clona registros de resposta dos campos do modelo.
FieldResponse (Validation) Required Response Verifica campos obrigatórios antes de avançar para o próximo formulário ou seção.
FieldResponse (Validation) Template Required Response Verifica todos os campos obrigatórios antes do envio final.

Regras de visibilidade

Regra Finalidade
FormVisibility (Business Object) Gerencia regras que mostram ou ocultam formulários inteiros.
FormVisibility (Subquery) Count By Template Retorna a contagem de regras de visibilidade de formulário por modelo.
FieldVisibility (Business Object) Gerencia regras que mostram ou ocultam campos individuais.
FieldVisibility (Subquery) Count By Template Retorna a contagem de regras de visibilidade de campo por modelo.
FieldResponse (Visibility) Marca um campo como obrigatório ou disponível com base nas respostas do usuário.
FieldResponse (Subquery) Field Visibility Action Resolve o estado de visibilidade em nível de campo.
FieldResponse (Subquery) Form Visibility Action Resolve o estado de visibilidade em nível de formulário.

Regras de consulta e configurações

Regra Finalidade
FieldType (Business Object) / FieldType (List) Gerenciam tipos de campo suportados.
TemplateStatus (Business Object) / TemplateStatus (List) Gerenciam estados do ciclo de vida do envio.
SectionStatus (Business Object) / SectionStatus (List) Gerenciam estados de seção.
SectionStatus (List) Form and Section Statuses Lista combinada de estados de formulário e seção.
SectionStatus (Subquery) Navigation Statuses Une estados de seção e formulário para o painel de navegação.
FormStatus (Business Object) / FormStatus (List) Gerenciam estados de formulário.
FormStatus (Subquery) Form and Section Status Union Consolida estados de formulário e seção para indexação.
FormStatus (Subquery) Navigation Statuses Une estados de formulário e seção para o painel de navegação.
Operator (Business Object) / Operator (List) Gerenciam operadores de comparação para regras de visibilidade.
VisibilityAction (Business Object) / VisibilityAction (List) Gerenciam resultados de visibilidade (Oculto, Visível).
Parameter (Business Object) Fornece acesso em tempo de execução às configurações globais.
Parameter (Application Settings) Respalda a página de configurações onde administradores editam parâmetros globais.

Regras de notificação

Regra Finalidade
Email (Submission Under Review) Envia a notificação quando um envio é submetido.
Email (Submission Approved) Envia a notificação quando um envio é aprovado.
Email (Submission Requires Revision) Envia a notificação quando um envio é rejeitado.
WorkflowTemplate (Business Object) Gerencia as definições de assunto e corpo da mensagem.
WorkflowTemplate (List) Lista de seleção de templates de notificação.

Configurando regras de visibilidade

As regras de visibilidade (nas tabelas FormVisibility e FieldVisibility) controlam o que um usuário vê com base em suas respostas. Cada regra é definida pelas seguintes propriedades:

  • Campo do formulário de origem: O campo cujo valor é monitorado.

  • Opção de campo: Uma escolha específica em um campo de seleção (um botão de opção ou opção de menu suspenso).

  • Operador: A comparação usada para avaliar a entrada.

  • Valor de comparação: O valor comparado com a entrada em tempo real.

  • Ação de visibilidade: O resultado aplicado quando a regra é verdadeira, Oculto ou Visível.

  • Campo ou formulário dependente: O alvo cuja exibição e requisito são alterados pela regra.

Dois comportamentos são aplicados quando você configura uma regra:

  • Seleção direta e expressão são mutuamente exclusivas. Você pode avaliar uma opção de campo específica, ou um operador e valor de comparação, mas não ambos. Quando você seleciona uma opção de campo, o operador e o valor de comparação são limpos e bloqueados.

  • Um campo oculto não pode ser obrigatório. Quando a ação de visibilidade é Oculto, a configuração obrigatória é desativada, desabilitada e bloqueada. Um campo só pode ser obrigatório condicionalmente quando sua ação é Visível.

Nota

As comparações de expressão são avaliadas em relação ao Value armazenado de uma opção, não no Label exibido na tela. Consulte solução de problemas relacionada.

Solução de problemas

Falha no envio de uma notificação de rejeição

  • Sintoma: Um revisor rejeita um envio, mas o email de notificação não é enviado e os estados do envio não são revertidos.

  • Causa possível: A notificação é enviada para o endereço na conta do criador do envio. Se essa conta usar um valor que não é um endereço de email válido, o servidor SMTP não conseguirá resolver o destinatário.

  • Resolução: Confirme que as contas de usuário usam endereços de email válidos. Como alternativa, atualize a regra de notificação de rejeição para ler o destinatário de um campo de email dedicado no perfil do usuário.

Uma regra de visibilidade de menu suspenso nunca avalia como verdadeira

  • Sintoma: Uma regra de visibilidade que tem como alvo um campo de menu suspenso usa um operador e valor de comparação, mas a regra nunca avalia como verdadeira durante os testes.

  • Causa possível: A regra é avaliada em relação ao Value armazenado da opção, não no Label exibido na tela.

  • Resolução: Abra as opções do campo e confirme que o valor de comparação da regra corresponde exatamente à entrada na coluna Value da opção.

Um envio anterior mostra uma opção com riscado

  • Sintoma: Ao revisar um envio anterior, um valor de menu suspenso ou lista selecionado aparece com uma linha através dele.

  • Causa possível: A resposta armazenada é mapeada para uma opção que foi desativada nos dados de pesquisa.

  • Resolução: Isso é esperado. O aplicativo preserva a resposta original para precisão histórica e aplica um riscado para indicar que a opção não está mais disponível para novos envios. Nenhuma ação é necessária, a menos que você queira reativar a opção.

Para obter mais ajuda, revise os logs do App Builder e entre em contato com o suporte Jitterbit.