Gambas-it

Gambas3 => Programmazione => Topic aperto da: md9327 - 10 Maggio 2011, 21:44:04

Titolo: Idea su una libreria comune e condivisa
Inserito da: md9327 - 10 Maggio 2011, 21:44:04
Avevo già in mente di proporla a suo tempo, quando ho iniziato a concentrare pezzi di codice all'interno della libreria CLib.

In parole povere, l'idea sarebbe quella di riunire in un'unica libreria, o framework, tutte quelle funzioni, classi e oggetti che ognuno di noi ha contribuito a creare e a distribuire alla comunità Gambas. Ho visto creare molti bei pezzi di software, e popolare il repository di questo sito, ma ho pure notato che tutto ciò ha contribuito a frastagliare il nostro lavoro in tanti singoli pezzetti, non ottimizzati, separati tra loro.

La mia idea sarebbe quella di creare una sorta di blocco unico (chiamatelo pure framework, anche se la parola non mi piace molto), composto da varie classi o oggetti, ma raggruppati, unificati e standardizzati in un'unica libreria di utility.

Come esempio porto quello di CLib, dove stò tentando di fare questa cosa, ma sarebbe carino che questa logica venga espansa a livello globale. E' sottonteso che quello di CLib non vuole essere un campione di quello che ho in mente, ma solo un'idea su una possibile implementazione, d'accordo con tutti gli amici di questo forum.

Che ne dite?

Potrebbe diventare un pezzo importante di/per Gambas, e magari portare più popolarità e prestigio a questo sito...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: sotema - 10 Maggio 2011, 22:42:07
...e magari diventare uno stimolo per le genti d'oltralpe...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: Ceskho - 11 Maggio 2011, 00:22:38
Come avresti intenzione di muoverti? Repository condiviso? Le diretive di base come le si impostano? creiamo una pagina wiki con i punti da seguire per ottimizzare la creazione della classe? Qualcuno dovrà però supervisionare il codice ogni tanto perchè gente diversa che lavora allo stesso progetto sicuramene apporta "doppioni" e codice superfluo.

A me interessa molto visto che ho tentato mille votle invano di creare un repo centralizzato di tutte le nostre classi....

Vorrei più informazioni...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 11 Maggio 2011, 10:57:14
La mia idea è un concetto astratto, che però comprende sia la definizione di un repository concentrato, sia la definizione di una struttura logico/sintattica con cui scrivere il codice.

Il repository lo abbiamo già: download

Per la libreria, visti i limiti e le modalità di creazione delle librerie in Gambas, penserei ad una serie di pacchetti, ognuno specializzato in una determinata cosa. Porto ad esempio la libreria che avevo iniziato a costruire CLib che, in realtà è un repository dove poi inserisco i vari pacchetti specializzati (es. gb.clib.tree).

La creazione di ogni singolo pacchetto deve seguire una determinata nomenclatura, sia per identificarlo univocamente all'interno del repository, sia per identificarlo come facente parte del repository stesso. Sempre nell'esempio di CLib, i singoli pacchetti (come anche suggerito dal sito ufficiale gambas) iniziano tutti con un "gb.clib", seguito dal nome della classe principale contenuta all'interno dello stesso.

La creazione di singoli pacchetti permette ad ognuno di gestirsi autonomamente la propria libreria, senza escludere la possibilità di team di sviluppo ad-hoc.

Il concetto è, tutto sommato, molto semplice, perchè è solo un concetto.
Per il dettaglio delle specifiche, si può definire una volta che si unranno abbastanza persone per creare il team di sviluppo.
Bè, in realtà non è che dobbiamo creare appositi team, perchè ognuno potrà contribuire al progetto, ma dovrà attenersi alle specifiche che andremo a definire.
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: Ceskho - 11 Maggio 2011, 13:22:03
Come già detto io sarei interessatissimo.....però secondo me il repository lo si potrebbe creare su un sito tipo github o sourceforge così la collaborazione sarebbe mille volte più semplice
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 11 Maggio 2011, 16:59:40
Il mio era un concetto, ovviamente nella pratica è tutto da decidere.

Và benissimo sourceforge, o altro, che forniscono tutti gli strumenti che permettono la gestioni di progetti multiusers.

Vediamo se altri si uniscono all'idea, poi si forma il primo gruppuscolo di individui, e si mette giù qualche idea pratica, con anche una linea guida...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: Ceskho - 12 Maggio 2011, 00:11:56
Io preferisco github perchè utilizza git che è ottimo (esce dalla capoccia di Linus torvalds, mica un Ceskho qualsiasi), agevola la creazione di fork, è possibile creare un sito statico, da possibilità di creare wiki e microforum (issues), multiutenza, ...etc....

Ma si tratterà solo di classi o di classi e moduli?
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 12 Maggio 2011, 00:55:55
La preferenza non si discute, perchè è soggetta a esperienza personale, comunque io mi sono trovato bene con sourceforge, che tra l'altro ha le stesse cose che hai menzionato, con anche altre feature.

Ma, a prescidere da questo, che andrà valutato dopo, la mia idea è quella che più si avvicina ad un framework (il che potrebbe essere che forse in futuro riusciremo ad implementare).

Abbiamo già un certo numero di moduli, classi o quant'altro, scritti da vari amici del forum. Quello che mi piacerebbe ottenere è una sorta di contenitore, di classi, oggetti e funzioni, di utilità, ma catalogati e gestiti secondo uno standard, un formato ben definito. Il tutto dovrebbe poter essere amalgamato in una sorta di framework embrionale.
Questo, ci permetterà, una volta raggiunto un certo grado di affidabilità e completezza, di creare un vero e proprio ambiente di sviluppo completo, a disposizione di tutti, con caratteristiche evolute, il tutto basato sulla struttura di base che è gambas.

Ribadisco, la mia idea è più un concetto di standardizzazione, più che una situazione reale. Per trasformarla in realtà è necessario un certo interesse da parte di un gruppo di persone. Se poi se ne aggiungeranno altre, meglio...

Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: andy60 - 15 Maggio 2011, 18:36:47
bellissima idea, approvo e se posso dare una mano mi farà piacere
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 16 Maggio 2011, 15:05:28
Sicuramente andy!!!
Fare una cosa di questo genere comporta la gestione di alcuni aspetti, sia a livello di codice che altro. Ogni contributo sarà valido se gestito secondo specifica. Anche un pezzetto di codice, una funzioncina utile e indipendente può contribuire a creare un oggetto particolare.
Credo che ognuno di noi abbia in qualche modo scritto cose particolari per i propri programmi, per cui...

E siamo tre...

Se sono riuscito a esprimere bene il mio concetto, dovremmo iniziare a definire il nome dell'intero progetto. Sulla base di questo, poi, metteremo a punto le singole specifiche, in modo che siano comuni a tutte le librerie che andremo ad includere nel progetto.
Da parte mia ho pensato, anche sulla base delle specifiche ufficiali dettate dal progetto Gambas, di chiamare il progetto così: CLib  ;D (hehehe che fantasia, ovviamente scherzo...). Dopodiche ogni libreria dovrà contenere un solo elemento utile, una classe principe, che funge da unico scopo della libreria stessa. Ovviamente, la stessa singola libreria potrà contenere ulteriori oggetti, moduli o altro, necessari alla classe base. Però, se una funzione o oggetto, sarà considerato utile anche ad altre librerie, dovrà essere contenuto in un'apposita libreria di utilità.
Per fare un esempio, se qualcuno ha dato un'occhiata alla CLib, ho cercato di applicare questa logica, unendo varie funzionalità di precise librerie, dipedentemente dalla loro funzione.
Fatemi sapere cosa ne pensate...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: Picavbg - 16 Maggio 2011, 18:29:30
Quindi, tu dici, per es.: mentre un'apprendista stregone come me, sta scrivendo un programma, sente, a un certo punto del lavoro che avrebbe bisogno di una funzione che tiene conto di quanti caratteri sono stati immessi in una TextBox, basta che traduca codesto bisogno in una ricerca, magari per "descrizione di funzione" nela scatola delle raccolte e ... ,voilà, la trova lì, pronta, la scarica e la incollo al programmino, senza nessuna fatica. Certamente è una bella idea, che aiuta a velocizzare il lavoro di programmazione senza obbligare a scoprire ogni volta l'acqua calda. Se, nel mio piccolo, posso fare qualcosa pure io, sono pronto.
Ciao.
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: fsurfing - 16 Maggio 2011, 23:35:02
e a me non mi contate?  :hatecomputer:

posso offrire una funzioncina per trasformate una variabile cdate in una stringa tipo: "lunedi 1 aprile" io la uso spessimo,

ma se il progetto va in porto e il numero delle funzioni cresce a dismisura ci si potrebbe trovare con due problemi, uno che servirebbe una guida che illustra tutte le funzioni e il secondo che si dovrebbe inglobare tale libreria nei propri progetti , ma se questa libreria ha 300 funzioni ed io ne uso una sola ne vale la pena di portarsela appresso per intero? o forse non ho capito nulla come al solito?
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 17 Maggio 2011, 09:58:50
Ma certo fsurfing...  ;D

Allora, dato che finalmente si è unito più di qualcuno al discorso, vediamo di chiarire meglio tutto il concetto...

Per costruire una cosa abbastanza dinamica e snella, si dovrebbe prevedere una serie di piccole librerie, ognuna mirata ad determinate funzionalità. Questo è valido anche per le funzioni di utilità, come accennato da picavbg. Per fare un esempio sempre basato sul mio piccola lavoro, a suo tempo avevo tradotto da java una libreria di funzioni di geometria; sono circa una ventina e molto piccole, con il risultato di una librerie piccola e snella. La mia idea è proprio questa, ovvero di non inzeppare dentro uno stesso blocco un numero eccessivo di funzioni, anche se queste sono apparentemente allacciate tra loro. Per fare un'altro esempio, noi possiamo costruire una libreria per la gestione avanzate di una TableView, ma non è detto che molte delle funzionalità che andrà ad usare debbano essere per forza incluse nello stesso file di libreria; molte di queste funzioni potrebbe servire anche ad altri scopi, e quindi devono poter essere costruite in modo il più possibile slegato da riferimenti specifici.
E' ovvio che se ci serivirà una di queste librerie, e questa dipende da altre, dovremo portarci appresso anche le dipendenze. Questo è una cosa valida un pò per tutto e per tutti i linguaggi.

Detto questo, tutto quanto dovrà essere documentato il più possibile in modo dettagliato, quindi dovremo manutenere una sorta di documento (o wiki) che riporti mano mano il contenuto del progetto, per le singole librerie, una sorta di gambasdoc (preso da javadoc...). In questo caso dovremo fare uno sforzo collettivo, e cercare di aggiornare in tempo reale questa documentazione. In pratica si tratterebbe di scrivere cosa fà la libreria, l'elenco dei suoi metodi (o funzioni) e dei parametri, e via dicendo, cercando di dettagliare in modo chiaro il tutto, e il tutto (libreria e doc) inserito nel repository del progetto. Se possibile faremo in modo di creare espressamente le librerie, compilandone i sorgenti in modo che chiunque dovràsolo che inserire la libreria medesima nel suo progetto, oppure aggiungerla alle libreria di gambas.

Scusate per il testo, ma con il browser che stò usando ora, non riesco a vedere bene il testo, visto che scrolla da solo... non sò perchè...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: andy60 - 17 Maggio 2011, 10:01:09
completamente dìacccorddo con quanto detto dal buon Luigi, a proposito non lamentarti della tua età che non sai la mia! :2birre:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 17 Maggio 2011, 11:22:54
Bè, sò la mia in compenso...  ;D
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: andy60 - 17 Maggio 2011, 18:51:19
vado per i 51..
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 17 Maggio 2011, 19:09:31
E li ho superati... di poco...  ;D
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: Ceskho - 17 Maggio 2011, 21:29:25
vado per i 51..

Io non sono neanche a metà del tuo percorso... :rotfl:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: andy60 - 18 Maggio 2011, 08:10:13
grazie a myZone e alla Volontà rendo ancora molto bene!
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 18 Maggio 2011, 12:20:47
Bè, non posso dire di essere un Brad Pitt, ma diciamo che mi mantengo... Perlomeno ho poca pancetta...  ;D
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: Picavbg - 18 Maggio 2011, 23:10:25
A me dovete dare del Vossignoria, perchè vi supero abbondantemente tutti: viaggio verso i 66.  :P
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: Ceskho - 19 Maggio 2011, 03:16:57
A me dovete dare del Vossignoria, perchè vi supero abbondantemente tutti: viaggio verso i 66.  :P


Tranquillo...per come vanno le aziende di trasporti in Italia resterai fermo....tra 10 anni avrai sempre 66 anni....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: fsurfing - 19 Maggio 2011, 07:00:38
mi sembra che qui si sta andando troppo  :ot:
occhio che vi metto in punizione vecchiacci! :rotfl:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: andy60 - 19 Maggio 2011, 08:26:07
direi che stiamo tutti alla grande, dai ragionamenti che si fanno!! :2birre:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 19 Maggio 2011, 11:09:59
essì, ma voi da chi rifornite? è buona almeno?
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: andy60 - 19 Maggio 2011, 16:08:23
essì, ma voi da chi rifornite? è buona almeno?

boh ancora campo!!! :P
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 19 Maggio 2011, 16:15:03
 :rotfl:

Appena ho un pochino di tempo, provo a buttare giù due righe, poi ci discutiamo sopra, se per voi và bene.
A meno che qualcuno non abbia già qualche punto preciso...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: andy60 - 19 Maggio 2011, 19:17:11
@mdxxxx

ok x me
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: Ceskho - 20 Maggio 2011, 17:16:45
Io tempo fa creai questo modulo (https://github.com/OpenCode/MCGambas/wiki/Vectors)....può essere utile da inserire?
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 23 Maggio 2011, 13:37:51
Come ho già detto, se le funzioni o le classi sono generiche, tutto và bene.

E' ovvio supporre che per alcune è possibile che abbiano riferimenti in altre librerie, per cui si forma una certa dipendenza.

L'unico mio scopo è che il tutto sia slegato da riferimenti diretti a cose non legate alle librerie incluse nel progetto, a meno che queste non integrino funzionalità intrinseche di gambas.

Se, facciamo un esempio, per una determinata classe o metodo, ci serva una determinata funzione, presente in un'altra libreria, questa ovviamente attiverà la dipendenza, escludendo quindi la creazione di un duplicato, oppure l'inclusione di codice già scritto.
Se, altro esempio, abbiamo una libreria chiamata gb.clib.pdf, che include PdfWriter, basta linkare la libreria tra quelle del progetto, checcando il relativo riferimento nelle proprietà di progetto. Se espandiamo la stessa classe (PdfWriter), per aggiungerci nuove caratteristiche, le inseriremo nella libreria stessa ma, se le nostre implementazioni sono invece mirate ad una nostra applicazione, allora basta solo aggiungere la libreria, e creare un'apposita classe derivata (INHERITS)...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 28 Luglio 2013, 18:02:02
l'idea è buona ma come molte cose nel forum (mi pare) è stata abbandonata io proporrei di riprendere il discorso cercando di coinvolgere gente nuova e ovviamente i pilastri del forum.....

se non fosse che la cosa sia per gambas che per tutta la comunità è molto positiva non sarei mai andato a pescare questa vecchia discussione... ma come vi ho detto sono curioso di sapere come è andata a finire...

e se non è mai partita si potrebbe addirittura pensare a un programma dove caricare i pezzi di codice (commentati a puntino) che poi vengono spediti in automatico ad un supervisionatore che li integra nella libreria

poi per facilitare il tutto si crea un dowloader con un database aggiornato che provvede a scaricare il pezzo di codie, la classe o il modulo o anche un progetto intero direttamente sul computer di chi desidera il suddetto codice

la cosa si potrebbe sviluppare in modo molto carino carino.....

la struttura del repo con i vari pacchetti è perfetta ma c'è bisobno di semplificere i passaggi...
tipo un programma (può anche essere sempre lo stesso che gestisce tutti i processi di carcamento autonomamente (es. si allega un file oltre al contenuto con la struttura: cos'è (classe, modulo etc..), cosa fà, chi l'ha scritto e magari anche in quanti l'hanno scaricato e ovviamente altre informazioni)
in questo modo si andrebbe semplicemente a leggere il file e a inserire il contenuto nel dowloader in modo da avere molte informazioni su un determinato file e poterselo scieglere.

il codice prima di entrare a far parte del "repo" va supervisionato per evitare che ci siano doppioni o altri inconvenienti poi và standardizzato (possibilmente automaticamente) e caricato in un server
poi tutti coloro che hanno il dowloader potranno subito accedervi.


ora capisco che all'inizio sarà un lavoraccio ma una volta automatizzato tutto sarà molto semplice sia avere il codice che caricarlo per chiunque....

spero di essere stato chiaro e soprattutto di aver attirato l'attenzione dei nuovi iscritti su questa discussione

ora esorto chiunque a rileggere tutta la discussione (tranne i riferimenti alle età.... ;D che pur essendo molto interessanti andrebbero spostati...) e soprattutto l'idea iniziale.

 :ciao:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 29 Luglio 2013, 12:37:22
Sei un pescatore, eh?

L'idea, se non ricordo male, era da me partita ma, come tutte le cose un pò complesse, non ha avuto molto seguito, anche perchè anche io non ho più avuto il tempo di svilupparla.

A suo tempo avevo buttato giù un piccolo scheletro, con una piccola base di funzioni e procedure utili, ma è rimasta così, appunto per il poco tempo che ho da dedicare.

L'idea non era quella di usare il forum, in quanto non adatto a fare da repository di un progetto, bensì utilizzare risorse che già esistono e sono corredate di tutto e di più circa la gestione di repository di code. Un esempio è sourceforge.net.

Questo sito, però, poteva fornire un'ambiente di scambio di idee e una struttura di comunicazione tra i sviluppatori e non, magari fornendo documentazione circa le funzionalità inserite nella libreria/e.

Il problema maggiore, cui avevo già pensato all'epoca, era della necessità appunto di un manager, che potesse avere il compito di coordinatore e certificatore delle patch. Questo però comporta un onere che è difficile che qualcuno prenda in mano. Ognuno hai sui problemi e attività più importanti fuori da questo ambito, per cui...

Mi piacerebbe che qualcuno iniziasse veramente con questo progetto, e io potrei anche dare un pò di supporto, ma il pò è appunto dipendente dal mio tempo a disposizione, che è abbastanza poco, tant'è che ho relativamente abbandonato molti dei progetti che avevo intrapreso, purtroppo...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 29 Luglio 2013, 18:39:34
nel modo in cui avevo proposto, una volta struttorato bene il dowloader la azioni del supervisionatore diventerebbero al quanto scarse perciò....

comunque il problema è cominciare a costruire una struttura server (di caricamento scaricamento automatico) e metterci un bel programmino davanti poi con lo stesso programmino si caricano i propri file (che passano per le mani di qualcuno competente) e poi vengono semplicemente caricate definitivamente sul server.....

sourceforge farebbe al caso nostro per i dowload ma per il caricamento automatico non sò....
comunque se qualcuno mi aiuta un pò ci si può riuscire tranquillamente...
non sò anche in 4/5 che fanno cose diverse (grafica esterna, server, codice puro, etc) si fà senza metterci neanche tanto tempo....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 30 Luglio 2013, 14:03:07
La mia proposta per sourceforge (ma può anche essere un'altro fornitore di servizio simile) è che fornisce tutti gli strumenti per cose simili.
E' un repository, basato su subversion, per cui con gambas non ci sarebbe alcun problema.
Lo sviluppatore, o il team, può accedere al repository, aggiungendo modifiche, patch o quant'altro. La cosa che pensi debba venir fatta è di avere uno o più gestori, che validassero le implementazioni o le modifiche, in modo poi da applicare correttamente le dovute patch.
Questa è una classica logica di lavoro in team, e subversion ne fornisce il supporto per la condivisione del codice, con relativo controllo delle versioni che, in questi casi, potrebbero essere molte e concomitanti.
Non sò se è possibile implementare, almeno in modo veloce e semplice, un sistema del genere qui su questo sito. DI certo sarebbe carino, ma la vedo un pò complicata.
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 30 Luglio 2013, 18:56:04
se si aggiunge qualcunaltro si può inniziare almeno a fare la prima struttura di base...

l'idea deldowloader mi era venuta per evitare di far diventare tutto complicato....

cominciamo a fare le prime prove??

domanda... un programma può caricare su internet dei file e restituire la percentuale di caricamento?

cominciamo a buttar giù qualcosa??
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 31 Luglio 2013, 11:45:26
Citazione
domanda... un programma può caricare su internet dei file e restituire la percentuale di caricamento?

??? In che senso ???
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 31 Luglio 2013, 16:55:23
nel senso:
il nostro programma deve poter caricare in automatico i file nuovi su sourceforge.
cioè fare la stessa cosa dei link diretti ma allinverso...
e credo che la cosa sia abbastanza complessa.....

spero di essermi spiegato....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 01 Agosto 2013, 12:51:17
Ma tu sai come funziona SubVersion?

Gambas stesso ha la possibilità di agganciarsi ad un repository di questo tipo (tra l'altro solo di questo tipo).
Fai modifiche alle tue (o anche alle altre) librerie e poi aggiorni il repository, che ti crea una versione (basata sulla data). Il manager deve validarla, in modo che verifichi che sia conforme alle specifiche (decise a priori), e che sia pure funzionante (altrimenti è in sviluppo, o una beta). Una volta verificato il tutto si può decidere, insieme al gruppo di sviluppo, o al gruppo di competenza di una determinata library, di renderla pubblicabile, quindi creando una nuova release. Questa verrà congelata, sempre sul repository e, eventualmente si può prevedere di farne un pacchetto installante (es. un rpm o un deb).
Di solito, per i progetti, si decice di nominare un Project Manager, che ha il compito di dirigere le operazioni.  Se si decide di creare più sottoprogetti (che è il nostro caso), di norma si nominano tanti Team Manager per quanti sono i progetti, e che fanno capo al PM. In alternativa il PM può essere l'intero gruppo di Team Manager, che si riunisce e decide le modifiche dell'intero progetto.
Ovviamente i contributori possono essere tutti, dopo regolare registrazione al team, in modo da poter associare i compiti e tracciare le modifiche. I TM e il PM hanno il compito, oltre a quello di contrinbuire allo sviluppo (se lo desiderano), di controllori e validatori. L'eventuale congelamento di una release può comunque essere decisa da tutti i componenti del team (o dei team).
Tutto ciò è da decidere...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 02 Agosto 2013, 09:57:41
Ma tu sai come funziona SubVersion?
purtroppo non l'ho mai usato, ancora....

allora si procede...

ricapitolando


Gambas stesso ha la possibilità di agganciarsi ad un repository di questo tipo (tra l'altro solo di questo tipo).
Fai modifiche alle tue (o anche alle altre) librerie e poi aggiorni il repository, che ti crea una versione (basata sulla data). Il manager deve validarla, in modo che verifichi che sia conforme alle specifiche (decise a priori), e che sia pure funzionante (altrimenti è in sviluppo, o una beta). Una volta verificato il tutto si può decidere, insieme al gruppo di sviluppo, o al gruppo di competenza di una determinata library, di renderla pubblicabile, quindi creando una nuova release. Questa verrà congelata, sempre sul repository e, eventualmente si può prevedere di farne un pacchetto installante (es. un rpm o un deb).
Di solito, per i progetti, si decice di nominare un Project Manager, che ha il compito di dirigere le operazioni.  Se si decide di creare più sottoprogetti (che è il nostro caso), di norma si nominano tanti Team Manager per quanti sono i progetti, e che fanno capo al PM. In alternativa il PM può essere l'intero gruppo di Team Manager, che si riunisce e decide le modifiche dell'intero progetto.
Ovviamente i contributori possono essere tutti, dopo regolare registrazione al team, in modo da poter associare i compiti e tracciare le modifiche. I TM e il PM hanno il compito, oltre a quello di contrinbuire allo sviluppo (se lo desiderano), di controllori e validatori. L'eventuale congelamento di una release può comunque essere decisa da tutti i componenti del team (o dei team).
condivido a pieno...

Tutto ciò è da decidere...
......deciso......

project manager: per ora io e te
team.... (error: not an object).....  ;D si vedrà chi si aggrega....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 02 Agosto 2013, 13:53:20
Credo sia meglio tu dia una letta a come funziona svn.

Non servono programmi ad-hoc. Ogni utente registrato, dipendentemente dal profilo, può aggiungere e/o modificare file. Ogni variazione viene tracciata, in modo che si possa identificare qual'è, chi l'ha fatta, quando l'ha fatta. In caso si può annullare, ritornando alla situazione immediatamente precedente (di solito quella che funzionava).
L'idea dei team separati mi era venuta in base al pensiero che forse era il caso di separare la libreria in sezioni separate, divise per tipologia. Per fare un esempio, hai visto bene che vuott ha lavorato molto, ed è quindi il max esperto, dell'ambiente midi e/o musicale che dir si voglia. Si può pensare, quindi, di creare un team specializzato nel campo musicale, che si occupi di creare driver e moduli ad-hoc per questo scopo. Poi, per dirla tutta, e sempre come esempio, vuott stesso può fare da team leader, e quindi valutare e verificare il codice che, mano mano, gli sviluppatori vanno ad inserire nel repository.
Riguardo invece alla struttura logica del progetto, inteso come progetto globale comprendente tutte le librerie create, si dovrà sottostare ad alcune modalità standard, con le quali dettare regole uguali per tutti, e che tutti possano capire.
In Gambas, come pure in altri gruppi di lavoro in genere, per poter creare librerie conformi ad un singolo standard, validato, gli sviluppatori devono attenersi a determinate regole. Puoi dare un'occhiata alla documentazione sul sito ufficiale...
Il project manager, o i rappresentati stessi dei vari team di lavoro, potranno poi decidere se congelare il progetto, e pubblicarlo come release definitiva. Ciò non toglie che lo sviluppo continui comunque.

Un consiglio, prima di mettere tutte le carte in tavolo e/o decidere cosa fare, credo sia opportuno conoscere un minimo gli strumenti che sono già a disposizione, e che sono studiati proprio per questo tipo di attività. SubVersion è uno di questi strumenti, e sourceforge è un sito che fornisce, oltre a svn, anche altre utility. Anche google c'è l'ha, ma ad ogni modo la scelta verrà fatta una volta stabilite le regole.

Prima ho nominato vuott, non me voglia, era solo un esempio che calzava vista la sua grande attività sullo sviluppo in campo midi. Anche riguardo me la vedo complicata, in quanto ho dei tempi molto ristretti e ballerini, che danno molto poco affidamento.
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 02 Agosto 2013, 15:45:33
vuott stesso può fare da team leader, e quindi valutare e verificare il codice che, mano mano, gli sviluppatori vanno ad inserire nel repository.

...Vuott alla prima riunione del gruppo:

(http://i48.tinypic.com/wwkwh4.jpg)
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 02 Agosto 2013, 16:05:29
 :rotfl: :rotfl: :rotfl:

Sicuramente tu sarai il gestore loghi e affini... visto che solo tu trovi 'sta roba...  :rotfl:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 04 Agosto 2013, 22:14:35
il programmino serviva solo per evitare una wiki esterna.....

voutt arruolato per la grafica e l'audio.

ora mi informo su svn
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 04 Agosto 2013, 23:13:09
vuott arruolato per la grafica e l'audio.


Signor No !
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 05 Agosto 2013, 11:10:43
scansafatiche!
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 05 Agosto 2013, 11:27:02
scansafatiche!
...azz !    :rolleyes:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: allegfede - 05 Agosto 2013, 12:25:35
mi piacerebbe contribuire ... ma sono uno dei programmatori piu' disordinati del mondo :D
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 05 Agosto 2013, 13:39:07
e io non ho ancora idea di che cosa sto andando in contro....

ma lo faccio lo stesso....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 05 Agosto 2013, 14:04:17
stabiliamo un paio di cose
si usa souceforge e adesso provvedo a creare il progetto chi vuole mi passi l'user in pm
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 05 Agosto 2013, 15:29:14
scansafatiche!

unhmmmm...però potrebbe essere un'idea !....   :devil:

(http://www.windoweb.it/desktop_temi/foto_curiose/foto_curiose_17.jpg)
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 05 Agosto 2013, 15:42:58
si..... ma con le parti invertite!!!!
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 05 Agosto 2013, 15:54:50
si..... ma con le parti invertite!!!!

Ma in che senso ?   ???
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 05 Agosto 2013, 16:10:15
che ti metto a lavorare... gratis....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 05 Agosto 2013, 16:19:49
che ti metto a lavorare... gratis....

...non vedo persone che intervengono qui per il forum a pagamento.  :-\
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 05 Agosto 2013, 21:58:13
la domanda potrebbe esse stupida....come nome si conserva Clib??

intanto lo creo così poi si cambierà...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 05 Agosto 2013, 22:30:28
ecco Clib (https://sourceforge.net/projects/the-big-clib/)!!......

un pò vuota....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 06 Agosto 2013, 20:09:16
Ti si fredda l'insalata?  ;D

Ecchecavolo! Già aperto il repository?

Scherzi a parte, però mi pare di aver discusso su una forma di pianificazione su carta prima di mettere su già i mattoni...

Ad ogni modo:

1) glib è il nome che avevo dato inizialmente alla libreria, in quanto "g" per Gambas, e "lib"... tralasciamo le spiegazioni  ;D
2) come da documentazione ufficiale, le librerie gambas hanno il suffisso "gb.", e quindi la libreria penso si giusto suffissarla con "gb.glib."
3) tutti i sotto progetti, in base alle loro caratteristiche, verrano inseriti in apposite classificazioni, tipo: "gb.glib.audio" per i progetti che hanno a che fare con l'audio, "gb.glib.net" per quelli di utilità verso la rete, e via dicendo. La classificazione si decide al momento che si inizializza un progetto. La classificazione verrà definita in fase iniziale, o al primo progetto cui si decide di associarlo ad una certa classe di librerie.
4) dato che ha creato il repository, simo97 fungerà da Project Manager, con appunto il compito di classificare, ovvero creare i sotto repository su cui andranno le librerie. Avrà anche il compito di congelare il progetto per la pubblicazione di una nuova versione (ciò non toglie che la decidione può coinvolgere i vari sotto responsabili delle varie librerie).
5) Si può già creare una struttura di classi (classificazione) sul repository, basandosi appunto sulla struttura delle libreria di gambas.
6) Per ogni classe, si nomina un Class Manager (o anche Library Manager), che ha il compito di gestire il subrepository e validare il codice inserito. Come il PM (Project Manager), può congelare la libreria per renderla disponibile con il rilascio della successiva versione del progetto.
7) Tutti gli sviluppatori e contributori (es. per la documentazione), registrati, potranno contribuire allo sviluppo di tutte le librerie, facendo sempre capo al CM (Class Manager).
8) Il CM (Class Manager) può decidere anche di rigettare, nel caso riscontri anomalie, i pezzi di codice inseriti dagli sviluppatori. Questo vuol dire che il CM ha il compito di validare la libreria, le classi e i moduli inseriti.
9) Ogni classe, modulo o funzione, deve essere corredata da documentazione ed esempi sull'utilizzo.
10) il codice deve avere una testata, con la data di creazione, l'elenco delle date delle modifiche effettuate, ivi compresi lo/gli sviluppatori che hanno introdotto le variazioni, quindi anche una descrizione sommaria delle modifiche apportate.
11) il nome delle librerie, delle classi, dei moduli ecc. devono essere univoche, e concordate con il CM. Per questo motivo credo sia il caso di pubblicare una tabella con la lista delle librerie, e delle classi e moduli che contiene, in modo che chiunque può verificarne l'esistenza e quindi dove è utilizzata e qundo è stata creata.

Quanto sopra, a mio avviso, è un primo accenno di pianificazione e di istituzione di una serie di regole, che credo sia il caso di pianificare prima di procedere alle attività vere e proprie.
Quello che ho buttato giù è un primo elenco di cose che io considero basilari per poter iniziare. E' sottinteso che sono da discutere e implementare con altre idee, per cui, visto il fuoco che arde sotto la sedia di simo97, è aperto a tutti, anche se non vuole o può contribuire, anche in futuro, magari aggiungendo la propria esperienza.

Di codice e librerie già in piedi e funzionanti già ci sono (vedi la Grid di Milio, o la libreria matematica che già da un pò gira nel forum...  ;D ). Quindi, volendo, di elementi già pronti ci sono, ma credo sia opportuno prima decidere bene il da farsi.

Dal mio canto, appena possibile e dopo aver istituito un piano concreto di progetto, posso contribuire a fornire il codice che già compone la vecchia libreria glib, alla quale però creado sera un restiling e alcuni adattamenti a Gambas3.

Bye
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 06 Agosto 2013, 20:14:51
passami l'user di sourceforge!!
così ti aggiungo...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 06 Agosto 2013, 20:18:18
passami l'user di sourceforge!!
così ti aggiungo...
Msg in privato, non si sà mai, con tutte queste "spie" in giro...  ;D
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 07 Agosto 2013, 15:06:26
passami l'user di sourceforge!!
così ti aggiungo...
Msg in privato, non si sà mai, con tutte queste "spie" in giro...  ;D
madai.....
comunque ok!

allora... concordo a pieno con tutte le direttive ma vorrei comunque aggiungere qualcosina....
1)il nome si cambia....(in glib)
2)al posto di gb.glib.... metterei [il linguaggio].glib.[cosa] cioè di avere un multilinguaggio...
3)ok ma all'interno di ogni libreria (gambas.glib.audio) si mette un file txt con l'elenco dettagliato delle varie componenti
4)mi sta bene....
5)se si può perche non farlo?
6)ok per il CM ma il progetto glib non avra versioni.... solo le librerie interne...
7)perfietto...
8)si
9)in un file a parte ma deve comunque essere largamente commentato secondo i markdown etc...
10)la testata la spsterei nel file txt correlato...
11)si ma bisognerebbe aggiornarla in automatico....

per il resto va bene....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 07 Agosto 2013, 20:51:34
1) vabbè...
2) se la libreria è per gambas, non vedo il motivo di gestire un multilinguaggio, in quanto non sarebbero comunque compatibili. Dato che sono ancora in piedi sia G2 che G3, forse sarà anche utile suffissare, ma allora credo sia meglio indicare la versione di gambas (es. gambas3 o gambas2), oppure ancora separare le due versioni in die cartelle principali, anche se anche qui la vedo alquanto dispersiva, in quanto è la G3 l'ultima e ben presto la G2 diverrà veramente obsoleta.
3) certo!!!
4) ok
5) bisogna prima decidere la struttura prima di metterla in piedi, in quanto, come spiegato in privato, svn mantiene tutto, anche se si cancella (la cancellazione è solo apparente). occupando spazio e nomenclature inutili.
6) se dobbiamo rilasciare una versione del progetto stabile, occorre congelarla in una versione ben precisa, in particolare se a seguito di incompatibilità o errori causati dalla precedente. Tieni conto che gli aggiornamenti si susseguono in continuazione, e non è detto che gli aggiornamenti siano stabili. Il congelamento dell'intera libreria è necessario, una volta che ne viene deciso il rilascio e dopo che tutti i vari componenti siano resi stabili. Lo scaricamento di una libreria con anomalie porterebbe grossi problemi a chi poi le và ad usare, non credi?
7) ok
8) ok
9) questo è da decidere. Il commentare internamente il codice è cosa senz'altro necessaria e utile, anche per far capire agli sviluppatori stessi cosa stà o vuole fare una determinata funzione/metodo. Tieni presente che qui si parla di programmazione in multiutenza e quindi con la collaborazione di più sviluppatori, ognuno con il suo metodo di lavorare. Documentare un determinato algoritmo è quindi reso necessario, particolarmente se complicato. Se dai uno sguardo ai sorgenti pubblicati dei programmi/librerie in rete, puoi notare che hanno tutti i file commentati, e con una testata con la descrizione del modulo e altri riferimenti, così come ti ho indicato nella precedente...
10) come sopra, la testata deve essere interna la codice, primo per evitare il prolificare di file inutili, secondo per semplificare la vita a chi ci lavora, in quanto ha immediatamente tutto sott'occhio. Terzo, se perdiamo il file descrittivo, non abbiamo altro che descriva il codice...
11) credo non si possa fare con gli strumenti a disposizione, ma può essermi sfuggito... Il nome non viene assegnato dal repository ma da chi crea il file, e quindi deve deciderlo il programmatore. La stessa cosa accade anche in tutti gli altri ambienti di lavoro, in cui abbiamo più persone che contribuiscono allo sviluppo del progetto.

Citazione
per il resto va bene....
ambè...  :D

Consideriamo il fatto che siamo in periodo di ferie e molti non si collegano al sito. Io pesno sia corretto attendere un pochino, per permettere ad altri di aggiungere i propri suggerimenti e  idee...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 07 Agosto 2013, 22:36:44
2) io avevo pensato ad un multilinguaggio....
5) ci accordiamo discutiamo un pò....
6) ogni revisione deve essere stabile....
oppure un sistema di versioni alpha e beta un pò complesso...
9) il file era per sapere in anticipo cosa contiene il determinato file...
11) vedremo.....

grande ;D ;D ;D
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 08 Agosto 2013, 00:58:55
2) come detto, pensare ad un multilinguaggio porta a delle difficoltà non indifferenti, molto di più che nella 6)
5) ovviamente...  :D
6) non si può prevedere revisioni stabili in un ambiente cui tutti vanno a metterci dentro qualcosa. Tu pensa ad una situazione come questa: ci lavoro la sera, metto le modifiche nel repository per non rischiare di perdere il lavoro o perchè altri devono continuare a metterci le mani, perchè le modifiche non sono ancora terminate. In questa semplice e comune situazione hai uno stato inconsistente della libreria, o di un set di moduli (magari quella modificata è legata ad altre...), che porta il progetto ad una versione incompleta, quindi non completamente utilizzabile. In casi come questo, ci si riunisce e si prende una decisione, si testa lo stato corrente del progetto, si verifica se sia completo, dopodiche si congela e si trasforma in una nuova release. Quest viene semplicemente fatto, creando una istantanea del trunk, e l si deposita nel branches, dentro una cartella identificata dalla versione (es. clib-0.0.1).
9) che sia presente un file con l'elenco delle funzionalità di ogni singola libreria è chiaro, ed è pure utile come documentazione a corredo. Quello che indendevo io era di documentare il codice sorgente, commentando la classe/modulo, le sue funzioni e metodi, le proprietà e le variabili statiche o globali, ma anche descrivere in qualche modo particolari pezzi di codice che hanno specifiche particolaritaà, e di documentare anche cosa fà una funzione/metodo, cosa riceve in input e cosa ritorna invece in output. Anche per il discorso di come và scritto il codice, cercando di ridurre il più possibile ridondanze, codice inutile o scritto troppo male o caotico. Questo per dare la possibilità ad altri di poterlo leggere con poche difficoltà, e poterlo manutenere in modo semplice.
11) dando un'occhiata al sito, non ho notato alcuna funzionalità utile allo scopo. Pensandoci meglio, la cosa sarebbe alquanto deleteria se fatta in modo automatico. La nomenclatura delle librerie e delle classi deve essere fatta a mano, cercando di non pestare i piedi alle altre, ma deve anche essere fatta con un certo criterio, nel senso che una classe che magari gestisce la produzione di stampe pdf non può chiamarsi MD9327, che non farrebe capire nulla di quello che è che cosa faccia, e sarebbe pure difficilmente memorizzabile (non è parlante!)... Continuando con l'esempio sopra, io posso creare una classe PdfWriter, in quanto è una classe che tratta il formato PDF ed ha la funzione di scrivere pdf; nel caso di voglia scrivere una classe di lettura, è ovvio che non posso utilizzare il nome Writer, bensì può andare bene il Reader, sempre prefissato da Pdf. Se creo una classe che utilizza PdfWriter, che abbia la funzionalità di gestire la creazione di file Pdf, posso pensare di chiamarla PdfFileWriter (o similari). Allo stesso tempo se creo una classe che gestisce flussi di rete, non credo si possa nominare anch'essa PdfWriter, in quanto non c'entra nulla con le sue caratteristiche. E via dicendo...

In +:
a) se possibile, le classi dovrebbero essere il più elementari possibili, in modo da facilitarne il riutilizzo in altre librerie. Il costruire classi troppo corpose e complesse, ad eccezione di casi speciali in cui non se ne può fare a meno, non fà parte di una buona programmazione. Io stesso ho costruito alcuni oggetti molto complessi, ma ho cercato, nei limiti del possibile, di spacchettare le funzionallità in elementi adattabili e utilizzabile per situazioni diverse. La cosa è resa molto complicata con gambas, e questo l'ho riscontrato sulla mia pelle, ma mi ha anche permesso di sviscerare molte delle possibilità fornite con questo linguaggio. Ha dei limiti, ma ha anche molte possibilità. Molti qui nel forum hanno sudato più di sette camicie per risolvere i problemi che incontravano, mano mano che acquisivano esperienza con questo linguaggio. ALcuni risolvendolo con logiche alquanto discutibili, altri non conoscendo certe peculiaritaà hanno percorso strade contorte, altri hanno risolto brillantemente. Alla fine, lo scambio di informazioni ha permesso a molti di correggere alcune delle lacune.
b) questa non è una critica, ma riporta al discorso precedente: ho letto molto del codice scritto e postato qui nel forum, e ho notato che il programmatore inesperto tende facilmente a evitare o prendere sottogamba il discorso di documentare il proprio codice, pensando che sicuramente nessun'altro ci vada a dare un'occhiata. Sò bene che la cosa è fastidiosa, noiosa, e a volte pure fuorviante, in quanto ritarda la parte che più ci piace fare, ovvero scrivere codice. Poi, però, ci piace far vedere il nostro lavoro, in particolare perchè siamo in ambiente a sorgente aperto, far sapere che e come abbiamo risolto le cose e che soluzioni abbiamo intrapreso. Ma una volta pubblicato il codice viene letto, e qui ci si scontra con la visione di altre persone, che spesso discorda con la nostra (è normale, altrimenti non avremmo partiti politici o religioni...). Far capire cosa abbiamo scritto, solo leggendo il codice, spesso e volentieri è veramente complicato, e spesso anche spiegandolo a voce non si riesce a far capire... funziona! ma come? ma perchè hai usato quella variabile, da dove è chiamata quella funzione, e cosa fà quell'oggetto, cosa contiene quella costante? Spesso il codice non è chiaro e non spiega a colpo d'occhio cosa deve fare. In questi casi già una riga di spiegazione dà una piccola indicazione, il nome di una variabile dà un'idea di cosa contiene, una piccola nota di riferimento a lato o sopra la riga dà un'indicazione migliore di cosa deve fare...

Insomma, io sono un programmatore da svariato numero di anni, e di codice ne ho visto e scritto molto, e di situazioni come quelle sopra descritte me ne capitano ancora, anzi specialmente, oggi. E sò bene le difficoltà che poi devo superare. In particolare quando si lavora in ambienti eterogenei e con molte persone con cui scambiare informazioni, e spesso, anzi quasi sempre, con logiche completamente diverse dalle mie. Nonostante questo continuo anche io a sbagliare, ma sono sempre tendente al miglioramento, e sò bene che chi parte bene è già avvantaggiato, per questo motivo ho fatto tutti quei discorsi sul pianificare bene le cose prima di intraprendere qualsiasi attività.

Domanda: perchè l'hai chiamata "Clib" e non "GLib" (con la G di Genova) ?
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 08 Agosto 2013, 13:51:18
2) fa niente... per ora va con gambas
5) skipe?
6) ogni revisione va testata percontollare se da sola funziona e soprattutto nell'inzieme
comunque il fatto di congelarla potrebbe essere una soluzione rapida e indolore....
9)dicevamo la stessa cosa in modi leggermente diversi... :D
11) io intendevo con un programma esterno....per avere l'elenco sia in cima all'albero (cartella madre) sia in tutte le varie sottocartelle, argomenti, funzioni specifice....
cioè
abbiamo 10 librerie
in /gb.clib: 4 cartelle + l'elenco (solo nomi, indirizzo e cosa serve +-)
in /gb.clib/audio: 2 cartelle + l'elenco un pò più dettagliato
in /gb.clib/audio/convertitori: 1 cartella etc...
in /gb.clib/audio/convertitori/da_waw_a_mp3.tar.gz: la libreria in se
in /gb.clib/audio/convertitori/da_waw_a_mp3.txt: la spiegazione della libreria
oppure
in /gb.clib/audio/convertitori/da_waw_a_mp3/da_waw_a_mp3.tar.gz: la libreria in se
in /gb.clib/audio/convertitori/da_waw_a_mp3/da_waw_a_mp3.txt: la spiegazione della libreria
ancora meglio....

per i nomi ci si deve accordare un pò....

a) certamente però... (non so se si può fare)
se un modulo(lib1) usa una classe(lib2) di dovrebbe fare un sistema di puntamento che invece dei soliti messaggi di errore dia "la libreria lib2 non è stata trovata vuoi scaricarla quì?" o cose del genere che però contengano tutte il link diretto alla libreria

oppure che aprono il broser nella cartella dove sta la libreria lasciando all'utente la possibilità di metterla dove vuole

oppure ancora un sistema che cekka se c'è sul computer e la inserisce in automatico dove serve (copia incolla) e se non è presente la scarica

risposta... suona malaccio gb.glib....
bhò si può anche cambiare...

poi un pò lo scheletro....

/branches: versioni stabili?? ogni 10 librerie inserite??
/tags: a cosa serve??
/trunk: lavoro in corso d'opera?

detto questo si potrebbe fare un piccola guida con la varie regole per chi ci capita per caso...

l'icona di clib?
descrizione?
senza farli passare per il forum inseriscili direttamente tra i metadata....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 08 Agosto 2013, 18:16:15
ok ok
Citazione


    *

      Developers commit all new work to the trunk. Day-to-day changes are committed to /trunk: new features, bugfixes, and so on.

      Sviluppatori fanno commit di tutto lavoro nuovo nel tronco. Giorno dopo giorno modifiche sono pubblicate nel /trunk: nuove capacità, fix dei bug e così via.
    *

      The trunk is copied to a “release” branch. When the team thinks the software is ready for release (say, a 1.0 release), then /trunk might be copied to /branches/1.0.

      Il tronco è copiato nel ramo «rilascio». Quando il team pensa che il software è pronto per rilascio (diciamo, una vers. 1.0), il /trunk può essere copiato su /branches/1.0.
    *

      Teams continue to work in parallel. One team begins rigorous testing of the release branch, while another team continues new work (say, for version 2.0) on /trunk. If bugs are discovered in either location, fixes are ported back and forth as necessary. At some point, however, even that process stops. The branch is “frozen” for final testing right before a release.

      I team continuarono lavorare in parallelo. Un team comincia rigorosi test del ramo rilascio, mentre altro team continua nuovo lavoro (diciamo per la versione 2.0) su /trunk. Quando si scoprono i bug in entrambi locazioni, correzioni sono portate avanti e dietro secondo la necessità. Ad un certo punto, comunque, anche questo processo si ferma. Il ramo è «congelato» per test finale subito prima del rilascio.
    *

      The branch is tagged and released. When testing is complete, /branches/1.0 is copied to /tags/1.0.0 as a reference snapshot. The tag is packaged and released to customers.

      Il ramo è targato e rilasciato. Quando i test sono completati, /branches/1.0 è copiato su /tags/1.0.0 come instantanea di riferimento. Ramo targato è impachettato e rilasciato ai clienti.
    *

      The branch is maintained over time. While work continues on /trunk for version 2.0, bugfixes continue to be ported from /trunk to /branches/1.0. When enough bugfixes have accumulated, management may decide to do a 1.0.1 release: /branches/1.0 is copied to /tags/1.0.1, and the tag is packaged and released.

      Il ramo è mantenuto durante il tempo. Mentre lavoro continua su /trunk per la versione 2.0, i bugfix continuano ad essere portati da /trunk a /branches/1.0. Quando si accumulano abbastanza correzioni, i capi possono decidere di rilasciare vers. 1.0.1: /branches/1.0 è copiato su /tags/1.0.1, la targa è impachettata e rilasciata.

funziona cosi vero....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 09 Agosto 2013, 22:46:33
mi sto leggendo svnbook...
ora sto vedendo il capitolo degli admin (in inglese) ma credo che per le impostazioni di base mi servirà una manina.... (da mdxxxx (9327...?) o qualcuno che comunque sappia quello che fa....)
 ;D
ci si rivede domani pomeriggio!
 ;D
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 12 Agosto 2013, 17:29:42
mi sto leggendo svnbook...
ora sto vedendo il capitolo degli admin (in inglese) ma credo che per le impostazioni di base mi servirà una manina.... (da mdxxxx (9327...?) o qualcuno che comunque sappia quello che fa....)
 ;D
ci si rivede domani pomeriggio!
 ;D
Dato che il repository è gestito da un ISP esterno, per la parte admin c'è tutto l'occorrente per controllare il repository, più altre cosucce simpatiche.
Se invece vuoi studiarti quella parte per svn, allora penso ti convenga provarlo sul campo, installando il pacchetto svn e provare...  :D

Per quanto riguarda invece le normali operazioni di inserimento e aggiornamento, i comandi, come detto, sono semplici e molto pochi. Questo, a meno che non vi sia la necessità di effettuare operazioni più articolate...
Il tutto, su sf.net si può fare sia attraverso il browser e la sua interfaccia dedicata, sia a riga di comando. Le spiegazioni di come si usa sono già indicate sul sito.
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 12 Agosto 2013, 22:34:33
bene allora....

si può procedere con qualche prova di inserimento e standardizzazione
 :ciao:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 13 Agosto 2013, 17:06:47
Per "standardizzazione" intendo mettere nero su bianco alcune regole, almeno qui sul forum, così possono contribuire tutti alla stesura...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 13 Agosto 2013, 17:09:51
si anche....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 13 Agosto 2013, 17:18:44
Soprattutto, penso...

Credo sia il caso di fare una sorta di documento comune, che si depositerà anche nel repository a disposizione di tutti.
Chiunque voglia partecipare, deve eseguire le cose secondo lo standard definito nel documento.

O sbaglio?

Se non facciamo così, credo che il progetto diverrà presto un guazzabuglio di codice, difficilmente manutenibile...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 13 Agosto 2013, 17:26:59
si si non sbagli per nulla...
comunque le basi sono già +- stese sul forum da me e da te....
ci sarebbe da riprendere il tutto e inserirlo in un file....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 22 Agosto 2013, 22:28:08
Si, infatti, altrimenti si perde il filo.

Ad ogni modo ho spostato questa discussione in testa, così da evidenziarla.

Inoltre, sul repository su sourceforge, oltre a creare le tre cartelle di cui avevo parlato nella discussione, ho aggiunto una branch, identificata dal nome "1.0", che conterrà i sorgenti dello sviluppo per le tutte le versioni dalla 1.0.0 fino alla 1.0.999 e via dicendo. Quando si deciderà di passare ad una release superiore, ad esempio la 1.1.0, si creerà un'altra branch targata "1.1", e così via.

In parole povere, l'idea è questa:

1) la cartella branches, conterrà i sorgenti dello sviluppo continuo di un range di sotto versioni
2) una volta deciso che si è raggiunto l'ok dei sorgenti, si decide di crearne una release definitiva pubblicabile (es. 1.0.0, 1.0.1 e così via). Lo stesso vale sulle versioni successive (es. 1.1.0, 1.1.1, ...) (es. 2.0.0, 2.0.1, ...).
3) la release definitiva viene congelata, facendo una copia nella cartella trunk, e soto un'ulteriore cartella nominata come la versione (es. trunk/1.0.0).
4) per utilizzare una release specifica, quindi facendo un download per i nostri programmi, basta accedere al repository, posizionandosi nella cartella trunk/<release> che ci serve. Questo permette a chiunque di usare la release desiderata, cosa auspicabile se si dispone di versioni di gambas diverse, che potrebbero portare ad alcune incompatibilità.
5) lo sviluppo comunque continua sempre, tocca solo stare attenti su quale branch andiamo ad operare.
6) per il momento la cartella trunk non verrà usata.
7) nella rispettiva cartella branch andremo a creare un'ulteriore cartella, che identificherà la singola libreria. In questo modo, chi opera su quella libreria non và ad interferire sulle altre. Oltre a questo, la logica ci permette di separare in gruppi le varie librerie in base alle loro funzionalità (es. clib.network, clib.xml, clib.database, clib.desktop, ...)

Se vai sul repository, vedrai che per ogni cartella viene riportato il comando utile per crearsi la propria copia locale:
Codice: [Seleziona]
svn checkout --username=<utente> svn+ssh://<utente>@svn.code.sf.net/p/the-big-clib/code-0/ the-big-clib-code-0
E' ovvio che il comando indicato serve solo a chi è registrato al repository della libreria clib, e perchè deve scaricarsi i sorgenti per poterli modificare e aggiornare a sua volta il repository.

Tanto per spiegare cosa significa la riga di comando:
svn: il comando per gestire subversion
checkout: il parametro che indorma svn di fare lo scaricamento dei sorgenti in una cartella locale (nel proprio pc)
--username: identifica l'utente che accede al repository. In questo caso è necessario solo perchè come amministratore, o utente registrato alla libreria clib, ho i diritti di lettura/scrittura.
protocollo://utente@url: accede alla cartella virtuale del repository (così come la vedi su sf.net. E' sottinteso che il comando è impostato per scaricare completamente tutta la struttura della libreria clib. Nel caso non sia necessario, si può delimitare il download solo a una certa branch/versione, magari perchè si vuole lavorare esclusivamente su quella. La cosa non è auspicabile, in quanto è possibile che il nostro codice vada ad agganciarsi ad altre funzioni contenute in altre librerie.
ultimo parametro: in realtà questo è facoltativo, e indica a svn di creare la copia locale nella cartella indicata (the-big-clib-code-0), che verrà creata automaticamente sotto la directory cui si correntemente posizionati (es. se si è in /home/utente, la nuova cartella verrà creata sotto questa: /home/utente/the-big-clib-code-0).

Una volta scaricata la nostra copia locale, possiamo aprire il nostro gambas e andare ad operare sul codice. Terminate le modifiche, o anche fatte solo in parte, si può decidere di aggiornare il repository con le nostre modifiche. In pratica, da ora in poi, i comandi che verranno utilizzati sono pochissimi:
Codice: [Seleziona]
svn update
verifica le differenze tra la nostra copia e il repository e, nel caso, aggiorna la nostra copia con le nuove modifiche effettuate da altri programmatori.

Codice: [Seleziona]
svn status
visualizza lo stato dei file, se aggiunti, modificati, o altro

Codice: [Seleziona]
svn commit -m "sommario delle modifiche"
il parametro -m è facoltativo, ma è utilissimo per commentare gli aggiornamenti effettuati, e quindi facilità il compito anche agli altri programmatori.

Per chi, invece, vorrà scaricarsi una delle versioni pubblicate e congelate, potrà accedere direttamente nella cartella trunk/<release>, scaricandosi i sorgenti (che nessuno poi toccherà in quanto congelati).

Un'altra possibilità è quella di fornire le versioni in pacchetti, anche solo contenuti in file compressi. In questo caso è necessario che un amministratore costruisca il pacchetto e lo scarichi sempre su sf.net (ci sono apposite procedure per farlo, anche piuttosto semplici). Questo ci permette di pubblicare direttamente i sorgenti in un unico file (può anche essere un rpm, ad esempio). Questo file verrà visualizzato nel sommario di sourceforge, e chiunque potrà scaricarlo direttamente dal sito con un semplice click.


Spero che quello che ho scritto sia esauriente, ad ogni modo se qualcuno ha dei dubbi o quesiti da porgere, sono qui, nel limite delle mie possibilità e conoscenze.
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 26 Agosto 2013, 12:09:24
bene bene!!!!

si potrebbe già cominciare....

oggi pom comincio a riassumere tutto in un file.txt chiamato..... :-\

e se finisco si rivede quello che ho scritto e si basano le regole principali
poi il file verrà piano piano adattato.....


Ad ogni modo ho spostato questa discussione in testa, così da evidenziarla.
8)
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 26 Agosto 2013, 12:42:34
 :ok:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 26 Agosto 2013, 16:41:00
intanto.... ecco il file

ma mancano un sacco di cose!!!
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 27 Agosto 2013, 16:16:50
modificate pure :ciao: :ciao: :ciao:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 28 Agosto 2013, 11:19:46
Appena posso gli dò un'occhiata!  :ok:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 28 Agosto 2013, 15:32:02
 :ok: :ok: :ok:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 02 Settembre 2013, 18:27:10
ci sei??? >:( >:( >:(

 ;D
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 02 Settembre 2013, 23:25:34
ci sei???

...anche md9327 un fantasma ?   :o

(http://i.imgur.com/lrUVz.jpg)
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 02 Settembre 2013, 23:27:41
 :ot:
tu che c'entri...





 :rotfl: :rotfl: :rotfl:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 02 Settembre 2013, 23:43:08
tu che c'entri...


Io sono un ectoplasma di ex Ambassador da tempi non sospetti !   :devil:

(http://www.saindodamatrix.com.br/archives/mat-josefa3.jpg)
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 03 Settembre 2013, 10:35:08
uuuuuuuuuhhhhh

uuuuuuuuuuhhhhh

...

clang...clang...clang...

...

Carissimo, come ho detto più e più volte, io sono realmente un fantasma, e appaio sempre quando te l'aspetti...
Purtroppo, qui scrivo messaggi, tra un'attività lavorativa e l'altra, e non molto spazio per analizzare cose su cui dovrei fare un pò di attenzione (vedi il tuo elenco). Come ho detto in precedenza, se riesco, magari stasera, gli dò un'occhiata, ma devo pure andare a rileggere tutto quanto scritto finora, perchè la mia memoria è alquanto labile (eh, la vecchiaia...).
Diciamo che non sono il massimo della costanza...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 03 Settembre 2013, 10:43:20
perchè la mia memoria è alquanto labile (eh, la vecchiaia...).
Diciamo che non sono il massimo della costanza...

Cosa avevo detto ?   ...praticamente un fantasma !   :-\
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 03 Settembre 2013, 11:46:12
 :o
ok mi arrendo.... :rolleyes:

comunque va bene...

e vuott fai qualcosa... >:(
tipo prendi il file pubblicato da me e ti metti ad aggiungere quello che per te sembra opportuno rileggendo anche tutto quello che abbiamo scritto io e md9327 ( :D a forza di parlare con md mi sono pure imparato il suo nick...) e vedi di aggiungere qualcosa.
visto che ai tempo metti in pausa il midi e dedicagli un pò di tempo!


edit
rileggendo un pò vedo che vuott di dà del vecchio...
non sarà il caso di dagli un pò di lavoro supplementare....
magari una carica in più....
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 03 Settembre 2013, 12:16:37

e vuott fai qualcosa... >:(

...potrei balla' lu saldarellu marchigiano, sai !?   ;D
(http://profile.ak.fbcdn.net/hprofile-ak-snc4/157976_335570816480622_1223012416_n.jpg)
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 03 Settembre 2013, 12:20:15
 :rotfl: :rotfl:

 :ot: :ot: :ot:
mo basta...
io dicevo seriamente ma....

farti ballare per 12 ore di seguito non sarebbe male! :devil: :devil: :devil: :devil:
 :ot: :ot: :ot:

basta...
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 03 Settembre 2013, 12:22:26

farti ballare per 12 ore di seguito non sarebbe male!

Sei matto ? Lo sai, sì, che il passo dello spuntapiede nel saldarellu stanca assai ?   :'(
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: md9327 - 03 Settembre 2013, 13:59:28
Ripensandoci, essere un fantasma non è poi così tanto male, vista la salute mentale di altri...  ;D
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: vuott - 03 Settembre 2013, 14:02:08
Ripensandoci, essere un fantasma non è poi così tanto male, vista la salute mentale di altri...

...appunto: mica so' matto io che sono fantasma da un bel po' !   :rotfl:
Titolo: Re: Idea su una libreria comune e condivisa
Inserito da: simo97 - 03 Settembre 2013, 14:05:32
 :rotfl: :rotfl: :rotfl:
.....
allora io che sono...