Catálogo de Serviços no GLPI 11: Do Conceito à Prática

No GLPI 11 o catálogo de serviços é nativo e tem página própria (/ServiceCatalog). Guia técnico para montar um serviço de ponta a ponta com formulário, controle de acesso e destino: a armadilha de visibilidade que faz o catálogo sumir, a matriz de decisão por cenário e a consulta de poda por usage_count que a NexTool roda na sustentação.

No GLPI 11 o catálogo de serviços deixou de ser um plugin e virou parte do núcleo - mas o que derruba a maioria das implantações não é falta de recurso, e sim um formulário publicado que nenhum usuário consegue ver. Na sustentação de ambientes GLPI de clientes, esse é o primeiro sintoma que aparece: "o catálogo está vazio" quando, no banco, os formulários existem e estão ativos. Este guia mostra como montar um serviço de ponta a ponta com os recursos nativos e como diagnosticar as armadilhas antes que o usuário reclame.

No GLPI 11 o catálogo é nativo - e tem endereço próprio

Até o GLPI 10, catálogo de serviços era sinônimo de FormCreator. No GLPI 11 os formulários entraram no núcleo e, junto, veio um Catálogo de Serviços de verdade: uma página self-service, servida pela rota /ServiceCatalog, onde o usuário navega pelos serviços organizados por categoria e abre o formulário certo. Os formulários vivem em Administração > Formulários e cada serviço do catálogo é um formulário com quatro peças que precisam estar alinhadas:

  • Formulário (glpi_forms_forms): o serviço em si, com nome, descrição e categoria.
  • Perguntas (glpi_forms_questions): os campos que o usuário preenche, com obrigatoriedade e condições.
  • Controle de acesso (glpi_forms_accesscontrols_formaccesscontrols): quem enxerga o serviço no catálogo.
  • Destino (glpi_forms_destinations_formdestinations): o que é criado no envio - um chamado, uma mudança ou um problema.

Montando um serviço de ponta a ponta

A ordem importa. Pular a aba de Controle de acesso é o erro que mais gera retrabalho. Para cada serviço:

  1. Crie o formulário e associe a uma categoria enxuta (no máximo dois níveis; glpi_forms_categories é uma árvore, e árvore funda vira labirinto).
  2. Adicione as perguntas só do que você realmente vai usar no atendimento. Campo bonito que ninguém lê no chamado é atrito para o usuário.
  3. Configure o Controle de acesso: a estratégia AllowList restringe o serviço a perfis, grupos ou usuários; a DirectAccess gera um link direto (útil para fornecedor externo). Sem uma política de acesso ativa, o formulário não aparece no catálogo.
  4. Defina o Destino: o itemtype FormDestinationTicket cria um chamado; existem também FormDestinationChange e FormDestinationProblem. No destino você mapeia a categoria ITIL, o grupo responsável e o requerente do item gerado.
  5. Ative o formulário (is_active) e teste com um usuário self-service real, não com sua conta de administrador.

A armadilha que faz o catálogo "sumir"

Na sustentação, o chamado recorrente é "publiquei o serviço e o usuário não vê". Na quase totalidade dos casos a causa é a mesma: o formulário está com is_active = 1, mas não tem nenhuma política de Controle de acesso ativa. O GLPI 11 trata visibilidade e publicação como coisas separadas - publicar não basta, é preciso ter pelo menos uma AllowList ou DirectAccess ativa. E o GLPI não emite aviso: para o técnico o formulário está "no ar", para o usuário o catálogo está vazio. Esta é a primeira consulta que rodamos num onboarding de sustentação, antes de discutir taxonomia:

-- Formularios PUBLICADOS que nao aparecem no catalogo self-service:
-- estao ativos (is_active=1) mas sem NENHUMA politica de acesso ativa.
-- Existem, contam no total e sao invisiveis para o usuario final.
SELECT f.id, f.name, f.usage_count
FROM glpi_forms_forms f
LEFT JOIN glpi_forms_accesscontrols_formaccesscontrols ac
       ON ac.forms_forms_id = f.id
      AND ac.is_active = 1
WHERE f.is_active  = 1
  AND f.is_deleted = 0
  AND f.is_draft   = 0
  AND ac.id IS NULL
ORDER BY f.usage_count DESC;

Um detalhe que só morde quem migrou de verdade: ao trazer formulários do FormCreator para o núcleo do GLPI 11, a visibilidade por perfil do FormCreator não vira automaticamente uma AllowList. O formulário chega ativo, porém sem política de acesso - ou seja, invisível. Já auditamos catálogos recém-migrados com dezenas de serviços nesse limbo, e o cliente jurava que "a migração perdeu os formulários". Não perdeu: eles estavam lá, apenas sem ninguém que pudesse vê-los.

Visão do cliente x visão técnica: onde cada uma mora

O catálogo tem duas camadas e, no GLPI 11, elas ficam em lugares diferentes do formulário:

  • Visão do cliente vive na aba Catálogo de serviços (título, descrição amigável, categoria, ilustração) e no Controle de acesso (quem vê). É o que aparece em /ServiceCatalog.
  • Visão técnica vive no Destino: categoria ITIL, grupo técnico e requerente do chamado gerado. O SLA não mora no formulário - ele é aplicado sobre o chamado criado, por regra de negócio ou pela categoria ITIL, seguindo a configuração de SLA/OLA.

O erro comum aqui é tentar "colocar o SLA no formulário". Esse campo não existe: o formulário só cria o item; quem carrega prazo é o chamado. A matriz que usamos para decidir a configuração de cada serviço:

Serviço no catálogoControle de acessoDestino (itemtype)De onde vem o SLA
Solicitar acesso VPN (self-service)AllowList: perfil Self-ServiceFormDestinationTicket + categoria "Acessos"Regra de negócio sobre a categoria
Abrir requisição de mudança (só técnicos)AllowList: perfil TécnicoFormDestinationChangeFluxo de mudança, não SLA de chamado
Formulário para fornecedor externoDirectAccess (link/token)FormDestinationTicket + entidade do fornecedorRegra por entidade
Serviço em construçãoNenhuma ativa-Invisível - por intenção, nunca por esquecimento

Meça pelo uso, não pelo tamanho

Catálogo bom não é catálogo grande. Cada formulário do GLPI 11 tem um contador nativo de uso (usage_count), incrementado a cada envio - use-o para priorizar e podar. Serviço que ninguém aciona há meses só engorda o menu e afunda os que importam. A consulta de poda que roda no nosso ciclo trimestral de revisão:

-- Candidatos a poda: publicados ha mais de 90 dias e nunca usados.
-- Menu enxuto faz o usuario achar o servico certo mais rapido.
SELECT id, name, usage_count, date_creation
FROM glpi_forms_forms
WHERE is_active  = 1
  AND is_deleted = 0
  AND usage_count = 0
  AND date_creation < (NOW() - INTERVAL 90 DAY)
ORDER BY date_creation;

Comece pelos dez serviços mais pedidos, use nomes que o usuário entenda ("Solicitar notebook", não "Provisionamento de ativo") e revise o catálogo a cada trimestre com o usage_count na mão. É assim que o catálogo deixa de ser vitrine parada e vira a porta de entrada real do service desk - o próximo passo natural é conectar cada serviço à gestão de incidentes para o que foge do fluxo padrão.

Precisa estruturar (ou resgatar) um catálogo de serviços no GLPI 11 com a visibilidade sob controle e os destinos mapeados ao seu fluxo? Conheça os projetos de implantação da NexTool.


Revisado pela equipe NexTool Solutions.

Perguntas Frequentes

Sim. Os formulários entraram no núcleo e existe uma página self-service dedicada, servida pela rota /ServiceCatalog. Cada serviço do catálogo é um formulário nativo, sem depender do FormCreator.

Quase sempre falta uma política de Controle de acesso ativa. No GLPI 11, publicar (is_active) e tornar visível são coisas separadas: sem uma AllowList ou DirectAccess ativa, o formulário não aparece no catálogo. Rode a consulta de formulários sem acesso ativo para achar todos de uma vez.

AllowList restringe o serviço a perfis, grupos ou usuários autenticados (self-service interno). DirectAccess gera um link direto, útil para quem está fora do GLPI, como um fornecedor externo, opcionalmente protegido por token.

Não. O formulário cria um chamado (ou mudança, ou problema) e o SLA é aplicado sobre esse item, pela categoria ITIL ou por regra de negócio. Mapeie a categoria correta no Destino e deixe o SLA na camada do chamado.

Sim. Os destinos nativos são FormDestinationTicket, FormDestinationChange e FormDestinationProblem, e um mesmo formulário pode ter mais de um destino, inclusive condicional - por exemplo, criar sempre um chamado e, em certas respostas, também uma mudança.

Não. A visibilidade por perfil do FormCreator não vira automaticamente uma AllowList no GLPI 11. Os formulários chegam ativos, mas sem política de acesso, ou seja, invisíveis. Basta adicionar uma AllowList ativa a cada um.

Precisa de ajuda?