sabato 11 giugno 2011

pgDesigner è un programma open source per il disegno grafico di database per PostgreSQL.

Maria Susana Diaz | 17:24 |


È prossima l'uscita BETA di pgDesigner2, una nuova versione che aggiunge molte nuove caratteristiche rispetto alla versione precedente.

Il progetto pgDesigner è stato ideato per fornire un ambiente grafico, open-source e non commerciale, come ausilio per la progettazione e la creazione di database PostgreSQL

In effetti in commercio esistono applicazioni simili e, sicuramente più avanzate di pgDesigner, ma sono spesso commerciali, non free o soggette a licenze restrittive.


pgDesigner è nato dopo una lunga e infruttuosa ricerca in rete di programmi simili, e anche per una mia personale scommessa, perché all'epoca avevo sentito parlare di un nuovo linguaggio, Gambas, anch'esso open source, e che sembra promettere molto bene come alternativa a Visual Basic in ambiente Linux; la cosa mi aveva allora incuriosito tanto da volerne testare le effettive capacità e potenzialità, quindi mi sono chiesto: perchà non unire le due cose?.


Come ben evidenziato dal suo autore (Benoit Misinini) sul sito ufficiale di Gambas, questo linguaggio non vuole assolutamente essere una copia di quello in ambiente Windows, e da quello che ho potuto constatare è effettivamente così. Gambas, pur mantenendo la struttura di base del linguaggio Basic, sembra essere intenzionato a correggere molti bachi e lacune del suo antagonista, mantenendo al tempo stesso snellezza e potenza, oltre al fatto che questo è nato e funziona sotto Linux.

Terminata l'osanna a questo linguaggio, parliamo dell'oggetto di questo manuale: pgDesigner.


Attualmente il programma è in uno stato sufficientemente funzionale, con le necessarie basi per sviluppare progetti per la creazione di database per PostgreSQL. L'applicazione si basa essenzialmente su un'unico ambiente (SDI), con cui è possibile disegnare la struttura di un archivio.


Lo sviluppo di PostgreSQL è in continua evoluzione, specialmente in questi ultimi tempi dove sono ben affermati RDBMS come Oracle e DB2, per cui è possibile che alcune nuove implementazioni non siano state ancora aggiunte al programma, ma non disperate...


 La versione ALPHA è scaricabile dal repository SVN su sourceforge.net


Elenco caratteristiche:

  • Nuovo ambiente di sviluppo ottimizzato
  • Selezione della lingua
  • Gestione delle dimensioni iniziali della finestra principale dell'applicazione
  • Gestione della visualizzazione della toolbar
  • Gestione della visualizzazione del pannello di stato
  • Gestione della visualizzazione del pannello strumenti
  • Gestione della visualizzazione dei tooltip
  • Gestione della posizione delle tab delle schede progetti
  • Gestione delle impostazioni di default della stampante
  • Barra menu, con le principali funzioni contenute nel menu generale
  • Splash screen iniziale
  • Barra di stato, per la visualizzazione dello stato corrente del progetto e degli oggetti nel diagramma
  • Toolbar per la selezione e la creazione degli oggetti
  • Navigatore con l'elenco degli oggetti e dei display del progetto
  • Mini mappa interattiva del diagramma di progetto
  • Visualizzazione dei limiti di pagina nel diagramma
  • Impostazione delle dimensioni e del colore di sfondo del diagramma
  • Zoom del diagramma
  • Gestione dei colori degli oggetti nel diagramma
  • Gestione dei font degli oggetti nel diagramma
  • Gestione dei prefissi e dei suffissi per i nomi degli oggetti
  • Modifica manuale della posizione degli oggetti sul diagramma
  • Selezione del dettaglio degli oggetti nel diagramma
  • Selezione della modalità di disegno delle relazioni
  • Posizione degli oggetti nel diagramma tramite trascinamento con il mouse
  • Riorganizzazione grafica degli oggetti nel diagramma
  • Menu popup per la gestione degli oggetti nel diagramma
  • Configurazione generale su file XML
  • Formato XML unico del file progetto, con estensione personalizzata PGD
  • Gestione di progetti multipli
  • Conversione progetti da versioni precedenti
  • Conversione di progetti tra database diversi
  • Gestione di database: PostgreSQL, MySQL e SQLite
  • Importazione e creazione progetti da file sql o da database
  • Esportazione dei progetti su file sql o su database
  • Import/export di progetti basati su database di tipo: PostgreSQL, MySQL e SQLite
  • Gestione delle impostazioni di base del progetto, con la possibilità di inserire descrizione e note generali
  • Finestra di riepilogo, con le informazioni sullo stato corrente del progetto
  • Gestione display, con visualizzazione differenziata e selettiva degli oggetti nel diagramma
  • Finestre personalizzate per la gestione degli oggetti del progetto
  • Toolbox per la selezione dei tipi per la gestione dei campi di procedura/funzione
  • Wizard per la creazione delle viste
  • Possibilità di inserire oggetti di tipo grafico: rettangoli, testi, stamp, immagini
  • Stampa report di progetto nei formati CSV, PDF, testo e HTML
  • Salvataggio nel file di progetto dei parametri di connessione al database
  • Salvataggio automatico dei progetti, con impostazione del periodo
  • Elenco degli ultimi progetti aperti, con impostazione del numero di voci mostrate nel menu, e la possibilità di eliminare lo storico
  • Impostazione del database e della versione di default
  • Gestione della copia di oggetti, con la possibilità di copiare oggetti tra i progetti aperti
  • Query editor, per l'analisi e la creazione di viste complesse
  • Preview di stampa del diagramma, con la possibilità di salvare il diagramma come file immagine
  • Finestra di ricerca di oggetti nei progetti aperti
  • Funzioni di utilità, quali: configurazione generale, lista e configurazione dei progetti aperti, funzione di codifica/decodifica delle stringhe contenute nei file progetto, informazioni sul sistema e sull'ambiente, spazio disco
  • Finestra di visualizzazione parziale dei dati di tabella contenuti nel database collegato
  • Browser interno per la visualizzazione dei report
  • Gestione centralizzata delle impostazioni generali e dei valori di default per i nuovi progetti
  • Invio dei progetti e dei report via email
  • E altro ancora...


Per l'esecuzione di pgDesigner è necessario installare l'intero ambiente di sviluppo o le sole librerie di Gambas2, scaricabili dal sito ufficiale:



Per gli utenti di lingua Italiana è disponibile il forum sul sito:




Per creare un nuovo progetto è sufficiente selezionare la relativa voce all'interno del gruppo File del Menu Principale. Viene presentata una finestra di dialogo, in cui potranno essere impostate le proprietà di base del progetto, inclusi il nome e la versione di PostgreSQL che si desidera utilizzare o a cui indirizzare il progetto.
Come mostrato nella figura, oltre al nome e alla combo con l'elenco dei driver PostgreSQL previsti in pgDesigner, è possibile definire in anticipo l'estensione del nuovo file di progetto, inserire il nome dell'autore e una descrizione sommaria del progetto stesso. Tranne che per il nome e il tipo di database, tutti i restanti campi sono facoltativi, o verranno richiesti quando necessario.


 
  
Apertura di un Progetto esistente.

pgDesigner prevede la possibilità ripristinare un progetto, caricando le relative informazioni da appositi file strutturati, contenenti tutte le informazioni necessarie. I file sono concettualmente dei file di testo, e sono impostati in modo da contenere tutte le proprietà del progetto e degli oggetti contenuti in esso, comprese tutte le personalizzazioni a livello di display, colore e posizione all'interno del diagramma. Allo stato attuale, sono previsti due tipologie di caricamento, di seguito descritte, essenzialmente basate su file presenti nel sistema in uso.

Sempre per mezzo della relativa voce presente nel Menu Principale, sotto il gruppo File, è possibile caricare un progetto precedentemente salvato su file. Viene presentata una finestra di dialogo che permette di selezionare il file da caricare dal disco in base alla sua estensione (ini o xml). Una volta caricato, l'estensione del file viene impostata come default di progetto e utilizzata nei successivi salvataggi.

Durante il caricamento del file e la decodifica del suo contenuto, verrà visualizzata una barra di progressione, che mostrerà lo stato di avanzamento in tempo reale.

Oltre ai file di progetto standard, è anche possibile creare un progetto caricando un file contenente comandi puramente SQL (esempio l'export diretta da un database). È da tener presente che l'ordine degli oggetti contenuti nel file, e quindi le relative istruzioni SQL, deve rispettare l'ordine di creazione degli oggetti sul database, in caso contrario la funzione di caricamento potrebbe non riuscire ad effettuare i necessari collegamenti e definire correttamente le relazioni tra gli oggetti. Per la creazione verranno presi in considerazione esclusivamente i soli oggetti previsti da pgDesigner, e saranno esclusi dal caricamento tutti quelli non riconosciuti. Da tener presente anche che la complessità di decodificare comandi SQL potrebbe causare errori e quindi l'annullamento del caricamento con conseguente cancellazione del nuovo progetto.

Come per i file di progetto standard, durante il caricamento del file e la decodifica del suo contenuto, verrà visualizzata una barra di progressione, che mostrerà lo stato di avanzamento in tempo reale.


Stampa del Diagramma: Anteprima.

Selezionando la relativa voce presente nel gruppo Progetto del menu principale, viene aperta una finestra, come da figura seguente:



Come si può notare dalla figura, la finestra di anteprima si compone di alcune aree. Superiormente sono presenti alcuni campi che visualizzano la configurazione di stampa corrente, che è possibile modificare tramite il pulsante "Print Setup". Sulla destra è presente un pannello verticale, su cui vengono visualizzate le miniature delle pagine nelle quali è scomposto il diagramma del progetto; dipendentemente dal formato, dall'orientamento e dalla risoluzione di stampa, il formato di queste miniature può essere diverso. Al centro è presente un pannello su cui viene visualizzata la pagina corrente; il disegno della pagina è per ovvi motivi dimensionato per adattarsi all'area a disposizione, ma dà un'idea di come verrà effettuata la stampa finale.

Una pagina può essere selezionata e visualizzata nel pannello centrale cliccando con il tasto sinistro su una delle miniature mostrate sul pannello laterale; la pagina selezionata verrà disegnata con dimensioni maggiore sul pannello centrale, mentre la miniatura verrà evidenziata da un bordo di colore rosso. In uno dei campi presenti superiormente alla finestra, è visualizzato il numero di pagina corrente e il numero totale di pagine cui è composto il diagramma.
Date le dimensioni del diagramma di progetto, come descritto nei precedenti capitoli, pgDesigner prevede un algoritmo che determina le zone utili alla stampa, eliminando le aree che non contengono oggetti o elementi grafici (vedi aree e linee di relazione); questo, in modo da evitare di stampare inutilmente pagine vuote e sprecare di conseguenza carta (un pò di economia... meno alberi da tagliare...).

Come detto, ogni pagina contiene una sezione del diagramma del progetto; per poter identificare le pagine, su ogni foglio viene disegnato un bordo ed, esternamente, una serie di informazioni, tra cui: il nome del progetto e la data di revisione, la data di stampa e il numero di pagina.

Come accennato, è possibile in qualsiasi momento modificare le impostazioni stampa, accedendo ad una finestra in cui è possibile determinare sia il driver e la stampante di destinazione, sia il formato e l'orientamento delle stampe. Le impostazione resteranno valide anche dopo la chiusura della finestra di anteprima, e riportate sul diagramma.

Come si può notare, nella finestra sono presenti anche due check; il primo permette di ridurre tutto il grafico in una singola pagina. Ovviamente, le dimensioni del grafico possono condizionare pesantemente questa scelta; un grafico molto grande potrebbe risultare illeggibile se ridotto e stampato su un'unica pagina, specialmente in formati di stampa molto piccoli. Il secondo check permette di salvare il grafico su un file immagine.

Altre funzioni: Statistiche del progetto.



La finestra delle statistiche contiene una serie di informazioni strettamente legate allo stato corrente di un progetto. Come si può facilmente vedere nella figura seguente, nella zona superiore della finestra sono visualizzate alcune delle informazioni che sono presenti nella finestra parametri del progetto, ovvero: il nome del progetto, il nome del file che contiene il progetto, la descrizione del progetto, l'estensione usata per il file ed un'icona (o led) ad indicare lo stato di modifica corrente (rosso = modificato).

Nell'area sottostante sono presenti una serie di cartelle che contengono alcune informazioni statistiche: Statistiche, Elenco oggetti, Campi, Display.


Nella cartella "Statistiche" sono presenti i valori corrispondenti al numero di elementi, divisi per tipologia, contenuti nel progetto.


La cartella "Elenco oggetti" contiene l'elenco nominativo e la tipologia di tutti gli oggetti presenti nel progetto. La lista ha anche una funzione attiva, il doppio click del mouse su una riga presente nell'elenco rende attivo l'oggetto corrispondente sul diagramma e apre la relativa finestra per la modifica delle proprietà dell'oggetto stesso.


La cartella "Campi" presenta una lista con il nome di tutti i campi contenuti in tutte le tabelle presenti nel progetto; oltre al nome del campo sono anche visualizzati i riferimenti alla nome della tabella di appartenenza, la tipologia e la dimensione del campo.

Come per la lista contenuta nella cartella precedente l'elenco ha anche funzione attiva, il doppio click del mouse su una riga presente nell'elenco rende attivo la tabella corrispondente sul diagramma e apre la relativa finestra per la modifica delle proprietà dell'oggetto stesso.


L'ultima cartella "Display" contiene l'elenco dei display contenuti nel progetto. Come per le due cartelle precedenti l'elenco ha una funzione attiva, il doppio click del mouse rende attivo il display corrispondente, visualizzandolo nel diagramma corrente.

La finestra delle statistiche dispone anche di un menu, con cui è possibile salvare su file o inviare su stampante gli elenchi degli oggetti descritti.

 

Ricerca personalizzata




Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:

Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!

LINKEDIN