free hit counter
Pietro Brambati Blog - Site Home - MSDN Blogs

Pietro Brambati Blog

Developer's stories

  • Pietro Brambati Blog

    15 Novembre Milano – Dev Camp

    • 0 Comments

    Il prossimo 15 Novembre nella sede Microsoft di Milano, terremo un Dev Camp, cioè un laboratorio in cui potrete venire a realizzare applicazioni per Windows Phone, Windows 8 e Windows Azure. Poichè i posti sono limitati consiglio di iscriversi a chi è veramente interessato a partecipare e seguire i requisiti illustrati nel link di registrazione per Windows 8 e Windows Phone, per Azure vi lascio qualche informazioni in più.

    Windows Azure

    Creazione dell'account di prova gratuita per 90 giorni

    1. Collegarsi a http://aka.ms/ProvaWindowsAzure :


    2. Effettuare un login con il proprio Microsoft Account (es. un indirizzo @hotmail.com) :

    3. Assicurarsi di aver selezionato «Italia». Se si è già usata una valutazione gratuita con lo stesso Microsoft Account, questa offerta non sarà disponibile :

    4. La procedura di «verifica account» invia un sms al vostro cellulare per confermare che l’iscrizione non sia effettuata da un software automatico:

    5. Nell’sms, riceverete il codice di conferma da inserire in questo step:

    6. L’inserimento della Carta di Credito è per garanzia di identità. Se si decide di sbloccare la sottoscrizione per «spendere», è possibile in qualunque momento passare all’addebito in fattura:

    Portale per la gestione dell'account
    Il centro di gestione degli account è su https://account.windowsazure.com/Subscriptions .
    Da qui è possibile controllare la spesa sulle sottoscrizioni e il consumo di risorse.
    Abilitazione delle funzionalità in "Preview", incluse le Virtual Machine

    Le funzionalità in «Preview» si possono attivare dal seguente indirizzo: https://account.windowsazure.com/PreviewFeatures .

    In particolare per i nuovi servizi di Azure vi consiglio di attivare la preview dei “Mobile Services” che usere anche per realizzare il back-end di applicazioni Windows 8 e Windows Phone e il servizio “Virtual Machine & Virtual Network” che serviranno per alcuni lab.

     

     

    Maggiori informazioni qui.

    Inoltre potete scoprire le modalità gratuite di accesso a Windows Azure con il programma BizSpark, il programma WebsiteSpark la sottoscrizione MSDN o la versione di valutazione valida 90 giorni.

    Windows Azure SDK

    Per sviluppare applicazioni che sfruttino la modalità PaaS di Azure è anche necessario installare l’SDK di Azure per Visual Studio 2010 o Visual Studio 2012. Trovate il link al download dell’ SDK da questo link.

     

    La piattaforma Windows Azure – in poster

    La piattaforma Windows Azure si è arricchita di una molitudine di servizi che potete vedere illustrati nell’immagine sotto e se non vedete bene…  potete  usare il poster che potete scaricare da qui :-).

    image

     

    Vi aspettiamo!

  • Pietro Brambati Blog

    Kinect per Windows – dove comprarlo

    • 3 Comments

    Da poco è disponibile la v 1.0 dell’ SDK per Kinect che consente di sviluppare applicazioni che utilizzano questo dispositivo collegato ad un computer con Windows 7. Fino ad ora l’unico dispositivo utilizzabile era il Kinect for XBOX 360, quello che viene distribuito con la XBOX 360.

    Con questa versione dell’SDK e, soprattutto per l’uso commerciale, è disponibile un nuovo hardware. Questo nuovo hardware abilità anche una nuova funzionalità dell’ SDK, il Near Mode.

    Da oggi potete preordinare Kinect for Windows dal Microsoft Store Italiano. Il dispositivo sarà disponibile per la distribuzione dal primo di marzo.

    clip_image001

    Sul sito di Kinect for Windows trovate delle foto e dei video con esempi di applicazioni realizzate.

    Buon divertimento!

  • Pietro Brambati Blog

    Windows Azure Lab @ Community Days–17 Feb

    • 0 Comments

    Il prossimo 17 febbraio in occasione dei Community Days 2012, avrò l’opportunità di essere presente a uno dei primi laboratori su Windows Azure, la piattaforma di Cloud Computer di Microsoft. L’iscrizione è gratuita e potete farla dal sito della community.

    Durante il lab saranno presenti con me anche Antonio Esposito , Roberto Freato di DotNetLombardia e Fabio Santini.  Un’ottima occasione poter interagire con loro durante i laboratori e per parlare di Windows Azure.

    La partecipazione ai laboratori è gratuita e così come l’accesso al materiale. Tuttavia è richiesto di arrivare “già pronti” per partire, cioè con il proprio computer configurato e un account Windows Azure attivo.

    Configurazione del PC

    Visual Studio 2010 e Windows Azure SDK gratuito per .NET rendono più semplici le attività di sviluppo per Windows Azure. Se non si dispone di Visual Studio 2010, con SDK verrà automaticamente installato Visual Web Developer 2010 Express, in questo modo sarà possibile avvicinarsi all'attività di sviluppo per Windows Azure senza sostenere alcun costo. Inoltre la procedura seguente si occuperà di configurare tutto l’ambiente utilizzato da Visual Studio 2010 e Internet Information Server (IIS) opportunamente configurato.

    In particolare installa:

    • Strumenti di Windows Azure per Microsoft Visual Studio
    • Windows Azure SDK
    • Visual Web Developer 2010, se non si dispone di Visual Studio 2010
    • ASP.Net MVC3
    • Windows Azure AppFabric SDK
    • Impostazioni delle funzionalità di IIS necessarie
    • Hot fix necessari

    Passi da seguire per la configurazione del PC

    Prima di avviare lo sviluppo dell'applicazione Windows Azure, è necessario ottenere gli strumenti necessari e impostare l'ambiente di sviluppo.

    1. Per installare Windows Azure SDK e configurare l’ambiente di esecuzione fare clic sul pulsante seguente:

    clip_image001

    Quando viene richiesto di eseguire o salvare l’eseguibile, fare clic su Esegui:

    clip_image003

    2. Fare clic su Installa nella finestra del programma d’installazione e procedere con l'installazione:

    image

    Importante! Installare anche e SQL Server 2008 R2 Express (necessario per i laboratori ) o superiore, ma sempre Express. Per semplificare lo svolgimento del laboratorio è meglio avere installato la versione Express anche se si ha già installato una versione non Express.

    3. Al termine dell'installazione, si disporrà di tutti gli elementi necessari per avviare l'attività di sviluppo.L’ SDK include gli strumenti necessari per sviluppare con facilità applicazioni Windows Azure in Visual Studio. Se Visual Studio non è installato, viene anche installato Visual Web Developer Express senza che sia necessario sostenere alcun costo.

    Attivazione di una sottoscrizione gratuita per 3 mesi a Windows Azure

    E’ possibile iniziare a sviluppare con Windows Azure, aprendo una sottoscrizione gratuita per 3 mesi. Questa sottoscrizione (“Free Trial”) consente di provare la piattaforma Windows Azure, senza costi e nessun obbligo alla fine dei 3 mesi.

    Per aprirla andare su www.windowsazure.com, il portale dal quale avete accesso a tutta la documentazione e dal quale potete scaricare il software necessario. Dalla Home Page selezionate il link “scarica la versione di valutazione gratuita”.

    clip_image006

    A questo punto si arriva a una pagina di sign-up in cui è possibile procedere con l’attivazione.

    Cosa serve per attivare una Free Trial?

    Per aprire una sottoscrizione servono:

    • Un account Windows Live ID
    • Un numero di cellulare a cui viene inviato un codice di verifica
    • Una carta di credito, richiesta per evitare frodi.

    Per maggiori informazioni su cosa è incluso in questa sottoscrizione guardare questo link.

    Vi aspettiamo!

  • Pietro Brambati Blog

    ASP.NET Security Update–importante

    • 0 Comments

    E’ disponibile un aggiornamento importante per la sicurezza di siti che utilizzano ASP.NET.

    Il security update (MS11-100) è stato rilasciato ed è disponibile in modo automatico via Windows Update, Windows Server Update e dal download center di Microsoft. Trovate i link direttamente nel security update che vi ho indicato, oppure consultando l’articolo KB2638420 trovate il link diretto per il download a seconda delle varie versioni del framework .NET e sistema operativo usato.

    Questo security update è stato rilasciato il 29 Dicembre e risolve un problema presente in tutte le versioni di ASP.NET.

    Il 28 Dicembre durante una conferenza sulla sicurezza è stata mostrata una tecnica per compromettere strutture dati di tipo hash-table usate da diversi framework web, tra cui anche ASP.NET. Questo tipo di attacco non è specifico di un linguaggio di programmazione o di un particolare sistema operativo ed è noto come “hash collision attack”. Un attacco di questo tipo può portare a bloccare l’utilizzo del server causando il noto “denial of service” (DoS), poiché il server non è più responsivo alle richieste http che arrivano.

    Il consiglio è di installare l’aggiornamento anche se non sono stati riportati attacchi di questo tipo e in caso di problemi di consultare il forum dedicato. E’ inoltre possibile seguire tutte le ultime informazioni seguendo MSRC team su Twitter at @MSFTSecResponse.

  • Pietro Brambati Blog

    Lazy Remote Validation with ASP.NET MVC 3

    • 0 Comments

    …Or How to prevent unnecessary http call on Remote Validation with ASP.NET MVC 3 and JQuery.

    One of the cooler features with ASP.NET MVC 3 is Remote Validation. In a nutshell you can create a method on a controller class, putting the attribute Remote on your model and having jQuery.Validator plugin making an HTTP call to the controller to perform a custom validation logic that requires server-side logic, like for example check if a product name already exists on your database.

    The JQuery.Validator plugin, in documentation says that: “Once a field was marked invalid, it is eagerly validated: As soon as the user entered the necessary value, the error message is removed”. This works great for me in case I have a field and the validation happens only client-side, but in case of a remote validation scenario, what happens is that an HTTP call is made every time user press a key.

    If you look to what happens with a developer toolbar, you will see that every time you type a char an HTTP call is done. In the following image you see 4 HTTP calls. After the first one I press the tab key, a call is made and the field is marked as invalid, so I go back to the “ProductName” text box, and after that every time a press a key the JQuery.Validator eagerly try to validate remotely and make an HTTP call.

    clip_image002

    I want to avoid these calls every time and also I don’t want to to modify the two out of the box jquery file used by ASP.NET MVC: jquery.validate.js and jquery.validate.unobtrusive.js. My solution is to use the onkeyup event of the jQuery.Validate plugin and search for the html element that use the data-val-remote-url attribute and in that case prevent validation.

    Here the code I have used in the razor view:

    clip_image003

    This helps me to reduce the HTTP calls as outlined in the following image. Here I have only 2 HTTP calls: the first one when I change the focus the first time, so that the HTML field became invalid and the second the second time. Note that I’ve written the same numbers of keys between the first and the second time as before, but now I have less calls.

    clip_image005

    The side effect to this solution is that validation on other fields with other validators start eagerly on every keyup event, but this could be considered reasonable in many situations.

    You can download the javascript file from here.

    I hope this snippet could help others that want to achieve the same result.

  • Pietro Brambati Blog

    ASP.NET MVC 3: nuovi video disponibili

    • 0 Comments

    Sono da poco disponibili 4 nuovi video in italiano su ASP.NET MVC 3.

    I video sono stati realizzati da Simone Chiaretta e da Ugo Lattanzi, Microsoft MVP, che vi consiglio di raggiungere sui loro blog se non l’avete già fatto.

    I contenuti si rivolgono a chi ha già lavorato con le precedenti versioni di ASP.NET MVC e vuole scoprire in poco tempo le novità di ASP.NET MVC 3.

    • ASP.NET MVC 3 - le novità: video sulle novità del framework ASP.NET MVC 3 e dei tool per Visual Studio 2010. In questo video vedremo l'uso di Nuget, il nuovo package manager integrato, l'integrazione con Entity Framework e lo sviluppo Code-First, il nuovo scaffolding dei dati che consente di automatizzare la creazione di codice ripetitivo, che prima dovevamo creare a mano. Inoltre le migliorie al JavaScript come l'uso di tecniche unobtrusive e poi le nuove modalità di validazione dei dati .Altra novità è il supporto nativo a meccanismi di Dependency Injection (DI) e i Global Filter.
    • ASP.NET MVC 3 - Razor: video specifico sul nuovo View Engine e la sintassi Razor, che consente di scrivere il codide della View in modo più compatto e pulito. In questo video vedremo la sintassi, l'uso del tag text e la creazione di helper per la view. Questo View Engine ci permette infine di fare Unit Testing della View.
    • ASP.NET MVC 3 - SQL CE 4: video sull' uso del nuovo SQL Compact Edition 4 in progetti ASP.NET MVC 3 ed il supporto offerto da Visual Studio 2010. Vedremo in quali scenari trova il miglior utilizzo ed in particolare il supporto offerto allo sviluppo Code-First.
    • ASP.NET MVC 3 - Dependency Injection(DI): video sull'uso di tecniche di Dependency Injection(DI) e Container per l' Inversion of Control(IoC) e come utilizzarle in ASP.NET MVC 3 con in nuovo Dependency Resolver, che consente un più facile supporto di queste tecniche rispetto alle versioni precedenti.

     

    image

     

    Spero che siano di vostro gradimento.

  • Pietro Brambati Blog

    WebMatrix 2 Beta : download e video

    • 0 Comments

    E’ da pochi giorni disponibile il download della Beta della versione 2 di WebMatrix.  La versione 2 è l’evoluzione della precedente versione alla quale vengono aggiunte le funzionalità che vedremo a breve.

    Se avete già installato la versione 1, questa verrà rimossa automaticamente e verrà installata la versione 2 Beta.

     

    Editor migliorato

    L’editor di testo adesso ha un supporto all’autocompletamento migliorato. In particolare con il supporto ai tag dell’ HTML 5 e jQuery.

    L’editor dei CSS ha una comoda funzionalità: il Color picker, che consente di selezionare il colore da usare in modo comodo ed immediato:

    image

     

    Web Pages 2

    Con il nuovo WebMatrix avete a disposizione nuove funzionalità delle Web Pages. Le Web Pages sono in sostanza il framework che vi consente di scrivere il codice che esegue la logica dell’applicazione.

    Tra le novità trovate la validazione dell’ input lato client, che consente di ridurre i round trip verso il server .

    Nuovi provider di autenticazione (Facebook, OAuth, Open ID etc). Un utente in possesso di credenziali Facebook, potrà quindi autenticarsi direttamente al nostro sito associando il suo account Facebook a quello di un account al sito.

    Nuovi helper, come quello delle mappe, consentono di avere utili frammenti di codice per inserire nuove parti nel sito come, appunto nuove mappe.

    Un altro aspetto interessante è il supporto per i device mobili; il framework offre funzionalità che permettono di gestire pagine diverse che in base al fatto che si stia navigando tramite un device mobile oppure tramite il browser del desktop, fa il rendering in modo diverso.

    Potete vedere il dettaglio di queste fuzionalità a questo link che include le novità della developer Preview delle Web Pages 2.

     

    Editor dei Dati

    L’editor per la creazione di un database, delle tabelle e relativo popolamento era già presente nella versione 1 di WebMatrix. Questa nuova versione ne migliora l’usabilità e l’integrazione con il tool. In particolare è stato aggiornato sia la view per la creazione dei campi di una tabella, ora supporta il tab per spostarsi agilmente e le freccie per passare da un tipo di dato ad un altro. E’ stato anche aggiornata la view per il popolamento e la modifica dei dati e l’esecuzione di una query.

    imageimage

     

    Pubblicazione

    Già dalla versione 1, WebMatrix supporta la pubblicazione di un intero sito (pagine e database) in modo trasparente presso hoster che hanno un’infrastruttura compatibile. Se volete cercare un hoster potete accedere alla Gallery dedicata. Ora potete anche accedere remotamente alle pagine sull’hoster e modificarle da WebMatrix. Nella figura seguente  vedete la “Remote View”, con cui si accede ai file remoti.

    image

     

    Estendibilità

    WebMatrix 2 è estendibile utilizzando Visual Studio 2010, potete accedere alla lista delle componenti dalla Gallery di WebMtrix e scegliere cosa utilizzare.

    image

     

    Per chi vuole provare un tool gratuito, per partire da applicazioni già fatte e pubblicarle in modo semplice oppure vuole partire da template di codice, lascio di nuovo il link al download:

     

    Video di presentazione della Beta della versione 2

    image

    Buon divertimento!

  • Pietro Brambati Blog

    Kinect – divertirsi con PowerPoint

    • 5 Comments

    Da qualche settimana è disponibile la beta dell’ SDK che consente di sviluppare applicazioni Windows utilizzando Kinect. Per sviluppare con Kinect vi servirà avere quindi il dispositivo e il cavo di alimentazione che si attacca alla corrente, che è incluso nella scatola del Kinect stesso.

    Dato il periodo estivo ho avuto un po’ di tempo per fare qualche prova con Mario e divertirmi con il nuovo SDK.

    image

    Il Kinect è equipaggiato con:

    • Una videocamera a colori con risoluzione 640x480 a 30 fps
    • Due sensori di profondità
    • un motore che regola l’inclinazione
    • un microfono multi-array che offre funzioni multichannel di echo cancellation, sound position tracking, noise redution and suppression e che utilizzano un sistema hardware interno per l’elaborazione

    Installazione

    Per usare Kinect da Windows 7 potete scaricare la beta dell’ SDK da questo link. Alcuni degli esempi che utizzano il microfono interno richiedono l’installazione di altri componenti: Microsoft Speech Platform - Software Development Kit (SDK) (Version 10.2 x86),   Microsoft Speech Platform - Server Runtime (Version 10.2 x86) e il  Kinect for Windows Runtime Language Pack.

    In generale trovate i requisiti di sistema, il download del software, esempi e documentazione partendo da questo link.

    Un esempio di codice

    Per divertirmi un po’ con Kinect ho provato a realizzare un Add-in per PowerPoint 2010. L’idea è quella di riconocere almeno due semplici “gesture” per andare avanti ed indietro in una presentazione fatta di slide. Molto semplicemente ho deciso di rilevare:

    • il movimento della mano destra che passa (verso sinistra) la posizione X relativa alla testa,  per mandare anvanti delle slide.
    • il movimento della mano sinistra che passa (verso destra) la posizione X relativa alla testa  per mandare indietro delle slide.

    Inoltre ho fatto qualche modifica all’interfaccia e il risultato di come si presenta PowerPoint con l’Add-in installato è il seguente:

    clip_image002

    Ho aggiunto un Ribbon con due bottoni:

    • il primo serve per Abilitare/Disabilitare la rilevazione del Kinect, che entrerebbe subito in funzione appena l’utente fa partire la presentazione, premendo F5.
    • Il secondo tasto (Setting Panel) abilita il Panel che vedete a destra in PowerPoint, dal pannello potete vedere cosa “vede” Kinect e controllare che la persona sia inquadrata e sopratutto alzare e abbassare l’angolo del Kinect utilizzando lo slider e poi premendo il bottone SetTilt.

    Le modifiche all’interfaccia sono “cose in più”, non sarebbero necessarie se si volesse solo andare avanti indietro nelle slide, le ho aggiunte per comodità.

    Per la parte “core” ho creato un progetto da Visual Studio 2010 di tipo PowerPoint 2010 Add-in.

     image

    Aggiungete quindi i riferimenti alla libreria di Kinect:

    image

    e quindi intercettare alcuni eventi messi a disposizione dall’ Add-in: sull’evento di Start-up ho aggiunto il rilevamento dell’evento SlideShowBegin e SlideShowEnd, di questi due eventi in particolare il primo mi serve per far fare il lavoro vero alle API di Kinect quando l’utente fa partire una presentazione.

    Ecco nel seguito parte del codice, alla fine dell’articolo troverete il link per il download completo dell’esempio:

    image

    Prima cosa bisogna istanziare il Runtime di Kinect, quindi inizializzarlo impostando tramite un Enum in cui si dichiari quali tipi di  funzioni si vuole utilizzare: nel mio caso userò sia la vidocamera a colori (RumtimeOptions.UserColor)  questo serve solo nel Pannello di PowerPoint per tarare l’altezza del Kinect. Invece il parametro UseSkeletalTracking serve se volgiamo poi rilevare il movimento dello scheletro della persona. A questo link trovate un guida di dettaglio.

    In pratica quello che ci mette a disposizione lo SkeletonTracking del Kinect sono una serire di punti detti Joint (Testa, Spalla sinistra, Mano Sinitra etc) di cui possiamo essere notificati tramite un meccanismo ad eventi della loro posizione (x,y,z) e quindi in base a questa decidere cosa vogliamo fare. Tenete presente che non esistono al momento delle “gesture” già codificate dentro all’ SDK, ma dobbiamo decidere noi quali gesture implementare, in base alla posizione dei Joint che sono interessanti rilevare per la nostra applicazione. La schermata seguente vi dà un’idea di cosa “vede” Kinect quando utilizza la modalità di SkeketonTracking: ogni pallino è un Joint.

    image

    Dopo l’inizializzazione del Runtime trovare una serire di parametri TransformSmootParameters,  questi parametri servono per migliorare la sensibilità con cui Kinect rileva i vari Joint. Ad esempio operando su alcuni di questi, nel mio caso ha fatto un po’ di prove Mario, possiamo rendere più precisa o meno la rilevazione di certi movimenti.

    Ora bisogna agganciare gli eventi che ci ineressano: SkeletonFrameReady e VideoFrameReady. Il primo è il più importante dei due per il nostro esempio perchè ci dà i vari Joint di cui vogliamo avere le coordinate. L’altro serve per creare una serire di imagini in sequenza molto rapida che danno l’impressione di vedere il video dentro PowerPoint e che come ho già detto servono solo per tarare il Kinect.

    Andiamo a vedere cosa succede dentro l’evento SkeletonFrameReady. In buona sostanza riceviamo una serire di eventi che contengono per ogni “evento” rilevato i Joint. Quindi possiamo prendere quelli che servono, come vedete nel codice seguente:

    image

    Nell’esempio precedente per ogni SkeletonData, recupero la posizione dei Joint che mi interessano (testa, mano destra, mano sinistra, centro della vita), quindi ora posso scrivere il codice che rileva la mia gesture. Bisogna tenere presente però che un evento viene rilevato in continuazione: quindi se rilevassi una gesture per andare avanti con le slide, quando il presentatore muove la mano destra verso sinistra (come se sfogliasse un libro) e mandassi avanti la slide, quello che succederebbe e che la rilevazione avverrebbe più volte al secondo e quindi arriverei in un baleno alla fine dello slide deck. Per ovviare a questo comportamento rilevo solo il primo movimento e appena intercettato imposto una variabile (mettendola a False) di modo che non possa più andare avanti con le slide. Quando poi rileverò che l’utente torna in una posizione di riposo (riporta indietro la mano destra) allora reimposterò a True la variabile precedente, così al successivo movimento si andrà avanti con le slide.

    image

    Nel codice precedente notate che se sono in una condizione in cui la slide può essere mandata avanti (_slideCanChangeNext2) (utente era prima in una posizione di risposo), controllo la posizione della mano destra, la posizione rispetto all’asse X deve essere a sinistra della testa e inoltre la posizione Y della mano deve essere più in alto del centro della vita + un offset, che uso per evitare che se l’utente si muova troppo vengano rilevati falsi avanti e indietro nelle slide. Se la verifica ha avuto successo posso mandare avanti la slide di una con il codice SlideShowWindow.View.Next().

    Conclusione

    In questo breve articolo (estivo) ho voluto provare il modello di programmazione della beta dell’ SDK per Kinect integrando le API in un Add-In di PowerPoint 2010, che tra le altre cose utilizza i Ribbon di Office 2010 e un CustomTaskPane che contiene una serire di controlli WPF. Potete scaricare il codice completo dell’esempio da questo link. (file powerkinect1.0.0.5.zip) L’Add-in è pensato per PowerPoint 2010 e funziona solo con le versioni 32 bit di Office 2010 perchè gli assembly di Kinect, che sono al momento in beta, sono utilizzabili in contesti a 32 bit.

    Il codice d’esempio contiene anche un’altra gesture… da usare con cautela durante una presentazione….scopritela!

    Buon divertimento con Kinect, spero facciate applicazioni interessanti!

  • Pietro Brambati Blog

    Orchard localizzato in Italiano

    • 0 Comments

    Come penso sappiate Orchard è un progetto gratuito, open source e soprattutto community-focused

    Orchard è scaricabile dal sito del progetto e da poco potete scaricare anche i file localizzati in Italiano, consentendovi quindi di avere l’interfaccia  localizzata.

    Il lavoro di localizzazione è stato portato a compimento da Simone che si è occupato della localizzazione in Italiano collaborando il team di Orchard insieme ad un altro gruppetto di volenterosi.

    Oggi ha fatto un post con l’annuncio: qui il post in inglese, qui quello in Italiano, dove trovate anche le istruzioni su come aiutare la community a migliorare la traduzione e tenerla aggioranta.

    Come installare il file per la localizzazione?

    L’utilizzo dei file localizzati sul vostro sito fatto con Orchard è molto semplice, un metodo è il seguente:

    Scaricate il file zip che contiene i file localizzati in Italiano e estraete il contenuto nella root del sito: attenzione a non creare una directory per lo zip ma dovete fare il merge delle cartelle contenute nello zip con quelle del sito Orchard che dovrete preventivamente aver creato. Vi apparirà un messaggio come quello mostrato di seguito:

    image

    Per cambiare il default della lingua, andate sotto: Settings->General nella Dashboard di Orchard. Sotto Default Site Culture, cliccate su Add or remove supported cultures for the site

    image

    Quindi nella schermata seguente, selezionate it-IT culture dalla lista e premete Add.

    image

    Tornate ora nella schermata dei Settings, a questo punto impostate la lingua it-IT e premete Save.

    image

    Da questo momemto il sito avrà l’interfaccia localizzata in Italiano.

    Se non avete ancora provato Orchard, potete utilizzare Microsoft WebMatrix e installarlo direttamente da lì.

    Buon divertimento con Orchard!

  • Pietro Brambati Blog

    Applicazioni Open Source su ASP.NET e il nuovo speciale di ASPItalia

    • 0 Comments

    Lo sviluppo di applicazioni web da zero è in alcuni casi una soluzione costosa in termini di tempo impiegato e di risorse coinvolte. Negli scenari in cui non sia possibile iniziare a sviluppare un’applicazione da zero vengono spesso usate applicazioni Open Source su ASP.NET.

    imageIn questo ultimo anno Microsoft ha messo a disposizione strumenti nuovi per l’installazione e la pubblicazione di queste appllicazioni. Noti CMS, blog Engine e motori di Forum su ASP.NET, Wiki e applicazioni per il commercio elettronico sono oggi ospitati sulla Web Application Gallery sul sito Microsoft. La Web Gallery si integra con strumenti come il Web Platfrom Installer e WebMatrix.

    Potete usare strumenti come il Web Platfrom Installer per installarle sulla vostra macchina oppure per scaricare tool gratuiti per lo sviluppo Web o Windows Azure. Questo tool gratuito vi guiderà nell’installare tutte le dipendenze necessarie all’installazione. Se ad esempio un’applicazione ha bisogno di usare SQL Server, abilitare ASP.NET etc. e questi non sono installati, verranno scaricati e installati prima dell’applicazione stessa, infine il Web Platfrom Installer vi guiderà nel processo di setup imagedella vostra applicazione preferita in pochi passi.

    Potete inoltre installare Microsoft WebMatrix, questo tool gratuito non solo si integra con la Web Gallery e vi aiuta ad installare le applicazioni Open Source su ASP.NET, ma vi dà dei template per partire a sviluppare piccole applicazioni Web, senza la necessità di dover iniziare a scriverle da zero. Scaricate le applicazioni, avete la possibilità di testarle in locale, modificandone eventualmente il codice tramite un semplice editor di testo, piuttosto che farne analisi per verificare come migliorarle dal punto di vista di come si presentano ad un motore di ricerca, facendo analisi SEO sulle stesse.

    Infine, spesso, uno dei problemi che si pone dopo aver realizzato una soluzione con queste applicazioni è cercare e trovare un hoster che faccia hosting adeguato. In queste ultimi mesi già alcuni hoster stanno cominciando a realizzare infrastrutture compatibili con WebMatrix e pubblicare offerte in una Hosting Gallery a loro dedicata. Vi consiglio di tenere d’occhio le offerte che appariranno in questa gallery e di cercare quelle più adatte alle vostre esigenze.

    ASPItalia:le migliori applicaz. Open Source per il web

    image

    Le applicazioni Open Source su ASP.NET sono un numero considerevole, pertanto vale la pena approndirle e capire meglio come possano aiutarci nello sviluppo quotidiano.

    Con oggi inzia uno speciale realizzato dalla community ASPItalia, che vuole aiutare tutti gli sviluppatori ASP.NET a conoscere meglio  le applicazioni Open Source più note realizzate dalle community di sviluppatori ASP.NET, come DotNetNuke, Umbraco, nopCommerce e mojoPortal o quelle più emergenti come Orchard.  Inoltre lo speciale ospiterà atre soluzioni basate sul mondo Open Source che gravitano intorno a .NET e sarà quindi un utile spunto per conocere o approndire altre soluzioni.

    Vi consiglio di partire da subito seguendo questo link, dove troverete l’annuncio dello speciale direttamente dalla community ASPItalia.

    Nelle prossime settimane, a scadenza settimanale, troverete gli approfondimenti  sui vari temi, i primi appuntamenti saranno con Marco De Sanctis, Gianluca Esposito e Riccardo Golia. Sulla pagina dedicata trovate il piano editoriale delle prossime settimane i cui appuntamenti saranno con Orchard e nopCommerce.

    Buona lettura per le prossime settimane.

  • Pietro Brambati Blog

    ASP.NET MVC 3 Tool Update

    • 0 Comments

    Durante Mix 11, che si sta svolgendo in queste ore è stato rilasciato un Aggiornamento dei tool per ASP.NET MVC 3.  Questo è un aggiornamento solo dei tool per Visual Studio 2010 e non del runtime che rimane quindi invariato. Vediamo le novità.

    Template di progetto

    Tra le novità troviamo un nuovo template di progetto per progetti di tipo Intranet, che supportano l’autenticazione integrata e che rimuove la classe AccountController. Questo nuovo template lo trovate tra gli altri disponibili tra i progetti ASP.NET MVC 3, come vedete nella figura seguente.

    image

    Inoltre nella stessa schermata per la scelta dei template trovate un check-box per abilitare il supporto all’ HTML 5 nel template, ad esempio nella pagina che definisce il template del sito (_Layout.cshtml) trovate l’uso dei tag semantici come header, nav e footer.

    Scafolding del modello con EF 4.1

    La finestra per l’aggiunta delle classi controller ora fa lo scafolding automatico del modello dei dati esposto con EF 4.1 (Anche quest’ultimo rilasciato oggi in versione RTM). Quindi ora se avete la vostra classe Customer, Visual Studio 2010 è in grado di generare il codice delle operazioni CRUD e non solo i metodi “vuoti” come faceva in precedenza. Nella figura seguente vedete la nuova Dialog per l’aggiunta del controller:

    image

    Ho scelto tra i template disponibili quello che genera appunto un controller e le view con le operazioni CRUD che fanno riferimento al modello fatto con E.F.  il cui modello è la classe Product ed il cui Data Context è Northwind, nell’esempio che ho usato.

    Il risultato è quello che vi raccontavo a parole ed è illustrato nella figura seguente: guardate le view aggiunte ed i metodi Index(), Details() etc con il codice che accede al DataContext Northwind.

    image

    La finestra per l’aggiunta di un controller può inoltre essere estesa tramite NuGet, abilitando altri scenari di Scafolding automatico, tramite plugin infatti è possibile aggiungere nuove funzionalità.

    JavaScript e NuGet

    Incluse le librerie aggiornate di  JQuery:

    • jQuery 1.5.1
    • jQuery Validation 1.8
    • jQuery UI 1.8.11
    • Modernizr 1.7

    E’ stata inoltre aggiunta la libreria Modernizr, che consente di poter sfruttare caratteriste evolute degli standard HTML 5 e CSS 3 senza rinunciare alla compatibilità dei browser che non le supportano.

    Inoltre queste librerie vengono aggiunte nei template di progetto da NuGet e possono quindi essere facilmente aggiornate grazie all’uso di questo Packet Manager.

    Nella figura seguente vedete le librerie aggiunte al template di progetto, anche Entity Framework 4.1 è già aggiunto tramite NuGet al template di progetto.

    image

    Conclusione

    In conclusione: novità che rendono l’uso di ASP.NET MVC 3 ancora più semplice, elegante, completo e divertente da usare.

  • Pietro Brambati Blog

    IE 9 incontra Joomla!: un nuovo Plugin per il Pinning

    • 0 Comments

    Dopo il rilascio della versione finale di IE9 mi fa piacere annunciare la disponibilità della RC di un nuovo plugin per Joomla! che abilita le funzionalità del pinning di IE9. Il plugin è stato realizzato da Marco Maria Leoni, che ho avuto il piacere di incontrare qualche mese fa a Milano e da qui l’idea. Marco ha realizzato il plugin disponibile sia per la versione 1.5 di Joomla! che per la neoarrivata versione 1.6. Sul suo sito potete scaricare e leggere come configurare il plugin e sempre da questo sito potete scaricare le ultime build e contribuire a migliorarne l’uso. Il plugin è anche disponbile sul repository ufficiale.

    Il plugin si integra all’uso dei menù di Joomla!  e grazie a  questi mette a disposizione sia le Jump List statiche, che prendono i contenuti da uno dei menù scelti da voi, e sia le Jump List dinamiche per visulizzare le ultime novità del vostro sito. All’aggiornarsi di queste, variano anche le voci presenti nella JumpList in modo dinamico.

    Le funzionalità di pinning di IE9 possono essere segnalate agli utenti che arrivano sul vostro sito e che appunto usano IE9 per la navigazione, tra le funzionalità del plugin trovate un’opzione che fa apparire in alto a sinstra un messaggio che appare agli utenti di IE9 che non hanno ancora abilitato questa funzionalità.

    Installazione di Joomla!  con WebMatrix

    Ho provato il plugin di Marco partendo da WebMatrix, potete anche utilizzare il Web Platform Installer e scaricare ad esempio Joomla! 1.5. Durante l’installazione ho scelto inoltre di avere dei dati di test per fare qualche prova.

    Nella figura seguente potete vedere Joomla! 1.5 in esecuzione sulla mia macchina, all’interno di IE9 lanciato direttemente da WebMatrix. Se volete utilizzare il Web Platform installer potete leggere questo articolo sul sito Joomla.it.

    image

    Installazione del plugin di Marco per Joomla!

    Dal sito di Marco scaricate l’ultima versione del plugin, in base alla versione di Joomla che state usando:

    image

    A questo punto bisogna loggarsi come amministratore sul sito Joomla sul quale volete abilitare il pinning, dal pannello del backend, andando su Estensioni, Installa/Disinstalla, quindi da Carica file pacchetto, prima cercate con “Browse…” il file .zip relativo al plugin che avete scaricato e successivamente premete su “Carica file & Installa”. Nella figura seguente vedete il messaggio in blu che avverte della corretta installazione del plugin.

    image

    Ora andate in Estensioni, quindi Gestione plugin, ricercate il plugin, ad esempio scrivendo IE9 nel filtro delle ricerche. Una volta trovato la prima cosa da fare è attivarlo, basta cliccare sulla x rossa e a questo punto il plugin è abilitato e dovreste vedere un’icona verde che appare di financo al plugin come in figura seguente.

    image

    Configurazione del Plugin

    Se selezionate il plugin appena attivato entrate nel menù di configurazione, trovate la spiegazione dei dettagli sempre sul sito di Marco. Nel mio caso ho scelto il “Nome Menu” è ho messo  mainmenu. Quindi ho messo “Mostra icone dei menù” a no.  Inoltre ho dato un nome alla categoria che conterrà le news di Joomla!: “Ultime notizie”.

    image

    Nella figura seguente  ho trascinato la tab con il vostro sito sulla taskbar di Windows 7

    image

    Una volta che il vostro sito è in pinning ,il risultato è quello che vedete nella figura seguente, se andate sull’icona sulla taskbar.

    E’ possibile inoltre avere icone ad alta risoluzione che vengono visualizzate quando l’utente effettua l’operazione di drag & drop del tab del sito per agganciarlo alla barra di Windows 7. Maggiori informazioni le trovate al Customizing the Site Icon.

    image

     

    Esiste poi un altro menù avanzato che contiene alcune impostazioni in più. Anche queste informazioni sono documentate sul sito di Marco. Qui potete vedere il pannello della build che sto provando, ma potrebbe essere diversa in base all'ultima versione rilasciata.

    image

    Dal menù potete definire il tooltip che appare quando passate con il mouse sull’ icona presente nell lista dei programmi. Inoltre potete scegliere il colore dei bottoni di IE9 e cosa più importante, potete definire se visualizzare un messaggio ai soli utenti di IE9 che non hanno ancora utilizzato il Pinning. Per abilitare questa funzionalità mettere a sì  “Disegna il layer di trascinamento” quindi potete definire il codice che viene usato dentro il layer che appare nella pagina e il css usato per la grafica nella parte successiva.

    Il risultato è il seguente, lasciando le impostazioni default:

    image

    Come vedete in figura, il layer appare se navigate sul sito con IE9 e non avete ancora fatto il pinning del sito. Oltre al messaggio che potete scrivere in italiano modificando quanto presente nel menù, se premete sul link nero il sito viene aggiunto alla lista dei programmi di Windows 7.

    Conclusione

    Le funzionalità di Pinning di un sito e le Jump List possono rendere più comoda la vita di un visitatore ai nostri siti che usano Internet Explorer 9, fortunatamente esiste ora un plugin per Joomla! che ne consente un facile utilizzo, senza scrivere codice, quindi … perchè non usarlo.

    Link tecnici utili per approfondire

  • Pietro Brambati Blog

    Mi sto preparando…

    • 0 Comments

    …all’evento online che verrà trasmesso in streaming il 15 Marzo alle 14.30

    Cominciamo dai dettagli:

    WP_000004

    Ecco l’agenda del WebCamp Online:

    Gli Standard HTML 5, JavaScript e CSS3:

    • Sviluppo Web con HTML5
    • WebDesign con CSS3
    • HTLM5 video tag
    • Integrare i siti Web con il Desktop

    Applicazioni ASP.NET Open Source:

    • Utilizzare ScrewTurn Wiki
    • Utilizzare Umbraco come CMS
    • Introduzione a Orchard
    • Utilizzare DotNetNuke
    Le novità di ASP.NET MVC 3 e WebMatrix:
    • ASP.NET MVC 3: ‘Razor’ (slide, esempio: disponibili dopo l’evento)
    • ASP.NET MVC 3: JavaScript e validazione  (slide, esempio: disponibili dopo l’evento)
    • ASP.NET MVC 3 e sviluppo con Entity Framework Code First (slide, esempio: disponibili dopo l’evento)
    • WebMatrix: dalla creazione alla pubblicazione di siti Web

    Nel mio caso presenterò le 3 sessioni su ASP.NET MVC 3 ci vediamo online o in chat.

  • Pietro Brambati Blog

    HTML5, Developer Tools, Pinning e JumpList in IE9 video su BEIT

    • 0 Comments

    Sono da pochi giorni disponibili i video fatti con Giuseppe e Ugo per SMAU su Internet Explorer 9. Sfortunatamente la qualità video non è delle migliori, a causa  di un errata codifica, ma abbiamo deciso di pubblicarli comunque perchè pensiamo possano essere ugualmente utili.

    image

    Ecco i link diretti ai video:

    Giuseppe sta inoltre lavorando ad una serie di post su HTML 5 che possono essere utili a tutti e quindi vi suggerisco di dare un’occhiata al suo blog.

  • Pietro Brambati Blog

    Creating a Razor Helper for Inline content embedding

    • 2 Comments

    Now that ASP.NET MVC 3 is in RC 2 and after reading some interesting blog posts on Razor’s syntax, I’ve decided to make some experiments building a simple Razor Helper. A helper is basically a snippet of code that you can create to generate some HTML using some code and that you can reuse in different part of your site.

    What this Helper is about

    I want to create an helper that can be used to read content from file system, like a JavaScript file or a CSS file and to insert the content inline in a HTML page. At the end I’ve also created a second helper, to embed also image inline on a HTML tag. If you’re wondering why I need to embed inline Javascript and CSS file in a HTML, the reason for that is to optimize the scenario that a user download a page for the first time of a new visited web site. If your page contains a lot of JavaScripts files and CSS files your browser will probably perform a lot of GETs to retrieve them (the first time you visit a site your browser’s cache is probably empty). So embedding inline code in the HTML page reduce the number of round-trips to get the content and in a single one you can retrive the all code necessary to execute the page. There’re some books that you can read that can give some advice on this scenario and how to optimize the second view to the same site. For  now let me introduce how I’ve built a simple helper, just for fun of building an helper.

    Building and testing the Helper

    To create and test my simple helper I’ve started creating a simple ASP.NET MVC 3 RC 2 project. Then I’ve added an App_Code folder that contains the Razor code. You can also build a library where to put your code, but to be more flexible I’ve followed the simple way. In the same folder I’ve put a file RazorHelpers.cshtml file. This name is important because I’ll use  it to reference the helper in my code.

    image

    Now  I declare some code inside the file: @helper keywork is used to create the helper, and the @funcions keywork to create some internal functions that I’ll call from helper itself. The file looks like the following, where FileGetContent is the function name of the Helper, it’ll be used as a static method.

    image

    I want to use the helper inside the _Layout.cshtml file in the Shared folder. This file is the template for the entire site, and now looks like:

    image

    I want to replace the Link and Script tag with my helper, that will put the code inline in the page and avoid the two query to server for the CSS and JavaScript file. So, the syntax looks like this piece of code:

    image

    The full code of helper is this one:

    image

    The logic of the helper is very simple, the FileGetContent call the function fun_fileGetContent that reads the content from file sytem, using different convention for the beginning of the file name or from the network, checking the common pattern using to express the name of the file, for example starting with http, or  instead with ‘/’ char or ‘~’. Probably I need to add more code to make the helper more robust.

    I’ve also tried to use the helper to add an inline image, so I’d like to have something like:

    image

    where I can literally embed a base64 encoded image inside an HTML img tag with the DataURI schema as in the previous image sample code. For that purpose I’ve created another helper, named FileGetBinaryContent: (I can’t use string encoding for array as in the previous code).

    image

    And now I can use the the code in my Razor View to insert an image of myself (of course, you can use others):

    image

    This is resulting page:

    image

    The page makes a single call and embed a CSS a file JavaScript an Image, but the most important thing of this post is that I’ve build two helpers and used them with the new Razor Syntax.

    If you want to see the full example you can download the code from here.

    Summary

    In this post you have seen that you can create snippet of code that can be reused in different part of your site with a cleaner and compact syntax.

  • Pietro Brambati Blog

    Visita a Bari @ DotNetSide

    • 0 Comments

    Il prossimo 3 Dicembre sarò a Bari presso l’hotel Best Western Hotel HR, SS 96 km 119,300, Bari - Modugno 70123, dove si terrà un evento con laboratorio organizzato dalla community DotNetSide in collaborazione con Microsoft Italia

    Agenda Evento

    L’evento inizierà alle 10. Per registrarsi è sufficente andare al seguente link.

    L’agenda prevede:

      • keynote, in cui ho intenzione di parlarvi ad alto livello di Windows Azure, Internet Explorer 9, applicazioni ASP.NET Open Source e del programma Website Spark.
      • Windows Phone 7: sviluppare applicazioni con Silverlight per il Marketplace : Windows Phone è uno degli argomenti più caldi del momento e se conoscete Silverlight potete sfruttare le vostre conoscenze per pubblicare applicazioni per il marketplace, che ora chiamiamo Application Hub. Se avete sviluppato per precedenti versioni di  dispositivi mobili o venite da altre piattaforme sarà il momento migliore per impadronirvi delle “basi”, poi il resto vi garantisco sarà immediato. Avrete anche la possibilità di toccare con mano il sistema operativo Windows Phone 7, su dei prototipi o dispositivi reali.
      • Windows Phone 7: Un'applicazione reale di Vito Arconzo (MVP)
      • ASP.NET MVC 2.0 di Raffaele Fanizzi
      • Windows Azure Platform,  di Giuseppe Dimauro (MSDN Regional Director)
      • Inside Windows Azure AppFabric, di Fabio Cozzolino (MVP)

    Agenda Laboratorio

    Dalle 12, inoltre, sarà possibile provare le proprie applicazioni su un Windows Phone 7 reale.

    Per partecipare al Lab, portate le vostre applicazioni su chiavetta USB e mandateci una mail a itamsdn@microsoft.com indicando specificatamente la data dell'evento (3 Dicembre), la città (Bari) e quali applicazioni volete testare.

     

    L’agenda completa e aggiornata è disponibile sul sito della community a questo link.

    Vi aspetto.

  • Pietro Brambati Blog

    How to localize The Title in a WP7 Silverlight application

    • 4 Comments

    If you’re working on a Silverlight application for WP7 and you want to localize non only the resources  inside the application, but also the Title name of your application you could find some useful information on this post that make your app easily uploaded and certified on the App Hub (the marketplace).

    The result of you localization process will be as the following, in the emulator (you can test this on it) you’ll see the same app using different names for English, Italian, French, Spanish and German.

    In the following pictures you can see the difference, switching between  English and Italian.

    imageimage

    imageimage

    To switch, you have to go in settings menu of your emulator (or device) and change the language and than tap to screen to reboot it using the new configuration.

    How to localize

    Basically to localize the Title you have to create a resource-only project for the following languages in C++, build and add the assemblies to the root of you Silverlight project. To do this you have to use Visual C++ compiler (unfortunately the Visual C++ Express can’t be used, but if haven’t  a full copy of Visual Studio 2010 you can download a trial).

    I’ve create a simple Silverlight project and the resource-only C++ projects that you can download and easily personalize.

    You can see in following picture how it looks like:

    image

    The WP7SilverlightLocalizedSample depends on some C++ projects. You hadn’t to rename the C++, projects, they must be named exactly as they are, instead you can add you personal Silverlight project to the Solution.

    Every C++ project have some post-built rules that copy the resource assemblies in the root of the solution. In the Silverlight project I have “add a link” to the generated assemblies and I’ve set the properties for these seven files as “Content” in the Build Actions.

    If you now want to localize the names of your application in different languages, first start from the AppResLib, and right-click on the AppResLib.rc file , than view code, and you’ll enter in the resource file.

    The AppResLib is the assembly for the language-neutral.

    image

    In the resource file you can search for the two string “AppTitle” and “AppTileString” and change them as you prefer.

    image

    You have to do the same stuff for other assemblies:

    • AppRes0407 for German
    • AppRes0409 for English - United States
    • AppRes040c for French
    • AppRes0410 for Italy
    • AppRes0809 for English – UK
    • AppRes0c0a for Spanish

    How to setup the Silverlight Project

    Now that you have localized the resource-only assemblies you have to change the WMAppManifest.xml , that you probably have on the properties folder and change the two strings as in the following pictures:

    image

    So you have to put in App element the Title attribute as

    @AppResLib.dll,-100

    and the Title element in the TemplateType5 as

    @AppResLib.dll,-200

    and you’ve done!

    Conclusion

    If you want to localize the title of your Silverlight app for the marketplace you can use the sample I provided, if you’re using XNA for building game you can see the detailed Aaron Stebner’s post from here.

    Happy coding with Windows Phone 7.

  • Pietro Brambati Blog

    WCF RIA Services 1.0 SP1 beta

    • 0 Comments

    E’ stata rilasciata la beta della Service Pack dei WCF RIA Services. Potete scaricare la beta partendo da questo link.

    Se avete installato il toolkit dei RIA Services ed i WCF RIA Services V1.0 dovete disinstallarli prima d’installare la nuova versione. La beta è stata rilasciata con licenza Go-Live. Oltre la SP1 beta, trovate anche il WCF RIA Services toolkit aggiornato ad ottobre.

    La beta è già localizzata in 10 lingue, comprese l’Italiano Smile.

    Le novità

    • E’ ora possibile utilizzare più Domain Service che usano le stesse entità. Questo evità l’errore di compilazione che avrete ricevuto quando avete cercato di utilizzare entità in condivisione tra diversi domain services.
    • Supporto per i Complex Type: se usate Entity Framework ora I WCF RIA Services supportano anche dati non strutturati (e.g Address).
    • Il codice lato client generato può essere rimpiazzato con un tipo che implementa IDomainServiceClientCodeGenerator. Le componenti per la generazione del proxy sono state reingegnerizzate e ora usano MEF e sono quindi più flessibili ed usabili in nuovi scenari.
    • Binding migliorato per EntitySet e EntityCollection che ora implementano ICollectionViewFactory. Ora una DataForm suporta Add e Remove button se collegata ad un EntitySet/EntityCollection.
    • Miglioramento al “Business Application Template”: per le finestre di autenticazione, login etc.

    Novità del Toolkit

    • Possibilità di esporre le entità di Windows Azure Table Storage come DomainService, questo qualora I WCF RIA Services siano in hosting su Windows Azure.

    More infos

  • Pietro Brambati Blog

    Visita a Napoli @DotNetCampania

    • 4 Comments

    Il prossimo 5 Novembre, sarò a Napoli, presso l’hotel Holiday Inn,  ospitato dalla community DotNetCampania, con cui avrò il piacere di partecipare all’evento che stanno organizzando in collaborazione con Microsoft.

    Agenda

    La registrazione inizierà alle 14.00 e penso di partire con la keynote alle 14.30, siate puntuali.

    L’agenda prevede, nell’ordine:

    • keynote, in cui ho intenzione di parlarvi ad alto livello di Windows Azure, Internet Explorer 9, applicazioni ASP.NET Open Source e del programma Website Spark.
    • Windows Phone 7: sviluppare applicazioni con Silverlight per il Marketplace : Windows Phone è uno degli argomenti più caldi del momento e se conoscete Silverlight potete sfruttare le vostre conoscenze per pubblicare applicazioni per il marketplace, che ora chiamiamo Application Hub. Se avete sviluppato per precedenti versioni di  dispositivi mobili o venite da altre piattaforme sarà il momento migliore per impadronirvi delle “basi”, poi il resto vi garantisco sarà immediato. Avrete anche la possibilità di toccare con mano il sistema operativo Windows Phone 7, su dei prototipi o dispositivi reali.
    • Realizzare UI per Windows Phone 7 con Expression Blend 4 di Carmine Alfano, di DotNetCampania Team. 
    • Le certificazioni Microsoft : i consigli di un MCT, di Rosalba Fiore - MCT, Country Lead - MCT Europe
    • MVP vs MVC: Realizzare applicazioni web testabili, di Michele Aponte - Alessandro Forte - DotNetCampania Team
    • Domande finali: cercherò di rispondere a tutte le vostre domande…forse. Prenderò in considerazione ogni feedback che mi date.

    Sorprese

    Per ogni partecipante all’evento verrà distribuita una maglietta di IE9 e ci sarà una sorpresa di “valore” che verrà estratta durante l’evento.

    Inoltre, cercherò di portare almeno un cellulare Windows Phone 7 da far girare tra il pubblico… ricordatevi di ridarmelo alla fine dell’evento!!

     

    Dovrei arrrivare in areoporto alle 11.00 e poi andrò direttamente all’ Hotel Holiday Inn, se qualcuno volesse chiedermi qualcosa prima dell’evento mi mandi pure una mail che vediamo di incontrarci.

  • Pietro Brambati Blog

    @SMAU: IE9, WP7, Azure e Windows 7

    • 0 Comments

    Da domani, trasmettereno in diretta da SMAU, 4 eventi tecnici dedicati a sviluppatori per Windows Phone 7, Internet Explorer 9 e Windows Azure, e per professionisti IT in cui si parlerà di Windows 7.

    Sotto trovate la scaletta con gli orari:

    image

    Gli eventi che vedrete in Smooth Streaming, saranno visibili da qui, già da oggi ci sono altri eventi Microsoft che sono trasmessi in diretta da SMAU.

    Internet Explorer 9

    Nel mio caso prenderò parte all’evento sulla beta di IE9. L’evento è così strutturato:

    • Keynote alle 14.30
    • Sviluppare l’integrazione con Windows 7 in Internet Explorer 9: sessione  fattta da Giuseppe Guerrasio,  in cui si mostrerà come realizzare Pinned Site e JumpList da IE9 beta.
    • Internet Explorer 9: introduzione alle novità con HTML 5: sessione che terrà Ugo Lattanzi, sulle caratteristiche principali dell’ HTML5, almeno allo stato attuale, dato che la specifica non è ancora chiusa, e quindi di come implementarle in IE9 beta.
    • Internet Explorer 9: compatibilità e Developer Tool: la mia sessione in cui veremo come utiliizzare la developer toolbar di IE9

     

    Ecco qualche screenshot delle cose che vedremo in 30 minuti durante la sessione:

    image

    image

     

    Per chi c’è ci vediamo in SMAU.

  • Pietro Brambati Blog

    ASP.NET Security Update: disponibile il download

    • 0 Comments

    Da poche ore è diponilbe un’ importante download per una vulnerabilità alla sicurezza di ASP.NET. Durante la scorsa settimana sono stati pubblicati diversi post, che ho ripreso sul blog di MSDN Italia, che segnalavano due workaround il primo e il secondo e una serire di aggiornamenti.

    E’ ora disponibile la fix a questa vulnerabilita’ e che non rende più necessario l’uso dei workaround che sono stati proposti per aiutare in caso di attacchi.

    L’aggiornamento sarà disponibile via Windows Update, ma è già scaricabile da Microsoft Download direttamente.

    Potete anche registrarvi per un webcast su TechNet per saperne di più a questo link.

    Sul blog di Feliciano Intini trovate utili informazioni su questo aggiornamento correttivo ed in generale sulla sicurezza.

    Update 1/10/2010

    Da oggi è disponibile la fix per la vulnerabilità direttamente da Windows Update, è consigliabile installarla e tenere allineate tutte le macchine della Farm.

    image

  • Pietro Brambati Blog

    REMIX 10 – Le mie sessioni

    • 4 Comments

    Da poco cominciano ad essere disponibili le sessioni di REMIX 10. Qui vi inserisco i link diretti alle sessioni da me tenute durante l’evento, sperando di fare cosa gradita e rispondere con un post ad alcune domande che mi avete fatto: scusate per il ritardo nella risposta.

    Sviluppare applicazioni con Silverlight e WCF RIA Services

    I WCF RIA Services sono il modo più rapido per esporre e consumare dati con Silverlight 4, durante questa sessione avete visto come usare i controlli per realizzare applicazioni di business, “alla gestionale”, sfruttando Grid, paginazione, ordinamento, usando un framework di navigazione e, infine, avete visto come portare l’applicazione Out-Of-the-Browser(OOB) e permettere all’applicazioni di accedere ad oggetti COM sulla macchina Windows, come Excel.

    Nota: se state sviluppando con i WCF RIA Services, fatemi sapere come vi trovate: se ci sono funzionalità che mancano, bug etc.

    image 

    Update:

    Silverlight 4 e i WCF RIA Services sono ora in versione finale (RTM) e fanno quindi parte dello stack  web rilasciato e supportato da Microsoft. Vanno installati su Visual Studio 2010 in versione finale, anche sulla Express e sono disponibili solo per la versione 2010 di Visual Studio, a differenza delle preview precedenti che avete visto lo scorso anno a REMIX.

    Documentazione MSDN sui WCF RIA Service.

    Ho copiato il codice di esempio usato durante la sessione a questo link, spero sia utile per seguire meglio.

     

    ASP.NET MVC e WebForm: quale scegliere?

    In questa sessione abbiamo messo a confronto due modi diversi di sviluppare, partendo da un framework ormani conosciuto come ASP.NET WebForm, di cui abbiamo visto le novità, e ASP.NET MVC 2, di cui ho messo in luce le novità e differenze rispetto alle  WebForm. Quindi scegliete pure il framework che preferite secondo “gusto” informatico, abitudini del team, codice già scritto etc.

    image

    Troubleshooting the Web con Fiddler2 e Internet Explorer 9

    Fiddler è un tool che mi è stato più volte utile in progetti reali, spero di avervi almeno fatto “respirare” un po’ della logica con cui è possibile usarlo. Oltre a Fiddler in questa sessione avete visto Internet Exlorer 9, la platform Preview 2 3, ora disponibile per il download. Spero che vi siate resi conto che IE9 sarà un browser in cui molte delle funzionalità aggiunte sono guidate dalla comunità dei developer: developer tool migliorati, implementazione delle specifice più stabili di HTML 5, CSS3 in pieno accordo con i maggiori organi di standardizzazione e non guidati delle mode del momento o da specifiche non ancora completamente chiuse. E poi accelerazione hardware via GPU ed un nuovo motore di JavaScript… stay tuned.

    Durante la sessione alcune delle novità sono state mostrate grazie all’aiuto dell’ amico Giorgio, che si è fatto un viaggio di parecchie ore per venire a trovarci da Redmond e mostrarci novità in anteprima.

    image

    Conclusione

    Spero vivamente che le sessioni siano state di vostro gradimento e vi possanno essere utili nella vostra vita lavorativa. Remix10  è un evento gratuito che spero sia apprezzato per la qualità e quantità dei contenuti. Sto raccogliendo tutti i link alle sessioni facendo dei post sul blog MSDN Italia il primo lo trovate qui. Fatemi pure sapere cosa vi è piaciuto e cosa no, comprese quali sessioni sono state più utili. Buon lavoro.

  • Pietro Brambati Blog

    Microsoft WebMatrix: uno sguardo

    • 0 Comments

    Da oggi tramite il Web Platform Installare 3.0 è disponibile la beta del nuovo Microsoft WebMatrix, con cui è possibile scrivere siti web in modo molto semplice. Questo tool non va a sostituire Visual Studio, ma è pensato per chi vuole usare un’ approccio ancora più semplice allo sviluppo web ed in cui Visual Studio sarà d’aiuto in una fase successiva. In particolare il modello di sviluppo utilizza un nuovo View Engine per ASP.NET, che sarà disponibile anche nella prossima versione di ASP.NET MVC.

    In questo post vedremo una rapida guida. Installiamolo dal Web Platform Installer, selezionando la voce presente nel seguito.

    Installazione

    image

    Questo installerà:

    • IIS Express
    • SQL Server CE 4.0 CTP
    • “Razor”, il nuovo View Engine che offre una sintassi semplice e compatta.
    • Il tool vero e proprio: Microsoft WebMatrix.

    La prima applicazione – La sintassi @

    Lanciamo ora WebMatrix, apparirà la schermata seguente:

    image 

    • Possiamo creare un’applicazione PHP o ASP.NET partendo da un sito nella Web Gallery
    • Partire da un sito scegliendo un template.

    Nel nostro caso selezioniamo quest’ultima opzione perchè mi dà modo di mostrarvi la nuova sintassi ASP.NET. Scegliamo tra i siti i template disponibili, io ho scelto “Bakery” e ho dato il nome MyBakery, come vedete nella figura seguente:

    image

    Ora avete un sito web già fatto, di cui potete ispezionare i file. Il sito è fatto usando il nuovo View Engine e potete usarlo per impadronirvi della nuova sintassi, che come vedrete richiede poco sforzo e soprattutto riutilizza le conoscenze di .NET che già abbiamo. Qui e qui trovate due esempi di dettaglio sulla sintassi, non tutti funzionanti nella beta attuale, ma che verranno aggiunti via via.

    image

    I file hanno estensione .cshtml e contengono una parte di codice in CS ed un parte di codice HTML. In particolare nella pagina Default.cshtml trovate un blocco di codice identificato dal simbolo @, ove viene definita la pagina che contiene la struttura del sito, la master-page se volete, associata alla proprietà LayoutPage e viene valorizzata la proprietà PageData[“Title”]. Dove verrà usata? Apriamo la pagina _Layout.cshtml.

    image

    In questa pagina, che contiene la struttura del sito, viene usato il valore impostato nella PageData[] utilizzando la sintassi @, questa volta non all’interno di un blocco di codice, ma per sotituire il valore impostato nella pogina Dafault.cshtml che abbiamo visto in precedenza. Come potete immaginare il risultato che arriverà al browser dell’utente sarà il “merging” delle due pagine.

    Possiamo anche provare a fare una piccola modifica per visualizzare la data corrente. Nella Default.cshtml aggiungiamo il codice evidenziato in rosso dove uso la classe .NET DateTime.

    image

    Lanciamo ora l’applicazione usando il menù a Ribbon di WebMatrix che ci permette di scegliere tra alcuni dei browser che abbiamo installato per la preview, scegliamo IE.

    image

    Il risultato sarà:

    image

    Che conterrà la data che volevamo visualizzare. Il sito web creato vive in un folder locale all’utente e si trova in un path simile a questo: C:\Users\<user>\Documents\My Web Sites\MyBakery

    Dove sta girando l’applicazione? IIS Express

    Con WebMatrix è stato installato anche il nuovo IIS Express, trovate l’icona in basso nella system tray e se vi cliccate vedete i siti che sono in esecuzione.

    image

    IIS Express è una versione di IIS pensata per lo sviluppatore: da un lato offre le funzionalità di IIS 7.x tra cui il supporto a HTTPs e la possibilità di fare URL Rewrite, dall’atra parte la flessibiltà di un Developer Server, come quello al momento presente in Visual Studio. IIS Express consente di essere copiato su una macchina Windows, anche XP, non gira però come servizio e non richiede diritti amministrativi, ma deve essere lanciato come un semplice eseguibile, in questo caso lo fa direttamente WebMatrix. Inoltre ha una configurazione per utente che trovate nel folder “C:\Users\<utente>\Documents\IISExpress8”.

    Il Database con SQL Server CE 4.0

    L’applicazione d’esempio utilizza anche un database, se cliccate nel menù in basso potete vederlo in modo più esplicito anche se si trova nell’usuale (per ASP.NET) folder AppData.

    image

    Da WebMatrix potete creare semplicemente un Database; creare, cancellare tabelle e campi. Il risultato finale sarà un semplice file con estensione .sdf. WebMatrix installa anche il nuovo SQL Server CE 4. Questa nuova versione di SQL Server CE offre nuove funzionalità: tra cui il supporto per l’utilizzo server-side di dababase in memoria, che gireranno appunto sul server in contesti altamente multi-threaded. Inoltre questo modello offre la semplicità di fare la copia del file sdf su un server sul quale non è necessarimanete richiesto di installare un DBMS per poter far funzionare l’applicazione. Potete ben immaginare come questo approccio sia adatto a soluzioni a basso traffico, ma in caso vogliate, potete poi migrare verso un prodotto che offra scalabilità maggiore e migrare il database direttamente da WebMatrix.

    Per vedere come l’applicazione accede al database aprite il file Order.cshtml:

    image

    Come vedete per aprire la connessione al database basta usare l’API Database.Open e passare come parametro il nome del database, il resto è a carico di ASP.NET, non poteva essere più semplice di così. Vi ricordate, l’obiettivo di questo prodotto è la semplicità,  e non la flessibilità di usare la strategia di accesso ai dati migliore, che spesso va a scapito della prima, ma che in altri contesti sarebbe un requisito irrinunciabile.

    Ad ogni modo dalla request viene recuperato il parametro productId e poi viene eseguita una query tramite la chiamata .QuerySingle in cui mi aspetto venga ritornato un unico record dal database.

    Report e analisi per SEO

    L’utima funzionalità che vi voglio mostrare di WebMatrix è la possibilità di fare analisi del sito relativamente alle problematiche di Search Engine Optimization (SEO). Queste analisi possono essere molto utili nel momento in cui vogliamo che il nostro sito sia visibile su internet.

    Nel mio caso o fatto qualche modifica al sito, come rimuove il tag Title dall’ Header della pagina HTML, in questo caso:

    image

    In questo caso ho un report con warning ed errori veri propri, che mi avvertono di problemi in cui posso incorrere e che impediscono ad un motore di ricerca d’ indicizzare correttamente il sito. Cliccando sull’errore avrete anche maggiori dettagli:

    Conclusione

    Il nuovo WebMatrix è rivolto agli sviluppatori di siti web che cercano un modello semplice e lineare per integrare ad una pagina HTML/CSS/Javascript l’interazione e la dinamicità necessari al funzionamento di un sito web, lasciando però aperti gli occhi a sviluppi e modelli futuri...

    ASP.NET si arricchisce di una nuova sintassi semplificata rivolta a chi parte sviluppando pagine HTML e successivamente aggiunge dinamicità. La nuova sintassi è lineare e semplice da imparare e fa uso di .NET, offrendo quindi un linguaggio compilato e strongly-type. Il nuovo View Engine viene usato per la prima volta con WebMatrix ma ne verrà esteso il funzionamento a Visual Studio 2010 e alla prossima versione di ASP.NET MVC in particolare ne costituirà una possibile scelta.

    Inoltre come avete visto da poco sono disponibili IIS Express e SQL CE 4.0 in preview, strumenti che possiamo comunque pensare di utilizzare con Visual Studio 2010 e che verranno in seguito integrati.

    Potete trovari una serie di post molto dettagliati su questi argomento sul blog di ScottGu qui, qui, qui e qui.

    Download

    Potete scaricare WebMatrix e installarlo da qui.

  • Pietro Brambati Blog

    Evento Community SharePoint 2010: Microsoft, 29 Giugno

    • 0 Comments

    Martedì prossimo nella sede Microsoft di Segrate(MI), si terrà un evento gratuito dedicato a SharePoint 2010. La mattina è dedicata agli sviluppatori e site builder ed il pomeriggio è dedicato agli IT Pro.

    Potete consultare l’agenda sul sito di sharepointcommunity.it, redatta da Paolo e Igor ed i ragazzi della community, ed iscrivervi qui per la mattina dev e qui per il momeriggio IT Pro.

    Spero di vedervi là.

  • Pietro Brambati Blog

    Le mie sessioni a REMIX10

    • 0 Comments

    La prossima settimana si terrà REMIX10. Ecco le mie sessioni:

    image

    In questa sessione cercherò di mettere in luce differenze, vantaggi  e svantaggi di ASP.NET WebForm 4 e ASP.NET MVC2. In particolare vedremo come le webform sono evolute nell’ultima versione di .NET al fine di venire incontro ad alcune richieste da parte della community avvenute in passato, anche utilizzandole con moderni framework Javascript come jQuery. Vedremo invece il modello offerto da ASP.NET MVC, di come sia diverso, migliore o peggiore a seconda di alcune funzionalità che andremo a vedere durante la sessione. La sessione quindi non è su tutte le novità dell’ultima versione di ASP.NET MVC 2, per questa vi darò un link esaustivo, ma piuttosto su quelle funzionalità che possono far apprezzare o no questo modello.

     

    image

    Fiddler è un tool fantastico, che uso ormai da anni e che più volte mi è stato utile in diverse situazione “limite”, dalla misura delle performance di un sito fino a fare il debug di richieste e risposte http di siti già rilasciati e di cui per qualche ragione avevo bisogno di cambiare, sostituire parte delgli header o del body della richiesta per fare diagnostica. Mi è anche capitato di dover simulare la presenza di proxy autenticati, quando questi non erano presenti al fine di valutare il comportamento del mio sito. Fiddler è molto più di una developer toolbar, ma per il lavoro del day-by-day può essere utile la developer toolbar di IE8/IE9. Nella nuova versione  è stata aggiunto anche un Network monitor con una doppia visualizzazione una con meno dettagli più utile per lo sviluppo su una intranet e una che offre tutti i dettagli per valutare cosa succedde in un sito su internet. Fatemi sapere quali sono le funzionalità che vi sono più utili per lo sviluppo web…

    Le mie sessioni fanno parte della traccia what’s new, dedicata a sviluppatori o architetti. Tenete presente che quest’anno a REMIX ci sono ben 4 tracks con tagli diversi: Jump Start, dedicata a chi è agli inzi con la tecnologia Microsoft per il web, una traccia dedicata a Windows Phone 7, ed una dedicata a chi si occupa di offrire servizi di hosting.

Page 1 of 11 (261 items) 12345»