Stamane una buona notizia...
a partire da ieri sono ufficialmente certificato ISACA CRISC (Certified in Risk and Information Systems Control).
Il Certification Board di ISACA il 22 giugno 2010 ha accettato la mia candidatura per la certificazione in base alla valutazione della carriera professionale.
mercoledì 23 giugno 2010
venerdì 15 gennaio 2010
DevExpress XtraBars Ribboncontrol - errore
A volte le cose semplici sono quelle meno controllate....
Se utilizzate i controlli DevExpress versione 2009 vol 3 potreste incorrere nel seguente problema:
Andando a massimizzare un XtraForm posizionato come MDI Child di un RibbonForm noterete che i pulsanti standard si vanno ad unire correttamente al RibbonForm ma, successivamente, non sarà più possibile tornare indietro dato che alla riduzione o ridimensionamento del form figlio lo stesso perderà i suoi bottoni.
Dopo segnalazione a DevExpress è stata prodotta una fix del problema
Se utilizzate i controlli DevExpress versione 2009 vol 3 potreste incorrere nel seguente problema:
Andando a massimizzare un XtraForm posizionato come MDI Child di un RibbonForm noterete che i pulsanti standard si vanno ad unire correttamente al RibbonForm ma, successivamente, non sarà più possibile tornare indietro dato che alla riduzione o ridimensionamento del form figlio lo stesso perderà i suoi bottoni.
Dopo segnalazione a DevExpress è stata prodotta una fix del problema
giovedì 31 dicembre 2009
Dundas Chart - Disallineamento usando Databindcrosstab
Il componente Dundas Chart mette a disposizione la possibilità di creare automaticamente le serie di un grafico attraverso l'utilizzo del metodo databindcrosstab.
Dopo lungo utilizzo ho riscontrato un problema di completo disallineamento tra i dati e le serie generate dal metodo in alcune situazioni.
Leggendo bene la documentazione online emerge che il problema si presenta solo in alcune situazioni, come appunto nel mio caso :-), nelle quali le labels delle serie sono dei valori di tipo stringa.
In pratica il componente non è in grado di allineare i punti di serie differenti a parità dello stesso valore della label delle X.
Per ovviare a tale inconveniente è messo a disposizione dello sviluppatore l'eccellente metodo AlignDataPointsByAxisLabels il quale esegue l'allineamento dei valori delle serie con le labels dell'asse delle X.
esempio:
myChart.DataBindCrossTab(myReader, "Campo da usare per il Group By", "Campo per l'asse delle X", "Valore da rappresentare", "")
myChart.AlignDataPointsByAxisLabel()
Unici vincoli previsti per l'utilizzo di tale metodo sono che:
1) Le serie siano indicizzate (i valori dell'asse X dei punti devono essere a 0)
2) Non possono esserci delle etichette dell'asse X vuote
Dopo lungo utilizzo ho riscontrato un problema di completo disallineamento tra i dati e le serie generate dal metodo in alcune situazioni.
Leggendo bene la documentazione online emerge che il problema si presenta solo in alcune situazioni, come appunto nel mio caso :-), nelle quali le labels delle serie sono dei valori di tipo stringa.
In pratica il componente non è in grado di allineare i punti di serie differenti a parità dello stesso valore della label delle X.
Per ovviare a tale inconveniente è messo a disposizione dello sviluppatore l'eccellente metodo AlignDataPointsByAxisLabels il quale esegue l'allineamento dei valori delle serie con le labels dell'asse delle X.
esempio:
myChart.DataBindCrossTab(myReader, "Campo da usare per il Group By", "Campo per l'asse delle X", "Valore da rappresentare", "")
myChart.AlignDataPointsByAxisLabel()
Unici vincoli previsti per l'utilizzo di tale metodo sono che:
1) Le serie siano indicizzate (i valori dell'asse X dei punti devono essere a 0)
2) Non possono esserci delle etichette dell'asse X vuote
martedì 3 novembre 2009
Certified in Governance of Enterprise IT (Isaca CGEIT)
Pubblicato nel mio chapter ISACA di Roma fra i certificati CGEIT...
Peccato però che non venga segnalata la differenza fra chi ha conseguito la certificazione in GrandFathering Provision (valutazione della carriera lavorativa) e chi invece la consegue solo attraverso l'esame..
Peccato però che non venga segnalata la differenza fra chi ha conseguito la certificazione in GrandFathering Provision (valutazione della carriera lavorativa) e chi invece la consegue solo attraverso l'esame..
MS Chart Control per .Net 3.5 - Directory temporanea non valida nella configurazione del gestore del grafico
Appena installato MSChart ci regala subito un bell'errore.
L'errore viene generato perchè di default il componente imposta la proprietà imagestoragemode=UseHttpHandler; peccato però che negli Handler HTTP, e quindi utilizzati come modalità di storage delle immagini, impostati nel web.config quando effettuiamo il drag del componente sulla nostra pagina viene impostato :
add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;"
beh ovviamente la cartella c:\TempImageFiles\ non esiste, dato che l'installazione non la crea, e quindi il componente và in errore.
La soluzione più immediata per risolvere il problema è cambiare la proprietà imagestoragemode ad UseImageLocation.
Una volta effettuata l'operazione vedremo che il componente viene correttamente renderizzato e viene creata un immagine nel ns. Hard Disk chiamata ChartPic_000001.png nella stessa cartella della ns. pagina.
E' possibile modificare la collocazione delle pagine agendo sulla proprietà imagelocation.
Una volta creata una cartella per le immagini dei grafici e date le appropriate permission inserire nella suddetta proprietà il nuovo path ad esempio : ~/immaginiGrafici/ChartPic_#SEQ(300,1)
A questo punto il componente creerà nella cartella ImmaginiGrafici del nostro sito le immagini renderizzate secondo la nomenclatura ChartPic_numeroimmagine;
una per ogni chiamata che verrà fatta al componente dagli utenti del sito.
Fortunatamente il valore 300 setta il numero massimo di immagini renderizzabili prima della sovrascrittura altrimenti ci troveremmo, per alti traffici, con un disco pieno di immagini dei grafici.
Implicazione non trascurabile della creazione di file grafici residenti nel sito risulta essere la sicurezza della ns. applicazione; per dati non sensibili può risultare trascurabile ma per informazioni riservate lasciare l'immagine generata non è una bella idea.
Il ChartImageHandler invece fornisce un maggior livello di personalizzazione che analizzeremo successivamente.
L'errore viene generato perchè di default il componente imposta la proprietà imagestoragemode=UseHttpHandler; peccato però che negli Handler HTTP, e quindi utilizzati come modalità di storage delle immagini, impostati nel web.config quando effettuiamo il drag del componente sulla nostra pagina viene impostato :
add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;"
beh ovviamente la cartella c:\TempImageFiles\ non esiste, dato che l'installazione non la crea, e quindi il componente và in errore.
La soluzione più immediata per risolvere il problema è cambiare la proprietà imagestoragemode ad UseImageLocation.
Una volta effettuata l'operazione vedremo che il componente viene correttamente renderizzato e viene creata un immagine nel ns. Hard Disk chiamata ChartPic_000001.png nella stessa cartella della ns. pagina.
E' possibile modificare la collocazione delle pagine agendo sulla proprietà imagelocation.
Una volta creata una cartella per le immagini dei grafici e date le appropriate permission inserire nella suddetta proprietà il nuovo path ad esempio : ~/immaginiGrafici/ChartPic_#SEQ(300,1)
A questo punto il componente creerà nella cartella ImmaginiGrafici del nostro sito le immagini renderizzate secondo la nomenclatura ChartPic_numeroimmagine;
una per ogni chiamata che verrà fatta al componente dagli utenti del sito.
Fortunatamente il valore 300 setta il numero massimo di immagini renderizzabili prima della sovrascrittura altrimenti ci troveremmo, per alti traffici, con un disco pieno di immagini dei grafici.
Implicazione non trascurabile della creazione di file grafici residenti nel sito risulta essere la sicurezza della ns. applicazione; per dati non sensibili può risultare trascurabile ma per informazioni riservate lasciare l'immagine generata non è una bella idea.
Il ChartImageHandler invece fornisce un maggior livello di personalizzazione che analizzeremo successivamente.
MS Chart Control per .Net 3.5 - Installazione su VS2008
Iniziamo ad installare il componente MSChart.
Come requisiti è necessario disporre del .Net Framework 3.5 SP1.
Dopo aver scaricato ed installato il componente MSChart procediamo ad installare il language pack.
Una volta terminata la fase precedente il componente è già disponibile per l'utilizzo.
Per chi invece voglia integrare il componente nella toolbox di Visual Studio 2008 è disponibile l'apposito add-on.
Ecco il risultato dopo l'installazione dell'add-on.

Fondamentali per l'utilizzo del componente risultano essere la documentazione e il kit di esempi microsoft.
Come requisiti è necessario disporre del .Net Framework 3.5 SP1.
Dopo aver scaricato ed installato il componente MSChart procediamo ad installare il language pack.
Una volta terminata la fase precedente il componente è già disponibile per l'utilizzo.
Per chi invece voglia integrare il componente nella toolbox di Visual Studio 2008 è disponibile l'apposito add-on.
Ecco il risultato dopo l'installazione dell'add-on.

Fondamentali per l'utilizzo del componente risultano essere la documentazione e il kit di esempi microsoft.
MS Chart Control per .Net 3.5 - Che cos'è?
Come molti sapranno una delle tematiche più ostiche nello sviluppo web di casa MS è da sempre la produzione di grafici.
Il problema nasce principalmente dal fatto che, almeno a mia conoscenza, MS non si è mai dedicata alla produzione di componenti "Seri" per la generazione di grafici.
Alcuni potrebbero obiettare che è sempre stato possibile utilizzare il noto activex MSChart.ocx ma personalmente reputo la scelta assolutamente scadente e perlomeno obsoleta.
A fronte di ciò centinaia e centinaia di produttori di terze parti hanno sviluppato eccellenti componenti .Net proprio per ovviare a tale carenza.
Dopo vari test sui maggiori vendor a suo tempo orientai la mia scelta verso i componenti della Dundas.
Nel corso del tempo la scelta si è rivelata vincente ed infatti anche la buon vecchia MS ha adottato una quota parte dei componenti integrandoli in reporting services rimanendo però pur sempre carente di componenti per applicazioni ASP.Net.
Oggi questa carenza sta tendendo a colmarsi a fronte dell'acquisto di MS delle librerie Dundas e della loro implementazione nel recentissimo componente .Net 3.5 MSChart.
Purtroppo per ora restano ancora scoperti i fronti dei web gauges e di client olap da integrare negli applicativi ma nulla vieta di sperar bene tanto più che se venissero rilasciati da MS sarebbero integrati direttamente nel framework e quindi sarebbero componenti gratuiti e liberamente distribuibili.
Il problema nasce principalmente dal fatto che, almeno a mia conoscenza, MS non si è mai dedicata alla produzione di componenti "Seri" per la generazione di grafici.
Alcuni potrebbero obiettare che è sempre stato possibile utilizzare il noto activex MSChart.ocx ma personalmente reputo la scelta assolutamente scadente e perlomeno obsoleta.
A fronte di ciò centinaia e centinaia di produttori di terze parti hanno sviluppato eccellenti componenti .Net proprio per ovviare a tale carenza.
Dopo vari test sui maggiori vendor a suo tempo orientai la mia scelta verso i componenti della Dundas.
Nel corso del tempo la scelta si è rivelata vincente ed infatti anche la buon vecchia MS ha adottato una quota parte dei componenti integrandoli in reporting services rimanendo però pur sempre carente di componenti per applicazioni ASP.Net.
Oggi questa carenza sta tendendo a colmarsi a fronte dell'acquisto di MS delle librerie Dundas e della loro implementazione nel recentissimo componente .Net 3.5 MSChart.
Purtroppo per ora restano ancora scoperti i fronti dei web gauges e di client olap da integrare negli applicativi ma nulla vieta di sperar bene tanto più che se venissero rilasciati da MS sarebbero integrati direttamente nel framework e quindi sarebbero componenti gratuiti e liberamente distribuibili.
Iscriviti a:
Post (Atom)