FormCreator vs moduli nativi di GLPI 11: quando usare ciascuno

FormCreator scompare in GLPI 11: i moduli sono diventati un modulo del core. Confronto tra il plugin (GLPI 9/10) e i moduli nativi, verdetto per scenario e come migrare da FormCreator con lo strumento ufficiale - senza rompere il catalogo dei servizi.

FormCreator è stato, per anni, il plugin più installato di GLPI - e in GLPI 11 smette di esistere come plugin. La domanda non è più "quale è meglio", ma una operativa: su quale versione è e come porta i moduli già in produzione al nuovo modulo nativo senza rompere il catalogo dei servizi.

Cosa è cambiato da GLPI 10 a GLPI 11

Su GLPI 9 e 10, modulo personalizzato è sinonimo di FormCreator: un plugin della comunità (mantenuto da Teclib) che offre catalogo dei servizi, campi condizionali, sezioni e generazione automatica del ticket a partire dalle risposte. L'ultima linea standalone è la 2.13.x - da lì in poi lo sviluppo del plugin si è fermato.

Su GLPI 11 quella funzionalità è diventata un modulo del core: il menu Moduli, con editor visuale, sezioni, domande condizionali e destinations (ciò che il modulo genera - ticket o modifica). FormCreator standalone non funziona su 11. Al suo posto esiste solo un plugin di transizione, il Formcreator Migration Tool (linea 3.0.x), la cui unica funzione è portare i vecchi moduli al modulo nativo e poi dichiarare FormCreator a fine vita (EOL).

Confronto diretto

CriterioFormCreator (GLPI 9/10)Moduli nativi (GLPI 11)
NaturaPlugin della comunità (Teclib)Modulo del core, senza plugin
CompatibilitàGLPI 9 e 10 (linea 2.13.x)GLPI 11+
Editor visualeSezioni, domande e condizioniEditor con sezioni e condizioni native
Campi condizionaliSì, per domanda e per sezioneSì, condizioni native
Generazione del ticket"Target" (ticket, modifica, problema)"Destinations" (ticket, modifica)
Dove salva le definizioniTabelle glpi_plugin_formcreator_*Tabelle glpi_forms_*
Dove salva le risposteTabelle del plugin stessoInsieme di risposte (answers set) nel core
Export/import tra ambientiLimitato al plugin stessoNativo, in JSON, con riconciliazione delle dipendenze
Futuro / manutenzioneCongelato (EOL dopo la migrazione)Mantenuto da Teclib nel core
Migrazione 10 a 11Origine (Migration Tool 3.0.x)Destinazione ufficiale della migrazione
CostoGratuito (GPL)Incluso nel core

La migrazione non è un pulsante magico

Esiste, sì, una migrazione ufficiale - e questo smonta il mito che "bisogna ricreare tutto a mano". Il percorso è assistito: aggiorni FormCreator a 2.13.10 o superiore ancora su GLPI 10, avvii GLPI 11 con il Migration Tool, verifichi il volume in Strumenti > Formcreator EOL Info ed esegua la migrazione da riga di comando.

# 1) Ancora su GLPI 10: aggiorna FormCreator alla versione 2.13.10 o superiore.
# 2) Avvia GLPI 11 e installa il "Formcreator Migration Tool" (plugin 3.0.x).
# 3) Verifica il volume da migrare nel menu Strumenti, voce Formcreator EOL Info.
# 4) Esegui la migrazione dalla CLI, come utente del server web
#    (Debian/Ubuntu usa www-data; RHEL/CentOS usa apache):
sudo -u www-data php bin/console migration:formcreator_plugin_to_core

# Ordine corretto quando piu plugin legacy convivono nello stesso ambiente:
# Generic Objects, poi Fields e infine FormCreator.

Prima di eseguire qualsiasi cosa, dimensioni il lavoro. Un inventario rapido nel database dice quanti moduli, domande e target dovrà verificare dopo - e quali sono i più pesanti:

-- Inventario PRIMA di migrare: eseguilo sul database GLPI (10, o 11 con il
-- Migration Tool installato) per dimensionare la verifica post-migrazione.
SELECT
  (SELECT COUNT(*) FROM glpi_plugin_formcreator_forms WHERE is_deleted = 0) AS moduli,
  (SELECT COUNT(*) FROM glpi_plugin_formcreator_sections)                   AS sezioni,
  (SELECT COUNT(*) FROM glpi_plugin_formcreator_questions)                  AS domande,
  (SELECT COUNT(*) FROM glpi_plugin_formcreator_targettickets)              AS target_ticket;

-- I moduli con piu domande sono quelli che richiedono piu verifica
SELECT f.name AS modulo, COUNT(q.id) AS domande
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 domande DESC;

Ciò che lo strumento migra bene è struttura e contenuto: sezioni, domande e tipi di campo. Dove chiede verifica umana è la logica di instradamento - FormCreator usava il "target ticket" per definire categoria, template, gruppo e attori del ticket generato; nel nativo diventa destinations, e l'import segnala le dipendenze mancanti sulla destinazione (entità, categoria) da mappare prima di concludere.

Il trade-off che emerge nel supporto

Quando gestisce parchi GLPI per i clienti, l'errore più comune non è tecnico, è di aspettativa: qualcuno esegue il comando di migrazione, i moduli compaiono nel menu nuovo e il team considera l'attività chiusa. Non lo è. Ciò che migra è il guscio; il nocciolo - quale ticket viene aperto, in quale categoria, per quale gruppo, con quale template - è proprio ciò che richiede verifica. Per questo migriamo sempre prima in collaudo, inviamo un ticket di test per modulo e confrontiamo l'instradamento con il comportamento del vecchio FormCreator, campo per campo.

Due dettagli fregano chi lo fa per la prima volta. Primo: le tabelle glpi_plugin_formcreator_* restano nel database dopo la migrazione - nulla viene cancellato, diventano una fonte di lettura/EOL e non spariscono, quindi "è sparito tutto" di solito è solo il menu che si è spostato. Secondo: i moduli nativi ricevono ID (e UUID) nuovi, quindi qualsiasi link diretto, preferito del portale o scorciatoia di self-service che puntava a un modulo FormCreator smette di funzionare e va ripuntato. E c'è il prerequisito silenzioso: se FormCreator è in una versione precedente alla 2.13.10, il Migration Tool semplicemente non vede i moduli - aggiornare prima di tutto è ciò che evita la migrazione "vuota".

Verdetto per scenario

Resti su FormCreator quando l'ambiente è GLPI 9 o 10 e non c'è una migrazione a 11 all'orizzonte vicino. Su quelle versioni è l'opzione matura e senza sostituto per catalogo dei servizi e moduli personalizzati. Consiglio pratico: lo tenga su 2.13.10 o superiore anche senza migrare ora - è ciò che lascia aperta la porta della migrazione quando arriverà 11.

Usi i moduli nativi quando è su GLPI 11 (o sta per migrare). Qui non c'è decisione da prendere: FormCreator standalone non funziona su 11, e il modulo nativo è la via - nessun plugin da gestire all'upgrade, con export/import di moduli tra ambienti in JSON (cosa che FormCreator non ha mai fatto nativamente) e riconciliazione delle dipendenze sulla destinazione.

Migrando da 10 a 11, usi lo strumento ufficiale ma lo tratti come un progetto, non come un comando: inventari i moduli, dimensioni la verifica in base al numero di domande e condizioni, migri in collaudo, validi l'instradamento di ogni modulo e solo allora promuova. Se convivono più plugin legacy, rispetti l'ordine che la documentazione stessa indica: Generic Objects, poi Fields, poi FormCreator.

Costo e sforzo

La licenza non è l'asse della decisione: FormCreator e moduli nativi sono gratuiti, e su 11 il nativo è già nel core. Il costo reale è quello della migrazione e della verifica. La parte automatica - eseguire bin/console - richiede da minuti a qualche decina di minuti a seconda del volume. La parte che consuma tempo delle persone è validare l'instradamento e ricostruire la logica di destinazione che non è passata 1:1. Come intervallo onesto: per pochi moduli semplici, l'intera migrazione sta in un pomeriggio; per decine di moduli con molte condizioni, attori e template, pianifichi giorni di verifica in collaudo prima di andare in produzione.

In NexTool implementiamo e manteniamo GLPI per i clienti su entrambe le generazioni e conduciamo la migrazione da FormCreator ai moduli nativi senza far cadere il catalogo dei servizi. Se sta lasciando GLPI 10 e non vuole scoprire in produzione ciò che la migrazione non ha portato, i nostri progetti di implementazione e migrazione coprono questo percorso da un capo all'altro.


Revisionato dal team NexTool Solutions.

Domande Frequenti

Non come plugin di creazione. FormCreator standalone (linea 2.13.x) è per GLPI 9 e 10; su GLPI 11 la funzionalità è diventata un modulo del core (Moduli). Ciò che esiste per 11 è solo il Formcreator Migration Tool (linea 3.0.x), un plugin di transizione la cui unica funzione è migrare i vecchi moduli al nativo e poi arrivare a fine vita (EOL).

Sì, ed è ufficiale. Aggiorni FormCreator a 2.13.10 o superiore ancora su GLPI 10, avvii GLPI 11, installi il Migration Tool 3.0.x, verifichi il volume in Strumenti > Formcreator EOL Info ed esegua 'php bin/console migration:formcreator_plugin_to_core' come utente del server web. Lo tratti come un progetto, non come un comando: struttura e domande migrano bene, ma la logica di instradamento (categoria, template, gruppo, attori) richiede verifica.

Coprono l'essenziale e aggiungono cose che FormCreator non aveva nativamente, come export/import di moduli tra ambienti in JSON con riconciliazione delle dipendenze. Campi condizionali, sezioni e generazione del ticket sono presenti. Casi avanzati di instradamento e alcune particolarità di FormCreator possono richiedere una ricostruzione manuale sulla destinazione.

Sì. Su GLPI 9 e 10 resta l'opzione matura e senza sostituto per catalogo dei servizi e moduli personalizzati. La raccomandazione pratica è tenerlo su 2.13.10 o superiore anche senza piani immediati di migrazione - è quella versione che lascia aperto il percorso di migrazione a 11.

No. Le tabelle glpi_plugin_formcreator_* restano nel database dopo la migrazione; diventano una fonte di lettura/EOL e non spariscono. Inoltre, i moduli nativi ricevono ID nuovi, quindi link diretti, preferiti e scorciatoie di self-service che puntavano a moduli FormCreator vanno ripuntati alle nuove URL.

Hai bisogno di aiuto?