Tutorial: Criar modelo de dados do formulário

04-criar-formulário-modelo-dados-principal

Este tutorial é uma etapa da Criar O Primeiro Formulário Adaptável série. É recomendável seguir a série em sequência cronológica para entender, executar e demonstrar o caso de uso completo do tutorial.

Sobre o tutorial

AEM Forms o módulo de integração de dados permite criar um modelo de dados de formulário a partir de diferentes fontes de dados de back-end, como perfil de usuário AEM, serviços Web RESTful, serviços Web baseados em SOAP, serviços OData e 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:

form-data-model_l

A. Fontes de dados configuradas B. Esquemas de fonte de dados C Serviços disponíveis D. Objetos do modelo de dados E Serviços configurados

Pré-requisitos

Antes de começar, verifique se você tem o seguinte:

Etapa 1: configurar o banco de dados MySQL como fonte de dados

É possível configurar diferentes tipos de fontes de dados para criar um modelo de dados de formulário. Para este tutorial, configuraremos o banco de dados MySQL que você configurou e preencheu com dados de amostra. Para obter informações sobre outras fontes de dados compatíveis e como configurá-las, consulte Integração de dados do AEM Forms.

Faça o seguinte para configurar suas MySQL banco de dados:

  1. Instale o driver JDBC para MySQL database como um pacote OSGi:

    1. Baixar MySQL Pacote OSGi de driver JDBC de http://www.java2s.com/ref/jar/download-orgosgiservicejdbc100jar-file.html.

    2. Fazer logon no AEM Forms Instância do autor como administrador e acesse pacotes de console da Web AEM. O URL padrão é https://localhost:4502/system/console/bundles.

    3. Toque Instalar/Atualizar. Um Carregar/instalar pacotes será exibida.

    4. Toque Escolher arquivo para procurar e selecionar a variável MySQL Pacote OSGi do driver JDBC. Selecionar Iniciar pacote e Atualizar pacotes e toque em Instalar ou atualizar. Certifique-se de que o Oracle Corporation’s Driver JDBC para MySQL está ativo. O driver está instalado.

  2. Configurar MySQL banco de dados como fonte de dados:

    1. Ir para o console da Web do AEM em https://localhost:4502/system/console/configMgr.

    2. Localizar Fonte de dados agrupada da conexão Apache Sling configuração. Toque para abrir a configuração no modo de edição.

    3. 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 do serviço DataSource: especifique o nome da propriedade de serviço que contém o nome da DataSource. É especificado ao registrar a instância da fonte de dados como serviço OSGi. Por exemplo, datasource.name.
      • Classe de driver JDBC: Especifique o nome da classe Java do driver JDBC. Para MySQL banco de dados, especificar com.mysql.jdbc.Driver.
      • URI da conexão JDBC: especifique o URL de conexão do banco de dados. Para MySQL banco de dados executando na porta 3306 e schema weretail, o URL é: jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
      OBSERVAÇÃO

      Quando a variável MySQL O banco de dados está protegido por um firewall, então o nome de host do banco de dados não é um DNS Público. O endereço IP do banco de dados precisa ser adicionado à variável /etc/hosts arquivo da máquina host AEM.

      • 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.
      OBSERVAÇÃO

      O AEM Forms não oferece suporte à autenticação NT para MySQL. Ir para o console da Web do AEM em https://localhost:4502/system/console/configMgr e pesquise "Apache Sling Connection Pooled Datasource". Para a propriedade "JDBC connection URI", defina o valor de "integratedSecurity" como False e use o nome de usuário e a senha criados para se conectar com MySQL banco de dados.

      • Teste ao tomar emprestado: Ativar o Teste ao tomar emprestado opção.

      • Testar ao retornar: Ativar o Testar na devolução opção.

      • 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, selecionar * dos detalhes do cliente.

      • Isolamento de transação: Defina o valor como READ_COMMITTED.

        Deixar outras propriedades com o padrão valores e toque em Salvar.

        Uma configuração semelhante à seguinte é criada.

        relacional-database-data-source-configuration

Etapa 2: Criar modelo de dados de formulário

AEM Forms O oferece uma interface intuitiva para criar um modelo de dados de formulário de fontes de dados configuradas. É possível usar várias fontes de dados em um modelo de dados de formulário. No nosso caso de uso, usaremos o configurado MySQL fonte de dados.

Faça o seguinte para criar o modelo de dados de formulário:

  1. Na instância do autor AEM, navegue até Forms > Integrações de dados.

  2. Toque Criar > Modelo de dados do formulário.

  3. Na caixa de diálogo Criar modelo de dados de formulário, especifique uma name para o modelo de dados do formulário. Por exemplo, customer-shipping-billing-details. Toque Próxima.

  4. A tela selecionar fonte de dados lista todas as fontes de dados configuradas. Selecionar WeRetailMySQL fonte de dados e toque em Criar.

    data-source-selection

A variável customer-shipping-billing-details modelo de dados de formulário é criado.

Etapa 3: configurar o modelo de dados de formulário

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:

  1. Na instância do autor AEM, navegue até Forms > Integrações de dados. O URL padrão é https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.

  2. A variável customer-shipping-billing-details o 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á configurado no modelo de dados de formulário.

    default-fdm

  3. Expanda a árvore da fonte de dados WeRailMySQL. Selecione os seguintes serviços e objetos de modelo de dados em weretail > customerdetails esquema para formar o modelo de dados:

    • Objetos do modelo de dados:

      • id
      • name
      • shippingAddress
      • cidade
      • estado
      • código postal
    • Serviços:

      • obter
      • atualizar

    Toque Adicionar selecionado para adicionar objetos de modelo de dados e serviços selecionados ao modelo de dados de formulário.

    Esquema do WeRetail

    OBSERVAÇÃO

    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.

  4. Configure serviços de leitura e gravação para o objeto de modelo de dados.

    1. Selecione o customerdetails objeto de modelo de dados e toque em Editar propriedades.

    2. Selecionar obter no menu suspenso Serviço de leitura. A variável id O argumento, que é a chave primária no objeto de modelo de dados customerdetails, é adicionado automaticamente. Toque aem_6_3_edit e configure o argumento da seguinte maneira.

      read-default

    3. Da mesma forma, selecione atualizar como o Serviço de gravação. A variável customerdetails objeto é adicionado automaticamente como argumento. O argumento é configurado da seguinte maneira.

      write-default

      Adicione e configure o id como se segue.

      id-arg

    4. Toque Concluído para salvar as propriedades do objeto de modelo de dados. Em seguida, toque em Salvar para salvar o modelo de dados do formulário.

      A variável obter e atualizar serviços são adicionados como serviços padrão para o objeto de modelo de dados.

      modelo de dados-objeto

  5. Vá para a Serviços guia e configurar obter e atualizar serviços.

    1. Selecione o obter serviço e toque em Editar propriedades. A caixa de diálogo de propriedades é aberta.

    2. 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 entrega.

      • 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 de MySQL banco de dados

      • Objeto de modelo de saída: Selecione o schema que contém dados do cliente. Por exemplo:

        esquema customerdetail

      • Retornar matriz: Desative a variável Retornar matriz opção.

      • Argumentos: selecione o argumento chamado ID.

      Toque Concluído. O serviço para recuperar os detalhes do cliente do banco de dados MySQL está configurado.

      delivery-address-retrieval

    3. Selecione o atualizar serviço e toque em Editar propriedades. A caixa de diálogo de propriedades é aberta.

    4. Especifique o seguinte no Editar propriedades diálogo:

      • 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 o schema que contém dados do cliente. Por exemplo:

        esquema customerdetail

      • Tipo de saída: Selecionar BOOLEANO.

      • Argumentos: selecione o argumento chamado ID e customerdetails.

      Toque Concluído. A variável atualizar serviço para atualizar os detalhes do cliente na MySQL banco de dados está configurado.

      shiping-address-update

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

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:

  1. Vá para a Modelo , selecione a customerdetails modelo de dados e toque em Testar objeto de modelo.

  2. No Modelo de teste/serviço selecione Ler objeto de modelo do Selecionar modelo/serviço menu suspenso.

  3. No customerdetails especifique um valor para a variável id argumento que existe na variável MySQL banco de dados e toque Teste.

    Os detalhes do cliente associados à ID especificada são obtidos e exibidos no Output conforme mostrado abaixo.

    test-read-model

  4. 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.

    test-write-model

    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.

    atualizado para leitura

Nesta página