Tutorial: Criar modelo de dados de formulário

04-create-form-data-model-main

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

Sobre o tutorial

AEM módulo de integração de dados Forms permite criar um modelo de dados de formulário a partir de diferentes fontes de dados de backend, como AEM perfil do usuário, serviços Web RESTful, serviços Web baseados em SOAP, serviços OData e bancos de dados relacionais. É possível configurar objetos e serviços de modelo de dados em um modelo de dados de formulário e associá-lo a um formulário adaptável. Campos de formulário adaptáveis são vinculados às propriedades de objetos de modelo de dados. Os serviços permitem que você preencha previamente o formulário adaptável e grave os dados de formulário enviados de volta para o 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 da AEM Forms.

Este tutorial o orienta pelas etapas para preparar, criar, configurar e associar um modelo de dados de formulário a um formulário adaptável. No final deste tutorial, você poderá:

O modelo de dados de formulário será semelhante ao seguinte:

form-data-model_l

A. Fontes de dados configuradas B.schemas de fonte de dados C. Serviços disponíveis D. Objetos de 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

Você pode 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 da AEM Forms.

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

  1. Instale o driver JDBC para o banco de dados MySQL como um pacote OSGi:

    1. Faça logon em AEM Forms Instância do autor como administrador e vá para AEM pacotes do console da Web. O URL padrão é https://localhost:4502/system/console/bundles.

    2. Toque em Instalar/Atualizar. Uma caixa de diálogo Carregar / Instalar Pacotes é exibida.

    3. Toque em Escolha Arquivo para navegar e selecionar o pacote OSGi do driver JDBC MySQL. Selecione Pacote de Start e Atualizar Pacotes e toque em Instalar ou Atualizar. Verifique se o Oracle Corporation’s Driver JDBC para MySQL está ativo. O driver está instalado.

  2. Configure o banco de dados MySQL como uma fonte de dados:

    1. Vá para AEM console da Web em https://localhost:4502/system/console/configMgr.

    2. Localize a configuração Apache Sling Connection Pooling DataSource. Toque em 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 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 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 banco de dados MySQL em execução na porta 3306 e schema, o URL é: jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8

      • Nome de usuário: Nome de usuário do banco de dados. É necessário ativar o driver JDBC para estabelecer uma conexão com o banco de dados.

      • Senha: Senha do banco de dados. É necessário ativar o driver JDBC para estabelecer uma conexão com o banco de dados.

      • Teste em linha de crédito: ative o teste em linha de crédito.

      • Teste na devolução: ative o teste na devolução.

      • Query de validação: especifique um query SQL SELECT para validar conexões do pool. O query deve retornar pelo menos uma linha. Por exemplo, selecione * de customerdetails.

      • Isolamento da transação: Defina o valor como READ_COMPROMISTED.

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

        É criada uma configuração semelhante à seguinte.

        relational-database-data-source-configuration

Etapa 2: Criar modelo de dados de formulário

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. Em nosso caso de uso, usaremos a fonte de dados MySQL configurada.

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

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

  2. Toque em Criar > Modelo de Dados de Formulário.

  3. 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, detalhes de faturamento de entrega do cliente. Toque em Next.

  4. A tela da fonte de dados selecionada lista todas as fontes de dados configuradas. Selecione Origem de dados WeRetailMySQL e toque em Criar.

    seleção da fonte de dados

O modelo de dados do formulário customer-Shipping-billing-details é 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. Em AEM instância do autor, navegue até Forms > Integrações de dados. O URL padrão é https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.

  2. O modelo de dados do formulário customer-Shipping-billing-details 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.

    default-fdm

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

    • Objetos do modelo de dados:

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

      • get
      • atualizar

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

    Schema WeRetail

    OBSERVAÇÃO

    Os serviços padrão get, update e insert para fontes de dados JDBC são fornecidos prontamente com o modelo de dados de formulário.

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

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

    2. Selecione get no menu suspenso Serviço de leitura. O argumento id, que é a chave primária no objeto de modelo de dados de detalhes do cliente, é adicionado automaticamente. Toque em aem_6_3_edit e configure o argumento da seguinte maneira.

      read-default

    3. Da mesma forma, selecione update como Serviço de Gravação. O objeto customerdetails é adicionado automaticamente como argumento. O argumento é configurado da seguinte maneira.

      write-default

      Adicione e configure o argumento id como segue.

      id-arg

    4. Toque em Done para salvar as propriedades do objeto de modelo de dados. Em seguida, toque em 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.

      data-model-object

  5. Vá para a guia Serviços e configure os serviços get e update.

    1. Selecione o serviço get 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 do banco de dados MySQL

      • Objeto do Modelo de Saída: Selecione o schema que contém os dados do cliente. Por exemplo:

        schema customerdetail

      • Matriz de retorno: Desative a opção Retornar matriz.

      • Argumentos: Selecione o argumento com o nome ID.

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

      shiiping-address-retrieval

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

    4. 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 envio e os campos relacionados no banco de dados MySQL

      • Objeto do Modelo de Entrada: Selecione o schema que contém os dados do cliente. Por exemplo:

        schema customerdetail

      • Tipo de saída: Selecione BOOLEAN.

      • Argumentos: Selecione o argumento chamado ​IDs e detalhes do cliente.

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

      shiiping-address-update

O objeto e os serviços do modelo de dados no modelo de dados de formulário são configurados. Agora é possível testar o modelo de dados de formulário.

Etapa 4: Testar modelo de dados de formulário

Você pode testar o objeto e os serviços do modelo de dados para verificar se o modelo de dados do formulário está configurado corretamente.

Execute o teste a seguir:

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

  2. Na janela Modelo de Teste/Serviço, selecione Ler objeto de modelo no menu suspenso Selecionar Modelo/Serviço.

  3. Na seção customerdetails, especifique um valor para o argumento id que existe no banco de dados MySQL configurado e toque em Test.

    Os detalhes do cliente associados à ID especificada são buscados e exibidos na seção Output, como mostrado abaixo.

    test-read-model

  4. Da mesma forma, é possível 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 do endereço do id 7102715 no banco de dados.

    test-write-model

    Agora, se você testar o serviço de modelo de leitura novamente para o id 7107215, ele buscará e exibirá os detalhes atualizados do cliente, conforme mostrado abaixo.

    atualizado por leitura

Nesta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now