Indice

Dashboard Set Configurabili

Con il nome Dashboard Set Configurabili si indica l'insieme del nuovo sistema di configurabilità dei menu con cui vengono presentate le dashboard per ogni funzione utente, introdotto dalla versione 4.7.3, che comprende:

Contesto

Precedentemente a questo viluppo, la struttura di menu distribuita su tre livelli, era configurata fissa ed immutabile nell’xml di gwProject.

Questa operazione era effettuata esclusivamente da utenti configuratori nella fase di implementazione del progetto (App). Le informazioni relative sistema di menu sui tre livelli erano quindi salvate esclusivamente sullo schema dei metadati, la cui gestione è attualmente quasi esclusivamente relegata al webadmin.

In generale era quindi molto complicato far modificare informazioni presenti nello schema dei metadati da UI che fossero fruibili dall’utente finale nel webclient.

Era quindi estremamente complicato realizzare, con pura configurazione, meccanismi che permettessero all’utente finale, il Solution Manager in particolare, di modificare puntualmente le configurazioni dei metadati.

Andando più nello specifico, la problematica si verificava nelle varie funzioni che presentano dashboard in apertura, veniva infatti aperta subito solo la prima dashboard configurata per il prodotto, che era quindi fissa per tutti. Le altre dashboard erano comunque disponibili sotto, come ulteriori leafItem, altrettanto fisse.

L’unico margine di dinamicità che preesistente, era legato ai permessi legati alle risorse collegate ai leafItem che, in caso di mancanza degli stessi, faceva sì che i leafItem senza permessi potessero essere nascosti/disabilitati. Di fatto però questo meccanismo è quasi del tutto inutilizzato nelle recenti implementazioni delle linee di prodotto, in quanto si tende a fare funzioni dedicate per ruoli dedicati, molto specializzate, e non più un unico progetto flessibile che varia in base ai permessi dell’utente corrente.

Alla luce di tutto ciò a richiesta generatasi è stata quella di, sempre rimanendo nell’ambito e nei confini di prodotto, lasciare all’utente dei margini di personalizzazione. La mancanza di tale funzionalità aveva infatti dei risvolti importanti sul lato commerciale.

Nasceva quindi la necessità di colmare una lacuna difficilmente giustificabile nei confronti del cliente. Andava in sintesi creato un nuovo meccanismo che superasse le rigidità imposte dal sistema di menu di terzo livello, che essendo persistito sui metadati, non era facilmente configurabile per soddisfare i nuovi requisiti di personalizzazione delle dashboard

Nomenclatura

Requisiti

Questo rilascio, durante lo sviluppo, ha tenuto conto di questi requisiti:

Caratteristiche Componente

Implementazione: nuova funzione per SOLUTION MANAGER

E’ stata predisposta una nuova funzione (gwProjectName: dashboard_management), che abilita al Solution Manager la personalizzazione delle varie dashboard, secondo le logiche sopra esposte. In particolare viene presentata una lista dei dashboard set, uno per ogni Funzione.

All’apertura del relativo dettaglio di classe, viene presentata la lista (linkListNam) delle relative dashboard. Il SM può agire in editing direttamente sulla lista.

Alcuni widget sono posti in editing (reso possibile con issue #1190 e issue #1432) direttamente in lista (linkListNam). In particolare nella colonna Principale, uno switch widget permette di impostare la dashboard principale. Analogamente, nella colonna Nascosta, un altro switch widget permette di nascondere la dashboard. Esistono poi due widget azione, sposta su e sposta giù, che permettono di variare l’ordine delle dashboard. Ad ogni interazione utente che porta modifiche viene fatto girare il trigger applicativo della classe di associazione della linkListNam. Questo si preoccupa di performare i cambiamento, facendo alcuni controlli di integrità:

Al click sulla riga viene aperto il dettaglio della dashboard, dove l’utente SM può personalizzare anche la label della dashboard, la quale sarà usata sia nel menu di terzo livello, che come titolo della relativa scheda aperta.

Implementazione: nuova funzione per GW ADMIN

E’ stata predisposta parallelamente anche una nuova funzione (gwProjectName: dashboard_management_admin). Questa abilita l’utente GW_ADMIN una gestione più completa del dashboard set. Anche qui viene presentata una lista dei dashboard set, uno per ogni Funzione. Vengono visualizzate più informazioni. Il GW ADMIN può creare, modificare ed eliminare i vari set dashboard.

All’apertura del relativo dettaglio di classe, viene presentata la lista (linkListNam) delle relative dashboard. Il GW ADMIN può agire in editing direttamente sulla lista, e modificare altri dati di servizio del set dashboard.

Al click sulla riga viene aperto il dettaglio della dashboard, dove l’utente GW ADMIN ha controllo sull’xml del leafItem della dashboard (lo stesso che andrebbe nell’xml di progetto nei metadati).

Vale qui la pena sottolineare il fatto che nell’xml possa essere configurato in pratica qualsiasi tipologia di leafItem, compreso quello di type gwAction. Il fatto di configurare dashboard va considerato puramente incidentale. Si potrebbe per esempio aprire una dashboard tramite azione dopo aver recuperato alcuni dati tramite l’esecuzione di un groovy. Inoltre in futuro potrebbero essere rilasciate nuove tipologie di leafItem con funzionalmente del tutto analoghe alle attuali dashboard, e sarebbero fin da ora supportate.

Il trigger applicativo della classe si occupa di computare in automatico l’icona e la label (se non esplicitamente impostata nell’input a parte).

Il flag Custom, inoltre denota se la particolare dashboard è di prodotto (flag disattivo) o specifica per il cliente/progetto (flag attivo).

Sviluppo: nuovo leafItem gwDashboardSet

Questo comprende un nuovo menu di terzo livello: il leafItem con type gwDashboardSet. Questo leafItem va configurato in tutte le gwaFunction che hanno un set di dashboard configurabile dal SM, impostandolo come primo leafItem, tramite questo xml:

<leafItem name="leaf_item_0" label="" image="" type="gwDashboardSet">
</leafItem>

Ecco come si presenta nella funzione di destinazione per l’utente finale.

Si noti che la dashboard principale è resa come un normale leafItem, con icona 32px x 32px. Le altre dashboard secondarie sono indentate, e con un’icona più piccola (24px x 24px).

In generale alcune voci di menu possono non essere visualizzate per le seguenti ragioni:

In generale alcune voci di menu potrebbero apparire disabilitate per le seguenti ragioni:

E’ inoltre presente un toggle button che permette di espandere/collassare l’alberatura delle dashboard secondarie. Le voci di menu si integrano nelle logiche generali di navigazione del framework, dove tra la voce di menu e la relativa scheda aperta viene mantenuto (e ripristinato) il path di navigazione.

Messa in esercizio

Si rimanda alla pagina dedicata Dashboard Set Configurabili - Messa in esercizio

Gestione aggiornamenti

Si rimanda alla pagina dedicata Dashboard Set Configurabili - Gestione Aggiornamenti

Ambiente di Test

Link funzione dedicata al SM:

http://192.168.0.225:8090/test_gw47/project/dashboard_management.html?group=SOLUTION_MANAGER&preventCache=1733226332161 username: sm password: SolutionM0@

Link funzione dedicata al GW ADMIN:

http://192.168.0.225:8090/test_gw47/project/dashboard_management_admin.html?group=GW_ADMIN

utente: gwadmin password: GwAdmin0@

Link funzioni/App per utente finale (stesse credenziali SM):

http://192.168.0.225:8090/test_gw47/project/dashboard_set_test_1.html?group=SOLUTION_MANAGER http://192.168.0.225:8090/test_gw47/project/dashboard_set_test_2.html?group=SOLUTION_MANAGER