Il motore certificati è disponibile su tutti gli eseguibili di Esse3, quindi non è necessario avere particolari configurazioni una volta attivato il modulo.

3.           Struttura di un certificato

3.1           paragrafi

Lo stesso certificato può essere visto come suddiviso in diverse zone, ciascuna delle quali può essere definita PARAGRAFO.

 

La suddivisione di un certificato in paragrafi è la prima operazione da fare nel lavoro di creazione di un nuovo certificato. Per farlo è necessario tenere in considerazione:

-           l’impaginazione grafica che il testo deve avere

-           le parti comuni anche ad altre stampe

 

3.1.1           Impaginazione grafica

Con questo termine si intende l’insieme di indentazioni, formattazioni, stili di testo, immagini, spaziature e margini che quella regione della stampa richiede.

Ogni parte della stampa può essere scomposta a sua volta in altre parti fino a quando non è completamente identificabile con una di queste due strutture:

-           paragrafo lineare

-           tabella

3.1.2           Parti comuni riutilizzabili

La suddivisione in paragrafi deve tenere conto anche della semantica di ogni parte della stampa. Nella realizzazione dei certificati di un Ateneo sono presenti molte componenti che appaiono similarmente su più di uno anche se in ordine e posizioni diverse.

Fra queste vi sono quelle che compongono l’impaginazione base di ogni stampa dell’ateneo:

-           intestazione

-           firma

-           testi di motivo uso

-           testi di origine dei dati

-           testi di omissione firma

-           postille

Altre costituiiscono le basi dei certificati di iscrizione e laurea:

-           paragrafo di iscrizione

-           paragrafo di laurea

-           paragrafo sulla durata del cds

-           tabella esami

-           tabella anni accademici

4.           creazione di un certificato

La maschera principale del motore certificati porta a proprio a fare la considerazione iniziale di CERTIFICATO inteso come “contenitore” di PARAGRAFI.

 

 

Come si vede dall’esempio la maschera è composta da una parte superiore in cui è possibile inserire o ricercare certificati usando il normale framework di Esse3, allo stesso modo nella parte inferiore è possibile aggiungere i paragrafi che comporranno il certificato.

Ogni nuovo certificato deve avere un codice alfanumerico e una descrizione. E’ possibile creare un certificato partendo dalla “base” di un altro già esistente. Per farlo è sufficiente ricercare il certificato e premere il bottone “Duplica certificato”.

4.1           intestazione e pie’ di pagina

Per ogni paragrafo inserito nel certificato è possibile alzare i check box “Intestaz” e “Piè pag.” che impostano che quel paragrafo sia presente nell’intestazione o nel piè di pagina di tutte le pagine del certificato (anziché solo nella prima).

Se si utilizzano questi check box è importante valorizzare anche i campi “Intestazione (mm)” e “Piè di pag. (mm)” inserendo il numero di mm desiderato per lo spazio di queste due regioni.

5.           creazione di un paragrafo

Dalla maschera dei certificati si accede alla lavorazione dei paragrafi tramite il bottone “Gestione paragrafi”. Questo bottone apre una maschera intermedia che consente di fare tre possibili azioni.

 

 

Le possiblità corrispondono a:

  1. Creare un nuovo paragrafo,
  2. Modificare il paragrafo selezionato nella maschera precedente,
  3. Duplicare il paragrafo selezionato nella maschera precedente, inserendo il nuovo nome e codice dello stesso.

 

Scegliendo la modalità di creazione viene abilitata la nuova maschera in cui si può scegliere la tipologia di paragrafo che si vuole creare tra quelli possibili.

La lookup sul campo CODICE TEMPLATE DI RIFERIMENTO mostra tutti quelli esistenti

 

 

I template elencati hanno nomi descrittivi dei dati che consentono di stampare, ad esempio il template iscrizione consente di stampare i dati che normalmente sono presenti in un paragrafo di iscrizione e non mostra all’utente altri dati che non sono afferenti a quello, in maniera da facilitarlo nella creazione del paragrafo che più si addice alle sue esigenze.

Al di là dei dati disponibili, i formati grafici che si possono creare con i template sono rinconducibili tutti a queste tre tipologie:

-           paragrafo generico

-           tabella generica

-           tabella dinamica

5.1           paragrafo generico

Con questo nome indichiamo tutti i paragrafi che stampano una frase discorsiva di lunghezza indefinita che non ha interruzioni di spaziature o indentazioni in punti particolari.

Appartengono a questa categoria:

-           iscrizione

-           laurea

-           durata

-           decadenza

-           immatricolazione

-           lettera di congedo

-           origine

-           postilla

-           sospensione

-           rinuncia

-           tasse

-           tesi e relatori

-           motivo uso

5.2           tabella generica

Appartengono a questa categoria tutte le parti di testo caratterizzate da particolari indentazioni anche sulla stessa riga. Questi testi quindi si possono immaginare come dislocati su di una griglia immaginaria, per l’appunto una tabella. Rientrano tipicamente in questa tipologia:

-           intestazione

-           firma

-           intestazione lettera (con particolare riferimento alla lettera di congedo)

 

Temporaneamente la tabella generica è limitata alla costruzione di una griglia immaginaria che abbia al massimo 4 righe e 3 colonne; in futuro verrà data la possibilità di scegliere liberamente le dimensioni e verrà tolta ogni restrizione.

5.3           tabella dinamica

A differenza dei precedenti, questo tipo di paragrafo si riferisce quasi completamente a dati provenienti da database, detti per questo “dinamici”.

Le peculiarità di questi paragrafi quindi riguardano meno il layout e più il contenuto da recuperare e stampare. Sono tabelle dinamiche:

-           anni di iscrizione

-           esami

-           piano di studi

-           tabella tasse

 

In queste tabelle è possibile stampare anche dati collegati fra loro da relazioni di dipendenza “master-detail” (anche detta padre-figli) in cui ad 1 informazione ne corrispondono N figlie.

Si possono impostare fino a tre livelli di profondità nei dati (master-detail-detail).

In queste tabelle che dipendono da dati dinamici, non avrebbe significato specificare il numero di righe essendo questo variabile.

Il concetto di “riga” però rimane ed è associato al numero di livelli di profondità nelle relazioni padri-figlio fra i dati. Se ad esempio si impostano tre livelli di profondità nei dati (cioè tre righe), il risultato sarà che per ogni dato recuperato da database verranno stampati tre livelli di informazioni. Questo è tipicamente il caso della tabella delle tasse in cui sono presenti tre livelli: tassa, voce e rata.

Il numero di colonne è configurabile senza limitazioni.

6.           modifica di un paragrafo

6.1           struttura della maschera

La maschera di lavorazione ad un paragrafo è suddivisa in tre tab:

-           Informazioni generali di paragrafo

-           Gestione celle

-           Filtri XML

 

6.1.1           Informazioni generali di paragrafo

In questo tab si può definire il layout grafico, l’impaginazione del paragrafo e tutti gli attributi che si vogliono rendere comuni a tutto il testo.

 

 

Come si può vedere dalla figura, è possibile impostare l’allineamento del testo, l’eventuale formattazione in bold oppure italic, la spaziatura che dovrà precedere o seguire il paragrafo, la dimensione del font e il tipo di font.

L’esempio presente nella parte destra, schematizza l’insieme delle impostazioni inserite.

6.1.2           Gestione celle

In questo tab si impostano i veri e propri testi che comporranno il paragrafo. E’ possibile scegliere fra un set di dati dinamici oppure impostare del testo libero.

6.1.2.1 Paragrafo generico

La figura qui sotto mostra come si presenta il tab di gestione celle per un paragrafo di iscrizione.

Ogni riga della maschera rappresenta una “cella” che comporrà il paragrafo. Infatti il paragrafo deve essere immaginato come se fosse virtualmente suddiviso in tante piccole parti che individuino ognuna un dato da recuperare o calcolare.

Se per esempio la frase da comporre fosse “Si certifica che il Sig. <cognome> <nome> nato a <citta_nascita> il <data_nascita>, <è iscritto> al <anno_corso>° anno del <tipo_corso> in <cds_des>”, la frase andrebbe scomposta come mostrato in figura.

Su ogni riga è presente una facilitazione per la scelta delle celle disponibili, è sufficiente cliccare sulla freccia per vedere l’apertura di una lista delle celle disponibili. Al momento della selezione di una cella, verrà mostrato un esempio del testo che quella cella produce. Le celle già scelte vengono contestualmente tolte dalla lista di quelle ancora disponibili.

Ogni cella inoltre, mette a disposizione un set di attributi specifici che è possibile valorizzare, ad esempio la cella “INFO NASCITA” selezionata in figura, consente di scegliere l’ordine con cui stampare il luogo e la data di nascita dello studente, il formato della data, l’eventuale punteggiatura da accodare e infine gli allineamenti o gli stili di testo. Questi ultimi sono attributi sempre disponibili in quanto ogni cella potrebbe avere formattazioni diverse da quelle impostate nel tab “ Informazioni generali di paragrafo ”.

 

I bottoni che sono presenti fra l’elenco delle celle e gli attributi, consentono di operare modifiche all’ordine e ai tipi di celle selezionate. Nello specifico consentono di:

-           fare un inserimento di una cella in punto selezionato

-           accodare una cella all’elenco

-           duplicare una cella che si vuole usare più di una volta

-           inserire un ritorno a capo del testo

-           spostare in basso o in alto una cella

Per togliere la selezione di una cella è sufficiente posizionarsi e scegliere dalla lista l’elemento vuoto o un altro elemento voluto; per eliminare completamente una cella si può invece utilizzare l’apposito bottone “elimina” presente accanto ad ogni cella.

 

La lista di oggetti presenti sulla destra con titolo “Dati” mostra all’utente tutti i dati dinamici disponibili per il template selezionato, inoltre hanno una duplice funzione. Al clic su uno di essi, corrisponde la selezione della cella che lo contiene, così da indicare dove si è posizionato quell’elemento nelle celle. Al clic su di una cella, viene evidenziato in giallo il tipo di dato a cui corrisponde, così da riconoscerlo più facilmente.

6.1.2.2 Tabella generica

Nei casi di paragrafi con struttura a tabella generica, si applicano gli stessi concetti di cella già definiti. La grafica della maschera cerca di aiutare a concepire la tabella come fosse composta da 4 righe e 3 colonne, ma il funzionamento è il medesimo. Su di ogni cella è presente la freccia per aprire la lista di celle disponibili e per ogni cella selezionata è possibile impostare gli attributi specifici.

La figura mostra ad esempio un paragrafo di Intestazione.

 

Per ogni colonna che si vuole creare è necessario impostare la dimensione che dovrà avere in percentuale rispetto alla larghezza del foglio. Sotto le celle è indicato il totale percentuale delle dimensioni che si sono impostate, inoltre viene prodotto un avviso nel caso le dimensioni superino il 100%.

Per non creare una colonna è sufficiente lasciare la sua dimensione a 0.

 

Nella successiva figura si può vedere la maschera per il template Firma.

Nell’immagine si può vedere anche come si mostra la lista delle celle disponibili aperta sulla cella in basso a sinistra.

 

6.1.2.3 Tabella dinamica

La creazione di un paragrafo di questo tipo richiede prima di impostare il numero di righe e di colonne. Il numero di righe è il numero di livelli di profondità nelle relazioni fra i dati.

Le righe possono essere al massimo 3 e le colonne al massimo 15.

 

 

Una volta inserite queste impostazioni tuttavia, è sempre possibile modificarle.

Se si creasse ad esempio una tabella di 2 righe e 6 colonne per stampare i dati del piano di studi, si vedrebbe il tab di Gestione celle nella seguente maniera.

 

Anche per questi template valgono le stesse modalità già definite per gli altri, quindi è possibile predisporre a piacimento sulle varie colonne i dati disponibili. L’unico accorgimento da non dimenticare anche in questo caso è di valorizzare sempre la dimensione delle colonne, quelle che saranno lasciate a dimensione 0 verranno interpretate come da non creare.

 

La tabella delle tasse si potrebbe valorizzare ad esempio così:

 

 

Essendo questo tipo di template focalizzato ai dati dinamici, si è reso indispensabile configurare una serie di altre informazioni legate ai singoli livelli di dati, chiamate “Attributi di riga”.

Questi ultimi sono accedibili nel secondo tab in basso, come si vede da questa figura di un template per la tabella del piano di studio di uno studente.

 

Per ogni riga è possibile specificare:

-           filtri

-           ordinamento

-           raggruppamento

-           frase se vuoto

-           frase femm se vuoto

-           frase intro

-           frase intro femm

-           mostra intestazione

-           indentazione mm

 

I filtri sono condizioni aggiuntive da applicare ai dati recuperati. L’ordinamento è la possibilità di ordinare i dati in base ad un certo campo, per ora non sono consentiti ordinamenti multipli.

Il raggruppamento è la possibilità di avere una sorta di “distinct” sui dati recuperati in base ad un campo.

Le frasi che si possono impostare riguardano il caso che non vi siano dati recuperati e che sia necessaria una frase introduttiva alla tabella; vanno specificate le versioni femminili nel caso siano richieste.

Il check box per mostrare l’intestazione consente di stampare le etichette delle colonne della tabella nella forma preferita, sia su più livelli che solo su uno.

Lo spazio di indentazione che è possibile inserire verrà lasciato conteggiandolo a partire dal margine sinistro.

6.1.3           Filtri XML

In questa parte della maschera si configurano i dati da recuperare dal database e le condizioni di where da applicarvi.

Come si può vedere nell’esempio del template Firma, vi sono riportati l’elenco dei blocchi di informazioni necessarie alla stampa di quel tipo di template. Per ognuno di essi è possibile scegliere da una lookup con quale condizione di where eseguire il recupero.

 

Ad edempio i dati inerenti gli esami possono essere recuperati accedendo con le informazioni della matricola attuale dello studente (detta “chiave matricola”) che otterrà tutti gli esami della carriera attuale dello studente oppure con solo l’informazione dello studente (detta “chiave studente”) che ricaverà tutti gli esami di tutte le carriere dello studente.

 

7.           Generazione

7.1           genera paragrafo

Al termine del lavoro di configurazione di un paragrafo è possibile generarlo tramite il bottone “Genera XSL”. Questo bottone consente di salvare in qualunque momento i dati impostati e di creare un file XSL che sarà necessario alla generazione del certificato completo.

Il file creato si può salvare su File System oppure lasciare che venga depositato solamente su database.

Il pulsante “Chiudi”, al contrario, consente in qualunque momento di uscire dalla maschera senza salvare le modifiche eseguite.

7.2           genera certificato

La chiusura della maschera di gestione paragrafi, riporta alla maschera di gestione certificati nella quale viene data la possibilità di inserire il nuovo paragrafo creato al certificato.

Quando il certificato è completo di tutte le sue parti (paragrafi) e ordinato tramite le frecce di spostamento in basso o in alto, è possibile procedere alla generazione.

Per prima cosa è fondamentale salvare il certificato, dopodichè premere il bottone “Genera certificato”. Quest’ultimo implementa la vera generazione del file XSL da usare per la stampa. Per farlo unisce tutti i codici XSL generati dai singoli paragrafi e lancia la trasformazione di questi su di un file che interpreta tutte le celle selezionate e i relativi attributi. Il risultato della trasformazione è il file finale che può già essere usato per la generazione della stampa PDF.

8.           stampa di un certificato generato dal motore

Dal momento della generazione di un certificato è possibile testarne la stampa tramite l’apposita maschera “stampa certificati utente”. Anche questa maschera come le altre è visibile solo impostando la configurazione client per il motore certificati (vedi cap. 2).

Questa maschera ha lo stesso layout della tipica “Stampa certificati studente”, però consente di stampare tutti e solo i certificati generati col motore. Questi ultimi hanno il codice e la descrizione definiti al momento della creazione del certificato.


 

  • No labels