Microsoft Office 365Non abbiamo ancora mai parlato di come sviluppare per SharePoint Online, la piattaforma di collaborazione Microsoft offerta all'interno del pacchetto Office 365. Abbiamo visto come possiamo installare un'applicazione Silverlight, attraverso una SandBox solution, ma niente di più, quindi direi che è proprio il caso di iniziare perchè il 29 giugno SharePoint Online verrà ufficialmente lanciato al pubblico ed è meglio esser preparati.
In SharePoint Online la cosa più importante che dobbiamo sapere è che ogni personalizzazione la dobbiamo scrivere e installare utilizzando le soluzioni di tipo SandBox. Quindi, togliamoci subito dalla testa tutte le cose che possiamo fare tramite le Farm Solutions (visual web part, application page, ecc..).
Altra cosa importante è che non possiamo fare debug all'interno di SharePoint Online, quindi dobbiamo prima sviluppare le nostre personalizzazioni in locale e poi possiamo procedere con l'installazione sul cloud.
Per il resto, le funzionalità che abbiamo a disposizione noi sviluppatori sono esattamente le stesse con cui siamo stati abituati fin'ora utilizzando le installazioni di SharePoint 2010 in locale.
Riguardo ai limiti detti, ecco quindi che all'interno di Visual Studio 2010 ci è data la possibilità di utilizzare solamente le seguenti tipologie di progetti:

  • Empty projects (in cui però possiamo inserire solamente alcuni tipi di elementi)
  • List Definition projects
  • Event Receiver projects
  • Content Type projects

Di conseguenza, non possiamo creare nuovi progetti attraverso i template:
  • Site Definition projects
  • Business Data Connectivity service model projects

Chiaramente poi, all'interno dei template di progetto "supportati" abbiamo un insieme ridotto di template di element che possiamo utilizzare all’interno della nostra soluzione Sandox. Questo insieme esclude tutti gli artefatti che necessitano un'installazione all'interno della SharePoint root o all'interno della Central Administration di SharePoint.
Ecco quindi che, all'interno di una soluzione Sandbox per SharePoint Online possiamo utilizzare solamente questi template di elemento:
  • Web Parts
  • List definitions
  • Event receivers
  • Content types
  • Visual Web Parts (solamente la versione Sandbox che potete usare scaricando i Visual Studio 2010 SharePoint Power Tools)

Mentre invece restano esclusi i progetti:
  • Visual Web Parts (standard)
  • Application pages
  • BDC models

Proprio perchè tutte e tre le tipologie di template di elemento, necessitano dell'installazione di alcuni dei loro file all'interno della SharePoint root (percorso "14" per intenderci) o dell'esecuzione di alcune operazioni tramite la Central Administration a cui, in SharePoint Online, non possiamo accedere in quanto tutti i tool e in generale i concetti legati alla Farm di SharePoint non sono più affar nostro.
Infine, dovete tenere bene a mente che sviluppando delle Sandbox solution non avete a disposizione tutto un'insieme di classi del modello ad oggetti di SharePoint 2010 che in installazioni on-premises siete sempre stati abituati ad utilizzare. Questo insieme è composto da tutte le classi che rappresentano oggetti che stanno al di fuori del concetto di site collection corrente.
Per esempio, non è possibile istanziare un nuovo oggetto di tipo SPSite, specificando l'url di una site collection diversa da quella corrente come parametro principale. Oppure, non è possibile utilizzare alcuni metodi della classe HttpWebRequest (in quanto effettuano delle operazioni http nel contesto esterno alla site collection corrente di SharePoint) o effettuare delle query a database SQL Server o di altro tipo.
Se, in fase di sviluppo, volete un piccolo aiuto per quanto riguarda le classi e i metodi che potete o non potete utilizzare all'interno della vostra soluzione Sandbox per SharePoint Online, vi consiglio di installare i Visual Studio 2010 SharePoint Power Tools che potete scaricare seguendo questo indirizzo:
http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9

Il pacchetto contiene due feature molto utili per sviluppare per SharePoint Online:
  • La già citata Sandboxed-compatible Visual Web Part – che vi permette di scrivere web part utilizzando un designer grafico.
  • La compilazione per soluzioni Sandbox (Sandbox compilation) – che vi aiuta, in fase di compilazione, a capire quali sono le classi e i metodi che potete utilizzare all'interno di una soluzione sandbox.

Detto questo, vi ricordo che potete ancora effettuare le vostre prove accedendo alla versione Beta di Office 365 iscrivendovi al programma attraverso il sito www.office365.com