FormCreator vs Formulários Nativos do GLPI 11: Quando Usar Cada Um

FormCreator saiu do GLPI 11: os formulários viraram módulo do core. Comparativo entre o plugin (GLPI 9/10) e os formulários nativos, veredito por cenário e como migrar do FormCreator com a ferramenta oficial - sem quebrar o catálogo de serviços.

O FormCreator foi, por anos, o plugin mais instalado do GLPI - e no GLPI 11 ele deixa de existir como plugin. A pergunta parou de ser "qual é melhor" e virou operacional: em que versão você está e como leva os formulários que já rodam em produção para o novo módulo nativo sem quebrar o catálogo de serviços.

O que mudou do GLPI 10 para o GLPI 11

No GLPI 9 e 10, formulário customizado é sinônimo de FormCreator: um plugin da comunidade (mantido pela Teclib) que entrega catálogo de serviços, campos condicionais, seções e geração automática de chamado a partir da resposta. A última linha standalone é a 2.13.x - dela em diante o desenvolvimento do plugin parou.

No GLPI 11, essa funcionalidade virou módulo do core: o menu de Formulários, com editor visual, seções, perguntas condicionais e destinations (o que o formulário gera - chamado ou mudança). O FormCreator standalone não roda no 11. No lugar dele existe apenas um plugin de transição, o Formcreator Migration Tool (linha 3.0.x), cuja única função é levar os formulários antigos para o módulo nativo e então declarar o FormCreator em fim de vida (EOL).

Comparativo direto

CritérioFormCreator (GLPI 9/10)Formulários nativos (GLPI 11)
NaturezaPlugin da comunidade (Teclib)Módulo do core, sem plugin
CompatibilidadeGLPI 9 e 10 (linha 2.13.x)GLPI 11+
Editor visualSeções, perguntas e condiçõesEditor com seções e condições nativas
Campos condicionaisSim, por pergunta e por seçãoSim, condições nativas
Geração de chamado"Target" (chamado, mudança, problema)"Destinations" (chamado, mudança)
Onde grava as definiçõesTabelas glpi_plugin_formcreator_*Tabelas glpi_forms_*
Onde grava as respostasTabelas do próprio pluginConjunto de respostas (answers set) no core
Export/import entre ambientesLimitado ao próprio pluginNativo, em JSON, com reconciliação de dependências
Futuro / manutençãoCongelado (EOL após a migração)Mantido pela Teclib no core
Migração 10 para 11Origem (Migration Tool 3.0.x)Destino oficial da migração
CustoGratuito (GPL)Incluído no core

A migração não é um botão mágico

Existe, sim, migração oficial - e isso derruba o mito de que "tem que recriar tudo à mão". O caminho é assistido: atualize o FormCreator para 2.13.10 ou superior ainda no GLPI 10, suba o GLPI 11 com o Migration Tool, confira o volume em Ferramentas > Formcreator EOL Info e rode a migração pela linha de comando.

# 1) Ainda no GLPI 10: atualize o FormCreator para a versao 2.13.10 ou superior.
# 2) Suba o GLPI 11 e instale o "Formcreator Migration Tool" (plugin 3.0.x).
# 3) Confira o volume a migrar no menu Ferramentas, item Formcreator EOL Info.
# 4) Rode a migracao pela CLI, como o usuario do servidor web
#    (Debian/Ubuntu usa www-data; RHEL/CentOS usa apache):
sudo -u www-data php bin/console migration:formcreator_plugin_to_core

# Ordem correta quando ha varios plugins legados no mesmo ambiente:
# Generic Objects, depois Fields e por ultimo o FormCreator.

Antes de rodar qualquer coisa, dimensione o trabalho. Um inventário rápido no banco diz quantos formulários, perguntas e alvos você vai ter de conferir depois - e quais são os mais pesados:

-- Inventario ANTES de migrar: rode no banco do GLPI (10, ou 11 com o
-- Migration Tool instalado) para dimensionar a conferencia pos-migracao.
SELECT
  (SELECT COUNT(*) FROM glpi_plugin_formcreator_forms WHERE is_deleted = 0) AS formularios,
  (SELECT COUNT(*) FROM glpi_plugin_formcreator_sections)                   AS secoes,
  (SELECT COUNT(*) FROM glpi_plugin_formcreator_questions)                  AS perguntas,
  (SELECT COUNT(*) FROM glpi_plugin_formcreator_targettickets)              AS alvos_de_chamado;

-- Os formularios com mais perguntas sao os que mais exigem conferencia
SELECT f.name AS formulario, COUNT(q.id) AS perguntas
FROM glpi_plugin_formcreator_forms f
LEFT JOIN glpi_plugin_formcreator_sections s
  ON s.plugin_formcreator_forms_id = f.id
LEFT JOIN glpi_plugin_formcreator_questions q
  ON q.plugin_formcreator_sections_id = s.id
WHERE f.is_deleted = 0
GROUP BY f.id, f.name
ORDER BY perguntas DESC;

O que a ferramenta migra bem são estrutura e conteúdo: seções, perguntas e tipos de campo. Onde ela pede conferência humana é na lógica de roteamento - o FormCreator usava o "target ticket" para definir categoria, template, grupo e atores do chamado gerado; no nativo isso vira destinations, e a importação sinaliza as dependências que faltam no destino (entidade, categoria) para você mapear antes de concluir.

O trade-off que aparece na sustentação

Na sustentação de parques GLPI para clientes, o erro que mais vemos não é técnico, é de expectativa: alguém roda o comando de migração, os formulários aparecem no menu novo e o time considera a tarefa encerrada. Não está. O que migra é a casca; o miolo - qual chamado é aberto, em que categoria, para qual grupo, com qual template - é justamente o que exige revisão. Por isso migramos sempre para homologação primeiro, submetemos um chamado de teste por formulário e comparamos o roteamento com o comportamento do FormCreator antigo, campo a campo.

Dois detalhes pegam quem faz de primeira. Primeiro: as tabelas glpi_plugin_formcreator_* continuam no banco depois da migração - nada é apagado, elas viram fonte de leitura/EOL e não desaparecem, então "sumiu tudo" costuma ser só o menu que mudou de lugar. Segundo: os formulários nativos ganham IDs (e UUIDs) novos, então qualquer link direto, favorito do portal ou atalho de self-service que apontava para um formulário do FormCreator para de funcionar e precisa ser reapontado. E há o pré-requisito silencioso: se o FormCreator estiver numa versão anterior à 2.13.10, o Migration Tool simplesmente não enxerga os formulários - atualizar antes de tudo é o que evita a migração "vazia".

Veredito por cenário

Fique no FormCreator quando o ambiente é GLPI 9 ou 10 e não há migração para o 11 no horizonte próximo. Nessas versões ele é a opção madura e sem substituto para catálogo de serviços e formulários customizados. Recomendação prática: mantenha-o em 2.13.10 ou superior mesmo sem migrar agora - é o que deixa a porta da migração aberta quando o 11 chegar.

Use os formulários nativos quando você está no GLPI 11 (ou vai migrar). Aqui não há decisão a tomar: o FormCreator standalone não roda no 11, e o módulo nativo é o caminho - sem plugin para gerir no upgrade, com export/import de formulários entre ambientes em JSON (algo que o FormCreator nunca fez nativamente) e reconciliação de dependências no destino.

Migrando de 10 para 11, use a ferramenta oficial, mas trate como projeto e não como comando: inventarie os formulários, dimensione a conferência pela quantidade de perguntas e condições, migre para homologação, valide o roteamento de cada formulário e só então promova. Havendo vários plugins legados, respeite a ordem que a própria documentação indica: Generic Objects, depois Fields, depois FormCreator.

Custo e esforço

Licença não é o eixo da decisão: FormCreator e formulários nativos são gratuitos, e no 11 o nativo já vem no core. O custo real é o da migração e da conferência. A parte automática - rodar o bin/console - leva de minutos a algumas dezenas de minutos conforme o volume. A parte que consome tempo de gente é validar roteamento e recriar a lógica de destino que não veio 1:1. Como faixa honesta: para poucos formulários simples, a migração inteira cabe numa tarde; para dezenas de formulários com muitas condições, atores e templates, planeje dias de conferência em homologação antes de liberar em produção.

Na NexTool implantamos e sustentamos GLPI em clientes nas duas gerações e conduzimos a migração do FormCreator para os formulários nativos sem derrubar o catálogo de serviços. Se você vai sair do GLPI 10 e não quer descobrir na produção o que a migração não trouxe, nossos projetos de implantação e migração cobrem esse caminho de ponta a ponta.


Revisado pela equipe NexTool Solutions.

Perguntas Frequentes

Não como plugin de criação. O FormCreator standalone (linha 2.13.x) é do GLPI 9 e 10; no GLPI 11 a funcionalidade virou módulo do core (Formulários). O que existe para o 11 é apenas o Formcreator Migration Tool (linha 3.0.x), um plugin de transição cuja única função é migrar os formulários antigos para o nativo e depois entrar em fim de vida (EOL).

Sim, e é oficial. Atualize o FormCreator para 2.13.10 ou superior ainda no GLPI 10, suba o GLPI 11, instale o Migration Tool 3.0.x, confira o volume em Ferramentas > Formcreator EOL Info e rode 'php bin/console migration:formcreator_plugin_to_core' como o usuário do servidor web. Trate como projeto, não como comando: estrutura e perguntas migram bem, mas a lógica de roteamento (categoria, template, grupo, atores) precisa de conferência.

Cobrem o essencial e ganham coisas que o FormCreator não tinha nativamente, como export/import de formulários entre ambientes em JSON com reconciliação de dependências. Campos condicionais, seções e geração de chamado estão presentes. Casos avançados de roteamento e algumas particularidades do FormCreator podem exigir remodelagem manual no destino.

Sim. No GLPI 9 e 10 ele continua sendo a opção madura e sem substituto para catálogo de serviços e formulários customizados. A recomendação prática é mantê-lo em 2.13.10 ou superior mesmo sem planos imediatos de migrar - é essa versão que deixa o caminho de migração para o 11 aberto.

Não. As tabelas glpi_plugin_formcreator_* permanecem no banco após a migração; elas passam a fonte de leitura/EOL, não somem. Além disso, os formulários nativos recebem IDs novos, então links diretos, favoritos e atalhos de self-service que apontavam para formulários do FormCreator precisam ser reapontados para as novas URLs.

Precisa de ajuda?