Pietro Brambati Blog

Developer's stories

  • Pietro Brambati Blog

    SharePoint 2010 overview per Developer – parte 1

    • 0 Comments

    SharePoint 2010 è stato da poco prensentato al pubblico per la prima volta. Ho deciso di raccontarvi un po’ le novita che saranno presenti in questa release, poichè di sicuro interesse per molti sviluppattori web e, mi aspetto, sempre più nel prossimo fututo.

    La beta di SharePoint sarà disponibile a novembre, mentre da poco è già disponibilie la beta 2 di Visual Studio 2010 per i sottoscrittori MSDN.

    Per una overview della novità annunciate per SharePoint 2010 leggete il post di Jeff Teper, nei prossimi post cercherò di raccontare le novità più importanti per gli sviluppatori web.

    Sviluppo in Windows 7 (x64) e Windows Vista SP1 (x64)

    Il nuovo SharePoint 2010 supporterà solo l’archittettura a 64-bit, scelta che va a vantaggio di una maggiore scalabilità del prodotto grazie alla possibilità di sfruttare al meglio la memoria.

    La novità più importante è che potrà essere instato, solo a scopo di sviluppo e non per la produzione, su macchine client a 64 bit, in partricolare su Windows 7 e Vista SP1. Potrete installare sia SharePoint Foundation 2010, che SharePoint Server 2010 in locale sulla macchina in cui avete VS 2010.

    Setting up the Development environment for SharePoint 2010

    • “Install SharePoint on Windows 7 x64, Windows Vista Service Pack 1 x64, or Windows Vista Service Pack 2 x64”
    • “In any development environment, you should use a computer with an x64-capable CPU, and at least 2 gigabytes (GB) and preferably 4 GB of RAM for SharePoint Foundation, and 6 to 8 GB of RAM for SharePoint Server

    Visual Studio 2010 SharePoint Tool

    Visual Studio 2010 diventa lo strumento principale per lo sviluppo su SharePoint. Appena installerete  VS 2010 beta 2 troverete molti nuovi template di progetto (oltre che numerosi nuovi project item) per SharePoint 2010. Nella schermata seguente potete averne un’idea:

    image

    Lo sviluppo per SharePoint con Visual Studio 2010 si semplifica molto, infatti non solo potrete sviluppare su un sistema operativo client una progetto di tipo Visual Web Part, sfruttando l’IDE di Visual Studio 2010, ma di questo verrà creato un SharePoint Solution Package file (file WSP) di cui poi ne verrà fatto anche il deploy sul server.

    Oltre ad i template di progetto presenti in Visual Studio 2010 potete anche crearne di nuovi o estenderli grazie alla nuova Visual Studio extensibility API, che vi permette di migliorarne il packaging, la validazione, il deployment, il tutto anche estendendo i nodi del Server Explorer. E’ possibile ad esempio personalizzare il processo di build e deploy fatto da VS 2010 di feault aggiungento eventuali azioni custom e/o rimuovendo quelle di default.

    Infatti potete accedere ai sites di SharePoint 2010 direttamente dal Server Exporer e potrete guardare le impostazioni per siti, liste, content type, associazioni di workflow e altri oggetti. Nella figura seguente potete farvi un’idea di come si naviga in SharePoint da Visual Studio.

    image

    SharePoint Designer 2010

    Il nuovo SP Designer è lo strumento per lavorare con SP rivolto ai “Power User”- ma non solo direi- per reallizzare applicazioni con SP 2010. Una volta che la soluzione è stata realizzata questa può essere pacchettizzata in una SharePoint Solution (WSP) per poi essere importata e modificata con Visual Studio 2010.

    image

    Nella schermata seguente vedete SP Designer come si presenta: il menu di navigazione sulla sinistra dà accesso alle componenti che potete sviluppare dal Designer: libraries, workflows,

    content types, data source, entities, site level settings etc.

    SharePoint Designer 2010: Workflow

    Con il nuovo SP Designer si potrà importare un workflow preparato, per non dire illustrato, da un’ analista usando Visio e si potrà poi dargli vita attraverso uno strumento visuale senza scrivere codice: azioni tipiche dei power users. Il nuovo Workflow potrà essere quindi esportato in un file WSP e successivamente importato in VS 2010.

    SharePoint Designer 2010: Business Connectivity Services Design

    Il Business Connectivity Services sono l’eveoluzione del BDC, consentendo di esporre in SharePoint tramite le External List dati provienienti da sorgenti esterne allo SP. Lo SP Designer 2010 semplifica la creazione delle entità che rapprenentano questi dati tramite un  wizard che guida verso la creazione di una connessione a servizi WCF, oggetti .NET, Database etc.

    Compatibilità

    Il nuovo SPD 2010 può essere utilizzato solo con il nuovo SharePoint 2010,  non può essere quindi usato con le precedenti versioni di SharePoint. E’ supportatata però l’installazione side-by-side. Quindi sulla stessa macchina potete installare SPD 2010 e SPD 2007, ma va installata sulla stessa piattaforma x86 o x64, quindi usate la versione x86 di SPD 2010 se instllate side-by-side con SPD 2007, dato che quest’ultima verione è disponibile solom su piattaforma 32 bit.

    Developer Dashboard

    Nuovo utile strumento di debug, che ci consente di avere utili informazioni su quello che sta succedendo nella pagina: la developer dashboard colleziona informazioni statistiche relative al codice eseguito nella pagina ed eventuali eccezioni.

    Può essere abilitata inizialmente così:

    stsadm –o setproperty –pn developer-dashboard –pv OnDemand

    Può poi essere spenta e/o accessa dalla pagina dello SharePoint.

    Link utili

  • Pietro Brambati Blog

    SharePoint 2010 overview per developer – parte 2

    • 0 Comments

    Sandboxed solutions

    Una delle novità più interessanti della prossima release di SP 2010 sono le Sandboxed solution. Un nuovo modo di creare e deploiare soluzioni in Share Point 2010 con VS 2010 che può essere scelto durante la fase di deploy, come si vede dalla figura seguente:

    image

    Le Sendboxed solution offrono le seguenti caratteristiche:

    • facilità di deploy nella farm e su SharePoint OnLine, sicurezza nel far girare le applicazioni che girando in una sandbox (=uno spazio a loro dedicato), offrendo maggior stabilità e basso rischio di compromettere l’intera farm.
    • Lavorano con un insieme ristretto di API SharePoint: Content Types, Site Columns, Custom Actions, Workflow dichiarativi,  Event Receivers, Feature Receivers, List Definitions, Site Pages, etc.
      • Un sottoinsieme di Microsoft.SharePoint. Qui trovate la lista completa dei tipi abilitati.
    • Un meccanismo di Code Access Security (CAS) ne limita le funzionalità rispetto ad una soluition che gira in full-trust. Le impostazioni sono le seguenti:
      • SharePointPermission.ObjectModel

      • SecurityPermission.Execution

      • AspNetHostingPermissionLevel = Minimal

    • Vengono deploiate in una Solution Gallery, che può essere gestita centralmente  e dal Central Admin è possibile stabilire quali risorse massime l’applicazione possa consumare.
      • Le risorse possono essere diverse: CPU, Memoria, SQL etc e vengono misurate in ‘Resource Point’.

    image

  • Pietro Brambati Blog

    SharePoint 2010 overview per developer – parte 3

    • 0 Comments

    Le funzionalità di SharePoint 2010 raccolte in una slide.

    Non tutte per soli developer, non vi preoccupate.

    image

    Composites

    • Business Connectivity Services
    • InfoPath Form Services
    • External Links
    • Workflow
    • SharePoint Designer
    • Visual Studio
    • API Enhancements
    • REST/ATOM/RSS

    Sites

    • Ribbon UI
    • SharePoint Workspace
    • SharePont Mobile
    • Office Client and Office Web Application
    • Sandbox Support

    Communities

    • Tagging, Tag Cloud, Ratings
    • Social bookmarking
    • Blogs and Wikis
    • MySites
    • Activity Feeds
    • Profiles and Expertise
    • Org Browser

    Content

    • Enterprice Content Types
    • Metadata and Navigation
    • Documents Sets
    • Multi stage disposition
    • Audio and Video Content Types
    • Remote Blob Storage
    • List Enhancements

    Search

    • Social Relevance
    • Phonetic Search
    • Navigation
    • FAST Integration
    • Enhance Pipeline

    Insights

    • PerformancePoint Services
    • Execel Services
    • Chart Web Part
    • Visio Services
    • Web Analytics
    • SQL Server Integration
    • PowerPivot
  • Pietro Brambati Blog

    Lancio Windows 7: sessione sullo sviluppo .NET e nuove API

    • 0 Comments

    Ho pubblicato le slide e qualche esempio di codice visto durante la sessione sullo sviluppo con .NET per Windows 7 a questo link (potreste avere problemi con il download). Potete trovare anche il materiale sul blog di Mario Fontana, che ha tenuto la stessa sessione a Milano.

    Qualche link utile

    Video delle sessioni

    Le sessioni della tappa di Milano, sono state registate e, salvo intoppi o problemi di registrazione, saranno disponibili in qualche settimana sul sito BEIT, nella sezione dedicata agli eventi da rivivere.

  • Pietro Brambati Blog

    SharePoint 2010 Developer Platform per ASP.NET Solution Architect

    • 0 Comments

    Potete leggere il documento pubblicato da David Chappell, all’url seguente:

    The SharePoint 2010 Developer Platform: An Introduction for ASP.NET Solution Architects

  • Pietro Brambati Blog

    Web Platform Installer 2.0: Overview

    • 0 Comments

    Now that the Web Platform Installer 2.0 is RTW, WebPI for short, I’ll have some fun exploring some installation options with a series of posts.

    The Web PI is the easiest an quickest way to install software on Windows to run web applications. You can use it to run ASP, ASP.NET and PHP applications. If you are a developer that works both in ASP.NET and PHP or you need to run multiple apps running different runtimes, I think that it’ll be a useful tool and even for free! You can install IIS and related extensions, SQL Server 2008 Express, Visual Web Developer 2008 and others free tools or trial for web developers.

    After you install the Web PI you can use it even to update your current installation. The Web PI allows you to install beta/RC and RTM components. If you run it when a new release is available you can install the latest ones.

    Web PI is now available in 9 different languages.

    From the Web Platform Installer 2.0 you have access to Web Gallery, where you can download and run the most popular open source apps, both for ASP.NET and PHP. If you choose one of that app you have a straightforward installation experience directly inside the Web PI.

    The Web PI run on Windows Vista, Windows Vista SP1, Windows XP SP2+, Windows Server 2003 SP1+, Windows Server 2008 and Windows 7.

    You can download the Web PI from here, from this link you can easily choose you language.

    Running Web Platform Installer from Windows XP

    If you run it from Windows XP (I’m running an instance of WinXp from my Windows 7 machine using the XPMode feature), you’ll see something similar:

    image

    As you can see it’s easy to understand, there are three tabs:

    • What’s News ? : for the latest components available and new apps from the Gallery: you can see Moodle, SugarCRM, Sitefinity Community Editions etc.
    • Web Platform: all the settings related to the configuration of IIS
    • Web Applications:  apps from the Gallery sort by categories

    If you look at the left-bottoms corner you can click the Options link that opens up a new dialog where you can see more options:

    image

    You can see two check buttons for more tabs for IIS Media Features and Developers tools. Because I’m running on Windows XP, no real Media Extensions are available and I only see the Developer Tools tab. At the end you can notice the preferred language you can use for software installation. At the end you can delete the installer cache. Flagging the Developer tools you can see a new tab on the menu:

    image

    Now you can click on the link “Click to include the recommended products”, or “Customize” to see the products suggested and start the installation.

    Running Web Platform Installer from Windows 7

    I’m running it from Windows 7 now, and of course I can see more options, that we’ll see in more details in a different post.

    After I flag the two check boxes in the options window (see the image upward for the XP) I can even see a new tab for Media stuffs: where, for example, you can install the necessary components for delivering on-demand and live contents via Media Services.

    image

    As you see from this post the Web PI is easy to use, in the following post we’ll explore some settings in the Web Platform tab in my Windows XP machine and Windows 7.

    Full posts serie is now available here:

  • Web Platform Installer 2.0: Web Platform for Windows XP
  • Web Platform Installer 2.0: Web Platform for Windows 7
  • Web Platform Installer 2.0: Installing PHP Apps
  • Web Platform Installer 2.0: Installing ASP.NET Apps 
  • Pietro Brambati Blog

    Web Platform Installer 2.0: Web Platform for Windows XP

    • 0 Comments

    For an overview of the Web PI 2.0 you can read my previous post of these series here, before you proceed reading.

    In this post I’ll dig into the options available for Windows XP users in the “Web Platform” tab, as show below (as they show on my machine):

    image

    Here you can see these sections: Web Server, Framework and Runtimes, Database and Tools. If I click customize you see the products/components you can install. If you expand clicking on customize you see the details, with a little info icon. If you click the little info icon you’ll see more info on the component to install.

    In the following section you’ll see more info trying to install some software on my Windows XP virtual machine.

    Installing components from Web Server

    For example if you click in the Internet information services 5.1

     image

    You’ll see the description for IIS 5.1:

    image

    Here you have the options to install some products, the most interesting ones for me are:

    • IIS 5.1 : of course for running my web apps
    • FastCGI  1.0 for IIS 5.1 : is an extension for IIS that you can use for running PHP application in both reliable and fastest way. I strongly recommend this if you plan to run PHP applications on Windows. 
    • Web Deployment tool: this is a free tool that can be used for different purposes, the nicest features is that it can be used to package a site with all related contents : database, ACL, GAC, COM objects, Registry settings to be easily used for deploy on another machine or to migrate sites/web applications from IIS 6.0 to IIS 7.0

    You can now select your preferred:

    image

    Then click the install button…

    image

    Now you can see that the WebPI add some dependencies for me. I’ll install the Web Deployment Tool 1.0, Italian version because I’ve selected the Italian language in the options link, see my previous post, and the Web PI added two dependencies : SQL Server 2008 Management Objects and SQL Server Native Client, nice !!

    If “I Accept”, the setup starts:

    image

    And all works on my machine :-), and I can see the final screen:

    image 

    et voila, we’re done.

    Installing components from Framework and Runtimes

    In this section you can install .NET Framework 3.5 SP1, that is already installed on my machine and that you need if you’d like to run ASP.NET Web Forms applications. You can also install the ASP.NET MVC 1.0 framework, now you can use the Model-View-Controller pattern with ASP.NET core features. And you can install the PHP runtime 5.2.11; so you could run both ASP.NET and PHP apps on Windows Web Platform. OK I don’t suggest you using XP on production servers, but for developer purposes it could be done.

    image

    You have the review screen, again, and you’re ready to install.

    image

    Installing components from Database

    From here you have the options to install SQL Server 2008 Express ( that it’ free)  and related stuffs, for example the Management Studio: the console used to administer SQL Server 2008.

    You can see the screenshot on my machine: SQL Server 2008 Express with Service Pack 1 and the Managements Objects are already installed.

    image

    In the review screen I can see that the Web PI installs even Windows PowerShell as a dependency from the Management Studio Express:

    image

    Installing Tools

    In the tools section you can download Visual Web Developer 2008 Express with SP1, a free tool, and the Silverlight 3 tool for Visual Studio, even this tool is for free.

    image

    Ok now you’re ready for building and running  web apps. We’ll see in a later post how to install one app from the Gallery.

  • Pietro Brambati Blog

    Test di NSSLabs sulla sicurezza dei browsers

    • 0 Comments

    NSSLabs ha rilasciato due nuovi report (Malware Report, Phishing Report)  sui test di sicurezza condotti sulle ultime versioni stabili di Safari 4, Chrome 2, Internet Explorer 8, Firefox v3 e Opera 10 beta per confrontare il loro modello di sicurezza e le API.

    Ecco i risultati:

    Protezione dai Malware

    % di Malware riconociuti durante i test (i valori più grandi sono i migliori)

    image

    Protezione dagli attacchi di Phishing

    Velocità nel bloccare nuovi siti di Phishing (i valori più alti sono i migliori)

    image

    Trend riscontrato negli ultimi mesi da NSSLabs: gli stessi test sono stati eseguiti in due periodi di tempo

    image

    Quali sono i meccanismi di sicurezza di Internet Explorer 8 ?

    Se volete saperne di più su quali sistemi di protezione mette a disposizione IE8 e sulla nuova tecnologia nota come SmartScreen® Filter per la sicurezza, vi consiglio di vedere questo video Architettura e funzionalità di sicurezza.

    Per saperne di più

    Per approfondimenti sui test effettuati da NSSLabs e sulle versioni dei browser utilizzati durante la prova, leggete per intero il post di Giorgio Sardo e Real-World Protection With IE8’s SmartScreen Filter™ (post blog del team di IE8).

  • Pietro Brambati Blog

    PHP Toolkit for ADO.NET Data Services

    • 0 Comments

    Da oggi è disponibile un toolkit per chi sviluppa con PHP per accedere a sorgenti dati esposte con gli ADO.NET Data Service, grazie al progetto Open Source ospitato su codeplex.

    A chi è rivolto ?

    Agli sviluppatori PHP che possono oggi accedere via REST a sorgenti dati esposte con gli ADO.NET Data Service.

    Cosa sono gli ADO.NET Data Services ?

    Una serie di librerie .NET( dalla versione 3.5 SP1 ) che permette di esporre sorgenti dati tramite un semplice url http, rispettando la semantica REST, tramite una serie di convenzioni. Tramite operazioni HTTP  come GET, PUTe DELETE sarà possibile compiere operazioni di lettura, inserimento, modifica e cancellazione sulla sorgente dati. Le entità esposte possono essere consumate da un qualsiasi client usando Atom Publishing Protocol o JSON. Le librerie al contempo ne consentono il consumo tramite librerie per .NET, Silverlight e JavaScript.

    Potete vedere questo webcast introduttivo sugli ADO.NET Data Services:

    A cosa serve questo toolkit per PHP ?

    Il toolkit ne rende semplice il consumo anche per applicazioni PHP, tramite un tool da riga di comando vengono generate delle classi proxy a partire dai metadati degli ADO.NET Data Services.

    Chi sviluppa con PHP si troverà mascherata la complessità di interagire con i protocolli ed interfacce REST ed avrà accesso a delle classi proxy generate ad-hoc.

    Come funziona ?

    Supponiamo di avere già creato con Visual Studio 2008, anche con le versioni gratuite Express, un servizio Data Service, basta ora lanciare il tool PHPDataSvcUtil.php. Quest’ultimo è codice PHP, senza dipendenze dal sistema operativo e può essere quinid fatto girare sia su Windows e sia su Linux.

    image 

    Verrà quindi generato il file che contiene le classi proxy, che ora possono essere utilizzate da codice PHP:

    image

    image

    Link utili e download

  • Pietro Brambati Blog

    Il nuovo ASP.NET MVC 2 – Preview 1

    • 0 Comments

    Dato che oggi è stato rilasciata la preview 1 di ASP.NET MVC 2 ho deciso di aggiornare il progetto che avevo usato a Remix09 alla nuova versione per esplorare un po’ delle nuove funzionalità. (ASP.NET MVC 1.0 e ASP.NET MVC 2 possono coesistere side-by-side senza problemi)

    Nella Release Note è documentato come aggiornare manunalmente il progetto, modificando gli assembly referenziati e il web.config.

    Nel mio caso, dopo aver scaricato ed installato i bit ho creato un progetto con il nuovo template per Visual Studio 2008 SP1, che vedete in figura :

    image

    Quindi ho fatto un semplice taglia e copia dei folder che mi intersessavano, più qualche modifica:

    • AppData: che conteneva il database delle sessioni
    • il file remix09.css che ho messo nel folder Content
    • il mio controller HomeController.cs
    • Tutto il contenuto della cartella Model, che contiene i file per implementare il Repository per le sessioni ISessionsRepository.cs, la classe repository SessioniRepository.cs ed il file di Entity Framework per le cassi del mio modello
    • ho aggiunto la stringa di connessione al mio web.config
    • Ho sostituito il folder Views/Home con le view che avevo fatto
    • Ho sostituito la pagina Views/SharedViews/Site.Master con quella usata nel vecchio progetto
    • ho fatto il find & replace del namespace che usavo nel precedente progetto con il nuovo namespace, che nel mio caso si chiama Remix09Mvc2preview1 (il nome che ho dato al progetto). Attenzione alle views che se strongly-typed, come nel mio caso, contengono il riferimento al nome completo delle classi.
    • ho aggiunto nella sezione assemblies, nel web.config, il riferimento, prendendolo dal web. config del progetto vecchio, a System.Data.Entity che viene usato da Entity Framework

    Ed ecco la mia demo funzionare come prima :

    image  

    DataAnnotation: validazione

    Una delle novità riguarda l’utilizzo del meccanismo delle DataAnnotation, già usato dai Dynamic Data e nei RIA Services, con cui posso aggiungere degli  attributi alla mia classe del Modello, nel mio caso ho un’unica classe che descrive una “Sessione”, dato che l’intera applicazione consente di gestire le sessione dell’evento Remix.

    Nella demo di Remix, potevo creare una nuova sessione, ma non veniva verificato se, ad esempio titolo e sessione fossero valori diversi da null.

    Con ASP.NET MVC 2 ho un reference già aggiunto, come vedete dalla figura:

    image

    Quindi, come con i Dynamic Data, posso scrivere una classe parziale, che andrò ad aggiungere al Model e che mi dà controllo server-side sulle proprietà della mia classe:

    image

    Ho creato una classe SessioneMetadata nella quale posso specificare delle regole di validazione per le proprietà della classe Sessione. In questo caso l’attributo Required ed il Relativo ErrorMessage fanno si che se inserisco una sessione vuota abbia degli errori di validazione, per ora (:-) ) server-side, come vedete dalla figura, dove ho usato la stessa View, senza nessuna modifica, che ho usato con la versione 1.0 di ASP.NET MVC.

    image

    Esitono altre varianti che consentono di usare, ad esempio, espressioni regolari o range numerici specifici per effettuare la validazione.

    UI helper: strongly-typed e supporto ai Template

    Se vado a rivedere il codice della View per la creazione di una nuova sessione, vedete che vengono usate delle stringhe per identificare il nome delle proprietà della mia classe ( “Titolo”, “Sessione”, etc) che poi verranno usati per creare l’oggetto che devo creare. Un errore in questi nomi, come immaginerete, produrrà un errore a run-time dell’applicazione. Nuovi UI helper consentono di usare lamba expression e forte tipizzazione, permettendo di evitare errori a run-time, avendo controllo di quello che viene generato già a design-time.

    La vecchia pagina appare così: vedete le stringhe Titolo e Speaker:

    image

    Posso riscrivere così il codice con il nuovo helper Html.EditorFor e come vedete dalla figura seguente ho anche l’intellisence che mi aiuta.

    image 

    Potrei anche usare l’EditorFor per far generare tutti i campi necessari per la creazione di un oggetto; in questo caso dato che verrebbero visualizzate anche proprietà della classe sessione che non mi servono o non voglio esporre dovrei “disabilitare” le proprietà  che non voglio usando sempre il meccanismo introdotto con i Dynamic Data usando l’attributo [ScaffoldColumn (false)].Oltre a  Html.EditorFor, troviamo anche altri html helper, come html.LabelFor, html.DisplayFor.

    I nuovi metodi della classe Helper supportano anche l’uso di template. Nell’esempio precedente al posto di una TextBox dove inserire le track, potrei avere una più comoda DropDownList, con le 3 tracce. Per questo aggiungiamo una cartella EditorTemplate, dove andremo a mettere il template in questione aggiungiamo un MVC User Control nelle Shared View in modo da essere usabile da tutti i controllers del progetto.

    image

    L’implementazione del codice dello User Control è molto semplice e per usarlo dall’ Html.EditorFor, basta quindi, usare il secondo parametro:

    image

    Ci sono altre novità in ASP.NET MVC 2 – Preview 1: il concetto di “Area”, l’attributo HttpPost, supporto ai dati in formato binario nel DeafultModelBinder, ma per questo vi lascio agli approfondimementi…

    Per approndimenti

  • Pietro Brambati Blog

    Nuova community a Torino: starting…

    • 0 Comments

    Martedì scorso si è svolto a Torino, presso il MIC, un workshop di UGISS. Con l’evento si è lanciata l’idea di far nascere una nuova community .NET nell’area piemontese.

    Potete leggere dal post di Marco Russo di questa “idea”. E’ anche possibile partecipare attivamente a questa fase di start-up. Se siete interessati potete contattare Marco…fatevi avanti.

  • Page 11 of 11 (261 items) «7891011