Tutorial: Criar modelo de dados do formulário tutorial-create-form-data-model
Este tutorial é uma etapa da série Criar o primeiro formulário adaptável. A Adobe recomenda que você siga a série em sequência cronológica para entender, executar e demonstrar o caso de uso tutorial completo.
Sobre o tutorial about-the-tutorial
O módulo de integração de dados AEM Forms permite criar um modelo de dados de formulário a partir de diferentes fontes de dados de back-end, como o perfil de usuário AEM, os serviços Web RESTful, os serviços Web baseados em SOAP, os serviços OData e os bancos de dados relacionais. Você pode configurar serviços e objetos de modelo de dados em um modelo de dados de formulário e associá-lo a um formulário adaptável. Os campos de formulário adaptável são vinculados às propriedades do objeto de modelo de dados. Os serviços permitem preencher previamente o formulário adaptável e gravar dados do formulário enviado de volta no objeto de modelo de dados.
Para obter mais informações sobre a integração de dados de formulário e o modelo de dados de formulário, consulte Integração de dados do AEM Forms.
Este tutorial percorre as etapas para preparar, criar, configurar e associar um modelo de dados de formulário a um formulário adaptável. Ao final deste tutorial, você será capaz de:
O modelo de dados de formulário será semelhante ao seguinte:
A. Fontes de dados B. Esquemas de fonte de dados C. Serviços disponíveis D. Objetos de modelo de dados E. Serviços configurados
Pré-requisitos prerequisites
Antes de começar, verifique se você tem o seguinte:
- Banco de dados do MySQL com dados de exemplo conforme declarado na seção Pré-requisitos do Criar o primeiro formulário adaptável
- Pacote OSGi para o driver JDBC MySQL, conforme explicado em Agrupando o driver do banco de dados JDBC
- Formulário adaptável conforme explicado no primeiro tutorial Criar um formulário adaptável
Etapa 1: configurar o banco de dados MySQL como fonte de dados config-database
É possível configurar diferentes tipos de fontes de dados para criar um modelo de dados de formulário. Para este tutorial, você configura o banco de dados MySQL que configurou e preencheu com dados de amostra. Para obter informações sobre outras fontes de dados com suporte e como configurá-las, consulte Integração de Dados do AEM Forms.
Faça o seguinte para configurar o banco de dados do MySQL:
-
Instale o driver JDBC para MySQL o banco de dados como um osGi pacote:
-
Baixe MySQL o pacote JDBC Driver OSGi em
http://www.java2s.com/ref/jar/download-orgosgiservicejdbc100jar-file.html
. -
Faça logon na instância do autor Forms do AEM como administrador e acesse os pacotes de console da Web do AEM. A URL padrão é https://localhost:4502/system/console/bundles.
-
Selecione Instalar/Atualizar. Uma caixa de diálogo Carregar/Instalar Pacotes é exibida.
-
Selecione Escolher Arquivo para procurar e selecionar o pacote OSGi do driver JDBC MySQL. Selecione Iniciar Pacote e Atualizar Pacotes e selecione Instalar ou Atualizar. Certifique-se de que o Oracle Corporation’s Driver MySQL JDBC esteja ativo. O motorista está instalado.
-
-
Configure MySQL o banco de dados como um fonte de dados:
-
Acesse AEM console da Web no https://localhost:4502/system/console/configMgr.
-
Localize a configuração do DataSource com conexão Apache Sling. Selecione para abrir a configuração no modo de edição.
-
Na caixa de diálogo de configuração, especifique os seguintes detalhes:
- Nome da fonte de dados: Você pode especificar qualquer nome. Por exemplo, especifique WeRetailMySQL.
- Nome da propriedade de serviço DataSource: especifique o nome da propriedade de serviço que contém o nome DataSource. É especificado ao registrar a instância da fonte de dados como serviço OSGi. Por exemplo, datasource.name.
- Classe do driver JDBC: especifique o nome da classe Java™ do driver JDBC. Para o banco de dados MySQL, especifique com.mysql.jdbc.Driver.
- URI de conexão JDBC: especifique o URL de conexão do banco de dados. Para MySQL o banco de dados em execução em porta 3306 e schema
weretail
, a URL é:jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
note note NOTE Quando o banco de dados está atrás de um firewall, o MySQL nome do host do banco de dados não é um DNS público. O endereço IP do banco de dados deve ser adicionado ao arquivo /etc/hosts da máquina AEM host. - Nome de usuário: Nome de usuário do banco de dados. É necessário habilitar o driver JDBC para estabelecer uma conexão com o banco de dados.
- Senha: Senha do banco de dados. É necessário habilitar o driver JDBC para estabelecer uma conexão com o banco de dados.
note note NOTE O AEM Forms não oferece suporte à Autenticação NT para MySQL. Vá para AEM console da Web no https://localhost:4502/system/console/configMgr e pesquisa "Apache Sling Connection Pooled Datasource". Para "URI de conexão JDBC" propriedade, defina o valor de "Segurança integrada" como Falso e use o nome de usuário e o senha criados para conexão com MySQL o banco de dados. -
Testar em Emprestar: ative a opção Testar em Emprestar .
-
Teste no retorno: ative a opção Testar no retorno .
-
Consulta de Validação: especifique uma consulta SQL SELECT para validar as conexões do pool. A consulta deve retornar pelo menos uma linha. Por exemplo, selecione * em customerdetails.
-
Isolamento de Transação: Defina o valor como READ_COMMITTED.
Deixe as outras propriedades com os valores padrão e selecione Salvar.
Uma configuração semelhante à seguinte é criada.
-
Etapa 2: Criar modelo de dados de formulário create-fdm
O AEM Forms fornece uma interface de usuário intuitiva para criar um modelo de dados de formulário a partir de fontes de dados configuradas. É possível usar várias fontes de dados em um modelo de dados de formulário. Neste caso de uso, você pode usar a fonte de dados MySQL configurada.
Faça o seguinte para criar o modelo de dados de formulário:
-
Na instância do autor AEM, navegue até Forms > Integrações de Dados.
-
Selecione Criar > Modelo de Dados de Formulário.
-
Na caixa de diálogo Criar modelo de dados de formulário, especifique um nome para o modelo de dados de formulário. Por exemplo, customer-shipping-billing-details. Selecione Próximo.
-
A tela selecionar fonte de dados lista todas as fontes de dados configuradas. Selecione a fonte de dados WeRetailMySQL e selecione Criar.
O modelo de dados de formulário customer-shipping-billing-details foi criado.
Etapa 3: configurar o modelo de dados de formulário config-fdm
A configuração do modelo de dados de formulário envolve:
- adição de objetos e serviços de modelo de dados
- configuração de serviços de leitura e gravação para objetos de modelo de dados
Faça o seguinte para configurar o modelo de dados de formulário:
-
Na instância do autor do AEM, navegue até Forms > Integrações de Dados. A URL padrão é https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
-
O customer-shipping-billing-details do modelo de dados de formulário criado anteriormente está listado aqui. Abra-o no modo de edição.
A fonte de dados selecionada WeRetailMySQL está configurada no modelo de dados de formulário.
-
Expanda a árvore da fonte de dados WeRailMySQL. Selecione os seguintes objetos e serviços de modelo de dados do esquema weretail > customerdetails para poder formar o modelo de dados:
-
Objetos do modelo de dados:
- id
- name
- shippingAddress
- cidade
- estado
- código postal
-
Serviços:
- obter
- atualizar
Selecione Adicionar Selecionados para adicionar objetos e serviços de modelo de dados selecionados ao modelo de dados de formulário.
note note NOTE Os serviços padrão de obtenção, atualização e inserção para fontes de dados JDBC são fornecidos com o modelo de dados de formulário pronto para uso. -
-
Configure serviços de leitura e gravação para o objeto de modelo de dados.
-
Selecione o objeto de modelo de dados customerdetails e selecione Editar Propriedades.
-
Selecione get no menu suspenso Serviço de Leitura. O argumento id, que é a chave primária no objeto de modelo de dados customerdetails, é adicionado automaticamente. Selecione e configure o argumento da seguinte maneira.
-
Da mesma forma, selecione atualizar como o Serviço de gravação. O objeto customerdetails é adicionado automaticamente como argumento. O argumento é configurado da seguinte maneira.
Adicione e configure o argumento da ID da seguinte maneira.
-
Selecione Concluído para salvar as propriedades de objetos de modelo de dados. Em seguida, selecione Salvar para salvar o modelo de dados do formulário.
Os serviços get e update são adicionados como serviços padrão para o objeto de modelo de dados.
-
-
Vá para a guia Serviços e configure os serviços obter e atualizar.
-
Selecione o serviço get e selecione Editar Propriedades. A caixa de diálogo de propriedades é aberta.
-
Especifique o seguinte na caixa de diálogo Editar Propriedades:
-
Título: especifique o título do serviço. Por exemplo: Recuperar endereço de envio.
-
Descrição: especifique a descrição que contém o funcionamento detalhado do serviço. Por exemplo:
Este serviço recupera o endereço de entrega e outros detalhes do cliente do banco de dados MySQL
-
Objeto de Modelo de Saída: Selecione um esquema contendo dados do cliente. Por exemplo:
esquema customerdetail
-
Retornar matriz: desabilitar a opção Retornar matriz.
-
Argumentos: selecione o argumento denominado ID.
Selecione Concluído. O serviço para recuperar os detalhes do cliente do banco de dados MySQL está configurado.
-
-
Selecione o serviço atualizar e selecione Editar Propriedades. A caixa de diálogo de propriedades é aberta.
-
Especifique o seguinte na caixa de diálogo Editar Propriedades:
-
Título: especifique o título do serviço. Por exemplo, Atualizar endereço de entrega.
-
Descrição: especifique a descrição que contém o funcionamento detalhado do serviço. Por exemplo:
Este serviço atualiza o endereço de entrega e campos relacionados no banco de dados MySQL
-
Objeto de Modelo de Entrada: Selecione um esquema contendo dados do cliente. Por exemplo:
esquema customerdetail
-
Tipo de saída: selecione BOOLEANO.
-
Argumentos: selecione o nome do argumento ID e customerdetails.
Selecione Concluído. O serviço update para atualizar os detalhes do cliente no banco de dados MySQL está configurado.
-
-
O objeto de modelo de dados e os serviços no modelo de dados de formulário são configurados. Agora você pode testar o modelo de dados do formulário.
Etapa 4: testar o modelo de dados do formulário test-fdm
Você pode testar o objeto de modelo de dados e os serviços para verificar se o modelo de dados de formulário está configurado corretamente.
Faça o seguinte para executar o teste:
-
Vá para a guia Modelo, selecione o objeto de modelo de dados customerdetails e selecione Testar Objeto de Modelo.
-
Na janela Modelo/Serviço de Teste, selecione Ler objeto de modelo no menu suspenso Selecionar Modelo/Serviço.
-
Na seção customerdetails, especifique um valor para o argumento id que existe no banco de dados MySQL configurado e selecione Test.
Os detalhes do cliente associados à ID especificada são obtidos e exibidos na seção Saída, conforme mostrado abaixo.
-
Da mesma forma, você pode testar o objeto e os serviços do modelo Gravar.
No exemplo a seguir, o serviço de atualização atualiza com êxito os detalhes de endereço da id 7102715 no banco de dados.
Agora, se você testar o serviço do modelo de leitura novamente para a id 7107215, ele buscará e exibirá os detalhes do cliente atualizados, como mostrado abaixo.