Wednesday, April 16, 2008

Timeline .Net

. Wednesday, April 16, 2008
0 commenti

Timeline .Net è uno user control per Asp.Net 2.0 realizzato da Rob Chartier.
Possiamo inserire i vari eventi usando sia direttamente le API del controllo, sia come sorgente dati i feed RSS.
Prima di iniziare a giocare con questo controllo è necessario scaricare la TimelineNet.dll e aggiungere il referimento al nostro progetto Asp.Net 2.0.
Aggiungiamo il controllo nella toolbox di Visual Studio 2008, in modo che possiamo trascinarlo sulla nostra pagina aspx.
A questo punto non ci rimane che indicare tramite la property DataSourceType il tipo di fonte dati, nel caso specifico rss e settare DataUrl con l'url del feed:

   1: <cc1:timeline ScriptSourceLocation="Local" 
   2:         LocalTimelineJSFolder="js/timeline/"
   3:         Height="300"
   4:         DataSourceType="rss"
   5:         DataUrl="http://feeds.feedburner.com/SignIn"         
   6:         Width="100%" runat="server"></cc1:timeline>



Per recuperare i dati bisogna infine aggiungere un handler http nel web.config:
   1: <system.web>
   2:   <httpHandlers>
   3:     <add verb="GET" path="*.ashx" type="TimelineNet.TimelineAjaxHandler, TimelineNet" />
   4:   </httpHandlers>
   5: </system.web>

Questa sarebbe la prassi da seguire ma purtroppo al lancio della pagina mi son trovato di fronte il seguente errore javascript:

Timeline1Analizzando nello specifico il codice js che viene prodotto dalla dll ed incapsulato nella pagina ho notato che i valori dei parametri trackHeight e trackGap presentano come separatore delle decine il carattere virgola anzichè il punto.
Sicuramente il problema si presenta su un sistema in cui la lingua  è diversa da quella inglese(nella fattispecie it-IT).
Essendo a disposizione il codice sorgente sul sito codeplex ho sbirciato nella classe Band, intervenedo sull'override del metodo ToString dove appunto viene generato/formattato il codice js.
Per evitare tale situazione su di una macchina con impostata la lingua  italiana ho effettuato il ToString dei due valori decimal sopra citati passando esplicitamente un oggetto CultureInfo settato su inglese:

   1: using System.Globalization;
   2: ....
   3: CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US");
   4: ....
   5: if(TrackHeight > 0) sb.Append(string.Format(",trackHeight: {0}\n", TrackHeight.ToString( culture)));
   6: if(TrackGap > 0) sb.Append(string.Format(",trackGap: {0}\n", TrackGap.ToString( culture)));

Risultato:

timeline2Inoltre come accenato in precedenza possiamo usare le API del controllo per inserire in modo estremamente semplice un evento:

   1: using TimelineNet.Library;
   2: ....
   3: timeline.DataSourceType = TimelineNet.DataSourceTypes.named;
   4: TimelineData datiTimeline = new TimelineData();
   5: datiTimeline.Add(new Event(DateTime.Now, DateTime.Now, false, "Timeline test",
   6:                  string.Empty, "Evento personalizzato", string.Empty));
   7: timeline.TimelineData = datiTimeline;

Risultato finale:
timeline3

Read More »»

Tuesday, April 15, 2008

Windows Vista SP1 in Italiano

. Tuesday, April 15, 2008
0 commenti

Finalmente è disponibile il package con il SP1 di Windows Vista in italiano.
I vari link per il download:

Windows Vista SP1 per sistemi x86, package eseguibile
Windows Vista SP1 per sistemi x86, ISO CD
Windows Vista SP1 per sistemi x64, package eseguibile
Windows Vista SP1 per sistemi x86 e x64, ISO DVD

Fonte: Blog di TechNet

Read More »»

Friday, April 11, 2008

Grafici in Silverlight con Visifire

. Friday, April 11, 2008
1 commenti

Sulla possibilità di inserire grafici in pagine Asp.Net ho già trattato qui (in cui si fa uso delle Google Chart API) e qui (in cui invece si fa uso di una library open source: Open Flash Chart).
Un'altra possibilità molto interessante consiste nell'utilizzare componenti Silverlight di Visifire (attualmente in versione beta).
Dopo aver effettuato il download degli assemblies, cambiamo l'estensione del file Visifire.xap in Visifire.zip. Quest'ultimo contiene le seguenti dll:

  • Visifire.Charts.dll
  • Visifire.Commons.dll
  • VisifireCharts.dll
  • AppManifest.xaml
Non ci resta che referenziare le dll nella nostra applicazione Silverlight e iniziare a scrivere qualche linea di codice.
Un esempio molto semplice di grafico a linee:
   1: private void CreateChart()
   2: {
   3:   int[] values = new int[]{ 3, 9, 17, 2, -1, 0, 21 };
   4:   Visifire.Charts.Chart chart = new Visifire.Charts.Chart();
   5:   chart.Height = 500;
   6:   chart.Width = 500;
   7:  
   8:   //DataPoint indica il singolo valore da tracciare sul grafico
   9:   Visifire.Charts.DataPoint dataPoint;
  10:   //Set di valori
  11:   Visifire.Charts.DataSeries dataSeries = new Visifire.Charts.DataSeries();
  12:   //Tipologia di grafico
  13:   dataSeries.RenderAs = "line";
  14:   for( int i=0; i<values.Length; i++)
  15:   {
  16:     dataPoint = new Visifire.Charts.DataPoint();
  17:     dataPoint.YValue = values[i];
  18:     dataSeries.Children.Add(dataPoint);
  19:   }
  20:  
  21:   chart.Children.Add(dataSeries);
  22:   //Aggiungo al canvas l'oggetto grafico
  23:   box.Children.Add(chart);
  24: }



Il risultato finale:

VisifireLe tipologie attualmente supportate:
Column
Area
Doughnut
Line
StackedColumn
Pie
Bar
Bubble






Un altro aspetto decisamente da sottolineare, è la possibilità di generare online il grafico( codice XML e HTML) grazie ad un designer, senza scrivere una linea di codice.

Read More »»

Wednesday, April 9, 2008

Communicator Add In per Outlook 2007

. Wednesday, April 9, 2008
0 commenti

Connector Un Add-In creato da Michael Dunn che consente di visualizzare ed interagire all'interno di Outlook 2007 con l'elenco dei contatti di Office Communicator 2007.

Read More »»

Sunday, April 6, 2008

PicLens

. Sunday, April 6, 2008
2 commenti

piclens PicLens è un plugin per Firefox, Safari e IE davvero spaziale.
Permette di navigare tra le immagini in modo innovativo e soprattutto con un notevole impatto visivo. Dopo aver installato il plugin, è sufficiente spostare il mouse su un'immagine presente in siti come Google Images, Yahoo Images, Facebook, Friendster, Flickr, Picasa Web Album, attendere una piccola freccia e il gioco può iniziare.

Read More »»