Pages

Wednesday, November 4, 2009

Guida SharePoint – Utilizzo dei Site e dei Web

Precedenti post:
Lavorando su SharePoint due degli oggetti più utilizzati sono: SPSite e SPWeb.
Tenendo presente la prima immagine del post del 26 Ottobre 2009: Deployment, possiamo prodigarci su alcune spiegazioni.

Com’è comprensibile dall’immagine sopra elencata, l’oggetto SPSite contiene uno o più oggetti SPWeb.
Per ottenere un’oggetto SPSite basta semplicemente riferirsi alla proprietà Sites della classe SPWebApplication.

Quando si inizia a sviluppare applicazione con SharePoint si farà presto a confondersi tra i vari: sites, webs, web applications e site collections.
Vi consiglio di tenere sempre presente l’immagine del post Deployment.

 

SPSite

E’ possibile tramite l’oggetto SPSite, creare un nuovo site semplicemente chiamando il metodo Add nell’instanza della classe SPSiteCollection:
namespace ConsoleApplication
{
using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;

class Program
{
static void Main(string[] args)
{
// esempio: http://wss2007:8085
SPSite site = new SPSite(args[0]);
SPWebApplication webApplication = site.WebApplication;
webApplication.Sites.Add(args[1], // Web application
args[2], // Titolo
args[3], // Descrizione
1033, // Locale Identifier: en-us
"STS#0", // Template
@"WIN2K3R2LAB\Administrator", // Login
"Administrator", // Name
"anon@anon.com"); // Password

Console.WriteLine("New site created.");
Console.ReadLine();
}
}
}
 
Eseguito il codice di cui sopra, verrà generato un nuovo site con template Team Site.
Per una tabella completa dei site template fate riferimento alle msdn.

Per accedere a un SPSite già esistente le strade da intraprendere sono due:

SPSite mySite = new SPSite("... url web site ...");
 
oppure:

SPSite mySite = myWebApplication.Sites["Titolo"];
 

SPWeb

L'oggetto SPWeb rappresenta un singolo website.
Per creare una nuova istanza, basterà chiamare il metodo Add dell’instanza della classe SPWebCollection:


namespace WebCreation
{
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;

class Program
{
static void Main(string[] args)
{
SPSite parentSite = new SPSite(args[0]);
SPWebTemplateCollection webTemplates = parentSite.GetWebTemplates(1033);
SPWebTemplate blogTemplate = webTemplates["BLOG#0"];
SPWeb blogWeb = parentSite.AllWebs.Add("blog",
"Blog Test",
"Site con blog per test",
1033,
blogTemplate,
false,
false);
}
}
}


tenete presente le informazioni nelle msdn per l’oggetto SPWebTemplate.
Per accedere alle informazioni di un SPWeb esistente potete agire in due maniere:
SPWeb myWeb = parentSite.AllWebs["blog"];
oppure
SPWeb myWeb = parentSite.OpenWeb("blog");
Una volta ottenuta un’istanza dell’SPWeb si potranno modificare alcune informazioni. 
Una volta modificate le informazioni, dovremo chiamare il metodo Update affinchè SharePoint aggiorni i dati.

Rimanete sincronizzati per le prossime guide.

No comments:

Post a Comment