free hit counter
March, 2008 - Pietro Brambati Blog - Site Home - MSDN Blogs

Pietro Brambati Blog

Developer's stories

March, 2008

  • Pietro Brambati Blog

    Windows Live Tools per Visual Studio 2008 - February 2008 CTP

    • 1 Comments

    E' da poco disponibile la CTP di febbraio dei nuovi tools per sviluppare con Visual Studio 2008 e Windows Live.

    Questi tools hanno l'obbiettivo di rendere estremamente semplice sviluppare applicazioni che usano i servizi di Windows Live per sviluppatori ASP.NET.  Per chi non li conosce può vedere i precedenti post  fatti per le CTP precedenti:

    Cosa c'è di nuovo ?

    Con la nuova release si aggiunge un nuovo controllo ai precedenti: MessengerChat. Questo controllo permette di inserire una finestra di chat nel nostro sito web in modo da poter essere contatti da utenti, anche anonimi, che visitano il sito e che vogliono contattarci ad esempio per qualche informazione. Il servizio è inteso per dare la possibilità di essere contattati da persone che anche non appaiono nella nostra lista di contatti.  Quindi io mostro la mia presenza on-line e do la possibilità ai visitatori del mio sito di entrare in contatto con me.

    Questo servizio fa parte dei servizi relativi al Messenger messi a disposizione da Windows Live : questo controllo è noto come WL Messenger IM Control ed in precedenza era utilizzabile solo tramite un intercative SDK disponibile on-line che generava l'iframe da andare poi aggiungere nel sito nel quale vogliamo rendere on-line la nostra presenza. Questa funzionalità è ora disponibile anche tramite un controllo ASP.NET classico.

    Come funziona ?

    Create un Windows Live Web Site, nuovo template che trovate dopo l'installazione dei tool e che avete già visto nelle puntate precedenti della serie. Il nuovo controllo appare nella lista dei toolbox. Possiamo fare drag&drop come al solito e il controllo appare come mostrato in figura:

    image

     

    image Esistono altre modalità di visualizzazione oltre quella di default: come quella a bottone e icona. Nella lista delle properties come prima cosa devo andare a configurare una pagina usata con le informazioni sulla privacy, che possono essere contenute dentro una semplice pagina HTML. Avete inoltre la possibilità di andare ad impostare il market, cioè il mercato di riferimento, nel nostro caso it-it.

    Configuriamo ora il client per l'uso con uno specifico utente che ha un account Windows Live ID, per fare questo possiamo selezionare lo smart-tag del controllo, seguire il link a Test WebSignup Flow, autenticarci e dare il consenso all'invio di informazioni personali al sito che ospiterà la chat, questo genererà un ID unico, che verrà configurato in modo automatico nel controllo.

    image

    Premendo ora F5 e lanciando l'applicazione siamo in grado di vedere la nostra presenza on-line. Se un utente arriva sul sito può inviarci un messaggio, dopo aver prima inserito una stringa di sicurezza (C.A.P.T.C.H.A) per verificare che si tratta di una persona che sta inviando il messaggio. Se io, in questo caso, accetto la conversazione da parte di un utente anonimo... ecco ha inizio. Nel seguito vedete una schermata riassuntiva in cui dall'applicazione web inizio una conversazione anonima  con il mio Messenger, che vedete nella finestra a fianco e di cui potete vedere l'interazione. Quindi se il controllo di chat fosse in un sito web su internet e un utente anonimo che mi vede on-line vuole iniziare una conversazione on-line lo puo fare, e previa mia autorizzazione, io ricevo sul mio Messengere client le sue richieste.

    image

    Conclusione

    In questo post abbiamo visto all'opera l'ultimo controllo per ASP.NET per lavorare con Windows Live. Windows Live offre sempre nuovi servizi applicativi per il web, che sono indipendenti dalla piattaforma usata e offrono diversi API con cui interagire. I tool per Visual Studio 2008 offrono ai programmatori ASP.NET un modo semplice per sviluppare con Windows Live.

    Se non l'avete ancora fatto, visitate dev.live.com per avere un'idea dei servizi/API e controlli a disposizione per sviluppare applicazioni web sempre più accattivanti.

    Ciao e buona Pasqua.

  • Pietro Brambati Blog

    Windows Live Messenger Library

    • 1 Comments

    Cioe ?

    Questa è una delle novità annunciate di recente (disponibili oggi in beta), che dà la possibilità di realizzare un vero e proprio Web Messenger, avendo le funzionalità classiche del noto  Messenger, ma nelle proprie applicazioni web.

    Cosa sono

    Le Windows Live Messenger Library sono delle librerie JavaScript che consentono l'accesso alle funzionalità del Messenger: è quindi possibile verificare la presenza on-line dei propri contatti, piuttosto che la possibilità di iniziare una conversazione con loro.

    Sono utilizzabili dovunque sia utilizzabile il JavaScript, quindi inseribili anche all'interno di una semplice pagina HTML, ma possono essere utilizzate ad esempio con ASP.NET e ASP.NET AJAX. Quello che queste librerie forniscono sono degli oggetti con cui realizzare il codice che implementa un Web Messenger. Le Messenger Library forniscono degli oggetti utilizzabili lato client.

    Come usarle ... in breve.

    A questo link, trovate un tutorial dedicato, con il codice da inserire passo passo, cerco di puntualizzare i passi principali qui, in modo da comprenderne la logica e vi rimando al tutorial per il codice completo che è un po'  lungo da inserire in un post. 

    1. Referenziare le Messenger Library

    Prima di tutto bisogna referenziare nella pagina web le librerie js, come segue.

    image

    2. Creare il controllo per Sign-in

    Nella pagina andrà inserito un elemento div che conterrà il controllo per fare la login (nella schermata finale vedete come si presenta) e invece in JavaScript andrà instanziato e utilizzato.

    Per implementare le funzionalità complete andranno inseriti più elementi div nella pagina, ognuno dei quali visualizzerà le funzionalità che si vuole realizzare: lista contatti, messaggi etc.

    Nell'esempio seguente vedete come istanziare il controllo:

    image

    Il primo parametro è l'ID dell'elemento div della pagina che conterrà il controllo, poi una pagina con le informazioni sulla privacy, una pagina che svolge funzionalità di comunicazione e poi il "mercato" di riferimento per l'italia: it-it.  La pagina che permette la comunicazione cross-domain è anch'essa disponibile nel tutorial.

    In ultimo viene aggiunto un gestore per l'evento authenticationCompleted che viene scatenato dopo che l'utente si è autenticato con il suo account Windows Live ID. 

    3 Sign-in dell'utente

    Nella funzione di call-back viene creato un'istanza dell'oggetto User, dato che l'utente si è precedentemente autenticato, quindi viene fatto SignIn e viene definito un nuovo gestore per quando l'operazione di sigin si è conclusa:

    image

    4. Creare la lista dei contatti

    Una volta completata la fase di sig-in, nella funzione di call-back signInCompleted, posso iterare nella lista dei contatti del mio utente e andare a costruire la parte di interfaccia che li visualizzerà.

    image

    Quello che devo fare in più è agganciare un gestore di eventi che andrà a vedere quando cambierà la "presenza" del nostro contatto, cioè quando da off-line passerà on-line e così via. Ometto il codice che è un po' lungo, ma che concettualmente fa più o meno quello che vi ho raccontato.

    5. Creare una conversazione

    Come l'utente ha una collezione per i "Contacts", ha anche una collezione per le "Conversations".

    Fondamentalmente verrà aggiunto un gestore eventi per ogni nuova conversazione e un gestore eventi per la gestione di ogni messaggio. Il codice da inserire non è poco, ma la logica è semplice e trovate già il tutto nell'esempio del tutorial, che dovrete modificare in base alle esigenze di layout del vostro sito.

    A questo link trovate un esempio live, da cui potete scaricare anche i codici completi.

    image

    Conclusione

    Le nuove Messenger API ci danno quindi un nuovo strumento per migliorare l'esperienza utente di chi naviga nel nostro sito, dando loro la possibilità di utilizzare un Web Messenger. Le nuove API messe a disposizione della piattaforma Windows Live, vanno ad arricchire quelle già presenti.

    Vi ricordo che il punto di partenza per iniziare a sviluppare con Windows Live è dev.live.com.

    Happy Coding!

    image  The English version of this post (Automatically translated)

  • Pietro Brambati Blog

    DeepZoom & Silverlight 2

    • 1 Comments

    Una delle novità presenti in Silverligth 2 al Mix08, è la nuova tecnologia Deep Zoom. Grazie a Deep Zoom è possibile realizzare effetti di "navigazione" di tipo zoom in e zoom out dentro una foto di grosse dimensioni (alta qualità o una collezione di più foto)

    Se scaricate Silverligth 2 beta 1 è andate sul sito d'esempio Memorabilia, potete rendervi conto di cosa significhi navigare all'interno di un'immagine, avete la possibilità di arrivare a osservare dettagli non visibili nell' immagine vista più "da lontano".

    imageQuesta tecnolgia, precentemente nota con il nome Seadragon, si basa sull'idea espressa nella seguente slide che trovate in una delle presentazioni del Mix08. Grazie ad un tool (Deep Zoom Composer), in technology preview, un'immagine di grosse dimensioni viene suddivisa in una serie di tessere che la rappresentano, questa suddivisione viene eseguita più volte con una serire di tessere di risoluzione inferiore, come vedete in figura.

    L'utente ha subito l'impressione che venga caricata l'intera immagine, ma in più ha la possibilità di utilizzare il mouse per muoversi all'interno e vedere tessere a risoluzione maggiore e quindi con maggiori dettagli.

    Lato server viene solo scarica la parte dell'immagine richiesta dall'utente, riducendo la quantità di byte che passano avanti e indietro nella rete, dando anche all'utente l'impressione di un'immagine caricata molto velocemente.

    Creata l'immaginane con il composer nello XAML di Silverlight viene usato il tag MultiScaleImage per referenziare un file XML prodotto dal composer e che in breve descrive quanto generato dal composer stesso.

    Le vostre foto con Deep Zoom e Silverlight 2

    Se volete fare una prova dell'effetto di Deep Zoom con delle vostre foto potete provare a caricarle in photozoom.mslivelabs.com, un nuovo servizio web per creare album fotografici in cui potete fare upload di foto dal vostro PC oppure importarle da feed RSS, come ad esempio da Flickr. Il tutto viene caricato su Silverlight Streaming by Windows Live.

    Nel mio caso, giusto per fare una prova, ho incollato in po' di foto d'esempio di Windows e ho inserito l'iframe in questa pagina, se avete SL 2 Beta 1, provate a muovervi con la rotellina del mouse per fare zoom nella foto .... ok appena trovo una bella foto panoramica uso quella :-)

    Happy Coding con Silverligth 2 e Deep Zoom

    -Pietro

  • Pietro Brambati Blog

    SQLMetal e Pluralize

    • 3 Comments

    image

    Questa è una delle domande che ho ricevuto in questi giorni durante il Roadshow del lancio.

    Se avete un database con i nomi delle tabelle in italiano (ad esempio la tabella Clienti) ed usate il designer di Visual Studio 2008 in inglese per lavorare con LINQ to SQL, vi sarete accorti che se fate l'usuale drag-&-drop della tabella Clienti sul designer per creare una nuova classe, vi troverete poi la classe Clienti, ma verrà anche esposta una proprietà della classe specializzata dal DataContext, che si chiamerà Clientis con la 's' finale. Il comportamento è ovviamente corretto, ma la 's' finale può dare un po' fastidio. La modalità di funzionamento del designer viene chiamata pluralize. Il comportamento di default tiene conto degli standard sulla nomenclatura usata dalle classi e collezioni .NET, che sono ovviamente in inglese e tende a dare nomi al plurale alle collezioni di classi.Il designer di Visual Sudio 2008 non fa altro che generare codice .NET che potete modificare a mano nel progetto.

    Al posto del designer di Visual Studio è anche utilizzabile il tool SQLMetal, in cui questa funzionalità di "pluralizzazione" può essere esplicitata tramite il flag /pluralize e quindi modificare questo comportamento.

    SQLMetal è il tool che fa quello che fa il designer di Visual Studio, ma da riga di comando in cui avete la possibilità di impostare una serie di opzioni documentate al link sopra.

    Nota:nella versione Italiana di Visual Studio 2008 il designer di LINQ to SQL non ha la funzione di pluralize attiva.

    Spero che questo piccolo suggerimento sia utile per facilitare la nomenclature di classi e collezioni.

  • Pietro Brambati Blog

    Heroes Happen Here

    • 0 Comments

    Mi sto riprendendo dalle "due giornate di Milano". Si è infatti da poco conclusa la I data del Lancio. Ci sono diversi post in giro con un po' di foto: qui, qui e qui ad esempio, ma penso che ne vedrò delle altre nei prossimi giorni.

    Sfogliando tra le poche (sono stato un po' impegnato) foto che mi ritrovo nella mia macchina fotografica: ho trovato quelle fatte con alcuni MVP, ok non tutti... ma stava per iniziare la keynote ...

    CIMG0536

    Sono anche venuti a trovarci Fullo e Tassoman che ho conosciuto lo scorso anno al PHP Day

    CIMG0527

    Ho anche avuto modo di conoscere altre persone, con cui ho avuto, solo scambi di email, come ad esempio Alessandro Del Sole, che ha di recente scritto di recente un articolo su VSTO per MSDN.

    Ho anche cercato di fare un'intervista ad Antonio Cisternino che ha da poco pubblicato un libro su F# (Expert F#), ma a causa di problemi tecnici penso ci riproverò ...

    Per quanto riguarda la parte tecnica dell' evento, quella più importante, spero la traccia MSDN  sia stata apprezzata da tutti i partecipanti.

    Alla fine del tour renderò disponibile slide (poche) ed esempi della mia sessione sullo sviluppo di applicazioni web con ASP.NET 3.5, ecco però la slide finale della mia sessione per dare un'idea a chi ci verrà a trovare nelle prossime date...

    image

    Ci vediamo alle prossime date del Roadshow

    Ciao

Page 1 of 1 (5 items)