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 construtor de formulários e aplicativo de coleta de dados baseado em templates. Os administradores montam templates de formulários reutilizáveis a partir de seções, formulários e campos, e os usuários finais preenchem esses templates por meio de um assistente guiado, passo a passo. As submissões passam por um ciclo de revisão e aprovação, com notificações por e-mail 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, suas principais características e modelo de dados, e cobre os pré-requisitos, como baixá-lo e instalá-lo, como configurá-lo para seu ambiente, como o acesso é controlado, e etapas comuns de solução de problemas.
Como funciona
Em um nível alto, o Form Flow passa da construção de um template, para a conclusão de submissões contra ele, até a revisão dessas submissões:
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
Principais características
Quando você instala e configura o Form Flow, ele fornece as seguintes capacidades:
-
Construtor de templates: Crie questionários personalizados organizados em seções e formulários, utilizando uma variedade de tipos de campo, incluindo texto, área de texto, número, data, caixa de seleção, botão de opção, menu suspenso e conteúdo HTML.
-
Entrada de dados guiada: Os usuários finais completam uma submissão 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 à medida que avançam.
-
Visibilidade condicional: Regras avaliam as respostas de um 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 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 aquele revisor pode aprovar ou rejeitar. A aprovação bloqueia a submissão; a rejeição a reabre para edições.
-
Notificações por e-mail: O aplicativo envia e-mails em eventos-chave do ciclo de vida (submissão, aprovação e rejeição). O conteúdo da mensagem é gerado por registros de template configuráveis, permitindo que os administradores editem o texto sem alterar a lógica do aplicativo.
Ciclo de vida e estados
O Form Flow rastreia o estado de cada submissão de usuário final (instância) em dois níveis: o status geral da submissão e o progresso das seções, formulários e campos individuais dentro dela.
Status da submissão
Uma submissão passa por três estados gerais desde a criação até a aprovação:
-
Em Andamento: O estado inicial para uma nova submissão. 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. A submissão é passada para o revisor designado.
-
Concluída: Definido quando o revisor aprova, o que bloqueia a submissão.
Estados de seção e formulário
À medida que um usuário trabalha em uma submissão, suas seções e formulários progridem por estes estados:
-
Seções e formulários começam como Não Iniciados.
-
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 ao seu primeiro campo.
-
Na submissão, seções e formulários que estão Em Andamento tornam-se Submetidos, e quaisquer que ainda estejam Não Iniciados tornam-se Ignorados.
-
Quando o revisor aprova, o status geral da submissão torna-se Concluída, mas os estados de seção e formulário não mudam: permanecem Submetidos ou Ignorados.
-
Se o revisor rejeitar a submissão, seções e formulários Submetidos retornam para Em Andamento e os Ignorados retornam para Não Iniciados, permitindo que o usuário edite e reenvie.
Modelo de Dados
O Form Flow é totalmente autônomo: ele armazena todos os templates, envios e respostas em suas próprias tabelas e não requer uma conexão com um 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 aplicativo é instalado em um novo ambiente: dados Desenvolvedor são substituídos na instalação, dados Compartilhados são inicializados uma vez e dados Usuário são deixados para cada ambiente preencher.
| Tabela | Tipo de uso | Propósito |
|---|---|---|
FieldType |
Desenvolvedor | Registro dos tipos de campo de entrada suportados. |
TemplateStatus |
Desenvolvedor | Estados do ciclo de vida do envio (Em Andamento, Em Revisão, Concluído). |
SectionStatus |
Desenvolvedor | Estados de navegação e bloqueio de seção. |
FormStatus |
Desenvolvedor | Estados de entrada e permissão do formulário. |
Operator |
Desenvolvedor | Operadores de comparação usados por regras de visibilidade. |
VisibilityAction |
Desenvolvedor | Resultados de visibilidade (Oculto, Visível). |
Template |
Compartilhado | Registro raiz para um template de formulário reutilizável. |
Section |
Compartilhado | Um agrupamento de formulários dentro de um template. |
Form |
Compartilhado | Um passo individual dentro de uma seção. |
FormField |
Compartilhado | Um único campo de entrada e suas configurações. |
FieldOption |
Compartilhado | Valores de escolha para campos de rádio e dropdown. |
FormVisibility |
Compartilhado | Regras que mostram ou ocultam formulários inteiros. |
FieldVisibility |
Compartilhado | Regras que mostram ou ocultam campos individuais. |
Parameter |
Compartilhado | Configurações globais e valores de ambiente. |
WorkflowTemplate |
Compartilhado | Templates de assunto e corpo de e-mail. |
TemplateInstance |
Usuário | Uma execução única de um template por um usuário final. |
SectionInstance |
Usuário | Estado de progresso para uma seção dentro de uma execução. |
FormInstance |
Usuário | Estado de progresso para um formulário dentro de uma execução. |
FieldResponse |
Usuário | Uma resposta individual capturada de um usuário. |
Nota
A exclusão de um Template cascata para seus registros filhos Section, Form, FormField e FieldOption; a exclusão de um TemplateInstance cascata para seus registros filhos SectionInstance, FormInstance e FieldResponse. Essas ações de exclusão são restritas a administradores.
Pré-requisitos
Para usar o 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 estiver licenciada para o App Builder, a ação Download app é substituída por uma ação de solicitação Get app (veja Download and install).
-
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 instala apenas na 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 de e-mail SMTP de saída configurado em sua instância do App Builder. As notificações do aplicativo dependem dele; sem o roteamento SMTP, as notificações por e-mail não são enviadas.
Download e instalação
Baixar o aplicativo do Marketplace
-
Faça login no portal Harmony em https://login.jitterbit.com e abra Marketplace.
-
Localize o aplicativo chamado Form Flow. Você pode usar a barra de pesquisa ou, no painel Filters sob Type, selecionar App para mostrar apenas aplicativos.
-
Clique no cartão do aplicativo para abrir o painel Details. Revise os Requisitos do aplicativo (a versão do App Builder e o banco de dados que ele precisa).
-
Clique no link Go to documentation do aplicativo para abrir esta documentação em uma nova aba e mantenha-a aberta para referência.
-
Faça uma das seguintes ações, dependendo se sua organização está licenciada para o App Builder:
- Download app: Se sua organização estiver licenciada para o App Builder, clique em Download app, no cartão do aplicativo ou no painel Details. Seu navegador salva o arquivo
.LPem sua localização de download, e uma notificação App Builder file downloaded successfully confirma o download.
- Download app: Se sua organização estiver licenciada para o App Builder, clique em Download app, no cartão do aplicativo ou no painel Details. Seu navegador salva o arquivo
-
Obter aplicativo: Se sua organização não estiver licenciada para o App Builder, a ação é rotulada como Obter aplicativo. O painel Detalhes mostra uma mensagem informando que uma licença do App Builder é necessária, com um botão Enviar. Clique em Enviar para enviar um pedido para que um representante entre em contato com você sobre o App Builder; uma notificação Mensagem enviada com sucesso confirma isso.
Instalar o aplicativo no App Builder
Instale o arquivo .LP baixado em sua instância do App Builder:
-
Faça login no App Builder e vá para o IDE.
-
Em Implantar, clique em Instalar Lançamento.
-
Clique em + Pacote, depois Procurar e selecione o arquivo
.LPque você baixou. -
Clique em Salvar. O painel Lançamento exibe as informações do pacote, então feche o diálogo Pacote.
-
Confirme se os detalhes estão corretos e clique em Instalar.
Para visualizar o conteúdo de um pacote antes de instalá-lo, clique no botão Manifesto.
Modificando o aplicativo em um ambiente de desenvolvimento
A fonte de dados do aplicativo é instalada selada. Se você implantar o aplicativo em um ambiente de desenvolvimento e pretender modificá-lo, desele a fonte de dados para que você possa editar os objetos do aplicativo. Mantenha-a selada em QA e produção para preservar a equivalência entre os ambientes. Veja Selar ou deselar uma fonte de dados.
Configuração e instalação
Após instalar o aplicativo em um novo ambiente, complete as seguintes etapas para torná-lo pronto para uso:
-
Atribuir usuários a grupos. Adicione seus usuários ao grupo de acesso apropriado, seja Administrador de Fluxo de Formulário ou Usuário de Fluxo de Formulário. Veja Segurança e acesso.
-
Verificar formatos de e-mail dos usuários. A notificação de rejeição é enviada para a conta do criador da submissão. Confirme que as contas de usuário utilizam endereços de e-mail válidos para que as notificações sejam resolvidas corretamente. Veja solução de problemas relacionada.
-
Defina a URL do ambiente. Nas configurações de
Parâmetro, atualize o valor deAppBuilderURLpara corresponder à URL raiz do seu ambiente, para que os links nas notificações por e-mail sejam resolvidos corretamente. -
Atualize o revisor do modelo de amostra. O aplicativo vem com um "Modelo de Integração de Funcionários" de amostra. Abra-o e substitua o e-mail do revisor de espaço reservado no campo
ApproverEmailpor um endereço válido e monitorado.
O aplicativo também vem com dados de pesquisa de amostra e um modelo de amostra para que seus recursos funcionem imediatamente após a instalação.
Segurança e acesso
O Form Flow utiliza a segurança baseada em funções do App Builder com dois grupos de acesso, Administrador do Form Flow e Usuário do Form Flow. O acesso a cada área é o seguinte:
| Área | Administrador do Form Flow | Usuário do Form Flow |
|---|---|---|
| Construtor de modelos | Acesso total | Criar e modificar modelos |
| Espaço de trabalho 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 através de ações de fluxo de trabalho |
| Dados de pesquisa e configurações | Acesso total | Sem acesso (menus ocultos) |
| Exclusão de registros | Acesso total | Não permitido |
As ações de aprovação e rejeição estão disponíveis apenas para o revisor cujo e-mail corresponde ao ApproverEmail no modelo. Para todos os outros usuários, essas ações estão desativadas. Quando um envio é submetido, seus campos se tornam somente leitura; uma rejeição do revisor reabre-os para edição.
Regras de negócios
A lógica do Form Flow é implementada como regras de negócios do App Builder. Os nomes das regras seguem a convenção Target (Purpose or Subtype) Descriptor do App Builder, de modo que a palavra inicial identifica a tabela sobre a qual a regra atua. As tabelas abaixo listam as regras por área funcional para ajudá-lo a localizá-las e compreendê-las ao estender o aplicativo.
Regras de configuração de modelo
| Regra | Propósito |
|---|---|
Template (Business Object) |
Gerencia registros de configuração de modelo pai. |
Template (List) |
Lista seletora de modelos ativos. |
Section (Business Object) |
Gerencia registros de layout de seção. |
Section (List) |
Lista seletora de seções configuradas. |
Form (Business Object) |
Gerencia registros de etapas de formulário únicas dentro de uma seção. |
Form (List) |
Lista estrutural usada para mapeamento de modelos. |
FormField (Form Fields) |
Adiciona campos de formulário no construtor de modelos 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 escolha para campos de seleção. |
FieldOption (List) |
Lista de referência de valores de escolha. |
Regras de Tempo de Execução (instância)
| Regra | Propósito |
|---|---|
TemplateInstance (Business Object) |
Gerencia a execução da submissão de um usuário. |
TemplateInstance (Default) Status |
Define uma nova instância como Em Andamento. |
TemplateInstance (Navigation) |
Ordena seções e formulários ativos no espaço de trabalho. |
TemplateInstance (Reject Submission) |
Retorna à 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ções e formulários 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 |
Eleva o status da instância para Em Revisão. |
FormInstance (Business Object) |
Rastreia um passo do formulário dentro de uma execução. |
FormInstance (Insert) Forms |
Clona instâncias de formulários ao vivo do modelo. |
FormInstance (Subquery) Form Navigation |
Sequencia formulários para a lista de navegação. |
FormInstance (Update) Status Change On Reject |
Ao rejeitar, define Submetido como Em Andamento e Ignorado como Não Iniciado. |
FormInstance (Update) Status Change On Submit |
Ao submeter, define Em Andamento como Submetido 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ções ao vivo do modelo. |
SectionInstance (Subquery) Section Navigation |
Constrói 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 submeter, 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 dos usuários na página de submissão e aplica lógica de mostrar/ocultar e campos obrigatórios. |
FieldResponse (Insert) Fields |
Clona registros de respostas 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 da submissão final. |
Regras de visibilidade
| Regra | Propósito |
|---|---|
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 pesquisa e configurações
| Regra | Propósito |
|---|---|
FieldType (Business Object) / FieldType (List) |
Gerencia tipos de campo suportados. |
TemplateStatus (Business Object) / TemplateStatus (List) |
Gerencia estados do ciclo de vida da submissão. |
SectionStatus (Business Object) / SectionStatus (List) |
Gerencia 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) |
Gerencia 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) |
Gerencia operadores de comparação para regras de visibilidade. |
VisibilityAction (Business Object) / VisibilityAction (List) |
Gerencia resultados de visibilidade (Oculto, Visível). |
Parameter (Business Object) |
Fornece acesso em tempo de execução às configurações globais. |
Parameter (Application Settings) |
Suporta a página de configurações onde administradores editam parâmetros globais. |
Regras de notificação
| Regra | Propósito |
|---|---|
Email (Submission Under Review) |
Envia a notificação quando uma submissão é enviada. |
Email (Submission Approved) |
Envia a notificação quando uma submissão é aprovada. |
Email (Submission Requires Revision) |
Envia a notificação quando uma submissão é rejeitada. |
WorkflowTemplate (Business Object) |
Gerencia as definições de assunto e corpo da mensagem. |
WorkflowTemplate (List) |
Lista de seleção de modelos 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 de formulário de origem: O campo cujo valor é monitorado.
-
Opção de campo: Uma escolha específica em um campo de seleção (uma opção de botão de rádio ou dropdown).
-
Operador: A comparação usada para avaliar a entrada.
-
Valor de comparação: O valor comparado com a entrada ao vivo.
-
Ação de visibilidade: O resultado aplicado quando a regra é verdadeira, sendo Oculto ou Visível.
-
Campo ou formulário dependente: O alvo cuja exibição e requisito são alterados pela regra.
Com a configuração de uma regra, duas comportamentos são aplicados:
-
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 de obrigatório é desativada, desabilitada e bloqueada. Um campo só pode ser tornado condicionalmente obrigatório quando sua ação é Visível.
Nota
Comparações de expressão avaliam contra o Valor armazenado de uma opção, não o Rótulo exibido na tela. Veja solução de problemas relacionada.
Solução de problemas
Uma notificação de rejeição falha ao ser enviada
-
Sintoma: Um revisor rejeita uma submissão, mas o e-mail de notificação não é enviado e os estados da submissão não são revertidos.
-
Possível causa: A notificação é enviada para o endereço na conta do criador da submissão. Se essa conta usar um valor que não é um endereço de e-mail válido, o servidor SMTP não consegue resolver o destinatário.
-
Resolução: Confirme que as contas de usuário utilizam endereços de e-mail válidos. Alternativamente, atualize a regra de notificação de rejeição para ler o destinatário de um campo de e-mail dedicado no perfil do usuário.
Uma regra de visibilidade de dropdown nunca é avaliada como verdadeira
-
Sintoma: Uma regra de visibilidade que direciona um campo de dropdown usa um operador e um valor de comparação, mas a regra nunca é avaliada como verdadeira durante os testes.
-
Possível causa: A regra é avaliada em relação ao Valor armazenado da opção, não ao Rótulo 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 Valor da opção.
Uma submissão anterior mostra uma opção com um risco
-
Sintoma: Ao revisar uma submissão anterior, um valor de dropdown ou lista selecionado aparece com uma linha através dele.
-
Possível causa: A resposta armazenada mapeia 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 risco para indicar que a opção não está mais disponível para novas submissões. Nenhuma ação é necessária, a menos que você queira reativar a opção.
Para mais ajuda, revise os logs do seu App Builder e entre em contato com o suporte da Jitterbit.