Melhorando a Experiência do Usuário com UI Policies Inteligentes no ServiceNow

laptop, macbook, codes, coding, programming, css, computer, technology, work, computer programming, coding, coding, coding, coding, coding, programming, programming, programming, programming, computer, computer

No desenvolvimento de formulários e interfaces no ServiceNow, a usabilidade é um fator determinante para a adoção da solução pelos usuários finais. Muitas vezes, o sucesso de uma aplicação não está apenas na lógica de negócio, mas na forma como os usuários interagem com os dados.

É nesse contexto que as UI Policies se destacam como uma ferramenta fundamental. Elas permitem que o desenvolvedor controle dinamicamente o comportamento de campos no formulário, sem necessidade de scripts complexos, contribuindo para uma interface mais limpa, intuitiva e eficiente.

Este artigo apresenta como utilizar UI Policies de maneira estratégica para aprimorar a experiência do usuário, com foco em clareza, performance e manutenção.


O que são UI Policies?

UI Policies são regras configuráveis que permitem modificar dinamicamente a visibilidade, obrigatoriedade e edição de campos em formulários, com base em condições pré-definidas.

Elas atuam exclusivamente no lado do cliente (navegador) e são processadas assim que o formulário é carregado ou quando determinados campos são alterados.


Por que usar UI Policies ao invés de scripts?

Apesar de ser possível controlar o comportamento de campos via g_form.setVisible(), setMandatory() e setReadOnly() com Client Scripts, o uso de UI Policies apresenta vantagens importantes:

  • Desempenho superior, já que são otimizadas pela plataforma.
  • Facilidade de manutenção, pois evitam códigos JavaScript desnecessários.
  • Configuração declarativa, sem a necessidade de desenvolvimento.
  • Maior clareza na lógica de apresentação do formulário.

Sempre que a lógica envolver ações visuais ou de comportamento direto de campo, a UI Policy deve ser considerada antes de recorrer a Client Scripts.


Exemplos de uso inteligente de UI Policies

1. Exibir campo adicional com base em uma seleção

Cenário: Exibir o campo “Justificativa” apenas quando o campo “Status” for igual a “Rejeitado”.

Configuração da UI Policy:

  • Table: x_custom_app_requisicao
  • Condition: status == rejeitado
  • UI Policy Action:
    • Field: justificativa
    • Visible: true
    • Mandatory: true

Isso evita a exposição desnecessária do campo, reduz ruído visual e obriga o preenchimento apenas quando relevante.


2. Tornar campo somente leitura com base em função ou estado

Cenário: Impedir que usuários alterem o campo “Valor Aprovado” se o status da solicitação for “Finalizado”.

Configuração da UI Policy:

  • Condition: status == finalizado
  • UI Policy Action:
    • Field: valor_aprovado
    • Read Only: true

Essa abordagem é mais simples, mais performática e mais transparente que usar Client Scripts para bloquear campos.


3. Combinar múltiplas UI Policies para modularidade

Evite criar UI Policies grandes e complexas. Prefira criar políticas específicas para cada caso, tornando a lógica mais compreensível e reutilizável.

Exemplo:

  • Uma UI Policy para obrigatoriedade de um campo
  • Outra para visibilidade
  • Uma terceira para controle de edição

Cada uma com condições claras e independentes, favorecendo manutenção e teste.


Dicas de boas práticas

  • Evite excesso de UI Policies que se sobrepõem. Isso pode gerar comportamentos conflitantes e difíceis de depurar.
  • Nomeie suas UI Policies e UI Actions claramente, indicando o objetivo e o campo-alvo.
  • Use condições diretas, sem depender de valores derivados de scripts.
  • Sempre teste o formulário com diferentes perfis de usuário e cenários, validando se as ações previstas estão sendo aplicadas corretamente.
  • Prefira UI Policies ao máximo para lógica visual. Scripts devem ser a exceção, não a regra.

Quando não usar UI Policies

Apesar de suas vantagens, UI Policies têm limitações:

  • Não controlam lógica de submissão do formulário (use Client Scripts onSubmit para isso).
  • Não acessam registros relacionados nem realizam chamadas assíncronas.
  • Não funcionam em widgets do Service Portal sem adaptação.

Nesses casos, será necessário usar Client Scripts, GlideAjax ou Widgets personalizados.


Conclusão

UI Policies são uma das ferramentas mais eficazes para criar formulários mais simples, objetivos e responsivos. Quando utilizadas de forma inteligente, elas aumentam a produtividade dos usuários, reduzem erros de preenchimento e facilitam a manutenção do sistema.

Incorporar UI Policies no design de formulários é mais do que uma escolha técnica; é um compromisso com a qualidade da experiência do usuário na plataforma ServiceNow.

No responses yet

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *