Distribuire modelli (SharePoint Foundation 2010)

 

Si applica a: SharePoint Foundation 2010

Ultima modifica dell'argomento: 2016-11-30

In questo articolo viene illustrato come creare una definizione di sito personalizzata e come distribuirla mediante un pacchetto della soluzione.

Contenuto dell'articolo:

  • Che cosa sono le definizioni di sito?

  • Definizioni di sito e relative configurazioni

  • Creare una definizione di sito personalizzata e la relativa configurazione

  • Distribuire una definizione di sito mediante un pacchetto della soluzione

Che cosa sono le definizioni di sito?

In Microsoft SharePoint Foundation 2010 un utente crea un sito tramite l'interfaccia utente selezionando una configurazione di una definizione di sito o un modello di sito personalizzato che definisce come creare un'istanza del sito. Una definizione di sito è un modello che determina ad esempio gli elenchi, i file, le web part, le funzionalità o le impostazioni con cui effettuare il provisioning di un nuovo sito di SharePoint.

Una definizione di sito corrisponde a una famiglia di configurazioni della definizione stessa. Ogni definizione di sito specifica un nome e include un elenco delle configurazioni a essa relative. In SharePoint Foundation 2010 una definizione di sito è costituita da un gruppo di file XML che è possibile applicare per effettuare il provisioning di nuovi siti. I siti sono archiviati in server Web.

Le definizioni di sito sono costituite principalmente da più file XML e ASPX archiviati in un server Web front-end all'interno di sottocartelle della cartella %ProgramFiles%\File comuni\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates.

Un sito creato da una definizione di sito si aggiunge alle informazioni strutturali e di contenuto della definizione originale, senza tuttavia ripetere tali informazioni. Per l'intero ciclo di vita, i siti continuano a dipendere dalla definizione di sito che ne costituisce la base. Microsoft pertanto non supporta la modifica o la rimozione di una definizione di sito dopo che sono stati creati siti basati su di essa. Tali modifiche possono causare un malfunzionamento dei siti creati a partire dalla definizione oppure impedire la creazione di nuovi siti basati direttamente o indirettamente sulla definizione. Per personalizzare una definizione di sito, gli sviluppatori possono aggiungere un elemento Feature che includa le modifiche relative alla definizione. La definizione vera e propria resta invariata.

Per ulteriori informazioni sui tipi di personalizzazioni delle definizioni di sito supportati da Microsoft, vedere Scenari supportati e non supportati per l'utilizzo di definizioni di sito e definizioni di area personalizzate in Windows SharePoint Services, in SharePoint Portal Server 2003 e in Office SharePoint Server 2007 (https://go.microsoft.com/fwlink/?linkid=187678&clcid=0x410).

Nel modello a oggetti un elemento SPWebTemplate rappresenta una definizione di sito (e la relativa configurazione). Per ulteriori informazioni sui modelli e sulle definizioni di sito, vedere Modelli e definizioni di sito (https://go.microsoft.com/fwlink/?linkid=184756&clcid=0x410).

Nota

Il formato STP di un modello di sito personalizzato (file con estensione stp) è deprecato in SharePoint Foundation 2010 ed è stato sostituito dai modelli di sito in formato WSP. In Windows SharePoint Services 3.0 gli utenti possono salvare un sito esistente come modello di sito personalizzato. Il modello di sito viene archiviato nel database come modello e gli utenti possono selezionarlo come base che definisce la modalità di creazione di un'istanza del sito. In SharePoint Foundation 2010 gli utenti possono salvare un sito esistente come modello. Quest'ultimo viene salvato come file con estensione wsp nella Raccolta soluzioni del sito principale di una raccolta siti, dove diventa disponibile per la creazione di siti secondari in tutti i siti Web della raccolta siti.

Per ulteriori informazioni sulle definizioni di sito, vedere Definizioni di sito e relative configurazioni (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x410).

Definizioni di sito e relative configurazioni

Una definizione di sito definisce un sito di SharePoint specifico. Sono cinque le definizioni di sito installate in modo nativo in SharePoint Foundation 2010. Una definizione di sito può includere più configurazioni a essa relative. I siti Web di SharePoint sono basati su configurazioni specifiche delle definizioni di sito seguenti:

  • STS include le configurazioni della definizione di sito per Sito del team, Sito vuoto e Area di lavoro documenti.

  • MPS include le configurazioni della definizione di sito per Area di lavoro riunioni standard, Area di lavoro riunioni vuota, Area di lavoro riunioni decisioni, Area di lavoro riunioni eventi sociali e Area di lavoro riunioni a più pagine.

  • CENTRALADMIN offre una configurazione della definizione di sito per siti Web Amministrazione centrale.

  • WIKI offre una configurazione della definizione di sito per siti Web che supportano il contenuto di community tramite la tecnologia wiki.

  • BLOG offre una configurazione della definizione di sito per blog.

Ogni definizione di sito è costituita da file che vengono inseriti nella relativa sottocartella della cartella \\Programmi\File comuni\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates dei server Web front-end durante l'installazione di SharePoint Foundation 2010. Tali file sono file delle pagine con estensione xml, aspx, ascx e master, nonché file dei modelli di documento ad esempio con estensione dot e htm e file del contenuto ad esempio con estensione gif e doc.

Pagine non personalizzate e personalizzazione delle pagine

I file delle definizioni di sito sono memorizzati nella cache del server all'avvio di Microsoft Internet Information Services (IIS). In questo modo le pagine non personalizzate possono essere riutilizzate nei diversi siti. Le informazioni contenute in questi file vengono recuperate dalla cache in fase di runtime. Le pagine e gli schemi degli elenchi vengono letti dai file delle definizioni di sito, ma sembrano file veri e propri all'interno di un sito. Anche le nuove pagine web part vengono considerate non personalizzate.

Quando le pagine dei siti vengono personalizzate, con l'esclusione delle personalizzazioni basate su browser come le modifiche delle web part, il relativo contenuto viene archiviato nel database del contenuto e viene utilizzata la pagina personalizzata anziché la pagina originale della definizione di sito. I file con estensione aspx caricati vengono considerati automaticamente come personalizzati.

Per ulteriori informazioni sul ghosting e sulla personalizzazione delle pagine, vedere Definizioni di sito e relative configurazioni (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x410).

File dello schema di base

Nella tabella seguente sono riportati i file XML di base che possono essere modificati per una definizione di sito e viene indicato il relativo percorso nel file system.

WebTemp.xml

Identifica le definizioni di sito e fornisce informazioni sulle relative configurazioni. Si trova in:

\TEMPLATE\1040\XML

Onet.xml

Definisce le aree di spostamento, specifica le definizioni di elenco disponibili, specifica i modelli di documento e i relativi file, definisce i tipi di base per gli elenchi e definisce le configurazioni e i moduli per le definizioni di sito. Si trova in:

\TEMPLATE\SiteDefinitions\tipo_sito\XML

Schema.xml

Definisce le visualizzazioni, i moduli, la barra degli strumenti e i campi speciali di una definizione di elenco. Ogni definizione dispone di un proprio file Schema.xml. Si trova in:

\TEMPLATE\FEATURES\Nome_Definizione_Elenco

DocIcon.xml

In ogni server Web front-end di una distribuzione di SharePoint Foundation è incluso un file DocIcon.xml per il mapping degli identificatori programmatici (ProgID) e delle estensioni dei tipi di documento a icone specifiche e a controlli per l'apertura dei diversi tipi. Le modifiche apportate a DocIcon.xml sono globali all'interno di una distribuzione di SharePoint Foundation e incidono su tutte le definizioni di sito nel server Web front-end. Si trova in:

\TEMPLATE\XML

In questi file XML viene utilizzato il linguaggio CAML (Collaborative Application Markup Language) (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=183464&clcid=0x410) per la definizione degli aspetti di un sito. Per ulteriori informazioni su questi file XML di base che è possibile utilizzare per personalizzare le definizioni di sito, vedere Definizioni di sito e relative configurazioni (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x410).

Creare una definizione di sito personalizzata e la relativa configurazione

È possibile creare definizioni di sito personalizzate copiando manualmente una definizione di sito esistente oppure importando un file con estensione wsp in Visual Studio 2010.

Importare elementi da un sito di SharePoint esistente

Questo metodo richiede il salvataggio di un sito come modello da SharePoint Foundation per generare un file con estensione wsp e quindi l'importazione di tale file in Visual Studio 2010 mediante il modello di progetto per l'importazione di soluzioni. Il modello di progetto per l'importazione di pacchetti delle soluzioni di SharePoint consente di riutilizzare elementi quali tipi di contenuto, definizioni di elenco e campi di siti di SharePoint esistenti in una nuova soluzione Visual Studio SharePoint. Per ulteriori informazioni sull'importazione di elementi da un sito di SharePoint esistente in un progetto di Visual Studio SharePoint, vedere Importazione di elementi da un sito di SharePoint esistente (https://go.microsoft.com/fwlink/?linkid=187040&clcid=0x410). In questo capitolo è incluso uno scenario dimostrativo delle attività seguenti:

  1. Personalizzazione di un sito di SharePoint mediante l'aggiunta di una colonna personalizzata

  2. Esportazione di un sito di SharePoint in un file con estensione wsp

  3. Importazione del file con estensione wsp nel progetto di Visual Studio SharePoint mediante il progetto di importazione con estensione wsp

Copiare un sito di SharePoint esistente

Questo metodo comporta la copia di una definizione di sito esistente, la modifica della copia e la modifica di due file dello schema, ovvero la copia di un file WebTemp.xml e la copia di un file Onet.xml.

Avviso

Non modificare il file WebTemp.xml installato originariamente.

  1. Copiare la cartella di una definizione di sito esistente disponibile nella directory Unità_Locale:\Programmi\File comuni\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates\. La copia deve essere dello stesso livello dell'originale ed è possibile assegnarle un nome qualsiasi senza spazi.

    Ad esempio, per creare una definizione di sito personalizzata derivante dalla definizione del sito del team per Microsoft SharePoint Foundation, copiare la cartella \sts.

  2. Effettuare una copia del file WebTemp.xml, archiviato in Unità_locale:\Programmi\File comuni\Microsoft Shared\web server extensions\14\TEMPLATE\1040\XML.

    Assegnare al file un nome univoco aggiungendo una stringa alla fine del nome del file originale, ad esempio WebTempAction.xml. In fase di runtime il compilatore unisce le informazioni contenute in questo file con quelle contenute nel file originale per specificare quali configurazioni della definizione di sito sono disponibili per la creazione di nuovi siti.

  3. Personalizzare il contenuto del nuovo file WebTemp.

    In ogni file WebTemp.xml è incluso un insieme di elementi Template e di sottoelementi Configuration che identificano al compilatore tutte le configurazioni della definizione di sito di cui è possibile creare un'istanza. L'elemento Configuration definisce ad esempio un titolo, una descrizione, l'URL dell'immagine visualizzata nell'interfaccia utente e una categoria di visualizzazione che specifica la scheda in cui mostrare il modello nella sezione Selezione modello della pagina Crea raccolta siti.

    Importante

    In ogni elemento Template definito nel file WebTemp l'attributo Name deve contenere lo stesso nome assegnato alla nuova cartella. Per evitare conflitti con gli ID già utilizzati in SharePoint Foundation 2010, specificare valori univoci superiori a 10.000 per l'attributo ID.

Per l'esempio seguente, nel file WebTemp.xml vengono utilizzati due elementi Configuration per definire configurazioni diverse della definizione di sito per la creazione di un'istanza di un sito, una per un sito di collaborazione per la ricerca (Research Collaboration) e l'altra per un sito area di lavoro documenti per la ricerca (Research Workspace). In questo esempio vengono utilizzate solo due configurazioni all'interno di una singola definizione di sito, ma in uno stesso file WebTemp.xml è possibile includere più definizioni di sito, ognuna con più configurazioni. Ogni definizione di sito fa riferimento a una cartella di definizione di sito diversa e al relativo file Onet.xml.

<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft SharePoint">
  <Template Name="RESEARCH" ID="10001">
    <Configuration ID="0" Title="Research Collaboration site" 
      Hidden="FALSE" ImageUrl="_layouts/images/stsprev.jpg" 
      Description="This definition creates a site for the Research 
      team to create, organize, and share general information." 
      DisplayCategory="Collaboration">
    </Configuration>
    <Configuration ID="1" Title="Research Workspace" Hidden="FALSE" 
      ImageUrl="_layouts/images/dwsprev.jpg" Description="This 
      definition creates a site for Research team colleagues to 
      work together on specific documents." 
      DisplayCategory="Collaboration">
    </Configuration>
  </Template>
</Templates>

Come indicato dal valore dell'attributo Name nell'elemento Template, in questo esempio si presuppone che esista una directory della definizione di sito denominata "RESEARCH". Se un file WebTemp*.xml specifica più di una definizione di sito, sarà possibile distinguere tali definizioni in base al relativo valore ID univoco.

In ogni elemento Configuration è inoltre incluso un attributo ID. La combinazione di tale ID e del valore dell'attributo Name nell'elemento Template fornisce un riferimento al contenuto di un elemento Configuration specifico in un file Onet.xml specifico. Nell'esempio l'attributo Name contiene RESEARCH e gli attributi ID contengono 0 e 1, che fanno riferimento alla definizione di sito RESEARCH e alle configurazioni con ID uguale a 0 oppure a 1 in Onet.xml.

Potrebbe essere necessario reimpostare IIS perché la nuova configurazione della definizione venga visualizzata come opzione nell'interfaccia utente. A tale scopo, digitare iisreset al prompt dei comandi.

Per ulteriori informazioni sulla definizione delle singole configurazioni di una definizione di sito in Onet.xml, vedere Procedura: Utilizzare le configurazioni delle definizioni di sito (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=183465&clcid=0x410).

Distribuire una definizione di sito mediante un pacchetto della soluzione

Per distribuire una definizione di sito personalizzata mediante un pacchetto della soluzione, aggiungere un elemento SiteDefinitionManifest al file del manifesto del pacchetto. Aggiungere l'elemento TemplateFiles per definire i file modello da distribuire in una sottocartella della cartella \14\Template.

Aggiungere un elemento SiteDefinitionManifest

All'elemento SiteDefinitionManifest è associato un attributo Location che seleziona tutti i file della cartella specificata e crea la sottocartella necessaria all'interno della cartella \14\Template\SiteTemplates. L'elemento figlio WebTempFile distribuisce il file webtemp*.xml per rendere noto il modello a Prodotti SharePoint 2010, come illustrato nell'esempio seguente:

  <SiteDefinitionManifests>
    <SiteDefinitionManifest Location="LitwareSiteTemplate">
      <WebTempFile Location="1033\xml\webtempLitware.xml" />
    </SiteDefinitionManifest>
  </SiteDefinitionManifests>

Aggiungere un elemento TemplateFile

L'elemento TemplateFile nel file del manifesto di una soluzione viene utilizzato per definire i file modello da distribuire in una sottocartella della cartella \14\Template. Un esempio del tipo di file che è possibile distribuire in questo modo è il file fldtypes*.xml, il quale definisce i dettagli di un tipo di campo personalizzato. Utilizzare l'attributo Location per specificare il percorso relativo del file indicato dalla stringa "Text" nell'esempio seguente:

  <TemplateFiles
    <TemplateFile
      Location="Text"/>
      ...
  </TemplateFiles>

Per ulteriori informazioni su come distribuire soluzioni, vedere Distribuire pacchetti delle soluzioni (SharePoint Foundation 2010).