Show Menu
TÓPICOS×

Integrar formulário adaptável ao banco de dados usando o fluxo de trabalho do AEM

O serviço de conversão de formulários automatizada permite converter um formulário PDF não interativo, um formulário Acro ou um formulário PDF baseado em XFA em um formulário adaptável. Ao iniciar o processo de conversão, você tem a opção de gerar um formulário adaptável com ou sem vínculos de dados.
Se você optar por gerar um formulário adaptável sem vínculos de dados, poderá integrar o formulário adaptável convertido a um modelo de dados de formulário, esquema XML ou esquema JSON após a conversão. Para o modelo de dados de formulário, é necessário vincular manualmente os campos adaptáveis ao modelo de dados de formulário. Entretanto, se um formulário adaptável for gerado com vínculos de dados, o serviço de conversão associará automaticamente os formulários adaptáveis a um esquema JSON e criará um vínculo de dados entre os campos disponíveis no formulário adaptável e no esquema JSON. Em seguida, é possível integrar o formulário adaptável a um banco de dados de sua escolha, preencher dados no formulário e enviá-lo ao banco de dados. Da mesma forma, após uma integração bem-sucedida com o banco de dados, é possível configurar os campos no formulário adaptável convertido para recuperar valores do banco de dados e preencher previamente os campos do formulário adaptável.
A figura a seguir descreve diferentes estágios de integração de um formulário adaptável convertido em um banco de dados:
Este artigo descreve as instruções passo a passo para executar com êxito todas essas etapas de integração.

Pré-requisitos

  • Configurar uma instância de autor do AEM 6.4 ou 6.5
  • Instale o service pack mais recente para sua instância do AEM
  • Versão mais recente do pacote complementar AEM Forms
  • Configure um banco de dados. O banco de dados usado na implementação de amostra é MySQL 5.6.24. Entretanto, é possível integrar o formulário adaptável convertido a qualquer banco de dados de sua escolha.

Exemplo de formulário adaptável

Para executar o caso de uso para integrar formulários adaptativos convertidos ao banco de dados usando um fluxo de trabalho AEM, baixe o arquivo PDF de amostra a seguir.
É possível baixar o formulário de amostra Entrar em contato conosco usando:
O arquivo PDF serve como entrada para o serviço de Conversão de formulários automatizados. O serviço converte esse arquivo em um formulário adaptável. A imagem a seguir descreve o formulário de contato de amostra em um formato PDF.

Instale o arquivo mysql-Connector-java-5.1.39-bin.jar

Execute as seguintes etapas, em todas as instâncias de autor e publicação, para instalar o arquivo mysql-Connector-java-5.1.39-bin.jar:
  1. Navegue até http://server:port/system/console/depfinder o pacote com.mysql.jdbc e procure-o.
  2. Na coluna Exportado por, verifique se o pacote é exportado por qualquer pacote. Continue se o pacote não for exportado por nenhum pacote.
  3. Navegue até http://server:port/system/console/bundles e clique em Install/Update .
  4. Clique Choose File e navegue para selecionar o arquivo mysql-Connector-java-5.1.39-bin.jar. Além disso, marque Start Bundle e Refresh Packages caixas de seleção.
  5. Clique em Install ou Update . Após a conclusão, reinicie o servidor.
  6. (Somente Windows) Desligue o firewall do sistema para o seu sistema operacional.

Preparar dados para o modelo de formulário

A integração de dados do AEM Forms permite configurar e conectar-se a fontes de dados diferentes. Depois de gerar um formulário adaptável usando o processo de conversão, você pode definir o modelo de formulário com base em um modelo de dados de formulário, XSD ou um esquema JSON. Você pode usar um banco de dados, o Microsoft Dynamics ou qualquer outro serviço de terceiros para criar um modelo de dados de formulário.
Este tutorial usa o banco de dados MySQL como a fonte para criar um modelo de dados de formulário. Crie um esquema no banco de dados e adicione a tabela contactus ao esquema com base nos campos disponíveis no formulário adaptável.
Você pode usar a seguinte instrução DDL para criar a tabela contactus no banco de dados.
CREATE TABLE `contactus` (
   `name` varchar(45) NOT NULL,
   `email` varchar(45) NOT NULL,
   `phonenumber` varchar(10) DEFAULT NULL,
   `issuedesc` varchar(1000) DEFAULT NULL,
   PRIMARY KEY (`email`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

Configurar a conexão entre a instância do AEM e o banco de dados

Execute as seguintes etapas de configuração para criar uma conexão entre a instância do AEM e o banco de dados MYSQL:
  1. Vá para a página Configuração do console da Web do AEM em http://server:port/system/console/configMgr .
  2. Localize e clique em para abrir Apache Sling Connection Pooled DataSource no modo de edição na Configuração do console da Web. Especifique os valores para as propriedades conforme descrito na tabela a seguir:
    Propriedade Valor
    Nome da fonte de dados
    Um nome de fonte de dados para filtrar drivers do pool de fontes de dados.
    Classe de driver JDBC
    com.mysql.jdbc.Driver
    URI de conexão JDBC
    jdbc:mysql://[host]:[porta]/[nome_esquema]
    Nome de usuário
    Um nome de usuário para autenticar e executar ações em tabelas de banco de dados
    Senha
    Senha associada ao nome de usuário
    Isolamento da transação
    READ_COMMTED
    Máximo de conexões ativas
    1000
    Máximo de conexões inativas
    100
    Conexões inativas mínimas
    10
    Tamanho inicial
    10
    Espera máxima
    100000
    Teste de emprestado
    Marcado
    Testar enquanto ocioso
    Marcado
    Consulta de validação
    Exemplos de valores são SELECT 1(mysql), select 1 from dual(oracle), SELECT 1(MS Sql Server) (validationQuery)
    Tempo limite da consulta de validação
    10000

Create form data model

Depois de configurar o MYSQL como a fonte de dados, execute as seguintes etapas para criar um modelo de dados de formulário:
  1. Na instância do autor de AEM, navegue até Forms > Data Integrations .
  2. Tocar Create > Form Data Model .
  3. No Create Form Data Model assistente, especifique workflow_submit como o nome do modelo de dados do formulário. Tocar Next .
  4. Selecione a fonte de dados MYSQL configurada na seção anterior e toque em Create .
  5. Toque Edit e expanda a fonte de dados listada no painel esquerdo para selecionar a tabela de contatos , get os serviços e insert os serviços, e toque em Add Selected .
  6. Selecione o objeto de modelo de dados no painel direito e toque Edit Properties . Selecione get e insert de listas Read Service e Write Service suspensas. Especifique os argumentos para o serviço de Leitura e toque Done .
  7. Na Services guia, selecione o get serviço e toque em Edit Properties . Selecione o Output Model Object , desative a Return array alternância e toque Done .
  8. Selecione o Insert serviço e toque em Edit Properties . Selecione o Input Model Object e toque Done .
  9. Toque em Save para salvar o modelo de dados do formulário.
É possível fazer download do modelo de dados de formulário de amostra usando:

Gerar formulários adaptáveis com vínculo JSON

Use o serviço de Conversão de formulários automatizados para converter o formulário Exemplo de formulário adaptável Entrar em contato conosco em um formulário adaptável com vínculo de dados. Certifique-se de não marcar a caixa de Generate adaptive form(s) without data bindings seleção ao gerar o formulário adaptável.
Selecione o formulário ​Entre em contato conosco convertido disponível na output pasta em Forms & Documents e toque em Edit . Toque em Preview , digite os valores nos campos do formulário adaptável e toque em Submit .
Faça logon no crx-repository e navegue até /content/forms/fp/admin/submit/data para exibir os valores enviados no formato JSON. Estes são os dados de amostra no formato JSON quando você envia o formulário adaptativo Entrar em contato conosco convertido:
{
  "afData": {
    "afUnboundData": {
      "data": {}
    },
    "afBoundData": {
      "data": {
        "name1": "Gloria",
        "email": "abc@xyz.com",
        "phone_number": "2346578965",
        "issue_description": "Test message"
      }
    },
    "afSubmissionInfo": {
      "computedMetaInfo": {},
      "stateOverrides": {},
      "signers": {},
      "afPath": "/content/dam/formsanddocuments/docs_conversion/output/sample_form_json",
      "afSubmissionTime": "20191204014007"
    }
  }
}

Agora é necessário criar um modelo de fluxo de trabalho que possa processar esses dados e enviá-los ao banco de dados MYSQL usando o modelo de dados de formulário criado nas seções anteriores.

Criar um modelo de fluxo de trabalho para processar dados JSON

Execute as seguintes etapas para criar um modelo de fluxo de trabalho para enviar os dados do formulário adaptável ao banco de dados:
  1. Abra o console Modelos de fluxo de trabalho. O URL padrão é https://server:port/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models .
  2. Selecione Create , em seguida Create Model . A Add Workflow Model caixa de diálogo é exibida.
  3. Insira o Title e Name (opcional). Por exemplo, workflow_json_submit . Toque em Done para criar o modelo.
  4. Selecione o modelo de fluxo de trabalho e toque Edit para abrir o modelo no modo de edição. Toque em + e adicione Invoke Form Data Model Service etapa ao modelo de fluxo de trabalho.
  5. Toque na Invoke Form Data Model Service etapa e toque em .
  6. Na Form Data Model guia, selecione o modelo de dados de formulário criado no Form Data Model path campo e selecione insert na lista Service suspensa.
  7. Na Input for Service guia, selecione Provide input data using literal, variable, or a workflow metadata, and a JSON file na lista suspensa, marque a caixa de seleção Map input fields from input JSON , selecione Relative to payload e forneça data.xml como o valor do Select input JSON document using campo.
  8. Na Service Arguments seção, forneça os seguintes valores para os argumentos do modelo de dados de formulário:
    Observe que os campos do modelo de dados do formulário, por exemplo, nome do ponto de contato, são mapeados para afData.afBoundData.data.name1 , que se refere aos vínculos do esquema JSON para o formulário adaptativo enviado.

Configurar envio de formulário adaptável

Execute as seguintes etapas para enviar o formulário adaptável ao modelo de fluxo de trabalho criado na seção anterior:
  1. Selecione o formulário Fale conosco convertido disponível na output pasta em Forms & Documents e toque em Edit .
  2. Abra as propriedades do formulário adaptável tocando Form Container e tocando em .
  3. Na Submission seção, selecione Invoke an AEM workflow na lista Submit Action suspensa, selecione o modelo de fluxo de trabalho criado na seção anterior e especifique data.xml no Data File Path campo.
  4. Toque em para salvar as propriedades.
  5. Toque em Preview , digite os valores nos campos do formulário adaptável e toque em Submit . Os valores enviados agora são exibidos na tabela do banco de dados MYSQL em vez do repositório ​crx.

Configurar formulário adaptável para preencher previamente valores do banco de dados

Execute as seguintes etapas para configurar o formulário adaptável para preencher previamente valores do banco de dados MYSQL com base na chave primária definida na tabela (neste caso, Email):
  1. Toque no campo Email no formulário adaptável e toque em .
  2. Toque Create e selecione is changed na lista Select State suspensa na When seção.
  3. Na Then seção, selecione Invoke Service e obtenha como o serviço para o modelo de dados de formulário criado em uma seção anterior deste artigo.
  4. Selecione Email na seção Input e os outros três campos do modelo de dados do formulário, Nome , Número de telefone e Descrição da edição na Output seção. Toque em Done para salvar as configurações.
    Como resultado, com base nas entradas de E-mail existentes no banco de dados MYSQL, você pode pré-preencher os valores dos três restantes campos no Preview modo do formulário adaptável. Por exemplo, se você especificar aya.tan@xyz.com no campo Email (com base nos dados existentes na seção Preparar modelo de dados de formulário deste artigo) e sair do campo, os três campos restantes, Nome , Número de telefone e Descrição da edição serão exibidos automaticamente no formulário adaptável.
É possível fazer download do formulário adaptativo convertido de amostra usando: