Usando pontos de extensão para estender a funcionalidade da aplicação

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 8 min. de leitura
  • Use pontos de extensão para estender a funcionalidade de uma aplicação sem alterar o código da aplicação original. Você pode usar pontos de extensão pré-existentes disponíveis em aplicações Now Platform selecionadas ou pode adicionar pontos de extensão ao desenvolver aplicações personalizadas em sua própria instância.

    Como usar pontos de extensão

    Ao usar pontos de extensão, você pode integrar personalizações sem realmente alterar os componentes principais no código da aplicação. Os pontos de extensão podem impedir a quebra das interações de código personalizado, o que geralmente ocorre após um upgrade se você incorporar diretamente o código personalizado ao código da aplicação.

    Os pontos de extensão incorporados ao código da aplicação atuam como pontos de saída, onde os dados são passados para o código personalizado e como pontos de entrada que manipulam os resultados retornados. Ao criar uma aplicação, os dados ou objetos retornados devem estar em conformidade com os requisitos definidos para o ponto de extensão.

    Nota:
    Algumas regras de consulta do CSM configuradas prontas para uso não podem ser alteradas ou desabilitadas porque também são usadas em constantes em uma regra de negócio.

    Tipos de pontos de extensão

    Você pode criar pontos de extensão para processar o código personalizado que usa os seguintes tipos de artefatos:
    Pontos de extensão com script
    Pontos de extensão em inclusões de script do lado do servidor que armazenam funções JavaScript e classes de objeto. Para saber mais sobre inclusões de script e como implementar pontos de extensão com script na aplicação e no código personalizado, consulte:
    Pontos de extensão de IU
    Pontos de extensão que são usados em macros de IU do lado do servidor, como extensões HTML.

    Macros de IU são componentes discretos em script que você pode adicionar à interface do usuário. Você os usa para adicionar conteúdo personalizado a uma página de IU, sem precisar modificar diretamente a página. Por exemplo, você pode usar macros de IU para adicionar cabeçalhos e rodapés à página de IU padrão Base de conhecimento Exibir (kb_view) na qual os artigos da base de conhecimento aparecem.

    Para saber mais sobre macros de IU e como implementar pontos de extensão de IU na aplicação e no código personalizado, consulte:
    Pontos de extensão do cliente
    Pontos de extensão que são usados em scripts de IU do lado do cliente, normalmente para modificar formulários.

    Os scripts de IU permitem que você empacote o JavaScript do lado do cliente em um formulário reutilizável, que é semelhante ao modo como as inclusões de script armazenam o JavaScript do lado do servidor. Você pode criar scripts de IU e executá-los a partir de client scripts, de outros objetos de script do lado do cliente e do código HTML.

    Para saber mais sobre scripts de IU e como implementar pontos de extensão do cliente na aplicação e no código personalizado, consulte:

    Ao usar pontos de extensão para processar personalizações, você cria uma estrutura definida para integrar dados ou funcionalidades personalizadas em uma aplicação. Inclusões de script personalizadas do lado do servidor, macros de IU como extensões HTML e scripts de IU do lado do cliente são todos externos ao código da aplicação e só interagem com ele em pontos de extensão especificados.

    Código da aplicação

    O termo código da aplicação se refere a:
    Código da aplicação padrão
    Código da aplicação padrão, ou base, que compreende o Now Platform.
    Pontos de extensão predefinidos já estão incorporados em determinadas aplicações, como Customer Service Management e Gestão de serviços de campo. Para saber mais sobre as aplicações Now Platform que contêm pontos de extensão predefinidos, consulte o seguinte:
    Aplicação Tópico de ponto de extensão
    Coaching Solução de problemas de Coaching
    Gestão de melhoria contínua Melhoria com outras aplicações
    Customer Service Management Pontos de extensão no Customer Service Management
    Criação de funções de usuário personalizadas
    Integração de CSM com Gestão de mudanças
    Integração de CSM com Gestão de incidentes
    Integração do CSM com a Gestão de problemas
    Integração do CSM com Gestão de solicitações
    Gestão de serviços de campo Pontos de extensão na Gestão de serviços de campo
    Gestão de conhecimento Uso de pontos de extensão para a Gestão de conhecimento
    Orquestração Rede de extensão de distribuição de software cliente Instalado com a Distribuição de software cliente
    Redefinição de senha Inclusões de script da Redefinição de senha
    Aplicações personalizadas desenvolvidas internamente para sua empresa
    Você pode adicionar pontos de extensão para lidar com o registro de artefatos personalizados que são usados para modificar ou estender a funcionalidade de uma aplicação. Quando os desenvolvedores criam código personalizado, eles registram ou emparelham artefatos personalizados específicos com pontos de extensão específicos. A adição de pontos de extensão permite a integração de personalizações futuras sem a necessidade de alterar o código base.

    Como criar um ponto de extensão no código da aplicação

    Você deseja garantir que as aplicações desenvolvidas internamente que você cria para sua empresa possam ser personalizadas, combinadas e atualizadas conforme necessário. Os pontos de extensão permitem que você modifique a funcionalidade e a interface do usuário de uma aplicação sem editar seus componentes principais. O uso de pontos de extensão também cria uma estrutura altamente definida para extensões de funcionalidade.

    Ao criar um ponto de extensão, você pode restringir seu uso ao escopo da aplicação no qual ele está definido ou especificar que o ponto de extensão pode ser executado em todos os escopos globalmente. Se o escopo da aplicação for restrito, as personalizações registradas em relação ao ponto de extensão só poderão ser executadas no escopo da aplicação designado. Antes de projetar e criar uma aplicação que inclui pontos de extensão, você deve:
    • Identifique onde colocar os pontos de extensão no código da aplicação para acomodar inclusões de script personalizadas, macros de IU ou scripts de IU.
    • Determinar o conteúdo e a estrutura de um ponto de extensão. Esta definição deve descrever como uma personalização deve ser estruturada, como ela interage com o código da aplicação e como os dados retornados por uma personalização no ponto de extensão são processados.
    Para criar pontos de extensão e incorporá-los ao código da aplicação, execute as seguintes tarefas:
    1. Crie um ponto de extensão e defina sua interface personalizada. Este é um exemplo de um ponto de extensão com script.

      Exemplo de ponto de extensão com script

    2. Designe locais específicos no código da aplicação para onde os dados ou objetos podem ser enviados para uma personalização e para onde os dados são retornados.
    3. Crie um artefato, como uma inclusão de script, macro de IU ou script de IU, que chama o método GlideScriptedExtensionPoint - com escopo. Este método identifica o ponto de extensão no qual os artefatos personalizados registrados são executados no código da aplicação.

      Inclusão de script de código da aplicação base com o comando getExtensions.

    Habilitar depuração e registro em log

    Ao criar um ponto de extensão, você também deve habilitar a depuração e o registro em log. A depuração e o registro em log ajudam a identificar e corrigir problemas relacionados ao uso de artefatos personalizados com um ponto de extensão. Ao habilitar o depurador, você pode definir pontos de interrupção em inclusões de script, macros de IU ou scripts de IU. Você pode verificar os logs para ver os seguintes detalhes:

    • Quando um ponto de extensão encontra instâncias de extensão ativas, incluindo o número total de instâncias de extensão encontradas e a hora em que cada instância de extensão foi encontrada.
    • Quando um ponto de extensão executa instâncias de extensão, incluindo o número total de artefatos personalizados executados e o tempo de execução de cada um. Também inclui o número total de que falharam na execução e a hora em que cada instância de extensão falhou.
    Nota:
    Para saber mais sobre como habilitar a depuração e como ela funciona, consulte:

    Registro de um artefato personalizado em relação a um ponto de extensão

    Ao personalizar uma aplicação, você estende a funcionalidade básica usando artefatos personalizados, como inclusões de script do lado do servidor, macros de IU ou scripts de IU do lado do cliente. Para projetar e criar artefatos personalizados, execute as seguintes tarefas:

    1. Revise a lista de pontos de extensão disponíveis que são apropriados para o tipo específico de artefato personalizado que você está criando.
      • Essas listagens incluem pontos de extensão que você criou e todos os pontos de extensão predefinidos que estão incorporados nas funções Now Platform.
      • Cada listagem inclui informações sobre um ponto de extensão no código da aplicação que chama um artefato personalizado e quais dados ou objetos devem ser retornados para ele.
    2. Selecione um ponto de extensão.
    3. Determine como estruturar o artefato personalizado. A estrutura deve ser baseada nas descrições do ponto de extensão. As descrições incluem os requisitos para usar o artefato com o código personalizado e onde o artefato será localizado no código da aplicação base.
    4. Crie o artefato e o código personalizados ao registrá-los no ponto de extensão selecionado. Por meio do registro, você cria um registro de instância de extensão que vincula a definição do ponto de extensão à sua implementação no artefato personalizado.

    Como os artefatos personalizados registrados são processados

    Quando o código da aplicação é executado e encontra uma chamada de API integrada que contém um ponto de extensão, ele:
    1. Usa o ponto de extensão na chamada de API para determinar quais artefatos personalizados estão registrados em relação a ele.
    2. Envia os dados ou objetos apropriados para os artefatos personalizados registrados.
    3. Coleta a saída retornada de cada artefato personalizado.
    4. Processa e incorpora os resultados retornados na aplicação base.