Ordinare i gruppi del Launchpad in SAP Build Work Zone
Uno dei primi feedback che ricevo quando consegno un Fiori Launchpad su SAP Build Work Zone riguarda l'ordine dei gruppi: il business si aspetta di trovare in cima le aree usate ogni giorno, e invece la home page mostra tutto in ordine alfabetico. La richiesta successiva è sempre la stessa — "spostiamo questo gruppo per primo" — e la risposta, sorprendentemente, è che nel Site Manager non esiste un modo per farlo.
In questo articolo vediamo perché, qual è il workaround che uso e il punto di attenzione da tenere presente perché continui a funzionare: le traduzioni.
Il comportamento: ordinamento alfabetico, non configurabile
Nel Fiori Launchpad erogato da SAP Build Work Zone, gruppi e tile vengono ordinati alfabeticamente in automatico. Non c'è drag & drop nel Content Manager, non c'è un campo order o priority nella definizione del gruppo, e non esiste un'impostazione di sito che disattivi l'ordinamento alfabetico a favore di un ordine manuale.
Non si tratta di un difetto di configurazione ma di una scelta di prodotto: l'FLP applica l'ordinamento come regola fissa di rendering. La conseguenza pratica è che l'unica leva a disposizione è il titolo del gruppo, perché è l'unico dato che entra nella comparazione.
Le regole di comparazione sono documentate nella SAP KBA 3102280 — The sorting mechanism of groups in BTP Cloud Foundry launchpad — e sono tre:
- le cifre hanno priorità sulle lettere: un gruppo chiamato
333finisce prima di qualsiasi gruppo con nome alfabetico; - l'ordinamento ignora maiuscole e minuscole:
sAPviene prima diURL titles, senza precedenza per le iniziali maiuscole; - uno spazio iniziale ha la priorità più alta di tutte: un gruppo il cui titolo inizia con uno spazio viene mostrato prima degli altri.
È esattamente l'ultimo punto la leva su cui si costruisce il workaround.
Da qui derivano due strategie:
- Prefissi visibili — rinominare i gruppi con
1 - Vendite,2 - Acquisti,3 - Reporting. È autoesplicativo per chi manutiene il sito, ma introduce rumore visivo nella home dell'utente finale ed è quasi sempre bocciato dal business. Soprattutto, si rompe appena si superano i nove gruppi: il confronto è tra stringhe, non tra numeri, quindi10 - Magazzinoe11 - Qualitàsi piazzano subito dopo1 - Vendite, prima di2 - Acquisti. Serve lo zero padding (01,02, …10,11) perché l'ordine regga, e anche così ogni inserimento a metà elenco obbliga a rinumerare tutti i gruppi successivi — in ogni lingua tradotta. - Prefissi invisibili — anteporre al titolo dei caratteri Unicode che occupano larghezza ma non producono un glifo. È l'approccio che uso quando l'ordine deve essere controllato senza sporcare l'interfaccia.
Il workaround: hair space (U+200A)
L'hair space (U+200A) è uno spazio tipografico estremamente sottile, graficamente invisibile a dimensioni normali ma pienamente valido come carattere. Nella tabella dei caratteri viene prima delle lettere: un titolo che inizia con uno o più hair space si posiziona prima di qualsiasi titolo che inizia con una lettera.
Il principio è semplice: più hair space anteponi al nome del gruppo, più in alto quel gruppo compare.
| Ordine desiderato | Titolo del gruppo | Prefisso |
|---|---|---|
| 1 | Vendite | 3 × U+200A |
| 2 | Acquisti | 2 × U+200A |
| 3 | Magazzino | 1 × U+200A |
| 4 | Reporting | nessuno |
| 5 | Amministrazione | nessuno |
I gruppi con lo stesso numero di hair space restano ordinati alfabeticamente tra loro: nell'esempio, Amministrazione precederebbe Reporting. Per questo conviene assegnare a ogni gruppo che deve avere una posizione precisa un numero di hair space diverso, e lasciare senza prefisso solo la coda che può stare in ordine alfabetico naturale.
Funziona anche con lo spazio normale, come conferma la KBA 3102280: il meccanismo è lo stesso, ed è il motivo per cui il trucco regge. Preferisco l'hair space per due ragioni pratiche: è largo una frazione di spazio, quindi anche tre o quattro prefissi non spostano visibilmente il titolo nella card del gruppo, ed essendo un carattere "non whitespace" per molti editor e file di traduzione sopravvive meglio ai passaggi di copia-incolla e agli strumenti che ripuliscono gli spazi iniziali. Se nel tuo contesto lo spazio semplice viene mantenuto correttamente, va benissimo: la logica di conteggio è identica.
Il carattere si incolla direttamente nel campo titolo. Ve lo lascio qui pronto da copiare, tra parentesi quadre: [ ] — oppure lo trovate su compart.com/en/unicode/U+200A. Poiché è invisibile, conviene tenerlo in un blocco note tecnico assieme allo schema di ordinamento del sito.
Sequenze pronte all'uso (copiate dal carattere U+200A):
pos. 1 -> + titolo
pos. 2 -> + titolo
pos. 3 -> + titolo
pos. 4+ -> titolo (ordine alfabetico)
Il punto di attenzione: le traduzioni dei gruppi
Questo è il punto che fa perdere più tempo, e che dalla KBA non emerge.
Se sul sito sono attive le traduzioni e il gruppo ha una descrizione tradotta nella lingua dell'utente, l'FLP ordina usando il titolo tradotto, non il titolo originale della definizione. Il risultato è un comportamento apparentemente incoerente: l'ordine è corretto quando si testa il sito in una lingua e completamente sbagliato in un'altra, perché in quella lingua gli hair space semplicemente non ci sono.
La regola operativa quindi è: gli hair space vanno replicati in ogni traduzione attiva del gruppo, con lo stesso conteggio del titolo originale. Se il sito è bilingue IT/EN, il gruppo in prima posizione deve avere tre hair space sia in Vendite sia in Sales.
Nel testing questo si traduce in una verifica banale ma da non saltare: aprire il launchpad con l'utente impostato su ogni lingua supportata e controllare l'ordine, non solo sulla lingua di sviluppo. È anche il primo controllo da fare quando qualcuno segnala che "l'ordine si è rotto": quasi sempre è stata aggiunta una lingua o modificata una traduzione senza riportare il prefisso.
L'alternativa supportata: pagine e spazi
Se l'ordine deve essere preciso e stabile — non "quasi giusto" — la strada corretta non è il titolo ma il modello di contenuto: spazi e pagine. In una pagina l'ordine di sezioni e tile fa parte del layout, quindi lo definisci in modo esplicito invece di subirlo; gli spazi, a loro volta, si ordinano nell'assegnazione al ruolo. Lo stesso vale con la nuova esperienza utente di Work Zone, dove la home è costruita su spazi e pagine anziché su una lista di gruppi.
Il prezzo però va messo in chiaro con il cliente: adottando pagine e spazi si perde la gestione a gruppi. Cambia il modello (ruolo → spazio → pagina → sezione), cambia il modo in cui l'utente personalizza la propria home, e i gruppi esistenti vanno riportati come pagine e sezioni. È un cambio di impostazione del sito, non una modifica cosmetica: si valuta a livello di progetto, non per sistemare la posizione di due gruppi.
La regola pratica che applico: hair space se il sito è già impostato a gruppi e l'esigenza è di rifinitura; pagine e spazi se l'ordinamento è un requisito esplicito e si è disposti a rivedere l'impianto della home.
Limiti da mettere in conto
Prima di adottare questo approccio come standard di progetto, conviene essere onesti sui suoi limiti:
- È un workaround, non una funzionalità. Si appoggia a un comportamento di rendering: un cambio di prodotto può modificarlo.
- È invisibile anche per chi manutiene. Chi apre il Content Manager tra sei mesi non vede alcuna differenza tra i titoli. Documentare lo schema è parte del lavoro, non un extra.
- È fragile rispetto al copia-incolla. Rinominare un gruppo riscrivendo il titolo a mano elimina silenziosamente il prefisso e sposta il gruppo.
- Va mantenuto allineato alle traduzioni, come visto sopra, per ogni lingua attiva.
Per gruppi molto numerosi o soggetti a riorganizzazioni frequenti, oltre al passaggio a pagine e spazi vale sempre la pena ridurre il numero di gruppi in home e affidare la navigazione fine alla ricerca. Un ordine "perfetto" su venti gruppi risolve meno problemi di quanti ne risolva una home con cinque gruppi ben scelti.
In sintesi
Nel Fiori Launchpad di SAP Build Work Zone l'ordinamento di gruppi e tile è alfabetico e non modificabile da configurazione. L'unica leva è il titolo: anteponendo un numero decrescente di hair space (U+200A) si ottiene l'ordine desiderato senza alterare visivamente l'interfaccia. Il prerequisito perché il trucco regga è replicare i prefissi in tutte le traduzioni attive, perché quando la traduzione esiste è quella a determinare l'ordinamento. Va però trattato per quello che è: una soluzione pragmatica da documentare e da verificare a ogni rilascio. Se invece l'ordine è un requisito non negoziabile, la risposta strutturale sono pagine e spazi — anche nella nuova esperienza utente — accettando in cambio la perdita della gestione a gruppi.
Riferimenti utili quando serve motivare la scelta in una design review: la SAP KBA 3102280, che documenta le regole di ordinamento dei gruppi.