Distribuire modelli (SharePoint Server 2010)

SharePoint 2010
 

Si applica a: SharePoint Server 2010

Ultima modifica dell'argomento: 2016-11-30

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

Contenuto dell'articolo:

In Microsoft SharePoint Server 2010 un utente crea un sito tramite l'interfaccia utente selezionando una configurazione di 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, gli elementi Feature o le impostazioni con cui eseguire il provisioning di un nuovo sito di SharePoint.

Una definizione di sito è una famiglia di configurazioni di definizioni di sito. Ogni definizione di sito specifica un nome e include un elenco delle configurazioni di definizioni di sito. In SharePoint Server 2010 una definizione di sito è costituita da un insieme di file XML che è possibile applicare per il provisioning di nuovi siti. I file sono contenuti nei server Web.

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

Un sito creato a partire da una definizione di sito si aggiunge alle informazioni strutturali e di contenuto della definizione originale, senza tuttavia ripetere tali informazioni. Durante il ciclo di vita i siti dipendono sempre dalla definizione di sito, che rappresenta l'elemento di base principale. Per questo motivo, Microsoft non supporta la modifica o la rimozione di una definizione di sito che è stata utilizzata per la creazione di siti. Tali modifiche potrebbero causare un malfunzionamento dei siti creati a partire dalla definizione o potrebbero impedire la creazione di nuovi siti basati direttamente o indirettamente sulla definizione di sito. Per personalizzare una definizione di sito, gli sviluppatori possono aggiungere un elemento Feature per includere le modifiche nella definizione di sito. In questo modo, la definizione di sito stessa non viene modificata.

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

SPWebTemplate rappresenta nel modello a oggetti una definizione e configurazione di sito. Per ulteriori informazioni sui modelli e sulle definizioni di sito, vedere Modelli e definizioni di sito (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=184756&clcid=0x410).

NotaNote
Il formato STP di un modello di sito personalizzato (file con estensione stp) è deprecato in SharePoint Server 2010 ed è sostituito dai modelli di sito in formato WSP. In Office SharePoint Server 2007 gli utenti possono utilizzare un sito esistente per salvarlo come modello di sito personalizzato. Il modello di sito viene archiviato nel database come modello e gli utenti possono selezionarlo come base per definire la modalità di creazione di un'istanza del sito. In SharePoint Server 2010 gli utenti possono utilizzare un sito esistente per salvarlo come modello. Il modello 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 e configurazioni di sito (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=183458&clcid=0x410).

Una definizione di sito definisce un sito di SharePoint specifico. Sono disponibili cinque definizioni di sito installate in SharePoint Server 2010. Una definizione di sito può includere più configurazioni di definizioni di sito. I siti Web di SharePoint si basano su configurazioni di definizioni di sito specifiche che includono gli elementi seguenti:

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

  • MPS include le configurazioni di definizioni 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 di definizione di sito per i siti Web Amministrazione centrale.

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

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

Ogni definizione di sito è costituita da file inseriti nelle sottocartelle \\Programmi\File comuni\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates dei server Web front-end durante l'installazione di SharePoint Server 2010. I file di definizione di sito includono file con estensioni xml, aspx e ascx e file pagina master, oltre a file modello di documento, ad esempio file con estensioni dot e htm, e file di contenuto, ad esempio file con estensioni gif e doc.

I file di definizione di sito vengono memorizzati nella cache del server all'avvio del processo di Microsoft Internet Information Services (IIS). In questo modo è possibile riutilizzare in tutti i siti le pagine non personalizzate. Le informazioni contenute in questi file vengono estratte dalla cache in fase di esecuzione. Le pagine e gli schemi di elenco vengono letti nei file di definizione di sito, ma risultano come file effettivi in un sito. Anche le nuove pagine web part vengono considerate non personalizzate.

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

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

Nella tabella seguente vengono elencati i file XML principali che possono essere modificati per una definizione di sito con i relativi percorsi nel file system.

 

WebTemp.xml

Identifica le definizioni di sito e fornisce informazioni sulle relative configurazioni. Disponibile 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. Disponibile in:

\TEMPLATE\SiteDefinitions\tipo_sito\XML

Schema.xml

Definisce le visualizzazioni, i moduli, la barra degli strumenti e i campi speciali in una definizione di elenco. Ogni definizione è associata al proprio file Schema.xml. Disponibile in:

\TEMPLATE\FEATURES\Nome_Definizione_Elenco

DocIcon.xml

Ogni server Web front-end in una distribuzione di SharePoint Server include un file DocIcon.xml che esegue il mapping di identificatori programmatici di file (ProgID) ed estensioni di nomi di file di tipi di documenti con icone specifiche e controlli per l'apertura di ogni tipo. Le modifiche apportate a DocIcon.xml sono globali in una distribuzione di SharePoint Server e hanno effetto su tutte le definizioni di sito nel server Web front-end. Disponibile in:

\TEMPLATE\XML

Questi file XML utilizzano il Linguaggio CAML (Collaborative Application Markup Language) (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=183464&clcid=0x410) per definire gli aspetti di un sito. Per ulteriori informazioni su questi file XML principali che possono essere utilizzati per personalizzare le definizioni di sito, vedere Definizioni e configurazioni di sito (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=183458&clcid=0x410).

È 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 Server per generare un file con estensione wsp e quindi l'importazione del file wsp in Visual Studio 2010 utilizzando il modello di progetto di importazione di soluzioni. Il modello di progetto di importazione del pacchetto della soluzione di SharePoint consente di riutilizzare in una nuova soluzione Visual Studio SharePoint elementi quali tipi di contenuto, definizioni di elenco e campi a partire da siti di SharePoint esistenti. 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 (http://go.microsoft.com/fwlink/?linkid=187040&clcid=0x410). Questo capitolo include uno scenario che illustra le attività seguenti:

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

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

  3. Importazione del file wsp nel progetto di Visual Studio SharePoint tramite il progetto di importazione 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 di schema, ovvero la copia di un file WebTemp.xml e la copia di un file Onet.xml.

AvvisoWarning
Non modificare il file WebTemp.xml originariamente installato.
  1. Copiare una cartella di definizione di sito esistente contenuta 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 denominarla come desiderato, purché il nome non contenga spazi.

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

  2. Creare una copia del file WebTemp.xml. Questo file è contenuto in Unità_locale:\Programmi\File comuni\Microsoft Shared\web server extensions\14\TEMPLATE\1040\XML.

    Assegnare al file un nome univoco aggiungendo una stringa al nome del file originale, ad esempio WebTempAction.xml. In fase di esecuzione il compilatore unisce le informazioni contenute in questo file alle informazioni contenute nel file originale per specificare le configurazioni di definizioni di sito 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.

    ImportanteImportant
    In ogni elemento Template definito nel file WebTemp l'attributo Name deve includere lo stesso nome assegnato alla nuova cartella. Per evitare conflitti con ID già utilizzati in SharePoint Server 2010, utilizzare valori univoci maggiori di 10.000 per l'attributo ID.

Nell'esempio seguente vengono utilizzati due elementi Configuration nel file WebTemp.xml per definire configurazioni di definizioni di sito diverse per la creazione di istanze di un sito, una per un sito Research Collaboration e l'altra per un sito Research Workspace. In questo esempio vengono utilizzate solo due configurazioni in una singola definizione di sito, ma è possibile includerne più di una in un singolo file WebTemp.xml, 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 l'esistenza di una directory di definizione di sito denominata "RESEARCH". Se in un file WebTemp*.xml sono specificate più definizioni di sito, tali definizioni si distinguono per i valori ID univoci.

Ogni elemento Configuration inoltre contiene un attributo ID. La combinazione di questo ID e del valore dell'attributo Name nell'elemento Template fornisce un riferimento al contenuto di un elemento Configuration specifico in un determinato file Onet.xml. 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 pari a 0 o 1 in Onet.xml.

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

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

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

L'elemento SiteDefinitionManifest include un attributo Location che seleziona tutti i file nella cartella specificata e crea la cartella necessaria nella 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>

L'elemento TemplateFile in un file manifesto della soluzione viene utilizzato per definire i file modello che devono essere distribuiti in una sottocartella della cartella \14\Template. Un esempio del tipo di file che è possibile distribuire in questo modo è il file fldtypes*.xml, che 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 sulla distribuzione di soluzioni, vedere Distribuire pacchetti delle soluzioni (SharePoint Server 2010).

Mostra: