Pietro Brambati Blog

Developer's stories

  • 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

    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

    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

    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 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

    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

    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

    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

    I 10 anni di ASPItalia.com

    • 0 Comments

    image In occasione dei Microsoft Days 08, per la tappa Romana si è unita a noi AspItalia, che ha deciso di festeggiare i suoi primi 10 anni di vita community. Quando dico festeggiare intendo che c'era anche un grande e bella - spero- torta.

    Bene, ho filmato la serata, che è stata un ottimo connubio di momenti divertenti e di contenuti tecnici.  Nel filmato potrete vedere "la torta", ma anche gli argomenti delle sessioni tenute da Daniele Bochicchio, Cristian Civera, Marco e Alessio Leoncini. Per l'occasione si è unito al gruppo anche Riccardo Golia, che è stato così gentile da regalarmi una copia del loro nuovo libro : ASP.NET 3.5 per tutti, di cui potete trovare tutte le informazioni qui. Mi hanno detto che si può scaricare anche un capitolo d'esempio ...

  • Pietro Brambati Blog

    Open XML, Firefox, ODF e Apache …

    • 0 Comments

    Ok, in una parola interoperabilità.

    Dopo il recente rilascio dello standard ISO/IEC 29500 (Office Open XML), durante il Document Interoperability Initiative workshop svoltosi la scorsa settimana a Brussels, sono stati presentati nuovi tools e tecnologie al fine di promuovere una sempre maggiore interoperabilità tra formati di documenti diversi.

    In particolare vi segnalo:

    image Open XML Document Viewer: questa CTP sostanzialmente permette di avere accesso ad un file Open XML da qualsiasi piattaforma che abbia un browser. Nel video (4 min) vedete come si installi il plug-in per Firefox con qui aprire un documento OpenXML direttamente nel browser. Il plug-in viene utilizzato su piattaforma Microsoft nella prima parte e successivamente su Linux.

    Download Open XML Document Viewer

     

    image Open XML/ODF Translators Version 2.5: nella versione 2.5 del progetto questa volta un add-in per Office XP, 2003 e 2007 consente di esportare un file in formato ODF. Nel video (4 min) vedrete anche il supporto per gli ODF templates per una migliore fedeltà durante la conversione da un formato ad un altro.

    Download Open XML/ODF translator

     

     

    Apache POI Java SDK for Open XML: è stato rilasciato un SDK per chi sviluppa in Java e vuole lavorare con il formato Open XML. Questo SDK fa parte del progetto POI : Java API To Access Microsoft Format Files.

    Link utili:

  • Pietro Brambati Blog

    Tasti di Zoom + e – in Deep Zoom

    • 0 Comments

    Una delle funzionalità che hanno aggiunto nell’ultima versione di Deep Zoom Composer è molto interessante. Ho ricevuto spesso domande su come aggiungere pulsanti per fare lo zoom in progetti deep zoom e sicuramente in questo modo avete già molto codice e grafica già fatta.

    Installare Deep Zoom Composer

    Potete scaricare l’ultima versione da qui ( quella che ho usato è la 0.9.000.6). Quindi lanciatelo.

    Import e Compose

    L’uso è semplice ed intuitivo:

    1. Uplodate una o più foto (siete nella fase di Import, lo vedete nella barra in alto)
    2. Nella fase di Compose potete sistemare le immagine riducendole, ad esempio, e sistemandole una sopra l’altra:

     

    image

    Export

    In questa fase potete scegliere la modalità in cui esportare il vostro progetto DeepZoom

    image

    Scegliete Silverlight Deep Zoom, Export as a Composition e quindi Export.

    Aprite il progetto generato. Ora, oltre al supporto per la rotella del mouse avete i due tasti per lo zoom in e out ( più altri ) nell’ angolo in basso a destra: muovetevi con il mouse nell’angolo, un’animazione presenterà la barra.

    image

    Se ora andate nel file app.xaml, in fondo trovate il canvas che contine i 4 bottoni, ai bottoni è associato un Data Template che ne modifica l’aspetto e il comportamento (nella porzione di codice sottostante non vedete la proprietà Template)

    image

    Ora se proprio volete essere sicuri rimuovete la proprietà Template dal primo bottone, quello con x:Name=”zoomIn”, ed ecco la versione developer (= quella brutta) dello stesso bottone.

    image

    Procediamo ed andiamo a vedere il codice C# dietro il bottone Evento ZoomInClick, che contiene il codice seguente, dove viene svelato il mistero.

    image

    Lo XAML della pagina contiene un elemento di tipo MultiScaleImage, che viene referenziato da code-behind con il nome msi. Tra i metodi di questo oggetto esiste  ZoomAboutLogicaPoint, che si occupa, guarda caso, proprio di gestire lo zoom, ma dato che lavora con coordinate logiche ( da 0 a 1) e non fisiche, viene invocato il metodo ElementToLogicalPoint, che converte le coordinate da pixel a logiche. Nel codice viene preso come riferimento il centro del rettangolo disegnato dall’elemento MultiScaleImage. Nel codice generato dal Composer la Width e la Height viene recuperata dalle proprietà ActualWidth e ActualHeight.

  • Pietro Brambati Blog

    Un’iniziativa divertente …

    • 0 Comments

    j0427752 Oggi sono rientrato da un lungo periodo di ferie, gurdando tra mail, post arretrati e quant’altro sono stato incuriosito da questa iniziativa che i ragazzi di ASPItalia stanno organizzando in occasione della conferenza Basta!Italia. L’idea è semplice se qualcuno di vuoi si sente in grado di fare una sessione tecnica su tecnologie Microsoft, può proporre il titolo di una sessione e se viene scelto, avrà il palco serale a sua dispozione! Probabilmente non interessa proprio a tutti, ma se qualcuno vuole provare, anche solo per una volta … penso sia un’ottima occasione: provare per credere. Il tempo non è più molto perchè mi sembra che la candidatura vada espressa entro il 15 gennaio, ma come dice qualcuno … solo “i più coraggiosi”. Tutte le informazioni le potete trovare qui.

    Buona fortuna

  • Pietro Brambati Blog

    IE8 XDomainRequest

    • 0 Comments

    Durante la presentazione che feci ai MS Days 08 su IE8, ho brevemente accennato ad alcune API che possono interessare a chi sviluppa applicazioni AJAX. Una di queste si chiama XDomainRequest (XDR) e ha l’obbiettivo di permettere chiamate cross-domain, ad esempio da una pagina a.aspx nel dominio a.com ad una pagina b.aspx nel dominio b.com.

    Nella RC di IE 8, sarà disponibile il supporto completo a Simple Cross-Site Access Request. In estrema sintesi nella pagina chiamata, b.aspx,  è possibile specificare un header http (Access-Control-Allow-Origin) che contiene l’url del sito chiamante, rendendo estremamente granulare la scelta del chiamante stesso.

    imageIn questo video pubblicato sul sito di IE8 in cui si dà la notizia, potete vedere due cose interessanti: la prima un esempio di questa tecnica con IE8, la seconda come modificare la sola pagina chiamante per funzionare con la beta di Firefox. La pagina chiamata, invece non dovrà essere modificata.

  • Pietro Brambati Blog

    WAI-ARIA

    • 0 Comments

    Fino a qualche mese fa, non ero a conoscenza di queste specifiche (Accessible Rich Internet Applications): che hanno lo scopo di definire come creare applicazioni RIA facilmente accessibili. Grazie a qualche accorgimento nel codice infatti è possibile avere applicazioni HTML, JavaScript che possono facilmente essere utilizzate da persone con disabilità e che utilizzano dispositi come screen-reader per avere accesso a Internet.

    Sono arrivato allo studio di queste specifiche quando ho cominciato ad interessarmi alle novità di Internet Explorer 8 e vi sono ritornato quando ho letto del supporto migliorata che ci sarà nella RC  in cui oltre alla modalità standard di IE8, tale supporto vi sarà anche per la modalità IE7 e Quirk.

    Per uno svillupatore fare in modo che il proprio sito supporti WAI-ARIA vuol dire aggiungere delle proprità all’ HTML:

    • alcune come i role attribute pemettono di fare capire ad un dispositivo esterno cosa un certo elemento HTML rappresenti, secondo una lista di ruoli predefiniti
    • states and properties permettono di specificare meglio lo stato appunto di un elemento HTML
    • Le live regions permettono di sapere quali porzioni della pagina verranno più facilmente modificate dall’applicazione, e quindi monitorate più facilmente da un dispositivo esterno

    Se siete interessati a dare uno sguardo alle novità di Internet Explorer 8 sul supporto agli standard per l’accessibiltà:

  • Pietro Brambati Blog

    Basta: il Tour

    • 0 Comments

    Dopo l’edizione della conferenza Basta!Italia svoltasi a Roma e a cui ho avuto il piacere di parteciapre, ecco l’edizione più snella ed itinerante, le informazioni sono sul sito. Le prime date sono a Milano il 28 ed il 29 Maggio. Dal blog del Daniele nazionale vedo che ci sarà anche una Community Night gratuita il 28 Maggio dalle 18 alle 21 … vi lascio scoprire i contenuti da soli ….

  • Pietro Brambati Blog

    La mia prossima settimana : BastaItalia & PHPConf

    • 0 Comments

    Come ogni venerdì è bene dare un’occhiata agli impegni della prossima settimana:

    image

    image 

    Keynote : Windows 7 e Internet Explorer 8

    La parte su Windows 7 della Keynote sarà tenuta da Gabriele Castellani

    18.03.2009   09:00:00 - 10:15:00

    image

    image

    ASP.NET AJAX: Presente e Futuro

    18.03.2009   15:45:00 - 16:45:00

     

    image

    image

    Windows e PHP

    19.03.2009   16:45:00 - 17:45:00

     

    Appuntamenti serali interessanti e Gratuiti:

    16/3: Community Champion presentato da ASPItalia.com.

    Nel corso della serata verranno tenute 3 sessions.

    I contenuti e la registrazione sono accessibili su http://www.aspitalia.com/eventi/16/Community-Champion-BastaItalia-2009.aspx

    17/3: UGIdotNET presenta un Technical After

    I contenuti e la registrazione sono accessibili su http://www.ugidotnet.org/contents/UgiDotNetAtBastaItalia2009.aspx

  • Pietro Brambati Blog

    UGISS Workshop Torino - Call for Papers

    • 0 Comments

    Il 16 Giugno a Torino si terrà il workshop di UGISS (User Group Italiano SQL Server).

    L’aspetto interessante di questa segnalazione però è il “Call for Paper”, ovvero potete anche voi proporre delle sessioni tecniche su SQL Sever.

    Quindi anche se non avete mai fatto una sessione in pubblico, ma conoscete bene l’argomento, può essere una buona occassione.

    Concludo con le parole di Davide Mauri : “la community ha bisogno di voi!” e “Fatevi avanti!”

  • Pietro Brambati Blog

    Microsoft TechDays 2009 – Aggiornamento Sessione DEV327

    • 0 Comments

    Dopo il rilascio della beta di Silverlight 4 e dei nuovi WCF RIA Services (prima noti come .NET RIA Services) ho deciso di aggiornare il titolo della sessione DEV 327 che terrò a Microsoft Tech Days 2009 in:

    “Sviluppare applicazioni di business con Silverlight 4 e i WCF RIA Services”.

    Quindi scusate se trovate il titolo e abstract della sessione disallineati, è colpa mia.

    Userò Visual Studio 2010 perchè vorrei mostrare alcune delle novità dell’editor, ma potete scaricare anche i WCF RIA Serives beta per Visual Studio 2008.

    Una delle cose che mi sto divertendo a fare è sfruttare le potenzialità di far girare l’applicazione Silverlight 4 Out-Of-Browser in modalità Full-Trust, le nuove potenzialità di binding dinamico e di COM interop per acedere a Microsoft Excel.

    1) Abilitare l’acesso Full Trust in modalità OOB da Visual Studio 2010 nelle proprietà Silverlight del progetto.

    image

    2) Quindi aggiungere reference a Microsoft.Csharp.dll e scrivere qualcosa del tipo:

    image

    Notate la keywork dynamic.

    Ed ecco fatto, quando l’applicazione gira OOB. Potete pensare di usare la stessa tecnica per accedere anche ad Outlook, ad esempio, per accedere alle informazione del calendar etc.

    image

    Bene, ora vi aspetto alla sessione.

  • Pietro Brambati Blog

    Community Tour slide e demo

    • 0 Comments

    Ieri ho preso parte all’ultima tappa del “mio” community tour, che mi ha visto prendere parte a questa iniziativa con le community DotNetToscana a Pisa,  dotNetRomaCeSta a Roma, DotDotNet a Bologna e con XeDotNet, PowerShell.it, DotNetWork a Pordenone e che con un unico post vorrei ringraziare per il supporto. Inoltre un grazie ai ragazzi di DotNetCampania  e a chi è venuto a trovarmi facendo lunghe trasferte :-) e ha preso parte a questi eventi contribuendo a farli diventare un momento importante di formazione comune, solo per appassionati naturalmente.

    Per chi è interssato, può scaricare slide e demo delle mie sessioni, modificate via via che il tour procedeva.

    Silverlight 4 e i WCF RIA Services

    Windows 7 sviluppo con .NET

    Foto e player Silverlight

    Alcune foto degli eventi a cui ho partecipato, se volete segnalarne altre lasciate pure un commento.

    Inoltre per l’evento di Roma trovate un player Silverlight sul sito di DotNetRomaCeSta.

    image image

    image image

    Grazie a tutti !!
  • Pietro Brambati Blog

    Torino Technologies Group : community a Torino

    • 0 Comments

    image

    E’ con piacere che vi segnalo il portale del TTG, Technologies User Group, la community torinese dedicata primariamente allo sviluppo .NET.

    Come già annunciato in precedenza da Marco Russo i tempi erano maturi.

    Dal portale della community ora (www.torinotechnologiesgroup.it) potete leggere la filosofia e le finalità:

    “Torino Technologies Group è una community locale, di base a Torino ma rivolta in particolare al Piemonte, che consente occasioni di incontro e scambio di esperienze tra chi sviluppa soluzioni usando tecnologie Microsoft (e non solo). L'obiettivo è quello di riuscire a organizzare appuntamenti con una certa frequenza (l'ideale sarebbe una frequenza mensile) di durata breve in orario pomeridiano o pre-serale (magari alternando diverse soluzioni di orario e venire incontro a esigenze diverse).

    Gli incontri periodici avvengono generalmente presso il MIC (Microsoft Innovation Center) all'interno dell'area del Politecnico di Torino. È quindi auspicabile che la community diventi anche un ponte di collegamento tra aziende con sedi in Piemonte, studenti e start-up ospitate negli incubatori all'interno del Politecnico stesso.”

    Cosa fare ora?

    Direi che potete:

    1. Registrarvi alla community Torinese/Piemontese

    2. Rimanere in attesa di un evento, potete consultare la pagina stessa.

    E quindi partecipare semplicemente per ascoltare e per imapare e, anche perchè no, contribuire.

    Ci vediamo presto.

  • Pietro Brambati Blog

    Javascript : caricare script dinamicamente e dipendenze

    • 0 Comments

    Come si sa il modo più sempice e classico per caricare file javscript in una pagina è l’uso del tag <script> messo nell’ head della pagina HTML. Ad esempio, se vogliamo caricare il file javascript myfunc.js scriveremo qualcosa del genere:

    image

    Alcune delle considerazioni che possiamo fare sono:

    • i file vengono caricati in serie (anche se questo non è sempre vero per tutti i browser) e questo può portare ad un rallentamento del caricamento iniziale della pagina, a maggior ragione in presenza di numerosi file e soprattutto la prima volta che un visitatore arriva su un nostro sito e i file .js non sono nella cache del suo computer.
    • inoltre se carichiamo un file molto grosso, con delle funzioni che non vengono usate fino  a quando l’utente non fa qualcosa sulla pagina, il caricamento della pagina rimane in attesa inutilmente. Se carichiamo una complicatissima funzione somma (o una funzione per la verifica di acquisto, ad esempio) ma il nostro visitatore non premerà il pulsante somma o acquisto, abbiamo fatto un’operazione di carimento in questo caso inutile e magari l’utente ha l’impressione che il sito sia lento perchè la pagina non viene caricata subito.

    Se siamo giunti a queste considerazioni, o ci troviamo nel caso di volere ottimizzare la pagina, probabilmente ci si presenta la possibilità di aggiungere dinamicamente i file javascript al DOM della pagina stessa. Il DOM è il Document Object Model ed è sostanzialmente una rappresentazione ad albero di tutto quello che compone la nostra pagina HTML. In un punto a piacere nel body della pagina potremmo volere modificare il DOM nel modo seguente: il codice dovrebbe funzionare su tutti i browser più recenti:

    image

    A questo punto il file javascript verrà aggiunto alla pagina.

    Il vantaggio più evidente di questa tecnica è che possiamo aggiungere file javascript in un secondo momento rispetto al primo caricamento della pagina e magari on-demand, cioè solo quando ne abbiamo bisogno ad esempio quando l’utente preme un pulsante.

    Ok, ma quali possibili problemi possiamo incontrare?

    • il file javscript potrebbe essere già presente e magari già caricato nel DOM. Supponiamo di voler aggiungere jquery alla pagina, se la pagina non l’abbiamo fatta noi o magari andiamo ad inserire del codice in una pagina già fatta, ad esempio in un blog, il file potrebbe essere già presente. JQuery è una libreria molto usata ed è molto probabile che sia già stata usata da qualche parte.
    • Quando andiamo ad usare le funzioni della libreria dobbiamo verificare che questa sia disponibile nel momento in cui il nostro codice javascript la usa. Questa volta il caricamento avviene in modo asincrono e quindi il codice potrebbe richiamare una funzione di una libreria non ancora caricata.

    Guardiamo il codice seguente dove carico jquery usando la tecnica vista e poi faccio una semplice chiamata usando l’oggetto Jquery per andare ad impostare un alert su un tag ancora:

    image

    Se lancio l’applicazione ottengo un errore: perchè l’oggetto JQuery, cioè $, non è ancora definito quando lo devo usare, lo vedete bene nella developer toolbar di Internet Explorer 8:

    image

    Ironia della sorte l’oggetto $ è proprio quello che jQuery mi mette a disposizione per verificare che il DOM della pagina è pronto. Il motivo è proprio che l’oggetto JQuery, cioè il simbolo $, non è definito nel momento in cui eseguiamo il nostro codice Javascript che vuole usare la suddetta libreria. Per preveniere questa situazione alcune tecniche di programmazione Javascript prevedono d’ implementare una sorta di timer in attesa del caricamento effettivo della libreria: una tecnica che funziona e che non è neanche così inefficente come potrebbe sembrare.

    • un altro problema che possiamo incontrare è la gestione delle dipendenze: se vogliamo caricare dinamicamente in modo asincrono ma ci sono delle dipendenze tra i file javascript, la situazione si complica ulteriormente: ad esempio se vogliamo usare la libreria jQueryUI, questa dipende da jquery. Quindi in questo caso dovrei essere sicuro di caricare prima jquery, alla fine del caricamento e solo alla fine, caricare jquery.UI e quando le librerie di jQueryUI sono disponibili scrivere il mio codice.

    Per risolvere queste problematiche ed avere numerosi altri vantaggi possiamo usare il Microsoft Ajax Script Loader, un componente della Microsoft Ajax Library,ed in particolare il modulo che implementa un loader per file javascript e la gestione delle dipendenze: Start.js.

    Il Microsoft Ajax Script Loader

    Il modo più rapido per imparare ad usare le MS Ajax Library è partire da questo link al sito. Nel seguito mi focalizzerò primariamente sul loader, le caratteristiche di questo loader sono:

    • contenuto in un unico file Start.js che può essere scaricato dalla CDN Microsoft, o localmente al vostro progetto. L’uso di una CDN consente di migliorare i tempi di download avendo una cache distribuita sui server Microsoft in modo geografico.
    • Riduce i tempi di download iniziali di un’applicazione, differndo il downlaod del javascript in seguito.
    • contiene riferimenti ad un serie di file javascript come Jquery o le MS Ajax library che vengono scaricate da una CDN, ma se ne possono aggiungere di propri e anche per questi definire delle dipendenze.
    • gestiste le dipendenze tra file javascript in modo che vengano caricati nell’ordine opportuno per il loro buon funzionamento.
    • consente di combinare tra loro file javscript in un unico file, prima del downlaod, così da fare un unico downlaod di un file invece di n piccoli download, che scatenerebbero più richieste http sulla rete.
    • esegue il caricamento di file javascript on-demand, quando effettivamente richiesto.

    Vediamo un primo esempio d’uso:

    Caricamento dei file js necessari

    image

    Inizialmente ho caricato il file Start.js, il nostro loader appunto, direttamente dalla CDN Microsoft, non ho dovuto quindi aggiungere nessun file .js al mio progetto.

    Usando ora l’istruzione Sys.require, Visual Studio ci mette a disposizione l’intellicese anche per queste istruzioni Javascript, possiamo specificare quali sono i file javascript necessari. Come vi dicevo il loader ha già una serie di file preimpostati, tra questi c’è anche jquery e quindi potete scrivere Sys.scripts.jQuery.

    La lista dei file disponibili out-of-the box  (al momento) è:

    image

    I file vengono presi dalla CDN microsoft. Nella CDN trovate anche jquery 1.4.1 e potete utilizzare quest’utima versione con la tecnica vista nel seguito, in cui andremo a indicare file custom da caricare.

    Inoltre notate che all’istruzione Sys.require viene passata la funzione funDOM che verrà eseguita al caricamento completato e quando sarà disponibile l’oggetto jQuery. In questo modo quindi:

    • abbiamo caricato il file jQuery dalla CDN in asincrono (rispetto al caricamento iniziale della pagina).
    • siamo certi che il codice eseguito dalla funzione funDOM potrà contare sul fatto che gli oggetti nel file javascript da cui dipende sono disponibili.

    Caricamento dei file js custom e in dipendenza

    L’ Ajax Script Loader ci consente anche di  caricare file custom, cioè non quelli presenti sulla CDN, come ad esempio jqueriUI. Quest’ultimo in dipendenza da JQuery, per fare questo dobbiamo prima istruire il loder sulle dipendeze, come nel codice seguente:

    image

    Il codice usa il metodo .defineScript per definire il file custom, nelle due versioni release e debug. La versione scelta è definita da una costane nel loader, verrà presa quella di release se il file è Start.js, quella di debug se il file è Start.debug.js.

    Vedete inoltre che il file jquery.ui dipende (dependencies) dal file jQuery, ma la lista potrebbe essere estesa e il caricamento del file sarà considerato completato (isLoaded)quando le variabile windows.jQuery e jQuery.ui saranno definite.

    Grazie a questo codice possiamo scrivere:

    image

    Questa volta semplicemente impostiamo come required lo script JQueryUI, che a sua volta dipende da JQuery. La nostra funcDOM funzionerà correttamente, il datepicker ad esempio è un plugin di jquery. Nella scherma seguente vedete un’esempio in esecuzione all’interno del browser Opera 10:

    image

    Conclusione

    In questo post abbiamo visto come il Microsoft Ajax Loader, consenta di risolvere alcuni dei problemi più fastidiosi che si hanno quando si lavora con il javascript come: caricamento on-demand di file js, gestione delle dipendenze tra file js, verifica del caricamento dei file js prima dell’esecuzione di file javascript nella pagina. Vi posso consigliare anche di leggere questi how-to su: HOW TO Detect DOM Ready, in cui vedere come usare le funzioni  .domReady e .pageLoad; ed in generale trovate molte informazioni sulle Microsoft Ajax Library a questo link.

    Spero che il post vi sia piaciuto.

    Download

    Potete scaricare il codice dell’esempio da qui.

  • Pietro Brambati Blog

    SharePoint 2010 Evaluation guides

    • 0 Comments

    Microsoft SharePoint Server 2010 Evaluation Guide

    SharePoint 2010: Professional Developer Evaluation Guide and Walkthroughs

  • Pietro Brambati Blog

    Web Platform Installer 2.0: Installing PHP Apps

    • 0 Comments

    You can read other posts of this series on Web PI 2.0 here:

    In this post I’m going to explore the most important feature for the version 2.0 of the WebPI: now you can install the most popular Open Source applications for both ASP.NET and PHP directly from the installer.

    Installing WordPress (PHP)

    You can use the Web Applications’ tab to choose your preferred ones, you can navigate by category or by name, for example. In the following pictures I’ve select WordPress:

    image

    You can now press install and you’ll be redirected to a summary page where the installer show all dependencies needed to run WordPress. Because I haven’t installed MySQL, the Web PI 2.0 will install it for me and even other components as the URL Rewrite module. I really love this feature!! The following is an image of that one:

    image

    I’m guided, inside the installer, to the process of installing the software.

    First I need to set the password for MySQL’s root account as show below:

    image

    Than I need to enter some site information, so, for example, Web Site name in step 1, as show below:

    image

    And some information for creating and configuring the database:

    image

    And at the end of installation you can run your application from the Launch Link and you have the first screenshot of WordPress installation page:

    image

    As you have briefly seen you could easily use the Web PI both for installing and configuring your environment and for installing your preferred apps in some simple steps.

    Enjoy.

  • Pietro Brambati Blog

    Web Platform Installer 2.0: Installing ASP.NET Apps

    • 0 Comments

    You can read other posts of this series on Web PI 2.0 here:

    In this post we’ll the Web PI 2.0 to install BlogEngine.NET, one of the most popular Open Source applications for ASP.NET.

    Installing BlogEngine.NET (ASP.NET)

    You can use the Web Applications’ tab to choose your preferred one, you can navigate by category or by name, for example. In the following pictures I’ve select BlogEngine.Net:

    image

    You can now press install and you’ll be redirected to a summary page where the installer show all dependencies needed to run BlogEngine.NET, a few on my machine, as shown in the following image:

    image

    I’m guided, inside the installer, to the process of installing the software, I need to enter site information, so for example Web Site name and others, as show below:

    image

    And at the end of installation you can run your application from the Launch Link and you have the first screenshot of BlogEngine.NET installation page:

    image

    And we’re done!

    As you so you could easily use the Web PI both for installing and configuring your environment and for installing your preferred apps in some simple steps.

    Enjoy.

  • Pietro Brambati Blog

    Visual Studio 2010 beta 2: a quick web tour

    • 0 Comments

    Now that Visual Studio 2010 beta 2 has been released, you can have some fun exploring it, starting from the new splash screen :-)

    image

    In this post I’m going to explore some of the news for web developer, not all but at least some:-)

    A quick look at Silverlight 3.0

    Silverlight 3.0 is now integrated in Visual Studio 2010 beta 2 : the developer runtime and the SDK are installed during the setup process.

    If you take a look to the project template you can see an options section with a combo-box for multi-targeting even for Silverlight.

    Multi-targeting is one of the main architectural changes of Visual Studio 2010: you can now use a single IDE for targeting different versions of  the full .NET and CLR. You can write code for .NET 2.0, 3.0 and  3.5: they use the CLR version 2.0 and the new .NET Framework 4 that instead uses the new CLR 4.

    image

    Note: the RIA Services are not completely integrated with this build.

    With the beta 2, you can find an interactive editor for Silverlight , similar to the WPF. In the Following screen I’m using it to create some columns and rows and setting the columns size directly into the editor.

    image

    An you can now double-click on the button in the preview pane to go to the click event hander to start writing code.

    Now that F# is a prime language for the .NET Framework 4 and Visual Studio 2010 you can even create a Silverlight Library in F# and start using functional programming, if you like it, even for Silverlight. The F# Silverlight Library is a project template in beta 2 that you can add to your solution.

    image

    To use it with Silverlight  you can add a reference from the standard Silverlight project in Visual Studio 2010 to the F# library for Silverlight, I ‘ve tried to build some simple code in a F# module as show below; a simple example of calculus for the factorial using a recursive function.

    image 

    And than you can call the MathModule as a static class from Silverlight code as usual C# or VB.NET code:

    image

    You could imagine a sophisticated computations.

    For more infos :

    A quick look at ASP.NET MVC 2

    Visual Studio 2010 will be shipped with ASP.NET MVC 2 project template and you can start playing with it right now with the beta 2 bits. You can find all the stuffs that are already available with ASP.NET MVC 2 Preview 2 for Visual Studio 2008 as Validation based on Metadata, Client Side Validation and Single Project support for Areas: an easy way to logically divide you project in independent parts.

    If you have already created a project with ASP.NET MVC 1.0 in Visual Studio 2008 you can’t open it in Visual Studio 2010 beta 2 and you have to migrate it manually or using this tool. If you have instead created a project with ASP.NET MVC 2 Preview 2, you should reasonably succeed to migrate it to Visual Studio 2010 beta 2. I’ve opened one of my project built on ASP.NET MVC 2 Preview 2 and the Visual Studio 2010’s wizard have done the hard work for me. A message box asked me if I wanted to update the project to .NET Framework 4, as show below:

    image  

    At the end the solution works fine, at least on “My Machine” :-).

    If you run the web app with the ASP.NET Developer Server you can see now that it’s running with the version 4 of the .NET Framework, as you can see below:

    image

    Thanks to the new syntax of ASP.NET 4 you can even write code without the need of using HTML.Encode, using the syntax below:

    image

    Instead of the more verbose:

    image

    Ok, some syntactic sugar, but of course if you write it hundreds of times…

    For more details you can read the Phil Haack post : VS10 Beta 2 From an ASP.NET MVC Perspective.

    A quick look at ASP.NET 4 Web Forms

    You have now the chance  to create a project structurally similar to ASP.NET MVC one: I mean with CSS, a Home and About pages. If you create a ASP.NET Web Application project and you press F5, for example, you’ll see the following screen:

    image

    In the project you can even find jQuery 1.3.2 in the Scripts folder.

    If you came from Visual Studio 2008 and you prefer to have a blank solution, you have to choose  the Empty Project Template.

    One of the most evident new feature of ASP.NET 4 (both Web Forms and MVC), already present from beta 1, is that you can have different config files for debug and release and other configurations. For example you already have a Web.Debug.config and Web.Release.config for the two different configuration.

    image

    For example you can use the two files to set different connection strings for debugging and production.

    Code Snippets

    You can now find some pre-build code snippets that works in the aspx editor, for example you can choose formview snippet as show below

    image 

    And the editor generate some code for you:

    image 

    This make more productive writing code directly into the editor, skipping the boring stuff.

    ASP.NET 4 WebForms Routing

    ASP.NET 4 WebForms can now use routing rules as much as ASP.NET MVC does. You can now use urls that are SEO friendly and human readable, for example

    localhost/blog/archive/1

    instead of

    localhost/blog/default.aspx?Id=1

    Just adding some code on the global.asax to define the rules:

    image

    You can then retrieve data used in the rules and using it in code-behind or even create a new url using the same rules. I suggest you reading the ScottGu’s post on this topic here.

    ClientIDMode and ViewStateMode

    If in the past you have had some problem with client id generated by Web Forms , “ctrl_” nested especially when you use master-page… now you have some good news, because you can set the behavior on a control:

    image 

    You can inherit from the parent, make it predictable so that it can be easily used with CSS and Javascript or just static.

    And you can turn off view  state for a page and enable for a control using the control property ViewStateMode.

    Download

    To fully explore Visual Studio 2010 beta 2 I strongly encourage you to download from here.(from 21/10). MSDN Subscriber can download just from today.

    You can read the official announcement from here.

    Per gli italiani che leggono questo post, ci saranno diverse occasioni durante l’anno per parlare delle novità di Visual Studio 2010, una fra tutte sono i Microsoft TechDays WPC 2009.

    Vi aspetto, enjoy.

Page 10 of 11 (261 items) «7891011