Criar modelo de dados de formulário para Comunicação interativa
Este tutorial é uma etapa da série Create your first Interative Communication. É recomendável seguir a série em sequência cronológica para entender, executar e demonstrar o caso de uso tutorial completo.
O módulo de integração de dados do AEM Forms permite criar um modelo de dados de formulário a partir de diferentes fontes de dados de backend, como AEM perfil de 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 do 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 de objetos do modelo de dados. Os serviços permitem preencher previamente o formulário adaptável e gravar os dados de formulário enviados 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 AEM Forms Data Integration.
Este tutorial o orienta pelas etapas para preparar, criar, configurar e associar um modelo de dados de formulário a uma comunicação interativa. Ao final deste tutorial, você poderá:
O modelo de dados de formulário é semelhante ao seguinte:
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
Antes de começar, verifique se você tem o seguinte:
Um banco de dados é essencial para criar uma Comunicação Interativa. Este tutorial usa um banco de dados para exibir o Form Data Model e os recursos de persistência de Comunicações interativas. Configure um banco de dados contendo tabelas de clientes, contas e chamadas.
A imagem a seguir ilustra dados de amostra para a tabela do cliente:
Use a seguinte instrução DDL para criar a tabela customer no banco de dados.
CREATE TABLE `customer` (
`mobilenum` int(11) NOT NULL,
`name` varchar(45) NOT NULL,
`address` varchar(45) NOT NULL,
`alternatemobilenumber` int(11) DEFAULT NULL,
`relationshipnumber` int(11) DEFAULT NULL,
`customerplan` varchar(45) DEFAULT NULL,
PRIMARY KEY (`mobilenum`),
UNIQUE KEY `mobilenum_UNIQUE` (`mobilenum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Use a instrução DDL a seguir para criar a tabela bill no banco de dados.
CREATE TABLE `bills` (
`billplan` varchar(45) NOT NULL,
`latepayment` decimal(4,2) NOT NULL,
`monthlycharges` decimal(4,2) NOT NULL,
`billdate` date NOT NULL,
`billperiod` varchar(45) NOT NULL,
`prevbal` decimal(4,2) NOT NULL,
`callcharges` decimal(4,2) NOT NULL,
`confcallcharges` decimal(4,2) NOT NULL,
`smscharges` decimal(4,2) NOT NULL,
`internetcharges` decimal(4,2) NOT NULL,
`roamingnational` decimal(4,2) NOT NULL,
`roamingintnl` decimal(4,2) NOT NULL,
`vas` decimal(4,2) NOT NULL,
`discounts` decimal(4,2) NOT NULL,
`tax` decimal(4,2) NOT NULL,
PRIMARY KEY (`billplan`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Use a seguinte instrução DDL para criar a tabela calls no banco de dados.
CREATE TABLE `calls` (
`mobilenum` int(11) DEFAULT NULL,
`calldate` date DEFAULT NULL,
`calltime` varchar(45) DEFAULT NULL,
`callnumber` int(11) DEFAULT NULL,
`callduration` varchar(45) DEFAULT NULL,
`callcharges` decimal(4,2) DEFAULT NULL,
`calltype` varchar(45) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
A tabela calls inclui detalhes da chamada, como data da chamada, hora da chamada, número da chamada, duração da chamada e encargos da chamada. A tabela customer é vinculada à tabela de chamadas usando o campo Número do celular (mobilenum) . Para cada número de celular listado na tabela customer, há vários registros na tabela calls. Por exemplo, você pode recuperar os detalhes da chamada para o número do celular 1457892541 referindo-se à tabela calls.
A tabela letras inclui os detalhes da lista, como data da lista, período da lista, encargos mensais e encargos de chamada. A tabela customer é vinculada à tabela bill usando o campo Plano de Faturamento. Há um plano associado a cada cliente na tabela customer. A tabela bill inclui os detalhes de preços de todos os planos existentes. Por exemplo, você pode recuperar os detalhes do plano para Sarah da tabela customer e usar esses detalhes para recuperar os detalhes do preço da tabela bill.
Você pode configurar diferentes tipos de fontes de dados para criar um modelo de dados de formulário. Neste tutorial, você configurará o banco de dados MySQL que está configurado e preenchido com dados de amostra. Para obter informações sobre outras fontes de dados compatíveis e como configurá-las, consulte AEM Forms Data Integration.
Faça o seguinte para configurar seu banco de dados MySQL:
Instale o driver JDBC para o banco de dados MySQL como um pacote OSGi:
Configurar o banco de dados MySQL como uma fonte de dados:
Vá para AEM console da Web em http://localhost:4502/system/console/configMgr.
Localize a configuração Apache Sling Connection Pool DataSource. Toque em para abrir a configuração no modo de edição.
Na caixa de diálogo de configuração, especifique os seguintes detalhes:
jdbc:mysql://[server]:3306/teleca?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
Deixe outras propriedades com os valores padrão e toque em Salvar.
Uma configuração semelhante ao seguinte é criada.
O AEM Forms fornece uma interface de usuário intuitiva para criar um modo de dados de formuláriol a partir de fontes de dados configuradas. É possível usar várias fontes de dados em um modelo de dados de formulário. Para o caso de uso neste tutorial, você usará o MySQL como fonte de dados.
Faça o seguinte para criar um modelo de dados de formulário:
Em AEM instância do autor, navegue até Forms > Integrações de dados.
Toque em Criar > Modelo de dados de formulário.
No assistente Criar Modelo de Dados de Formulário , especifique um name para o modelo de dados de formulário. Por exemplo, FDM_Create_First_IC. Toque em Próximo.
A tela selecionar fonte de dados lista todas as fontes de dados configuradas. Selecione a fonte de dados MySQL e toque em Criar.
Clique em Concluído. O modelo de dados de formulário FDM_Create_First_IC é criado.
A configuração do modelo de dados de formulário inclui:
Em AEM instância do autor, navegue até Forms > Integrações de dados. O URL padrão é http://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
O modelo de dados de formulário FDM_Create_First_IC criado anteriormente está listado aqui. Selecione-o e toque em Editar.
A fonte de dados selecionada MySQL é exibida no painel Fontes de Dados.
Expanda a árvore de fonte de dados MySQL. Selecione os seguintes objetos e serviços de modelo de dados do schema teleca:
Objetos do modelo de dados:
Serviços:
Toque em Adicionar selecionados para adicionar objetos e serviços de modelo de dados selecionados ao modelo de dados do formulário.
As listas, chamadas e objetos do modelo de dados do cliente são exibidos no painel direito na guia Modelo. Os serviços get e update são exibidos na guia Services.
Uma propriedade calculada é aquela cujo valor é calculado com base em uma regra ou expressão. Usando uma regra, é possível definir o valor de uma propriedade calculada como uma sequência literal, um número, o resultado de uma expressão matemática ou o valor de outra propriedade no modelo de dados de formulário.
Com base no caso de uso, crie a propriedade computada filho usagecharges no objeto de modelo de dados bill usando a seguinte expressão matemática:
tarifas de utilização = taxas de chamada + taxas de chamada de conferência + encargos SMS + taxas de internet móveis + roaming nacional + roaming internacional + SAV (todas essas propriedades existem no objeto de modelo de dados de faturas)
Para obter mais informações sobre a propriedade computada secundária usagecharges, consulte Planejar a comunicação interativa.
Execute as seguintes etapas para criar propriedades filhas computadas para o objeto de modelo de dados de listas:
Marque a caixa de seleção na parte superior do objeto de modelo de dados bill para selecioná-lo e tocar em Criar propriedade filho.
No painel Criar propriedade secundária:
Toque em Editar regra para abrir o Editor de regras.
Toque em Criar. A janela de regra Definir valor é aberta.
Na lista suspensa Selecionar opção , selecione Expressão matemática.
Na expressão matemática, selecione callloading e confcallloading como primeiro e segundo objetos, respectivamente. Selecione plus como operador. Toque na expressão matemática e toque em Estender expressão para adicionar smscharges, interredes, roamingnational, roamingintnl e <a vas Objetos 11/> para a expressão.
A imagem a seguir descreve a expressão matemática no editor de regras:
Toque em Concluído. A regra é criada no Editor de regras.
Toque em Fechar para fechar a janela do Editor de regras.
Depois que os objetos do modelo de dados forem definidos, é possível criar associações entre eles. A associação pode ser um para um ou um para muitos. Por exemplo, pode haver vários dependentes associados a um funcionário. É chamada de associação de um para muitos e representada por 1:n na linha que conecta objetos de modelo de dados associados. No entanto, se uma associação retornar um nome de funcionário exclusivo para uma determinada ID de funcionário, ela será chamada de associação de um para um.
Ao adicionar objetos de modelo de dados associados em uma fonte de dados a um modelo de dados de formulário, suas associações são retidas e exibidas como conectadas por linhas de seta.
Com base no caso de uso, crie as seguintes associações entre os objetos do modelo de dados:
Associação | Objetos do modelo de dados |
---|---|
1:n | cliente:chamadas (várias chamadas podem ser associadas a um cliente em uma lista mensal) |
1:1 | cliente:faturas (uma lista está associada a um cliente para um mês específico) |
Execute as seguintes etapas para criar associações entre objetos do modelo de dados:
Marque a caixa de seleção na parte superior do objeto de modelo de dados customer para selecioná-lo e toque em Adicionar associação. O painel de propriedades Adicionar Associação é aberto.
No painel Adicionar Associação:
Na caixa de diálogo Adicionar Argumento:
Selecione mobilenum na lista suspensa Name. A propriedade mobile number é uma propriedade comum disponível no cliente e que chama objetos de modelo de dados. Como resultado, é usado para criar uma associação entre o cliente e chamar objetos do modelo de dados.
Para cada número de celular disponível no objeto de modelo de dados do cliente, há vários registros de chamada disponíveis na tabela de chamadas .
Especifique um título e uma descrição opcionais para o argumento .
Selecione customer na lista suspensa Vínculo a.
Selecione mobilenum na lista suspensa Valor de Vínculo.
Toque em Adicionar.
A propriedade mobilenum é exibida na seção Argumentos.
Toque em Concluído para criar uma associação 1:n entre o cliente e os objetos do modelo de dados de chamadas.
Depois de criar uma associação entre o cliente e os objetos do modelo de dados de chamadas, crie uma associação 1:1 entre o cliente e os objetos do modelo de dados de contas.
Marque a caixa de seleção na parte superior do objeto de modelo de dados customer para selecioná-lo e toque em Adicionar associação. O painel de propriedades Adicionar Associação é aberto.
No painel Adicionar Associação:
Especifique um título para a associação. É um campo opcional.
Selecione One to One na lista suspensa Type.
Selecione bill na lista suspensa Model Object.
Selecione get na lista suspensa Service. A propriedade billplan, que é a chave primária para a tabela de títulos, já está disponível na seção Arguments.
Os objetos do modelo de dados de cliente e listas são vinculados usando as propriedades plano de faturamento (listas) e plano do cliente (cliente), respectivamente. Crie um vínculo entre essas propriedades para recuperar os detalhes do plano para qualquer cliente disponível no banco de dados MySQL.
Selecione customer na lista suspensa Vínculo a.
Selecione customerplan na lista suspensa Vínculo de valor.
Toque em Concluído para criar um vínculo entre as propriedades do plano de faturamento e do plano do cliente.
A imagem a seguir descreve as associações entre os objetos do modelo de dados e as propriedades usadas para criar associações entre eles:
Depois de criar associações entre o cliente e outros objetos de modelo de dados, edite as propriedades do cliente para definir a propriedade com base na qual os dados são recuperados do objeto de modelo de dados. Com base no caso de uso, o número de celular é usado como a propriedade para recuperar dados do objeto de modelo de dados do cliente.
Marque a caixa de seleção na parte superior do objeto de modelo de dados customer para selecioná-lo e toque em Editar propriedades. O painel Editar propriedades é aberto.
Especifique customer como o objeto de Modelo de Nível Superior.
Selecione get na lista suspensa Ler serviço.
Na seção Argumentos:
Selecione update na lista suspensa Write Service.
Na seção Argumentos:
Toque em Concluído para salvar as propriedades.
Marque a caixa de seleção na parte superior do objeto do modelo de dados calls para selecioná-lo e tocar em Editar propriedades. O painel Editar propriedades é aberto.
Desative o objeto Modelo de nível superior para chamadas objeto de modelo de dados.
Toque em Concluído.
Repita as etapas 8 a 10 para configurar as propriedades para o objeto de modelo de dados bill.
Vá para a guia Services.
Selecione o serviço get e toque em Editar propriedades. O painel Editar propriedades é aberto.
No painel Editar propriedades:
Selecione o serviço update e toque em Editar propriedades. O painel Editar propriedades é aberto.
No painel Editar propriedades:
É possível testar o objeto e os serviços do modelo de dados para verificar se o modelo de dados do formulário está configurado corretamente.
Faça o seguinte para executar o teste:
Vá para a guia Model, selecione o objeto de modelo de dados customer e toque em Test Model Object.
Na janela Testar Modelo de Dados de Formulário, selecione Ler objeto de modelo na lista suspensa Selecionar Modelo/Serviço.
Na seção Input, especifique um valor para a propriedade mobilenum que existe no banco de dados MySQL configurado e toque em Test.
Os detalhes do cliente associados à propriedade mobilenum especificada são buscados e exibidos na seção Saída , como mostrado abaixo. Feche a caixa de diálogo.
Vá para a guia Services.
Selecione o serviço get e toque em Testar Serviço.
Na seção Input, especifique um valor para a propriedade mobilenum que existe no banco de dados MySQL configurado e toque em Test.
Os detalhes do cliente associados à propriedade mobilenum especificada são buscados e exibidos na seção Saída , como mostrado abaixo. Feche a caixa de diálogo.
O editor de modelo de dados de formulário permite gerar dados de amostra para todas as propriedades de objetos do modelo de dados, incluindo propriedades calculadas, em um modelo de dados de formulário. É um conjunto de valores aleatórios que está em conformidade com o tipo de dados configurado para cada propriedade. Também é possível editar e salvar dados, que são retidos mesmo se os dados de amostra forem gerados novamente.
Faça o seguinte para gerar, editar e salvar dados de amostra:
Na página do modelo de dados de formulário, toque em Editar dados de amostra. Ele gera e exibe os dados de amostra na janela Editar dados de amostra .
Na janela Editar dados de amostra, edite os dados, conforme necessário, e toque em Salvar. Feche a janela .