Man Tecnico:Configurazione core

From CDG Wiki
Revision as of 14:08, 6 November 2020 by Cdgmilano (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Analisi dei requisiti

Il funzionamento della piattaforma prevede alcune tabelle di supporto e di configurazione che devono essere gestite dall'amministratore, lato applicativo.

Sarà necessario poter gestire gli anni di budget da utilizzare come riferimento per tutti i dati, con la possibilità di definirli e renderli attivi/disattivati, nel caso in cui si vogliano definire anni di budget senza che questi vengano considerati lato utente.

Sarà presente inoltre un sistema di delege all'accesso per prevedere che un utente possa operare in vece ad un altro utente. Il sistema infatti prevede che si possano definire delle deleghe definite dalla coppia matricola delegato - matricola delegante, e per ognuna di queste relazioni vengano definiti i moduli sui quali la delega è considerata. L'utente che riceve la delega potrà selezionare nel menu di scelta dei parametri globali, il proprio utente e gli utenti per i quali risulta delegato, visualizzando nel menu solo le funzionalità dei moduli specificati per quella determinata delega. Questo meccanismo consentirà agli utenti di delegare alcune funzionalità della piattaforma, senza dover cedere le proprie credenziali e potendo mantenere la tracciabilità delle operazioni.

Un altro strumento che si intende rendere disponibile agli amministratori è costituito dall'elenco dei moduli applicativi, consultabile solamente in visualizzazione ma che permette di ottenere le informazioni dei singoli moduli, recuperandole dai file di configurazione degli stessi.

Infine si decide di permettere agli amministratori l'estrazione di tutte le tabelle dal DB, ad esclusione di quelle del framework, fornendo la possibliità di selezionare una tabella, scegliere i campi da estrarre ed esportare il risultato in formato xlsx.

Descrizione delle funzionalità

Le funzionalità saranno tutte raggiungibili da una voce di menu denominata "configurazione", che permetterà di aprire il pannello di configurazione, costituito da una pagina con tanti tab quante saranno le entità da gestire. Saranno presenti quindi i tabs "Deleghe accesso", "Anni budget", "Moduli applicativi" ed "Estrazioni DB".

La gestione degli anni, delle deleghe e dei moduli applicativi sarà visualizzata con dei semplici CRUD che presenteranno l'elenco delle entità da gestire con la possibilità di espandere i dettagli per poterli modificare, ad esclusione dei moduli applicativi che saranno semplicemente un elenco di moduli con le relative informazioni.

La funzionalità di estrazione da DB presenterà invece un elenco di tabelle da poter estrarre. Una volta selezionata una di queste, ne verranno elencati i campi con relative caselle di spunta, per poterli includere/escludere dall'estrazione, eseguita tramite un pulsante specifico.

Scelte implementative

Per la gestione del pannello di configurazione vengono utilizzati, coerentemente con il resto dell'applicativo, tabs jquery.

La gestione di anni di budget e delle deleghe utilizzerà i componenti ffGrid ed ffRecord (aperto in dialog) per l'implementazione del CRUD mentre l'estrazione da DB sarà implementata tramite un template personalizzato.

Verranno implementati metodi specifici per il recupero delle informazioni dei moduli da disco.

Modello ER

Analisi funzionalita core

Modello Classi

Analisi funzionalita core

Note tecniche

E' importante sottolineare che i Tab non è gestito dal framework ma vengono implementati lato jQuery. Questa implementazione necessita di un adattamento al codice delle Grid. Il framework prevede infatti che la gestione degli eventi sulle Grid e sui dialog venga gestito dallo script fullclick.js che all'inizializzazione della Grid si occupa di effettuare alcune operazioni preliminari sulla stessa per poterne gestire gli eventi. Nel caso di utilizzo di tab è necessario però includere lo script in ogni Grid presente successivamente a quella eventualmente precaricata nel primo tab, utilizzando la seguente riga di codice

 $oGrid->fixed_post_content = '<script>jQuery("#'.$oGrid->id.'").jTableFullClick();</script>';

per evitare di ottenere errori nel funzionamento dei componenti.


Torna all'Indice del Manuale Tecnico