WSS 3.0/MOSS 2007 non è solo la piattaforma su cui facilmente e velocemente poter creare portali per la gestione documentale e la condivisione delle informazioni.
Con WSS 3.0 si ha a disposizione una infrastruttura ed un framework su cui poter sviluppare applicazioni web.
Tra le varie possibilità di sviluppo di un nuovo progetto, ora possiamo valutare anche questa valida alternativa.
Per chi comincia è difficile capire come impostare lo sviluppo di un applicativo web basato su Sharepoint.
Lo sviluppo di un tale applicativo spesso comporta:
- personalizzazione grafica(Master Pages e Styles)
- creazione di pagine ASPX dedicate (Site Pages vs Application Pages)
- creazione di Content Types
- creazione e modifica dei Menu
- creazione di liste personalizzate
- associazione di Event Handlers alle liste personalizzate
- creazione di Workflows
- deployment
Purtroppo non è semplice trovare delle linee guida precise e complete su come sviluppare una applicazione completa su Sharepoint e spesso il materiale è frammentato all'interno di vari post/articoli di autori diversi.
Cerco in questo post di riassumere brevemente quanto sto raccogliendo in termini di "know-how" sull'argomento.
Sviluppo con la UI di WSS e Sharepoint Designer
Possiamo implementare la nostra applicazione utilizzando direttamente la UI che Sharepoint ci mette a disposizione.In questo modo creiamo facilmente tutte le Liste e gli eventuali Content Types necessari.
Con lo Sharepoint Designer possiamo collegarci al sito ed intervenire nel dettaglio per customizzare graficamente agendo su Master Pages e stili, oltre che per creare nuove pagine Aspx e creare Workflows.
Alcuni dei limiti di questa soluzione sono:
- nessun Source Control sulle modifiche fatte con lo Sharepoint Designer
- impossibilità di deploy automatici su altre farm o server di staging/produzione
In particolare abbiamo dei problemi se sviluppiamo per esempio la nostra applicazione su un nostro server di sviluppo(magari in virtual machine) e poi dobbiamo continuamente effettuare deploy di aggiornamento sulla macchina di staging/produzione che sta dal cliente.
Sviluppo tramite Features e Solutios Packages
La modalità è quella di creare un progetto con Visual Studio 2005 che contenga tutti i files di progetto, quindi pagine aspx, file xml di definizione di liste e features, codice, immagini, etc... e di creare un pacchetto pronto per il deploy.
Rimando ai seguenti ottimi post dove vengono descritti i motivi per cui questa dovrebbe essere alla fine la modalità di sviluppo da preferire:
Creare una Solution Package richiede la preparazione manuale di alcuni files ausiliari(manifesto xml) e l'esecuzione del comando STSADM.
Ecco alcuni post che illustrano come fare partendo da esempi concreti:
Per semplificare e velocizzare queste operazioni esiste su CodePlex un utilissimo template di progetto per VS2005 che fornisce tutto quando serve di base per la creazione automatica di un progetto WSP:
Altra chicca è il seguente post che permette di configurare in VS2005 tutti i comandi per eseguire deploy e upgrade di una WSP: