Bereitstellen von Vorlagen (SharePoint Server 2010)

 

Gilt für: SharePoint Server 2010

Letztes Änderungsdatum des Themas: 2016-11-30

In diesem Artikel wird beschrieben, wie Sie eine benutzerdefinierte Websitedefinition erstellen und diese mithilfe eines Lösungspakets bereitstellen.

Inhalt dieses Artikels:

  • Was sind Websitedefinitionen?

  • Websitedefinitionen und -konfigurationen

  • Erstellen einer benutzerdefinierten Websitedefinition und -konfiguration

  • Bereitstellen einer Websitedefinition mithilfe eines Lösungspakets

Was sind Websitedefinitionen?

In Microsoft SharePoint Server 2010 erstellen Benutzer eine Website über die Benutzeroberfläche, indem sie eine Websitedefinitionskonfiguration oder eine benutzerdefinierte Websitevorlage auswählen, in der definiert wird, wie die Website instanziiert werden soll. Eine Websitedefinition ist eine Vorlage, mit der beispielsweise die Listen, Dateien, Webparts, Features und Einstellungen bestimmt werden, mit denen eine neue SharePoint-Website bereitgestellt werden soll.

Eine Websitedefinition ist eine Gruppe von Websitedefinitionskonfigurationen. In jeder Websitedefinition wird ein Name angegeben, und die Definition enthält eine Liste der Websitedefinitionskonfigurationen. In SharePoint Server 2010 besteht eine Websitedefinition aus einem Satz von XML-Dateien, die angewendet werden können, um neue Websites bereitzustellen. Die Dateien befinden sich auf Webservern.

Websitedefinitionen bestehen in erster Linie aus mehreren XML- und ASPX-Dateien, die auf einem Front-End-Webserver in Ordnern unterhalb des Ordners %ProgramFiles%\Gemeinsame Dateien\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates gespeichert sind.

Durch eine anhand einer Websitedefinition erstellte Website werden die Struktur- und Inhaltsinformationen aus der ursprünglichen Websitedefinition ergänzt, aber nicht wiederholt. Websites sind während des gesamten Lebenszyklus auf die Websitedefinition als elementare Grundlage angewiesen. Aus diesem Grund wird das Ändern oder Entfernen einer Websitedefinition, mit deren Hilfe Websites erstellt wurden, von Microsoft nicht unterstützt. Solche Änderungen können dazu führen, dass anhand der Definition erstellte Websites nicht mehr richtig funktionsfähig sind oder dass keine neuen Websites erstellt werden können, die direkt oder indirekt auf der Websitedefinition basieren. Zum Anpassen einer Websitedefinition können Entwickler ein Feature hinzufügen, das die Änderungen an der Websitedefinition enthält. Die Websitedefinition selbst wird nicht geändert.

Weitere Informationen zu den von Microsoft unterstützten Anpassungen für Websitedefinitionen finden Sie unter Unterstützte und nicht unterstützte Szenarien für das Arbeiten mit benutzerdefinierten Websitedefinitionen und benutzerdefinierten Bereichsdefinitionen in Windows SharePoint Services, SharePoint Portal Server 2003 und Office SharePoint Server 2007 (https://go.microsoft.com/fwlink/?linkid=187678&clcid=0x407).

Im Objektmodell stellt ein SPWebTemplate-Objekt eine Websitedefinition (und -konfiguration) dar. Weitere Informationen zu Websitevorlagen und Websitedefinitionen finden Sie unter Websitevorlagen und -definitionen (https://go.microsoft.com/fwlink/?linkid=184756&clcid=0x407).

Hinweis

Das STP-Format einer benutzerdefinierten Websitevorlage (STP-Datei) ist in SharePoint Server 2010 veraltet und wurde durch Websitevorlagen im WSP-Format ersetzt. In Office SharePoint Server 2007 können Benutzer eine vorhandene Website als benutzerdefinierte Websitevorlage speichern. Die Websitevorlage wird als Modell in der Datenbank gespeichert und kann von Benutzern als Grundlage ausgewählt werden, in der definiert wird, wie die Website instanziiert wird. In SharePoint Server 2010 können Benutzer eine vorhandene Website als Vorlage speichern. Die Vorlage wird als WSP-Datei im Lösungskatalog der Website auf der höchsten Ebene in einer Websitesammlung gespeichert und steht dort für die Erstellung von Unterwebsites auf allen Websites in der Websitesammlung zur Verfügung.

Weitere Informationen zu Websitedefinitionen finden Sie unter Websitedefinitionen und -konfigurationen (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x407).

Websitedefinitionen und -konfigurationen

In einer Websitedefinition wird eine bestimmte SharePoint-Website definiert. Fünf Websitedefinitionen sind direkt in SharePoint Server 2010 installiert. Eine Websitedefinition kann mehrere Websitedefinitionskonfigurationen enthalten. SharePoint-Websites basieren auf bestimmten Websitedefinitionskonfigurationen, die Folgendes enthalten:

  • STS enthält die Websitedefinitionskonfigurationen für Teamwebsite, Leere Website und Dokumentarbeitsbereich.

  • MPS enthält die Websitedefinitionskonfigurationen für Standard-Besprechungsarbeitsbereich, Leerer Besprechungsarbeitsbereich, Entscheidung-Besprechungsarbeitsbereich, Sozialer Besprechungsarbeitsbereich und Mehrseitiger Besprechungsarbeitsbereich.

  • CENTRALADMIN enthält eine Websitedefinitionskonfiguration für Websites für die Zentraladministration.

  • WIKI enthält eine Websitedefinitionskonfiguration für Websites, von denen mithilfe von Wikitechnologie Community-Inhalte unterstützt werden.

  • BLOG enthält eine Websitedefinitionskonfiguration für Blogs.

Jede Websitedefinition besteht aus Dateien, die bei der Installation von SharePoint Server 2010 in Unterordnern von \\Programme\Gemeinsame Dateien\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates auf Front-End-Webservern gespeichert werden. Zu den Websitedefinitionsdateien gehören XML-, ASPX-, ASCX- und MASTER-Dateien sowie Dokumentvorlagendateien (beispielsweise DOT und HTM) und Inhaltsdateien (beispielsweise GIF und DOC).

Nicht angepasste Seiten und Seitenanpassung

Websitedefinitionsdateien werden beim Start des Prozesses der Microsoft-Internetinformationsdienste (Microsoft Internet Information Services, IIS) im Arbeitsspeicher des Servers zwischengespeichert. Auf diese Weise können nicht angepasste Seiten auf allen Websites wiederverwendet werden. Die in diesen Dateien enthaltenen Informationen werden zur Laufzeit aus dem Cache abgerufen. Seiten und Listenschemas werden aus den Websitedefinitionsdateien gelesen, werden jedoch innerhalb einer Website als tatsächliche Dateien angezeigt. Neue Webpartseiten werden ebenfalls als nicht angepasst betrachtet.

Beim Anpassen von Websiteseiten (mit Ausnahme von browserbasierten Anpassungen wie beispielsweise Änderungen an Webparts) wird der Inhalt der Seiten in der Inhaltsdatenbank gespeichert, und die angepasste Websiteseite wird anstelle der Originalseite aus der Websitedefinition verwendet. Hochgeladene ASPX-Dateien werden automatisch als angepasst betrachtet.

Weitere Informationen zu Ghosting und zur Seitenanpassung finden Sie unter Websitedefinitionen und -konfigurationen (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x407).

Kernschemadateien

In der folgenden Tabelle werden die XML-Kerndateien, die für eine Websitedefinition geändert werden können, sowie deren Speicherorte im Dateisystem aufgeführt.

WebTemp.xml

Identifiziert die Websitedefinitionen und enthält Informationen zu deren Konfigurationen. Speicherort:

\TEMPLATE\1033\XML

Onet.xml

Definiert die Navigationsbereiche, gibt die verfügbaren Listendefinitionen an, gibt Dokumentvorlagen und deren Dateien an, definiert die Basistypen für Listen und definiert Konfigurationen und Module für Websitedefinitionen. Speicherort:

\TEMPLATE\SiteDefinitions\Websitetyp\XML

Schema.xml

Definiert Ansichten, Formulare, Symbolleiste und spezielle Felder in einer Listendefinition. Jede Definition hat eine eigene Datei Schema.xml. Speicherort:

\TEMPLATE\FEATURES\List_Definition_Name

DocIcon.xml

Jeder Front-End-Webserver in einer SharePoint Server-Bereitstellung enthält eine Datei DocIcon.xml, in der Programmkennungen (ProgIDs) und Dateinamenerweiterungen von Dokumenttypen bestimmten Symbolen sowie Steuerelementen zum Öffnen der einzelnen Typen zugeordnet werden. Änderungen an DocIcon.xml sind für eine SharePoint Server-Bereitstellung global und wirken sich auf alle Websitedefinitionen auf dem Front-End-Webserver aus. Speicherort:

\TEMPLATE\XML

In diesen XML-Dateien werden Aspekte einer Website mithilfe von Collaborative Application Markup Language (CAML) (https://go.microsoft.com/fwlink/?linkid=183464&clcid=0x407) definiert. Weitere Informationen zu den XML-Kerndateien, die Sie zum Anpassen von Websitedefinitionen verwenden können, finden Sie unter Websitedefinitionen und -konfigurationen (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x407).

Erstellen einer benutzerdefinierten Websitedefinition und -konfiguration

Sie können benutzerdefinierte Websitedefinitionen erstellen, indem Sie eine vorhandene Websitedefinition manuell kopieren oder eine WSP-Datei in Visual Studio 2010 importieren.

Importieren von Elementen aus einer vorhandenen SharePoint -Website

Bei dieser Methode müssen Sie eine Website als Vorlage aus SharePoint Server speichern, um eine WSP-Datei zu generieren und dann die WSP-Datei mithilfe der Projektvorlage für den Lösungsimport in Visual Studio 2010 importieren. Mithilfe der Projektvorlage zum Importieren von SharePoint-Lösungspaketen können Sie Elemente wie beispielsweise Inhaltstypen, Listendefinitionen und Felder aus vorhandenen SharePoint-Websites in einer neuen Visual Studio-SharePoint-Lösung wiederverwenden. Weitere Informationen zum Importieren von Elementen aus einer vorhandenen SharePoint-Website in ein Visual Studio-SharePoint-Projekt finden Sie unter Importieren von Elementen aus einer vorhandenen SharePoint-Website (https://go.microsoft.com/fwlink/?linkid=187040&clcid=0x407). Dieses Kapitel enthält eine exemplarische Vorgehensweise, in der die folgenden Aufgaben gezeigt werden:

  1. Anpassen einer SharePoint-Website durch Hinzufügen einer benutzerdefinierten Websitespalte

  2. Exportieren einer SharePoint-Website in eine WSP-Datei

  3. Importieren der WSP-Datei in das Visual Studio-SharePoint-Projekt mithilfe des WSP-Importprojekts

Kopieren einer vorhandenen SharePoint-Website

Bei dieser Methode kopieren Sie eine vorhandene Websitedefinition, ändern die Kopie und ändern zwei Schemadateien: die Kopie einer Datei WebTemp.xml und die Kopie einer Datei Onet.xml.

Warnung

Ändern Sie nicht die ursprünglich installierte Datei WebTemp.xml.

  1. Kopieren Sie einen vorhandenen Websitedefinitionsordner aus dem Verzeichnis Lokales_Laufwerk:\Programme\Gemeinsame Dateien\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates\. Die Kopie sollte dem Original gleichrangig sein, und Sie können einen beliebigen Namen ohne Leerzeichen verwenden.

    Wenn Sie beispielsweise eine benutzerdefinierte Websitedefinition erstellen möchten, die von der Teamwebsitedefinition für Microsoft SharePoint Server abgeleitet ist, kopieren Sie den Ordner \sts.

  2. Erstellen Sie eine Kopie der Datei WebTemp.xml. Diese Datei befindet sich in Lokales_Laufwerk:\Programme\Gemeinsame Dateien\Microsoft Shared\web server extensions\14\TEMPLATE\1033\XML.

    Geben Sie der Datei einen eindeutigen Namen, indem Sie dem Namen der Originaldatei eine Zeichenfolge anfügen, beispielsweise WebTempAction.xml. Zur Laufzeit werden die in dieser Datei enthaltenen Informationen vom Compiler mit den Informationen in der Originaldatei zusammengeführt, um anzugeben, welche Websitedefinitionskonfigurationen zum Erstellen neuer Websites verfügbar sind.

  3. Passen Sie den Inhalt der neuen WebTemp-Datei an.

    Jede Datei WebTemp.xml enthält eine Sammlung von Template-Elementen und Configuration-Unterelementen, durch die alle Websitedefinitionskonfigurationen, die instanziiert werden können, für den Compiler identifiziert werden. Durch das Configuration-Element beispielsweise werden Titel, Beschreibung und URL für das auf der Benutzeroberfläche angezeigte Bild definiert sowie eine Anzeigekategorie. Mit dieser wird die Registerkarte angegeben, auf der die Vorlage im Abschnitt Template Selection der Seite Websitesammlung erstellen angezeigt werden soll.

    Wichtig

    In jedem in der WebTemp-Datei definierten Template-Element muss das Name-Attribut den gleichen Namen enthalten, der dem neuen Ordner zugewiesen wird. Verwenden Sie für das ID-Attribut eindeutige Werte, die größer als 10.000 sind, um Konflikte mit bereits in SharePoint Server 2010 verwendeten IDs zu vermeiden.

Im folgenden Beispiel werden zwei Configuration-Elemente in der Datei WebTemp.xml verwendet, um verschiedene Websitedefinitionskonfigurationen für das Instanziieren einer Website zu definieren: eine für eine Zusammenarbeitswebsite für die Forschung und eine für eine Dokumentarbeitsbereich-Website. In diesem Beispiel werden nur zwei Konfigurationen in einer einzigen Websitedefinition verwendet, Sie können jedoch mehrere Websitedefinitionen mit jeweils mehreren Konfigurationen in eine einzige Datei WebTemp.xml einschließen. Jede Websitedefinition verweist auf einen anderen Websitedefinitionsordner und dessen Datei 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>

Wie mit dem Wert des Name-Attributs im Template-Element angegeben wird in diesem Beispiel angenommen, dass ein Websitedefinitionsverzeichnis mit dem Namen RESEARCH vorhanden ist. Wenn in einer Datei WebTemp*.xml mehrere Websitedefinitionen angegeben sind, werden die Definitionen anhand der eindeutigen ID-Werte unterschieden.

Jedes Configuration-Element enthält außerdem ein ID-Attribut. Die Kombination aus diesem ID-Attribut und dem Wert des Name-Attributs im Template- Element stellt einen Verweis auf den Inhalt eines bestimmten Configuration-Elements in einer bestimmten Datei Onet.xml bereit. Im Beispiel enthält das Name-Attribut RESEARCH und die ID-Attribute enthalten 0 und 1. Damit wird auf die Websitedefinition RESEARCH und auf Konfigurationen mit den IDs 0 oder 1 in Onet.xml verwiesen.

Möglicherweise müssen Sie IIS zurücksetzen, damit die neue Definitionskonfiguration als Option auf der Benutzeroberfläche angezeigt wird. Geben Sie hierzu iisreset an einer Eingabeaufforderung ein.

Weitere Informationen zum Definieren der einzelnen Websitedefinitionskonfigurationen in Onet.xml finden Sie unter Gewusst wie: Verwenden von Websitedefinitionskonfigurationen (https://go.microsoft.com/fwlink/?linkid=183465&clcid=0x407).

Bereitstellen einer Websitedefinition mithilfe eines Lösungspakets

Zum Bereitstellen einer benutzerdefinierten Websitedefinition mithilfe eines Lösungspakets fügen Sie der Manifestdatei des Lösungspakets ein SiteDefinitionManifest-Element hinzu. Fügen Sie das TemplateFiles-Element hinzu, um die Vorlagendateien zu definieren, die in einem Unterordner des Ordners \14\Template bereitgestellt werden müssen.

Hinzufügen eines SiteDefinitionManifest-Elements

Das SiteDefinitionManifest-Element weist ein Location-Attribut auf, mit dem alle Dateien im angegebenen Ordner gesammelt werden und der benötigte Ordner im Ordner \14\Template\SiteTemplates erstellt wird. Mit dem untergeordneten WebTempFile-Element wird die Datei webtemp*.xml bereitgestellt, um die Vorlage wie im folgenden Beispiel gezeigt für SharePoint 2010-Produkte verfügbar zu machen:

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

Hinzufügen eines TemplateFile-Elements

Das TemplateFile-Element wird in einer Lösungsmanifestdatei verwendet, um die Vorlagendateien zu definieren, die in einem Unterordner des Ordners \14\Template bereitgestellt werden müssen. Ein Beispiel für einen Dateityp, den Sie auf diese Weise bereitstellen können, ist die Datei fldtypes*.xml, mit der die Details eines benutzerdefinierten Feldtyps definiert werden. Verwenden Sie das Location-Attribut, um den relativen Pfad der Datei anzugeben, der im folgenden Beispiel durch die Zeichenfolge Text angegeben wird:

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

Weitere Informationen zum Bereitstellen von Lösungen finden Sie unter Bereitstellen von Lösungspaketen (SharePoint Server 2010).