Autore Topic: Progetto pgDesigner 2/3  (Letto 76395 volte)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #45 il: 25 Novembre 2008, 10:03:56 »
No, però mi sono rassicurato sul fatto che il problema non un errore nel codice di pgDesigner. Stò attendendo risposta da Benoit (o una parolaccia...)...

Ad ogni modo, nel frattempo, o fatto parecchie modifiche e molti rivoluzionamenti nel codice, cercando anche di sistemare il più possibile gli errori; dato che poi la nuova logica di connessione mi è piaciuta, questo mi ha però costretto a rivedere molte cose, ma ora mi sembra molto meglio.
Ieri sera mi sono accorto che alcune nuove modifiche hanno rallentato un pò le procedure di I/O su file, e ora stò cercando di ottimizzarle.
Non ho ancora pubblicato la nuova release di test, perchè mi sono appunto concentrato sulle molte modifiche, e non era il caso di proporre una versione se poi la sconvolgevo completamente... :-)
Tra le variazioni più importanti c'è stata pure quella di costruire una sorta di libreria, sovrascrivendo tutte le funzioni di Gambas utilizzate nel programma; questo per concentrare le variazioni in un solo punto, e anche e soprattutto per controllare meglio tutto quello che riguarda le stringhe (ASCII-UTF8) e personalizzare le funzioni ad-hoc per il programma, rendendole più specializzate.
Una volta sistemate le cose, vedrò di mettere a disposizione la nuova versione.

Ciao!!!

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #46 il: 13 Dicembre 2008, 13:44:35 »
Nuova release alpha di pgDesigner2.

Ho fatto parecchi cambiamenti nel codice, e nelle configurazioni
In particolare, ho aggiunto ulteriori controlli sul caricamento del file di configurazione dell'applicazione e dei file di progetto, per cui è necessario eseguire alcuni passi, per ricuperare i vecchi progetti:

Progetti su file XML: aprire il file con un editor e aggiungere le seguenti informazioni nel tag principale (seconda riga, sotto la testata xml), come da esempio la riga deve apparire:

Codice: [Seleziona]



...
...


Progetti su file INI: aprire il file con un editor, cercare il tag "[pgDesigner2]" e aggiungere le seguenti informazioni sotto il tag, come da esempio la riga deve apparire:

Codice: [Seleziona]

[pgDesigner2]
Type="Project"
Version="2.0.0"


Cancellare il file di configurazione presente nella HOME directory:

Codice: [Seleziona]

# rm $HOME/.pgdesigner2/pgdesigner2.conf


FARE ATTENZIONE A NON ELIMINARE ALTRI FILE !!!

Al momento non ho ancora risolto un paio di problemi con il driver Gambas per MySQL, mentre per SQLite ho dovuto implementare una chiamata diretta al programma "sqlite3" da sistema operativo, per poter determinare in modo corretto (anche se non ancora completamente) le impostazioni dei campi di tabella.
Purtroppo per MySQL non ho ancora avuto risposte da Benoit, e per SQLite, data l'assenza di funzioni specifiche e di tabelle adatte al rilevamento della struttura dei database, ho dovuto prendere alcuni provvedimenti non proprio, a mio avviso, molto puliti. Mi sono documentato molto su SQLite, ma trovo molto complicato gestirne la struttura, in assenza di utility specifiche (al contrario di MySQL e PostgreSQL). Inoltre, la lagica con cui internamente definisce i singoli campi di una tabella, mi pare alquanto azzardata e soggetta a possibili incongruenze.
Ad ogni modo, stò facendo tutto il possibile per gestirli.

Nota: questa versione non è esente da bachi... :-)
E' possibile che alcune cose che funzionavano in un certo modo prima, ora sono cambiate; la struttura delle classi è cambiata molto, e l'ho fatto anche per rendere l'idea, a chi legge i sorgenti, di cosa si possa fare in Gambas2.

...intanto io procedo nello sviluppo...

Bye

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Progetto pgDesigner 2
« Risposta #47 il: 13 Dicembre 2008, 14:46:21 »
ehi ma i bachi ci devono essere sempre sennò se le cose vanno bene la gente si annoia ad usare linux e passa a winzozz!!! :-D

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #48 il: 14 Dicembre 2008, 12:05:26 »
Una specie come il formaggio sardo, con i bachi è più buono... :-)

Scherzi a parte, spero che anche le singole parti e alcune soluzioni che ho applicato al programma possano essere anche d'aiuto per capire Gambas.
Per il momento gli unici problemi riscontrati sono relativi ad alcuni buchetti di Gambas2, cosa che mi ha confermato Benoit.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #49 il: 10 Gennaio 2009, 19:01:50 »
Altra versione ALPHA!

Ho fatto svariate modifiche, e sistemato altrettante cose, anche se non si vedono a livello di uso. Una delle cose che ho fatto, è stata quella di distribuire in modo più congruo tutte le funzioni e le classi statiche, raggruppandole anche in una sorta di schema logico. Chi leggerà il codice, vedrà anche una replica delle funzioni base di Gambas, che ho adattato in classi statiche, e che ho modificato per rispondere correttamente ad alcune funzioni interne di pgDesigner. Lo scopo principale di questa cosa, è quello di concentrare il più possibile le chiamate in punti nevralgici, in modo da rendere più semplice (apparentemente) eventuali modifiche.

Ad ogni, faccio un riassunto degli aggiornamenti in questa release:

- # NEW: Aggiunta la possibilità di esportare il progetto su file CSV.
- # NEW: Aggiunta una finestra di dialogo, contenente alcune utility, tra cui: la visualizzazione della configurazione corrente, l'elenco dei progetti aperti e relative configurazioni, la codifica/decodifica usata per salvare/leggere i dati codificati dai file di progetto. Quest'ultima è utile per la correzione manuale dei dati nei file progetto.
- # UPD: La lingua di default viene ora determinata dalla impostazione di sistema, o dal parametro LANG; la finestra di selezione della lingua viene visualizzata solo se risulta impossibile determinare queste condizioni.
- # UPD: Aggiunta la lettura da database della definizione UNIQUE per gli indici in SQLite.
- # UPD: Miglioramenti nelle funzioni HTML.
- # UPD: Il modulo di lancio dell'applicazione è stato modificato. All'avvio l'applicazione viene impostata automaticamente con il linguaggio di sistema, se presente, altrimenti verrà visualizzata la finestra di configurazione. Sono previsti due tipi di parametro: "LANG=", seguito dall'identificativo di lingua (es. "it_IT.UTF-8"), con cui è possibile definire da riga di comando la lingua corrente (in caso di errore, o incongruenza, verrà impostata la lingua di default); "FILE=", seguito dal nome del file progetto (path compresa, e tutto senza spazi in mezzo), che sostituisce la precedente logica di caricamento automatico dei file di progetto (questo parametro può essere definito più volte a riga di comando, per ogni file che si desidera caricare alla partenza del programma).
- # UPD: Aggiornamento delle traduzioni. Nel tempo libero, ho cercato di procedere nelle traduzioni dei testi, nelle lingue che erano previste dalla vecchia versione, ma questa sarà sempre una cosa che necessiterà di interventi da chi conosce le lingue meglio di me e del traduttore software che stò usando... (spero che qualcuno recepisca il messaggio...)
- # UPD: Le procedure di report sono state aggiornate e migliorate (questo comprende anche il nuovo CVS).
- # UPD: Le procedure di lettura/scrittura dei file progetto sono state aggiornate e migliorate.
- # UPD: La procedura di conversione dei file progetto è stata aggiornata e corretta (...forse...).
- # UPD: A causa di alcune implementazioni nella libreria xml di Gambas (in effetti, dopo aver capito che la libreria ha dei problemi con certe strutture...), i file progetto sono stati modificati. E' opportuno, quindi, eseguire la procedura di conversione dei progetti, presente nel menù Strumenti. Pro divulgazione: la logica attuale con cui è stata costruita la libreria gb.xml, al momento non riesce a capire la chiusura dei tag, se questa viene fatta subito dopo la dichiarazione di eventuali attributi (es. ), per cui è necessario che la costruzione di file xml avvenga in questo modo: ; lo spacchettamento del tag provoca la comparsa di un item "#text", che corrisponde all'eventuale testo che compare tra l'apertura e la chiusura del tag.
- # UPD: Le funzioni di disegno degli oggetti sono state riorganizzate e migliorate. Chissà, forse un giorno gestirò tutto in OpenGL...
- # NDA: A causa della difficoltà, con SQLite, di determinare completamente la struttura dei campi di tabella, nel driver è stata utilizzata una shell al programma "sqlite" (o "sqlite3" per la versione 3). Sulla base di questa modifica, è necessario che per l'accesso ai database SQLite, sul sistema sia presente questa utility, che di norma viene installata da tutte le distribuzioni Linux.
- # NDA: A causa di un problema, di cui non si è ancora appreso il motivo, il caricamento in MySQL, delle informazioni riguardanti i campi di tabella di tipo "longtext", può essere effettuato solo tramire utente "root"; con altri utenti, il contenuto stranamente non viene caricato... In pratica, il problema che mi aveva assillato in questo periodo, non era causato da Gambas, bensì da MySQL; spero di avere un riscontro positivo ...
- # NDA: Programma compilato con la versione 2.10.2 di Gambas (ultimissima!). In realtà le modifiche delle ultime 2/3 versione, non hanno condizionato il programma, per cui credo che sia sufficiente ricompilarlo.

P.S.: attendo sempre qualche volontario che si faccia avanti per aiutarmi... :-)

Ciao!

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #50 il: 18 Gennaio 2009, 23:48:37 »
In questa versione ci sono molte altre modifiche e implementazioni, tra cui anche un nuovo set di icone (spero siano gradite...).

Come ho detto a leo, qualche giorno fà, ho ritenuto opportuno continuare ad inserire il progetto su SourceForge.net, anche perchè questo dà modo al programma, di essere visto da più persone, anche al di fuori dell'ambito Gambas; oltre a ciò, è quanto mai necessario un maggior numero di contributi, anche dal lato traduzioni.

Comunque, continuerò comunque a pubblicare anche su questo sito le nuove versioni, contemporaneamente agli aggiornamenti su sf.net, o quasi; il "quasi" stà nel fatto che ho attivato anche il repository Subversion, che sf.net mette a disposizione per i sorgenti, e questo mi permette di avere un colloquio più idoneo con eventuali contributori.

L'invio al partecipare al progetto è sempre valido!

Ciao a tutti.

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #51 il: 19 Gennaio 2009, 23:31:27 »
Non riesco a decomprimerlo, mi da questo errore:

:~$ tar xvfj pgDesigner2-2.0.0-alpha-659.tar.bz2
tar: Questo non sembra un archivio tar
tar: Salto alla prossima intestazione
tar: Uscita per errore ritardata dall'errore precedente
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #52 il: 21 Gennaio 2009, 15:00:57 »
Il file è un .bz, per cui devi usare:

1) uno dei programmi di compressione, presenti nel menu del tuo desktop, che riconosce questo tipo di file

oppure

2) dare il comando "bunzip2 ", che ti estrae il tar contenuto, e poi il tar come l'hai fatto tu.

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #53 il: 21 Gennaio 2009, 17:03:42 »
Tutto ok. Grazie
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #54 il: 25 Gennaio 2009, 00:52:15 »
Nuova versione ALPHA.

Ciao

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #55 il: 03 Febbraio 2009, 18:55:24 »
In questa versione ho inserito lo Zoom, ovvero la possibilità di rimpicciolire o ingrandire la visualizzazione del diagramma del progetto.
Data la possibilità di avere diagrammi di dimensioni abbastanza grandi, ho ridotto le combinazioni di zoom: 400%, 200%, 100%, 50% e 25%.
Su questa nuova funzionalità ci stò ancora lavorando, per correggere eventuali incongruenze, per cui è possibile che in alcuni casi possa non funzionare a dovere; ad ogni modo, è sempre possibile ripristinare la risoluzione al 100%, per rimettere le cose a posto (il default).
La logica usata è abbastanza complessa, dato che l'interattività (ovvero la possibilità di selezionare e muovere oggetti) resta comunque valida in tutte le risoluzioni di zoom. Per far questo ho docuto implementare un nuova classe, per la conversione delle coordinate, da virtuali a reali, e viceversa, mantenendo comunque la posizione e le dimensioni reali di ogni singolo oggetto, che poi vengono memorizzate nel file del progetto.
Nella finestra delle opzioni generali, ho inserito la possibilità di definire un fattore di zoom di default, salvato nel file di configurazione e applicato immediatamente alla partenza del programma, su ogni progetto che viene creato o aperto da un file esistente.
Ovviamente, la velocità di ridisegno del diagramma varia dipendentemente dalle dimensioni del diagramma stesso ovvero, se si seleziona uno zoom con fattore 400%, il grafico impiegherà diversi secondi prima di presentare un diagramma stabile; altresì, se si sceglie un fattore 25%, la velocità verrà enormemente incrementata ma, la leggibilità del diagramma sarà di conseguenza minore.
L'utilità di questa nuova funzionalità, è di poter vedere l'intero diagramma all'interno dell'area di scroll visibile, e poter avere una visione più generale del progetto.
La funzione di zoom è collegata al singolo display (o schema), per cui è possibile definire diversi zoom per tutti i display delo progetto, e anche tra i vari progetti aperti.
Al momento non ho previsto la memorizzazione dello stato dello zoom sui file di progetto, per cui al successivo caricamento, verranno tutti ripristinati al valore di default.

Nota: per motivi di spazio e di obsolescenza, ho eliminato tutte le precedenti versioni alpha, sollevando leo da questo ingrato compito... :-)

Ciao

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #56 il: 06 Febbraio 2009, 00:01:47 »
Alcune correzioni, alcune introdotte nella precedente versione.

Ciao

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #57 il: 15 Febbraio 2009, 20:49:59 »
NOTA per chi stà utilizzando il programma nella versione ALPHA !!!

Attualmente stò ristrutturando il formato dei file di progetto, riscrivendo anche le funzioni di lettura e scrittura; le modifiche apportate rendono completamente incompatibili i formati precedenti (sempre riguardo le ALPHA...). La cosa è però diversa nel caso dei progetti delle versioni pubblicate fino alla 1.2.8, per le quali avevo già creato delle procedure di conversione, anche queste adattate alla nuova struttura.

Le modifiche riguardano tutti e due i formati (INI e XML) !!!

Al momento ci stò ancora lavorando, per cui la nuova versione sarà disponibile appena testato il tutto.

Bye

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #58 il: 25 Febbraio 2009, 01:16:50 »
- # NEW: Durante l'importazione delle informazioni dal database, è possibile
- #      visualizzare il contenuto di una tabella tramite il pulsante
- #      Visualizza, nell'elenco degli oggetti da importare. Per evitare di
- #      caricare eccessivamente la funzione, il numero è limitato a 20 record.
- # UPD: Alcuni aggiornamenti nelle traduzioni.
- # UPD: Nella finestra delle statistiche di progetto è stato implementato
- #      l'ordinamento delle colonne delle liste. L'effetto viene attivato
- #      selezionando la testata della singola colonna che, alternativamente,
- #      visualizza l'elenco in ordine ascendente o discendente.
- # UPD: Riscritte le funzioni di scrittura/lettura dei file progetto; la nuova
- #      struttura è incompatibile con le versioni di sviluppo precedenti. Sono
- #      state anche riscritte le funzioni di conversione dei progetti fino
- #      alla versione pgDesigner 1.2.8.
- # UPD: Aggiornati il logo e le icone dell'applicazione.
- # BUG: Corretti alcuni errori nelle procedure di report.
- # BUG: Corretti alcuni errori nella procedura di creazione dei file
- #      sql e nella finestra di dialogo per le esportazioni.
- # BUG: Corretto l'errore che si verificava cliccando con il mouse nel
- #      grafico.
- # BUG: Corretto un problema nel caricamento degli oggetti da database.
- # BUG: Corretti alcuni errori minori nel disegno degli oggetti.
- # NDA: Programma compilato con la versione 2.11.1 di Gambas.

Nota: sono ancora da sistemare le funzioni di conversione dei vecchi file progetto.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Progetto pgDesigner 2
« Risposta #59 il: 25 Febbraio 2009, 01:19:01 »
Scusami ma visto che ormai il tuo progetto ha raggiunto una certa importanza non puoi crearti una pagina wiki?

Chiedevo così...