O serviço Automated forms conversion permite converter um formulário de PDF não interativo, um formulário Acro ou um formulário de 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 associações de dados, será possível integrar o formulário adaptável convertido com 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 campos de formulário adaptáveis manualmente com o modelo de dados de formulário. No entanto, se você gerar um formulário adaptável com vinculações de dados, o serviço de conversão associará automaticamente os formulários adaptáveis a um esquema JSON e criará uma vinculação de dados entre os campos disponíveis no formulário adaptável e no esquema JSON. Em seguida, você pode integrar o formulário adaptável a um banco de dados de sua escolha, preencher dados no formulário e enviá-lo para o banco de dados. Da mesma forma, após a integração bem-sucedida com o banco de dados, é possível configurar campos no formulário adaptável convertido para recuperar valores do banco de dados e preencher previamente os campos de formulário adaptável.
A figura a seguir descreve os diferentes estágios de integração de um formulário adaptável convertido com um banco de dados:
Este artigo descreve as instruções passo a passo para executar com êxito todos esses estágios de integração.
Para executar o caso de uso para integrar formulários adaptáveis convertidos ao banco de dados usando um fluxo de trabalho AEM, baixe o seguinte arquivo de PDF de amostra.
Você pode baixar o exemplo de formulário Fale 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 representa o formulário entre em contato conosco de amostra em 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 procure pelo pacote com.mysql.jdbc.http://server:port/system/console/bundles
e clique em Install/Update.A Integração de dados do AEM Forms permite configurar e conectar-se a diferentes fontes de dados. 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 contactus para o esquema com base nos campos disponíveis no formulário adaptável.
Você pode usar a seguinte instrução DDL para criar a contactus tabela 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 a instância do AEM e o banco de dados MYSQL:
Vá para a página Configuração do console da Web do AEM 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 das 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 fonte de dados. |
Classe de driver JDBC |
com.mysql.jdbc.Driver |
URI da conexão JDBC |
jdbc:mysql://[host]:[porta]/[nome_do_esquema] |
Nome de usuário |
Um nome de usuário para autenticar e executar ações em tabelas do banco de dados |
Senha |
Senha associada ao nome de usuário |
Isolamento de transação |
READ_COMMITTED |
Máximo de conexões ativas |
1000 |
Máximo de Conexões Ociosas |
100 |
Mínimo de conexões ociosas |
10 |
Tamanho inicial |
10 |
Espera Máxima |
100000 |
Teste ao tomar emprestado |
Marcado |
Teste enquanto ocioso |
Marcado |
Consulta de validação |
Os valores de exemplo são SELECT 1(mysql), select 1 from dual(oracle), SELECT 1(MS Sql Server) (validationQuery) |
Tempo limite de consulta 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:
Na instância do autor AEM, navegue até Forms > Data Integrations.
Tocar Create > Form Data Model.
No Create Form Data Model assistente, especificar workflow_submit como o nome do modelo de dados de formulário. Tocar Next.
Selecione a fonte de dados MYSQL que você configurou na seção anterior e toque em Create.
Toque Edit e expanda a fonte de dados listada no painel esquerdo para selecionar contactus tabela, 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. Selecionar get e insert de Read Service e Write Service listas suspensas. Especifique os argumentos para o serviço de leitura e toque em Done.
No Services , selecione a get serviço e toque em Edit Properties. Selecione o Output Model Object, desative o Return array alterne e toque em Done.
Selecione o Insert serviço e toque em Edit Properties. Selecione o Input Model Object e toque em Done.
Toque Save para salvar o modelo de dados do formulário.
Você pode baixar o modelo de dados de formulário de amostra usando:
Use o Serviço Automated forms conversion a ser convertido o Formulário Fale Conosco para um formulário adaptável com vinculação de dados. Certifique-se de não selecionar a opção Generate adaptive form(s) without data bindings ao gerar o formulário adaptável.
Selecione o convertido Formulário Fale Conosco disponível no output pasta em Forms & Documents e toque em Edit. Toque Preview, insira valores nos campos de formulário adaptável e toque em Submit.
Efetue logon no crx-repository e navegue até /content/forms/fp/admin/submit/data para exibir os valores enviados no formato JSON. A seguir estão exemplos de dados no formato JSON ao enviar o arquivo Entre em contato formulário adaptável:
{
"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 e enviar os dados do formulário adaptável para o 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
.
Selecionar Create, depois Create Model. A variável Add Workflow Model será exibida.
Insira o Title e Name (opcional). Por exemplo, workflow_json_submit. Toque 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 adicionar Invoke Form Data Model Service etapa para o modelo de fluxo de trabalho.
Toque no Invoke Form Data Model Service pisque e toque .
No Form Data Model selecione o modelo de dados de formulário criado na guia Form Data Model path e selecione insert do Service lista suspensa.
No Input for Service selecione Provide input data using literal, variable, or a workflow metadata, and a JSON file na lista suspensa, selecione Map input fields from input JSON , selecione Relative to payload e fornecer data.xml como o valor de Select input JSON document using campo.
No 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, contactus dot name, estão mapeados para afData.afBoundData.data.name1, que se refere às vinculações do esquema JSON para o formulário adaptável enviado.
Execute as seguintes etapas para enviar o formulário adaptável para o modelo de fluxo de trabalho criado na seção anterior:
Selecione o formulário Fale Conosco convertido disponível na output pasta em Forms & Documents e toque em Edit.
Abra as propriedades do formulário adaptável tocando em Form Container e toque em .
No Submission , selecione Invoke an AEM workflow do Submit Action selecione o modelo de fluxo de trabalho criado na seção anterior e especifique data.xml no Data File Path campo.
Toque para salvar as propriedades.
Toque 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 os valores do banco de dados MYSQL com base na chave primária definida na tabela (Email neste caso):
Toque no E-mail no formulário adaptável e toque em .
Toque Create e selecione is changed do Select State lista suspensa na When seção.
No Then , selecione Invoke Service e obter como o serviço para o modelo de dados de formulário criado em uma seção anterior deste artigo.
Selecionar E-mail no Input e os três campos restantes do modelo de dados de formulário, Nome, Número de telefone, e Descrição do problema no Output seção. Toque Done para salvar as configurações.
Como resultado, com base nas entradas de E-mail existentes no banco de dados MYSQL, você pode preencher previamente os valores dos três campos restantes no Preview modo do formulário adaptável. Por exemplo, se você especificar aya.tan@xyz.com na variável E-mail (com base nos dados existentes no Preparar modelo de dados do formulário deste artigo) e guia para fora do campo, os três campos restantes, Nome, Número de telefone, e Descrição do problema é exibido automaticamente no formulário adaptável.
Você pode baixar a amostra de formulário adaptável convertido usando: