Show Menu
TÓPICOS×

Melhore o desempenho de formulários grandes com carregamento lento

Introdução ao carregamento lento

Quando o formulário se torna grande e complexo com centenas e milhares de campos, os usuários finais experimentam um longo tempo de resposta ao renderizar formulários em tempo de execução. Para minimizar o tempo de resposta, os formulários adaptáveis permitem que você quebre formulários em fragmentos lógicos e configure para adiar a inicialização ou o carregamento dos fragmentos até que o fragmento precise estar visível. É chamado de carregamento lento. Além disso, os fragmentos configurados para carregamento lento são descarregados depois que o usuário navega para outras seções no formulário e os fragmentos não ficam mais visíveis.
Primeiro, vamos entender os requisitos e as etapas preparatórias antes de configurar o carregamento lento.

Preparação para configurar o carregamento lento

Antes de configurar o carregamento lento de fragmentos em seu formulário adaptável, é importante definir estratégias para criar fragmentos, identificar valores que são usados em scripts ou referenciados em outros fragmentos e definir regras para controlar a visibilidade dos campos em fragmentos carregados preguiçosamente.
  • Identificar e criar fragmentos Você pode configurar somente fragmentos de formulário adaptáveis para carregamento lento. Um fragmento é um segmento independente que reside fora de um formulário adaptável e pode ser reutilizado em formulários. Portanto, o primeiro passo para implementar o carregamento lento é identificar seções lógicas em um formulário e convertê-las em fragmentos. É possível criar um fragmento do zero ou salvar um painel de formulário existente como fragmento.
    Para obter mais informações sobre como criar fragmentos, consulte Fragmentos de formulário adaptáveis.
  • Identificar e marcar valores globais As transações baseadas em formulários envolvem elementos dinâmicos para capturar dados relevantes dos usuários e processá-los para simplificar a experiência de preenchimento de formulários. Por exemplo, seu formulário tem o campo A no fragmento X cujo valor determina a validade do campo B em outro fragmento. Nesse caso, se o fragmento X estiver marcado para carregamento lento, o valor do campo A deve estar disponível para validar o campo B mesmo quando o fragmento X não estiver carregado. Para isso, é possível marcar o campo A como global, garantindo que seu valor esteja disponível para a validação do campo B quando o fragmento X não for carregado.
    Para obter informações sobre como tornar um valor de campo global, consulte Configuração de carregamento lento.
  • As regras de gravação para controlar a visibilidade de campos O Forms incluem alguns campos e seções que não se aplicam a todos os usuários e em todas as condições. Os autores e desenvolvedores de formulários usam regras de visibilidade ou mostrar para controlar sua visibilidade com base em entradas do usuário. Por exemplo, o campo Endereço do escritório não é exibido para os usuários que escolhem Não empregado no campo Status do Emprego em um formulário. Para obter mais informações sobre como escrever regras, consulte Uso do editor de regras.
    É possível aproveitar as regras de visibilidade nos fragmentos carregados com preguiça para que os campos condicionais sejam exibidos somente quando forem necessários. Além disso, marque o campo condicional como global para referenciá-lo na expressão de visibilidade do fragmento carregado com preguiça.

Configurando carregamento lento

Execute as seguintes etapas para ativar o carregamento lento em um fragmento de formulário adaptável:
  1. Abra o formulário adaptável no modo de criação que contém o fragmento que deseja ativar para carregamento lento.
  2. Selecione o fragmento de formulário adaptável e toque em .
  3. Na barra lateral, ative Carregar fragmento preguiçosamente e toque em Concluído .
    O fragmento agora está habilitado para carregamento lento.
É possível marcar os valores de objetos no fragmento carregado com preguiça como globais para que eles estejam disponíveis para uso em scripts quando o fragmento contido não for carregado. Faça o seguinte:
  1. Abra o fragmento de formulário adaptável no modo de criação.
  2. Toque no campo cujo valor você deseja marcar como global e toque em .
  3. Na barra lateral, ative Usar valor durante o carregamento ​lento.
    O valor agora é marcado como global e estará disponível para uso em scripts mesmo quando o fragmento contido for descarregado.

Considerações e práticas recomendadas para configurar o carregamento lento

Algumas limitações, recomendações e pontos importantes a serem considerados ao trabalhar com carregamento lento são os seguintes:
  • É recomendável usar formulários adaptativos baseados em esquema XSD em formulários adaptáveis baseados em XFA para configurar o carregamento lento em formulários grandes. O ganho de desempenho devido à implementação de carregamento lento em formulários adaptativos baseados em XFA é relativamente menor do que o ganho em formulários adaptativos baseados em XSD.
  • Não configure o carregamento lento em fragmentos em um layout de grade responsivo. Pode resultar em desempenho degradado.
  • É recomendável não configurar o carregamento lento em fragmentos no primeiro painel que é renderizado ao carregar o formulário adaptável.
  • O carregamento lento é compatível com até dois níveis na hierarquia do fragmento.
  • Certifique-se de que os campos marcados como globais sejam exclusivos em um formulário adaptável.
  • Considere gravar regras de visibilidade para fragmentos que devem ser exibidos ou ocultados com base em uma condição. Por exemplo, você pode mostrar ou ocultar o fragmento Detalhes do Cônjuge com base no status civil especificado por um usuário.
  • Os componentes de anexo de arquivo e Termos e condições não são suportados em fragmentos carregados de forma preguiçosa.

Práticas recomendadas de script para configurar o carregamento lento

Os pontos importantes a serem lembrados ao desenvolver scripts para painéis de carregamento lento são os seguintes:
  • Certifique-se de que os scripts de inicialização e cálculo usados nos campos de um fragmento carregado lento estejam desnecessários na natureza. Scripts despotentes são aqueles que têm o mesmo efeito mesmo após várias execuções.
  • Use a propriedade de campos globalmente disponível para disponibilizar o valor dos campos localizados em um painel de carregamento lento para todos os outros painéis de um formulário.
  • Não encaminhe o valor de referência de um campo dentro de um painel lento, independentemente do campo estar marcado globalmente em fragmentos ou não.
  • Use o recurso de redefinição de painel para redefinir tudo o que está visível no painel usando a seguinte expressão de clique.
    guideBridge.resolveNode(guideBridge.getFocus({"focusOption"): "navigablePanel"}).resetData()