Anche se non vi diciamo nulla, il progetto Happy Sign, pubblicato su Code Plex, va a gonfie vele. Ogni tanto un aggiornamento è quello che ci vuole, per fare il punto della situazione, per vedere dove siamo e dove ci stiamo spostando. Come avete saputo leggendo i miei ultimi post, abbiamo cambiato il control sulla form per mostrare categorie e firme (normali e dinamiche). L'aspetto grafico in sè non è cambiato, la form principale di Happy Sign è bene o male la stessa.
Posso dire una cosa con certezza. Il nuovo controllo è nettamente migliore. Prima per capire su cosa cliccavo dovevo fare un loop su tutti gli elementi e capire se l'utente aveva cliccato su una categoria o su una firma. L'object model esposto dal nuovo controllo è molto più forte e consistente. A parte questo, passiamo a parlare di alcune nuove features davvero interessanti che abbiamo realizzato.
- E' possibile riordinare le categorie come si vuole. Basta cliccare col pulsante destro su una categoria e decidere se spostarla in alto, in basso, in cima oppure in fondo. Ovviamente, l'ordinamento viene mantenuto tra una sessione e l'altra, ci mancherebbe.
- E' stato attivato un menù raggiungibile dall'icona della tray-bar. E' funzionale e di una comodità che definire devastante è poco. Questo menù è disponibile solo se viene abilitata un'apposita opzione. La classe SignaturesTrayBarMenu, disegnata apposta a questo scopo, si occupa di mantenere sincronizzato il menù: ogni volta che si aggiunge/modifica/cancella una categorie od una firma, vengono chiamati metodi che si preoccupano di mantenere la struttura del menù coerente. Bello!
- E' stato fatto un forte restyling sul form per editare il codice di una firma dinamica. E' stato creato un References Manager che permette di gestire i riferimenti ad assembly esterni.
- Gestione di vari ContextMenu su firme e categorie per modificarle, cancellarle o rinominarle.
- E' stato implementato il meccanismo che permette di import & export delle firme, che per adesso è disponibile solo in un file XML in chiaro.
- E' stato utilizzato il controllo RollerLabel, di cui ho parlato qua.
- Varie ed eventuali: bug-fixing, nuovi user-settings, utilizzo migliorato della NRuleValidator, etc.
Matteo è davvero in prima linea nel nostro team, ha fatto un ottimo lavoro su un miliardo di cose. Troppe cose, per potermene ricordare. Il Reference Manager è tutta opera sua. Ha lavorato sul motore di persistenza, ha fatto in modo che il salvataggio dello stato delle barre delle categorie (inteso come collassato/espanso) fosse in assoluto trasparente rispetto al tipo di controllo usato. Inoltre - e non è uno scherzo - le chiaccherate decisionali in Messenger sono spettacolari! :-)))
Alessandro invece è il nuovo acquisto, l'outsider. Si è già dimostrato molto utile realizzando una firma dinamica che verrà utilizzata nel prossimo webcast che ha in mente di fare. Se tutto va bene, lo preparo domani, ve lo farò sapere attraverso il mio blog. Alessandro ha inoltre sollevato diverse questioni su packages delle firme, sui riferimenti espressi come path assoluti e su diverse altre cosuccie su cui effettivamente bisogna pensare.
Oltre alle features, stiamo progredendo sotto altri aspetti. Abbiamo contattato il team di Sharp Develop per poter utilizzare la loro libreria ICSharpCode.NRefactory.dll. Questo assembly - su cui sta lavorando Matteo - si occupa di convertire codice in VB.Net in C# e viceversa. Ci hanno dato l'ok, Sharp Develop segue la licenza LGPL, e dobbiamo osservarla. Ho personalmente contattato altre entità, su questo tema preferisco mantenere il silenzio stampa. :-)
I WorkItems attivi sono diversi. Si va dalla creazione dell'interfaccia in lingua inglese, alla creazione di piccoli package quando si esportano firme dinamiche complesse, passando dalla piena compatibilità sotto Windows Vista. Anche il tema sicurezza è da prendere in considerazione, ed è un punto molto importante. Alla prossima!
Risorse disponibili in rete
Progetto su Code Plex : http://www.codeplex.com/HappySign
Overview su Happy Sign : webcast
Ricerca sul mio blog con Google : post vari dal mio blog