O serviço de automated forms conversion 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, schema XML ou schema 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 schema JSON e criará um vínculo de dados entre os campos disponíveis no formulário adaptável e no schema 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.
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 do Automated forms conversion. 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.
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:
http://server:port/system/console/depfinder
e pesquise pelo pacote com.mysql.jdbc.http://server:port/system/console/bundles
e clique em Install/Update.A Integração de dados da AEM Forms permite que você configure e conecte-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 schema 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 schema no banco de dados e adicione a tabela contactus ao schema 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
Execute as seguintes etapas de configuração para criar uma conexão entre AEM instância e o banco de dados MYSQL:
Vá para AEM página Configuração do Web Console em http://server:port/system/console/configMgr
.
Localize e clique 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_do_schema] |
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 |
Query de validação |
Exemplos de valores são SELECT 1(mysql), select 1 from dual (oracle), SELECT 1(MS Sql Server) (validationQuery) |
Tempo limite do Query de validação |
10000 |
Depois de configurar o MYSQL como a fonte de dados, execute as seguintes etapas para criar um modelo de dados de formulário:
Em AEM instância do autor, navegue até Forms > Data Integrations.
Tocar Create > Form Data Model.
No assistente Create Form Data Model, especifique workflow_submit como o nome do modelo de dados do formulário. Tocar Next.
Selecione a fonte de dados MYSQL configurada na seção anterior e toque em Create.
Toque em Edit e expanda a fonte de dados listada no painel esquerdo para selecionar tabela do contactus, get e insert serviços e toque em Add Selected.
Selecione o objeto de modelo de dados no painel direito e toque em Edit Properties. Selecione get e insert nas listas suspensas Read Service e Write Service. Especifique os argumentos para o serviço de Leitura e toque em Done.
Na guia Services, selecione o serviço get e toque em Edit Properties. Selecione Output Model Object, desative a alternância Return array e toque em Done.
Selecione o serviço Insert e toque em Edit Properties. Selecione Input Model Object e toque em Done.
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:
Use o serviço de Automated forms conversion para converter o Fale conosco form em um formulário adaptável com vínculo de dados. Certifique-se de não marcar a caixa de seleção Generate adaptive form(s) without data bindings ao gerar o formulário adaptável.
Selecione o formulário Entre em contato conosco convertido disponível na pasta output em Forms & Documents e toque em Edit. Toque em Preview, insira valores nos campos de formulário adaptável e toque em Submit.
Faça logon em crx-repository e navegue até /content/forms/fp/admin/submit/data para visualização dos valores enviados no formato JSON. Estes são os dados de amostra no formato JSON quando você envia o formulário adaptativo Entre 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.
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:
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
.
Selecione Create e Create Model. A caixa de diálogo Add Workflow Model é exibida.
Insira Title e Name (opcional). Por exemplo, workflow_json_submit. Toque em Done para criar o modelo.
Selecione o modelo de fluxo de trabalho e toque em Edit para abrir o modelo no modo de edição. Toque em + e adicione a etapa Invoke Form Data Model Service ao modelo de fluxo de trabalho.
Toque na etapa Invoke Form Data Model Service e toque em .
Na guia Form Data Model, selecione o modelo de dados de formulário criado no campo Form Data Model path e selecione insert na lista suspensa Service.
Na guia Input for Service, 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 valor para o campo Select input JSON document using.
Na seção Service Arguments, forneça os seguintes valores para os argumentos do modelo de dados de formulário:
Observe que os campos do modelo de dados de formulário, por exemplo, nome do ponto de contato, estão mapeados para afData.afBoundData.data.name1, que se refere aos vínculos do schema JSON para o formulário adaptativo enviado.
Execute as seguintes etapas para enviar o formulário adaptável ao modelo de fluxo de trabalho criado na seção anterior:
Selecione o formulário Contato conosco convertido disponível na pasta output em Forms & Documents e toque em Edit.
Abra as propriedades do formulário adaptável tocando Form Container e tocando .
Na seção Submission, selecione Invoke an AEM workflow na lista suspensa Submit Action, selecione o modelo de fluxo de trabalho criado na seção anterior e especifique data.xml no campo Data File Path.
Toque em para salvar as propriedades.
Toque em Preview, insira valores nos campos de formulário adaptável e toque em Submit. Os valores enviados agora são exibidos na tabela do banco de dados MYSQL em vez de crx-repository.
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):
Toque no campo E-mail no formulário adaptável e toque em .
Toque em Create e selecione is changed na lista suspensa Select State na seção When.
Na seção Then, selecione Invoke Service e get como o serviço para o modelo de dados de formulário criado em uma seção anterior deste artigo.
Selecione E-mail na seção Input e os outros três campos do modelo de dados de formulário, Nome, Número de telefone, e Descrição do problema na seção Output. 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 modo Preview do formulário adaptável. Por exemplo, se você especificar aya.tan@xyz.com no campo E-mail (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 de edição<a> são exibidos automaticamente no formulário adaptável.
É possível fazer download do formulário adaptativo convertido de amostra usando: