Le novità di Visual Studio 2010 Beta 2 per SharePoint 2010
Data: 11/29/2009
Categoria: Sharepoint
Codice d'esempio


La nuova versione di Visual Studio porta con se tante novità per gli sviluppatori SharePoint. Nelle versioni precedenti, siamo sempre stati abituati a dover installare degli add-in che fornissero le funzionalità di base per lo sviluppo di personalizzazioni sulla piattaforma di collaborazione Microsoft come i Visual Studio tools for SharePoint, WSP Builder o gli Smart Templates. Altrimenti, era necessario procedere con la creazione manuale di tanti oggetti come web part, handler, feature e soluzioni.
Con Visual Studio 2010 invece, lo sviluppatore SharePoint ha tutto quello di cui ha bisogno: nuovi template specifici per ogni tipo di personalizzazione, un nuovo designer per la costruzione di feature e soluzioni, un nuovo set di configurazioni per progetti, una finestra per la visualizzazione del contenuto di una o più web application SharePoint e nuove funzionalità per il packaging dei componenti e per il deploy. Il tutto integrato direttamente all'interno dell'IDE di sviluppo, senza quindi dover installare alcun tipo di componente aggiuntivo.
In fase di installazione, infatti, è possibile scegliere di installare o meno gli strumenti di sviluppo per SharePoint che ora fanno parte del pacchetto di Visual Studio 2010.

Tools for SharePoint installation

Una volta installati, avremo a disposizione tutte le nuove funzionalità per gli sviluppatori SharePoint; novità che vedremo ora nel dettaglio.


Nuovi template

All'interno dei tools per SharePoint, sono stati introdotti una serie di template per lo sviluppo delle normali personalizzazioni che abbiamo la possibilità di installare all’interno di SharePoint. Sono presenti template sia per lo sviluppo sulla versione 2007 del prodotto (quindi anche su Windows SharePoint Services 3.0) sia per lo sviluppo sulla nuova versione 2010 (supportando SharePoint Server e SharePoint Foundation). Scegliendo di creare un nuovo progetto, infatti, l'IDE di sviluppo ci propone tale elenco dividendolo tra le due versioni appena citate e filtrando i template in base alla versione del .NET Framework scelta dall’utente.

SharePoint 2010 project templates

Come è possibile vedere dalla figura, abbiamo template per la creazione di:
  • Visual Web Part (la nuova tipologia di web part introdotta in SharePoint 2010)
  • Code Web Part (le normali web part a cui siamo abituati tutt'ora)
  • Workflow (sia sequenziali che a stati)
  • List definition
  • Site definition
  • Event handler
  • Content type
  • Modello per i Business Data Services (ex Business data catalog)
  • Progetti SharePoint vuoti

Inoltre, è possibile anche importare all'interno di Visual Studio soluzioni (.wsp) e workflow creati in precedenza dell'arrivo delle versioni 2010 di entrambi i prodotti, in modo tale da poterle modificare all'interno del nuovo ambiente e poter usufruire di tutte le nuove funzionalità.


Aggiunte al Server Explorer

Un'altra delle mancanze fondamentali di tutti gli add-in di sviluppo per SharePoint è sempre stata una visualizzazione generale di tutto il contenuto strutturale di una o più web application. Come contenuto è da intendersi il numero di siti creati, le liste e i relativi campi, le feature, i content type, le definizioni di sito e di liste installate e i workflow presenti.
Tale visualizzazione è stata aggiunta all'interno della toolbox "Server Explorer". Qui è possibile aggiungere una o più web application, specificandone l'indirizzo, per poter poi visualizzare la struttura ad albero degli oggetti creati al suo interno e le relative proprietà di ognuno di essi (tramite la normale finestra delle proprietà di Visual Studio). Una visualizzazione di questo tipo permette allo sviluppatore di capire dove installare le proprie personalizzazioni e come svilupparle per raggiungere gli scopi prefissati.
Per fare un esempio molto semplice, sotto ogni lista sono presenti sia l'elenco delle relative viste che quello dei vari campi utilizzati, fornendone sia il nome visualizzato ("display name") che il nome interno ("internal name"), così che possano essere utilizzati all'interno del progetto SharePoint corrente.
In figura è possibile vedere l'albero espanso di un’installazione SharePoint 2010.

Server explorer toolbox - SharePoint 2010

Fino ad oggi, per eseguire queste operazioni di ispezione della struttura di web application e siti SharePoint era necessario appoggiarsi a strumenti esterni all'IDE di sviluppo. Tra i più famosi possiamo citare SharePoint Inspector o SharePoint Manager.


Feature designer

Per quanto riguarda invece lo sviluppo di feature SharePoint, gli strumenti messi a disposizione dai tools for SharePoint per Visual Studio 2008, per quanto sicuramente efficaci per il raggiungimento di risultati di base, risultavano però poco ferrati sulla creazione di feature complesse, composte da più file di configurazione secondari, file di risorse e moduli, obbligando quindi lo sviluppatore alla creazione manuale della struttura xml della feature principale e di tutti i file secondari. Chiaramente queste operazioni erano a forte rischio di errori di sintassi o di referenze.
In Visual Studio 2010 questa mancanza è stata sopperita con la fruizione di un nuovo designer visuale per la costruzione di feature e del relativo package di progetto, che attraverso un'interfaccia grafica davvero user-frienly, è in grado di permettere all'utente finale di scegliere quali dei componenti facenti parte del progetto dovranno essere installati tramite la feature, quale dovrà essere il suo scope, quali le dipendenze e i campi testuali di descrizione e titolo.
Assieme a questo nuovo designer, è stata aggiunta una toolbox per la visualizzazione degli elementi che dovranno essere inseriti all’interno del package finale di progetto (la soluzione .wsp); la nuova toolbox è stata denominata "Packaging Explorer".

Package and Feature designer - SharePoint 2010


Packaging del progetto

Nuove funzionalità sono state aggiunte anche a tutto il meccanismo di compilazione e deploying dei componenti all'interno di SharePoint. E' ancora presente la possibilità di effettuare l'installazione delle proprie personalizzazioni direttamente dall'IDE di sviluppo e procedere poi con le normali operazioni di debug. In questo ambito, se Visual Studio 2010 è installato nel medesimo ambiente in cui è installato SharePoint (e ricordiamo che dalla versione 2010 SharePoint può essere installato anche su Windows 7), non è più necessario attaccarsi al processo del web server per procedere poi al debugging dei propri componenti, ma tale operazione è disponibile direttamente scegliendo il tasto F5.
L'aggiunta principale però è stata sicuramente quella del packaging del progetto. Infatti ora si ha la possibilità di creare la struttura del proprio package (che in sostanza è il nuovo nome dato alle soluzioni SharePoint) direttamente all'interno di Visual Studio e di scegliere di compilarlo in un unico file con estensione .wsp, per poi procedere con l'installazione all’interno di altre farm SharePoint.
Il comando "Package" è disponibile sempre all’interno del menu "Build".

Package creation - SharePoint 2010


Configurazioni di progetto specifiche per SharePoint

Infine, è stata aggiornata la maschera delle proprietà dei progetti con l'aggiunta di un nuovo tab specifico per SharePoint. Al suo interno è stata inserita la gestione degli eventi "pre-deployment" e "post-deployment" così da permettere allo sviluppatore di creare dei comandi da eseguire prima o dopo il deploy delle proprie personalizzazioni.
Fino ad oggi, era necessario crearsi degli script a parte per il compimento di operazioni di questo tipo, da eseguire a mano dopo aver lanciato il deploy da Visual Studio.

Project properties - SharePoint 2010


Conclusioni

In questo articolo abbiamo visto una rapida panoramica di quanto ci offre la nuova versione di Visual Studio (attualmente in versione Beta 2) per lo sviluppo di personalizzazioni SharePoint. Sicuramente tutti i cambiamenti apportati risultano veramente utili in quanto sono frutto di un'attenta ricerca di tutte quelle mancanze proprie degli strumenti di sviluppo utilizzati fin'ora. In più, sono tutte funzionalità di cui si può usufruire direttamente dal medesimo ambiente, senza doversi appoggiare su prodotti esterni e questo risulta sicuramente un punto vincente.