Os formulários Adobe Experience Manager (AEM) podem ajudá-lo a transformar transações complexas em experiências digitais simples e deliciosas. No entanto, requer um esforço concertado para implementar, construir, executar e manter um ecossistema AEM Forms eficiente e produtivo.
Este documento fornece orientações e recomendações que podem ser beneficiadas pelo administrador, autores e desenvolvedores de formulários ao trabalhar com a AEM Forms, especialmente componentes de formulários adaptáveis. Ele discute as práticas recomendadas desde a configuração de um projeto de desenvolvimento de formulários até a configuração, personalização, criação e otimização do AEM Forms. Essas práticas recomendadas contribuem coletivamente para o desempenho geral do ecossistema AEM Forms.
Além disso, veja algumas leituras recomendadas para as práticas recomendadas gerais AEM:
Uma estrutura de projeto simplificada e normalizada pode reduzir significativamente os esforços de desenvolvimento e manutenção. O Apache Maven é uma ferramenta de código aberto recomendada para a construção de projetos AEM.
Use o Apache Maven aem-project-archetype
para criar e gerenciar a estrutura para AEM projeto. Ele cria a estrutura e os modelos recomendados para seu projeto AEM. Além disso, fornece sistemas de automação de criação e controle de alterações para ajudar a gerenciar o projeto.
archetype:generate
para gerar a estrutura inicial.eclipse:eclipse
para gerar os arquivos de projeto do eclipse e importar o projeto para o eclipse.Para obter mais informações, consulte Como criar projetos AEM usando o Apache Maven.
A ferramenta FileVault ou VLT ajuda a mapear o conteúdo de uma instância do CRX ou AEM para seu sistema de arquivos. Fornece operações de gerenciamento de controle de alterações, como check-in e check-out do conteúdo do projeto AEM. Consulte Como usar a Ferramenta VLT.
Se você usar o ambiente de desenvolvimento integrado do Eclipse, poderá usar as ferramentas do desenvolvedor AEM para a integração perfeita do Eclipse IDE com instâncias AEM para criar aplicativos AEM. Para obter detalhes, consulte AEM ferramentas do desenvolvedor para Eclipse.
Depois de configurar seu projeto AEM, defina uma estratégia para criar e personalizar os modelos e componentes de formulários adaptáveis.
Um modelo de formulário adaptável é uma página AEM especializada que define a estrutura e as informações do rodapé do cabeçalho de um formulário adaptável. Um modelo tem layouts, estilos e estrutura básica pré-configurados para um formulário adaptável. A AEM Forms fornece modelos e componentes prontos para uso que podem ser usados para criar formulários adaptáveis. No entanto, você pode criar modelos e componentes personalizados de acordo com suas necessidades. É recomendável reunir os requisitos para modelos e componentes adicionais de que você precisará em seus formulários adaptáveis. Para obter detalhes, consulte Personalizar formulários e componentes adaptáveis.
A AEM Forms permite criar formulários adaptáveis com base nos seguintes modelos de formulário. Os modelos de formulário atuam como interface para troca de dados entre um formulário e um sistema AEM e fornecem uma estrutura baseada em XML para fluxo de dados dentro e fora de um formulário adaptável. Além disso, os modelos de formulário impõem regras e restrições aos formulários adaptáveis na forma de restrições de schema e XFA.
É importante escolher cuidadosamente o modelo de dados que atende não apenas às suas necessidades, mas amplia seus investimentos existentes em ativos XFA e XSD, se houver. É recomendável usar o Modelo XSD para criar modelos de formulário, pois o XML gerado contém dados conforme o XPATH definido pelo schema. O uso do Modelo XSD como uma opção padrão para o Modelo de dados de formulário também ajuda porque ele dissocia o design de formulário do sistema back-end que processa e consome dados e melhora o desempenho do formulário devido a um mapeamento de um para um campo de formulário. Além disso, BindRef do campo pode tornar-se o XPATH de seu valor de dados em XML.
Para obter mais informações, consulte Criar um formulário adaptável.
A AEM Forms fornece modelos de formulário adaptáveis prontos para uso que podem ser usados para criar formulários adaptáveis. Você também pode criar seus próprios modelos. AEM fornece modelos estáticos e editáveis.
Para estilizar um campo ou uma instância de painel específica, use estilização em linha. Como alternativa, você pode definir uma classe em um arquivo CSS e especificar o nome da classe na propriedade Classe CSS do componente.
Inclua uma biblioteca cliente em um componente para aplicar estilos consistentemente em formulários adaptáveis ou fragmentos que usam esse componente. Para obter mais informações, consulte Criar um componente de página de formulário adaptável.
Aplique estilos definidos em uma biblioteca cliente para selecionar formulários adaptáveis especificando o caminho para a biblioteca do cliente no campo de caminho do arquivo CSS nas propriedades do container de formulário adaptável.
Para criar uma biblioteca de cliente de seus estilos, você pode configurar o arquivo CSS personalizado na clientlib base do Editor de Temas ou nas propriedades do Container de Formulário.
Formulários adaptáveis fornecem layouts de painel, como responsivos, tabulados, acordeões e assistente, para controlar como os componentes de formulário são posicionados em um painel. Você pode criar layouts de painel personalizados e disponibilizá-los para uso pelos autores de formulário. Para obter mais informações, consulte Criação de componentes de layout personalizados para formulários adaptáveis.
Você também pode personalizar componentes de formulário adaptáveis específicos, como campos e layout de painel.
Consulte Tratamento de informações de identificação pessoal para obter recomendações sobre como manipular dados de PII.
Use o navegador Objetos na barra lateral para acessar rapidamente os campos na hierarquia do formulário. Você pode usar a caixa de pesquisa para procurar objetos no formulário ou na árvore de objetos para navegar de um objeto para outro.
Para visualização e editar as propriedades de um componente no navegador de componentes na barra lateral, selecione o componente e clique em . Você também pode clicar com o duplo em um componente para visualização de suas propriedades no navegador de propriedades.
Use atalhos do teclado para executar ações rápidas em seus formulários. Consulte Atalhos de teclado do AEM Forms.
Os componentes de formulário adaptáveis são recomendados para uso somente em páginas de formulário adaptáveis. Os componentes dependem de sua hierarquia pai. Portanto, não os use em uma página AEM.
Além disso, consulte Descrições de componentes e práticas recomendadas em Introdução à criação de formulários adaptáveis.
A AEM Forms fornece um editor de regras que permite criar regras para adicionar comportamento dinâmico aos componentes de formulário adaptáveis. Usando essas regras, é possível avaliar condições e acionar ações em componentes, como mostrar ou ocultar campos, calcular valores, alterar a lista suspensa dinamicamente e assim por diante.
O editor de regras fornece um editor visual e um editor de código para escrever regras. Considere o seguinte ao gravar regras usando o modo editor de código:
Use nomes significativos e exclusivos para campos de formulário e componentes a fim de evitar possíveis conflitos ao escrever regras.
Use o operador this
para que um componente se refira a si mesmo em uma expressão de regra. Isso garante que a regra permaneça válida mesmo se o nome do componente for alterado. Por exemplo, field1.valueCommit script: this.value > 10
.
Use nomes de componentes ao fazer referência a outros componentes de formulário. Use a propriedade value
para buscar o valor de um campo ou componente. Por exemplo, field1.value
.
Consulte os componentes por hierarquia exclusiva relativa para evitar qualquer conflito. Por exemplo, parentName.fieldName
.
Ao lidar com regras complexas ou comumente usadas, considere escrever lógica comercial como funções em uma biblioteca de cliente separada que você pode especificar e reutilizar em formulários adaptáveis. A biblioteca do cliente deve ser uma biblioteca independente e não deve ter dependências externas, exceto em jQuery e Underscore.js. Você também pode usar a biblioteca do cliente para aplicar revalidação pelo lado do servidor dos dados de formulário enviados.
Os formulários adaptáveis fornecem um conjunto de APIs que você pode usar para se comunicar e executar ações em formulários adaptáveis. Algumas das principais APIs são as seguintes. Para obter mais informações, consulte Referência da API da biblioteca JavaScript para o Adaptive Forms.
guideBridge.reset()
: Redefine um formulário.
guideBridge.submit()
: Envia um formulário.
guideBridge.setFocus(somExp, focusOption, runCompletionExp)
: Define o foco para um campo.
guideBridge.validate(errorList, somExpression, focus)
: Valida um formulário.
guideBridge.getDataXML(options)
: Obtém dados de formulário como XML.
guideBridge.resolveNode(somExpression)
: Obtém um objeto de formulário.
guideBridge.setProperty(somList, propertyName, valueList)
: Define a propriedade de um objeto de formulário.
Além disso, você pode usar as seguintes propriedades de campo:
field.value
para alterar o valor de um campo.ield.enabled
para ativar/desativar um campo.field.visible
para alterar a visibilidade de um campo.Os autores de formulários adaptativos podem precisar gravar código JavaScript para criar lógica comercial em um formulário. Embora o JavaScript seja poderoso e eficaz, é provável que possa comprometer as expectativas de segurança. Portanto, é necessário garantir que o autor do formulário seja uma pessoa confiável e que haja processos para revisar e aprovar o código JavaScript antes que um formulário seja colocado em produção. O administrador pode restringir o acesso do editor de regras aos grupos de usuários com base em sua função ou função. Consulte Conceder acesso ao editor de regras para selecionar grupos de usuários.
É possível usar o expressão em regras para tornar os formulários adaptáveis dinâmicos. Todas as expressões são expressões JavaScript válidas e usam APIs de modelo de script de formulários adaptáveis. Essas expressões retornam valores de certos tipos. Para obter mais informações sobre expressões e práticas recomendadas ao seu redor, consulte Formulário adaptável expressão.
Adaptável para temas permite criar estilos reutilizáveis que podem ser aplicados em formulários para proporcionar aparência e estilo consistentes. É recomendável usar Temas para definir estilos para componentes de formulário e painéis. Algumas práticas recomendadas para temas são as seguintes:
Para obter mais informações, consulte Temas.
Os autores de formulários e usuários finais normalmente enfrentam problemas de desempenho ao carregar formulários grandes no modo de criação ou em tempo de execução. À medida que o número de objetos (campos e painéis) no formulário aumenta, a criação e o tempo de execução experimentam start degradantes. Também impede que vários autores colaborem e criem um formulário simultaneamente.
Considere as seguintes práticas recomendadas para solucionar problemas de desempenho com formulários grandes:
É recomendável criar formulários adaptáveis usando o modelo de dados de formulário XSD mesmo ao converter um XFA em um formulário adaptável, se possível.
Inclua apenas os campos e painéis em formulários adaptáveis que capturam informações do usuário. Considere manter o conteúdo estático mínimo ou use URLs para abri-los em uma janela separada.
Embora cada formulário seja projetado para uma finalidade específica, há alguns segmentos comuns na maioria dos formulários. Por exemplo, detalhes pessoais, endereço, detalhes de emprego e assim por diante. Crie fragmentos de formulário adaptáveis para elementos de formulário e seções comuns e use-os em formulários. Também é possível salvar um painel em um formulário existente como um fragmento. Qualquer alteração em um fragmento é refletida em todos os formulários adaptativos associados. Ela promove a criação colaborativa, já que vários autores podem trabalhar simultaneamente em diferentes fragmentos que compõem um formulário.
Use Salvar e Retomar com o salvamento automático para salvar o formulário adaptável periodicamente e permitir que os usuários revisitem mais tarde para preencher o formulário.
Configure os fragmentos para carregá-los de maneira fácil. No tempo de execução, o fragmento marcado para carregar com folga é renderizado somente quando necessário. Reduz significativamente o tempo de carga para formulários grandes. Também é compatível com fragmentos com painéis repetíveis. Para obter mais informações, consulte Configurar carregamento lento.
É possível pré-preencher campos de formulário adaptáveis com dados obtidos do backend para ajudar os usuários a preencher rapidamente o formulário e evitar erros de digitação.
A AEM Forms fornece um serviço de preenchimento prévio para ler dados de um arquivo XML de dados predefinido e preencher previamente os campos de um formulário adaptável com o conteúdo no arquivo XML de preenchimento prévio.
O XML de dados de preenchimento prévio deve ser compatível com o schema do modelo de formulário associado ao formulário adaptável.
Inclua as seções afBoundedData
e afUnBoundedData
no XML de pré-preenchimento para preencher os campos vinculados e não vinculados em um formulário adaptável.
Para formulários adaptáveis baseados no modelo de dados de formulário, a AEM Forms fornece serviço de preenchimento prévio do modelo de dados de formulário pronto para uso. O serviço de preenchimento prévio query fontes de dados para objetos de modelo de dados no formulário adaptável e preenche previamente os valores de campo ao renderizar o formulário.
Você também pode usar os protocolos de arquivo, crx, service ou http para preencher formulários adaptáveis.
A AEM Forms oferece suporte a serviços de preenchimento prévio personalizados que podem ser conectados como um serviço OSGi para preencher previamente formulários adaptáveis.
Para obter mais informações, consulte Preencher previamente campos de formulário adaptáveis.
Formulários adaptáveis exigem ações de envio para processar dados especificados pelo usuário. Uma ação Enviar determina a tarefa executada nos dados que você envia usando um formulário adaptável.
Você pode aproveitar a experiência de vários sinais do Adobe Sign em formulários adaptáveis. Considere o seguinte ao configurar o Adobe Sign em formulários adaptáveis. Para obter detalhes, consulte Usar o Adobe Sign em um formulário adaptável.
Um documento de registro (DoR) é uma versão em PDF achatada de um formulário adaptável que pode ser impresso, assinado ou arquivado.
Dependendo do modelo de dados de formulário no qual um formulário adaptável é baseado, é possível configurar um modelo para DoR da seguinte maneira:
Configure o cabeçalho, o rodapé, as imagens, a cor, a fonte e assim por diante, diretamente da guia Documento de registro do editor de formulário adaptável.
Use DoRService
para gerar o DoR de forma programática.
Excluir campos ocultos do DoR.
Use o parâmetro de solicitação afAcceptLang
para visualização DoR em outra localidade.
AEM Chrome Plug- in é uma extensão de navegador do Google Chrome que fornece ferramentas para depurar formulários adaptáveis. Os autores e desenvolvedores de formulários podem usar essas ferramentas para:
Para obter mais informações, consulte AEM Plug-in do Chrome - Formulário adaptável.
O Calvin SDK é uma API de utilitário para desenvolvedores do Adaptive Forms para testar o Adaptive Forms. O Calvin SDK foi criado sobre a estrutura de teste do Hobbes.js. Você pode usar a estrutura para testar o seguinte:
Para obter mais informações, consulte Automatizar o teste de formulários adaptáveis.
As validações do lado do servidor são necessárias para impedir tentativas de ignorar validações no cliente e qualquer possível comprometimento de envios de dados e violações de regras comerciais. As validações do lado do servidor são executadas no servidor carregando a biblioteca do cliente necessária.
AEM fornece workflows de tradução que podem ser usados para localizar formulários adaptáveis. Para obter informações, consulte Usar fluxo de trabalho de conversão AEM para localizar formulários adaptáveis.
Algumas práticas recomendadas ao localizar formulários adaptativos são as seguintes:
Use fragmentos de formulário adaptáveis para elementos comuns nos formulários e localize fragmentos. Ela garante que você localize um fragmento uma vez e ele se reflita em todos os formulários nos quais o fragmento localizado é usado.
Quaisquer modificações, como adicionar um novo componente ou aplicar um script em um formulário localizado, não são localizadas automaticamente. Portanto, é necessário finalizar um formulário antes de localizá-lo para evitar vários ciclos de localização.
Use o parâmetro de solicitação afAcceptLang
para substituir a localidade do navegador e renderizar o formulário na localidade especificada. Por exemplo, o URL a seguir forçará a renderização do formulário na localidade japonesa, independentemente da localidade especificada na configuração do navegador:
https://[*server*]:[*port*]/<*contextPath*>/<*formFolder*>/<*formName*>.html?wcmmode=disabled&afAcceptLang=ja
Atualmente, a AEM Forms suporta localização de conteúdo de formulários adaptáveis em inglês (en), espanhol (es), francês (fr), italiano (it), alemão (de), japonês (ja), português-brasileiro (pt-BR), chinês (zh-CN), chinês-Taiwan (zh-TW) e coreano (ko-KR). No entanto, você pode adicionar suporte para novas localidades para formulários adaptáveis em tempo de execução. Para obter mais informações, consulte Suportando novas localidades para localização de formulários adaptáveis.
Você pode configurar uma instância adicional do servidor AEM Forms que reside atrás do firewall em uma zona protegida. Você pode usar esta instância para:
Você precisa, com frequência, mover seus projetos AEM de um ambiente para outro. Algumas das coisas principais a serem lembradas ao se mover são as seguintes:
Algumas práticas recomendadas para configurar AEM para melhorar o desempenho geral são as seguintes:
Ative a compactação da biblioteca do cliente HTML para JavaScript e CSS do console do Felix. Consulte Clientlibs explicado por exemplo.
Armazene em cache todas as bibliotecas de clientes em /etc.clientlibs/fd
e quaisquer bibliotecas de clientes personalizadas adicionais no AEM dispatcher para aumentar a capacidade de resposta e a segurança dos formulários publicados. Para obter mais informações, consulte Dispatcher.
Não armazene em cache os caminhos /content/forms/af/
e /content/dam/formsanddocuments/*
. para obter informações detalhadas sobre como configurar o cache de formulários adaptáveis, consulte Armazenando formulários adaptáveis em cache.
Habilitar HTML por meio do módulo de compactação do servidor da Web. Para obter mais informações, consulte Ajuste de desempenho do servidor AEM Forms.
Aumente a configuração de chamadas por solicitação para formulários grandes. Consulte Otimizando o desempenho de formulários grandes e complexos.
Crie páginas de erro personalizadas mostradas pelo manipulador de erros.
Servidor AEM Forms seguro.
nosamplecontent
para garantir que não haja nenhum conteúdo de amostra e usuários de amostra implantados no servidor de produção. Consulte Execução de AEM no modo de produção pronto.Mantenha o tamanho do heap com no mínimo 8 GB. Para outras configurações, consulte Ajuste de desempenho do servidor AEM Forms.
Use sessões de usuário de serviço em vez de sessões administrativas para executar tarefas de nível de serviço. Para obter mais informações, consulte Autenticação do serviço.
Em um ambiente de produção, é recomendável não armazenar dados de formulário enviados AEM repositório. A implementação padrão das ações de envio para Forms Portal Store, Store Content e Store PDF armazena dados de formulário AEM repositório. Estas ações apresentadas destinam-se apenas a fins de demonstração. Além disso, os recursos Salvar e Retomar e Salvar automaticamente usam o armazenamento do portal por padrão. Portanto, considere as seguintes recomendações:
Armazenamento de dados de rascunho: Se você estiver usando o recurso Rascunho de formulários adaptáveis, deverá implementar uma SPI (Service Provider Interface) personalizada para armazenar dados de rascunho em um banco de dados como um armazenamento mais seguro. Para obter mais informações, consulte Amostra para integrar o componente de rascunhos e envios ao banco de dados.
Armazenamento de dados de envio: Se você estiver usando o repositório de envio do portal de formulários, deverá implementar um SPI personalizado para armazenar dados de envio em um banco de dados. Consulte Amostra para integrar o componente de rascunhos e envios ao banco de dados para obter uma amostra da integração.
Você também pode gravar uma ação de envio personalizada que armazena dados e anexos de formulário em um armazenamento seguro. Consulte Escrevendo ação de envio personalizado para formulários adaptáveis para obter mais informações.
Um dos principais desafios para as organizações é como lidar com dados de identificação pessoal (PII). Algumas práticas recomendadas que ajudarão você a lidar com esses dados são as seguintes: