Apri il menu a tendina della categoria per registrare un ticket in GLPI 11 e, invece del nome pulito, compare un blocco così: "Errore nell'uso dell'automazione - 337.TIPO:INC;Gruppo:AUTOMAZIONE;Urgenza:Molto Alta". Quello che dovrebbe essere solo il nome della categoria è diventato una riga di metadati che il tecnico deve decifrare ogni volta. Non è un difetto del tuo ambiente: è GLPI stesso che concatena il campo code della categoria in tutti i menu a tendina.
Il problema
Ogni categoria ITIL di GLPI ha un campo facoltativo chiamato code. Esiste per buoni motivi: numerazione di processo, chiave di instradamento per le regole di business, parametro di integrazione con un ERP o con un sistema di ticket esterno. Il problema non è avere il campo compilato - è dove appare. Quando la categoria ha un code, il core di GLPI concatena quel valore al nome in tutti i menu a tendina dell'interfaccia, usando il separatore - . Un'informazione di retroscena finisce sullo schermo di chi vuole solo scegliere "Rete" o "Stampante".
In pratica, più il tuo code è strutturato, peggio è. I team che caricano metadati nel campo (tipo di ticket, gruppo responsabile, urgenza suggerita) si ritrovano con menu a tendina in cui il vero nome della categoria è la parte più piccola del testo. L'occhio legge da sinistra a destra, incontra prima il codice e rallenta. Su schermi più piccoli il testo viene troncato a metà del codice - e neanche il nome appare per intero.
Le due vie d'uscita ovvie non funzionano. Modificare il core di GLPI per rimuovere la concatenazione funziona fino al successivo aggiornamento, quando il file viene sovrascritto e il problema torna. Svuotare il campo code pulisce lo schermo ma rompe tutto ciò che ne dipendeva - regole, integrazioni, report. Scambieresti un fastidio visivo con un guasto funzionale.
Come lo risolve GLPI Bug Fixes
Il modulo GLPI Bug Fixes attacca il sintomo nel posto giusto: il rendering, non il dato. Non tocca il database e non modifica il core. Invece, avvolge le funzioni globali di template Select2 che GLPI usa (window.templateResult e window.templateSelection) e pulisce il testo all'origine, prima che raggiunga il DOM. Il campo code resta intatto nel database; smette semplicemente di apparire nell'interfaccia.
- Pulisce il nome e il tooltip - rimuove il suffisso
- CODICEsia dal testo dell'opzione sia dall'attributotitle(il fumetto al passaggio del mouse), nell'elenco e nel valore già selezionato. - Copre i due punti in cui appare la categoria - il menu a tendina classico di ticket, modifica e problema (
itilcategories_id) e le domande di selezione categoria nel nuovo sistema di moduli di GLPI 11 (Glpi\Form). - Non cancella nulla - il
coderesta disponibile per le regole di business, le integrazioni e i report. È una correzione puramente visiva. - Si attiva per funzionalità - la correzione è un interruttore individuale nella scheda Funzionalità; attivarla o disattivarla ha effetto immediato, senza reinstallare il modulo.
- Sopravvive agli aggiornamenti - poiché tutto passa dal plugin, aggiornare GLPI non annulla la correzione.
Il dettaglio che separa una correzione sicura da una che rompe tutto il resto
Qui entra in gioco l'esperienza di chi gestisce GLPI in produzione. La prima versione del fix faceva la cosa ovvia: puliva il testo di qualsiasi menu a tendina Select2 che avesse il pattern " - qualcosa". Sembrava corretto finché un cliente non ha segnalato che i nomi dei gruppi erano stati tagliati - "N1 - Supporto" diventava "N1", "N2 - Infrastruttura" diventava "N2". Il separatore - è legittimo in molti nomi; pulire per pattern di testo è ingenuo. La correzione è stata riscritta per essere delimitata dall'identità del campo, non dall'aspetto del testo.
Per il ticket è diretto: agisce solo quando il <select> si chiama itilcategories_id. Nel nuovo sistema di moduli è più sottile, perché la domanda usa un nome generico come answers_5[items_id] che serve per qualsiasi elemento (categoria, luogo, fornitore). L'indizio è un <input hidden> gemello che dichiara il tipo. Il modulo pulisce il testo solo quando quel gemello dice ITILCategory:
<!-- Ticket: il fix agisce perché il name è esattamente itilcategories_id -->
<select name="itilcategories_id">
<option value="12"
title="Errore nell'uso dell'automazione - 337.TIPO:INC;Gruppo:AUTOMAZIONE">
Errore nell'uso dell'automazione - 337.TIPO:INC;Gruppo:AUTOMAZIONE
</option>
</select>
<!-- Modulo (Glpi\Form): pulisce SOLO se l'hidden gemello è ITILCategory -->
<select name="answers_5[items_id]"> ... </select>
<input type="hidden" name="answers_5[itemtype]" value="ITILCategory">
<!-- Gruppo: name diverso e senza hidden ITILCategory -->
<!-- il " - " legittimo viene PRESERVATO -->
<select name="groups_id">
<option>N1 - Supporto</option>
</select>
È il tipo di decisione che emerge solo nel supporto quotidiano: la soluzione "rapida" rompe un caso limite che nessun test sintetico copre, ma che esiste in quasi ogni ambiente reale con gruppi nominati per livello di servizio.
Prima e dopo, per contesto
| Dove | GLPI nativo (prima) | Con GLPI Bug Fixes (dopo) |
|---|---|---|
| Menu a tendina sul ticket | Errore nell'uso dell'automazione - 337.TIPO:INC;... | Errore nell'uso dell'automazione |
| Domanda di categoria in un modulo | Rete - NET.02;Gruppo:INFRA | Rete |
| Tooltip (title) dell'elemento | Mostra il codice completo | Mostra solo il nome |
| Menu a tendina di gruppo (es.: N1 - Supporto) | N1 - Supporto | N1 - Supporto (invariato) |
| Campo code nel database | Compilato | Compilato (mai modificato) |
Come attivarlo
- Installa il plugin NexTool sul tuo GLPI 11 (se non lo hai ancora).
- Vai in Configurazione > NexTool > Moduli e attiva il modulo GLPI Bug Fixes.
- Apri Configura e vai alla scheda Funzionalità.
- Verifica che Nascondi il codice di categoria nei menu a tendina sia attivo - è abilitato per impostazione predefinita dopo l'installazione.
La correzione ha effetto alla successiva apertura di un menu a tendina di categoria. Non serve riavviare il servizio né svuotare la cache: l'asset JS porta un marcatore di versione che cambia da solo quando attivi o disattivi la funzionalità, così il browser carica sempre la versione giusta.
A chi è rivolto (e quando non usarlo)
Ha senso per qualsiasi team che compila il campo code delle categorie ITIL - sia per numerazione interna, instradamento per regole o integrazione - e i cui tecnici o utenti finali selezionano una categoria ogni giorno. Più persone aprono ticket, maggiore è il guadagno di chiarezza.
Non cambia nulla se le tue categorie non hanno il code compilato: senza codice concatenato, non c'è nulla da pulire. E se vuoi che il codice appaia a schermo - alcuni team lo usano come riferimento rapido allo sportello - basta lasciare la funzionalità disattivata. È proprio per questo che la correzione è opzionale.
Compatibilità
- GLPI: 11.0 o superiore
- Modulo: GLPI Bug Fixes (chiave
fixes) - piano gratuito (FREE) - Plugin: NexTool 4.1.3 o superiore
- Copertura: ticket, modifiche e problemi, oltre al nuovo sistema di moduli (
Glpi\Form)
Prossimo passo
GLPI Bug Fixes fa parte di NexTool, l'ecosistema di moduli che estende GLPI senza personalizzare il core. Il modulo è gratuito ed è già nel catalogo. Se vuoi aiuto per installarlo o valutare altre correzioni, parla con il team.
Questo contenuto è stato prodotto con l'ausilio dell'intelligenza artificiale e revisionato dal team Nextool Solutions.