Freigeben über


Bereitstellen von Vorlagen (SharePoint Foundation 2010)

 

Gilt für: SharePoint Foundation 2010

Letztes Änderungsdatum des Themas: 2016-11-30

In diesem Artikel wird das Erstellen einer benutzerdefinierten Websitedefinition und das Bereitstellen der Websitedefinition mit einem Lösungspaket beschrieben.

Inhalt dieses Artikels:

  • Was sind Websitedefinitionen?

  • Websitedefinitionen und -konfigurationen

  • Erstellen einer benutzerdefinierten Websitedefinition und -konfiguration

  • Bereitstellen einer Websitedefinition mit einem Lösungspaket

Was sind Websitedefinitionen?

In Microsoft SharePoint Foundation 2010 erstellen Benutzer über die Benutzeroberfläche eine Website, indem sie eine Websitedefinitionskonfiguration bzw. eine benutzerdefinierte Websitevorlage auswählen, die festlegt, wie die Website instanziiert wird. Eine Websitedefinition ist eine Vorlage, in der z. B. die Listen, Dateien, Webparts, Features oder Einstellungen festgelegt sind, mit denen eine neue SharePoint-Website bereitgestellt werden soll.

Eine Websitedefinition ist eine Gruppe verwandter Websitedefinitionskonfigurationen. Jede Websitedefinition gibt einen Namen an und enthält eine Liste von Websitedefinitionskonfigurationen. In SharePoint Foundation 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 hauptsächlich aus mehreren XML- und ASPX-Dateien, die auf einem Front-End-Webserver in Unterordnern von %Programme%\Germeinsame Dateien\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates gespeichert sind.

Mit einer auf Grundlage einer Websitedefinition erstellten Website werden den Struktur- und Inhaltsdefinitionen der ursprünglichen Websitedefinition weitere Struktur- und Inhaltsdefinitionen hinzugefügt. Websites hängen während ihres gesamten Lebenszyklus von der Websitedefinition ab, die ihre wesentliche Grundlage ist. Aus diesem Grund unterstützt Microsoft nicht das Ändern oder Entfernen einer Websitedefinition, nachdem Websites auf Grundlage dieser Websitedefinition erstellt wurden. Solche Änderungen können dazu führen, dass anhand der Definiton erstellte Websites nicht mehr ordnungsgemäß ausgeführt werden oder dass keine neuen Websites erstellt werden können, die direkt oder indirekt auf der Websitedefinition basieren. Entwickler können zum Anpassen einer Websitedefinition ein Feature hinzufügen, das die Änderungen der Websitedefinition enthält. Die Websitedefinition selbst wird nicht geändert.

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

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

Hinweis

Das STP-Format einer benutzerdefinierte Websitevorlage (STP-Datei) ist in SharePoint Foundation 2010 veraltet, und es wurde durch Websitevorlagen im WSP-Format ersetzt. In Windows SharePoint Services 3.0 können Benutzer eine vorhandene Website als benutzerdefinierte Websitevorlage speichern. Die Websitevorlage wird in der Datenbank als Modell gespeichert, und Benutzer können die Websitevorlage als Grundlage auswählen, die definiert, wie die Website instanziiert wird. Benutzer können in SharePoint Foundation 2010 eine vorhandene Website als Vorlage speichern. Die Vorlage wird im Lösungskatalog der Website auf der höchsten Ebene in einer Websitesammlung als WSP-Datei gespeichert. Dort ist sie für die Erstellung von Unterwebsites auf allen Websites in der Websitesammlung verfügbar.

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

Websitedefinitionen und -konfigurationen

Eine Websitedefinition definiert eine bestimmte SharePoint-Website. In SharePoint Foundation 2010 sind fünf systemeigene Websitedefinitionen installiert. Eine Websitedefinition kann mehrere Websitedefinitionskonfigurationen beinhalten. SharePoint-Websitedefinitionen basieren auf den folgenden spezifischen Websitedefinitionskonfigurationen:

  • 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 stellt eine Websitedefinitionskonfiguration für Websites für die Zentraladministration bereit.

  • WIKI stellt eine Websitedefinitionskonfiguration für Websites bereit, die mithilfe der Wiki-Technologie Communityinhalte unterstützen.

  • BLOG stellt eine Websitedefinitionskonfiguration für Blogs bereit.

Jede Websitedefinition besteht aus Dateien, die während der Installation von SharePoint Foundation 2010 in Unterordnern von \\Programme\Gemeinsame Dateien\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates abgelegt werden. Websitedefinitionsdateien umfassen XML-, ASPX-, ASCX- und MASTER-Dateien sowie Dokumentvorlagendateien, z. B. DOT- und HTML-Dateien, und Inhaltsdateien, z. B. GIF- und DOC-Dateien.

Nicht angepasste Seiten und Seitenanpassung

Websitedefinitionsdateien werden beim Starten von Microsoft Internetinformationsdienste (IIS) auf dem Server zwischengespeichert. Daher können nicht angepasste Seiten websiteübergreifend wiederverwendet werden. Die Informationen in diesen Dateien werden zur Laufzeit aus dem Cache abgerufen. Seiten und Listenschemas werden aus den Definitionsdateien gelesen, sie werden jedoch als echte Dateien innerhalb einer Website betrachtet. Neue Webpartseiten gelten ebenfalls als nicht angepasst.

Wenn Webseiten angepasst sind (mit Ausnahme von browserbasierten Anpassungen, z. B, Anpassungen eines Webparts), wird ihr Inhalt in der Inhaltsdatenbank gespeichert, und statt der ursprünglichen Webseite aus der Websitedefinition wird die angepasste Webseite verwendet. Hochgeladene ASPX-Seiten gelten automatisch als angepasst.

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

Kernschemadateien

In der folgenden Tabelle werden alle XML-Kerndateien mit ihrem Speicherort im Dateisystem aufgeführt, die für eine Websitedefinition geändert werden können.

WebTemp.xml

Gibt die Websitedefinitionen an und bietet Informationen zu ihren Konfigurationen. Speicherort:

\TEMPLATE\1033\XML

Onet.xml

Definiert die Navigationbereiche, gibt verfügbare Listendefinitionen an, gibt Dokumentvorlagen und die zugehörigen Dateien an, definiert die Basistypen für Listen und definiert Konfigurationen und Module für Websitedefinitionen. Speicherort:

\TEMPLATE\SiteDefinitions\Websitetyp\XML

Schema.xml

Definiert die Ansichten, die Formulare, die Symbolleiste und spezielle Felder in einer Listendefinition. Jede Definition verfügt über eine eigene Datei Schema.xml. Speicherort:

\TEMPLATE\FEATURES\Listendefinitionsname

DocIcon.xml

Jeder Front-End-Webserver in einer SharePoint Foundation-Bereitstellung enthält die Datei DocIcon.xml, die programmtechnische Dateibezeichner (ProgIDs) und Dateinamenerweiterungen von Dokumenttypen bestimmten Symbolen und Steuerelementen zum Öffnen der einzelnen Typen zuordnet. Änderungen an DocIcon.xml sind in einer SharePoint Foundation-Bereitstellung global und wirken sich auf alle Websitedefinitionen auf dem Front-End-Webserver aus. Speicherort:

\TEMPLATE\XML

In diesen XML-Dateien wird zum Definieren der Aspekte einer Website Collaborative Application Markup Language (CAML) (https://go.microsoft.com/fwlink/?linkid=183464&clcid=0x407) verwendet. Weitere Informationen zu diesen XML-Kerndateien, mit denen Sie Websitedefinitionen anpassen 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

Für diese Methode muss eine Website als Vorlage aus SharePoint Foundation gespeichert werden, um eine WSP-Datei zu generieren. Anschließend muss die WSP-Datei mithilfe der Projektvorlage für den Import von Lösungen in Visual Studio 2010 importiert werden. Mit der Projektvorlage zum Importieren von SharePoint-Lösungspaketen können Sie Elemente, z. B. Inhaltsdateien, Listendefinitionen und Felder, aus vorhandenen SharePoint-Websites in einer vorhandenen SharePoint-Lösung von Visual Studio wiederverwenden. Weitere Informationen zum Importieren von Elementen aus einer vorhandenen SharePoint-Website in ein SharePoint-Projekt von Visual Studio 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 veranschaulicht 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 ein Visual Studio-SharePoint-Projekt mithilfe des WSP-Import-Projekts

Kopieren einer vorhandenen SharePoint-Website

Diese Methode beinhaltet das Kopieren einer vorhandenen Websitedefinition, das Ändern der Kopie und das Ändern von zwei Schemadateien: die Kopie der Datei WebTemp.xml und die Kopie der Datei Onet.xml.

Warnung

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

  1. Kopieren Sie einen vorhandenen Websitedefinitionsordner im Verzeichnis Lokale Festplatte:\Programme\Gemeinsame Dateien\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates\. Die Kopie sollte dem Original gleichrangig sein, und Sie können ihr einen beliebigen Namen zuweisen, der keine Leerzeichen enthält.

    Beispiel: Um eine von der Teamwebsitedefinition für Microsoft SharePoint Foundation abgeleitete benutzerdefinierte Websitedefinition zu erstellen, kopieren Sie den Ordner \sts.

  2. Erstellen Sie eine Kopie der Datei WebTemp.xml. Diese Datei befindet sich unter Lokale Festplatte:\Programmdateien\Gemeinsame Dateien\Microsoft Shared\web server extensions\14\TEMPLATE\1033\XML.

    Weisen Sie der Datei einen eindeutigen Namen zu, indem Sie an den Namen der ursprünglichen Datei eine Zeichenfolge anfügen. Beispiel: WebTempAction.xml. Der Compiler führt zur Laufzeit Informationen in dieser Datei mit den Informationen in der ursprünglichen Datei zusammen, um anzugeben, welche Websitedefinitionskonfigurationen zum Erstellen neuer Websites verfügbar sind.

  3. Passen Sie den Inhalt der neuen Datei WebTemp*.xml an.

    Jede Datei vom Typ WebTemp.xml enthält eine Auflistung von Template-Elementen und Configuration-Unterelementen, die für den Compiler alle Websitedefinitionskonfigurationen angeben, die instanziiert werden können. Das Configuration-Element definiert beispielsweise einen Titel, eine Beschreibung, die URL für das auf der Benutzeroberfläche angezeigte Bild und eine Anzeigekategorie, die die Registerkarte angibt, auf der die Vorlage im Abschnitt Template Selection der Seite Websitesammlung erstellen angezeigt werden soll.

    Wichtig

    In jedem in der Datei WebTemp*.xml definierten Template-Element muss das Name-Attribut den Namen enthalten, der dem neuen Ordner zugewiesen ist. Verwenden Sie als ID-Attribut einen eindeutigen Wert, der größer als 10.000 ist, um Konflikte mit bereits in SharePoint Foundation 2010 verwendeten IDs zu vermeiden.

Im folgenden Beispiel werden zwei Configuration-Elemente in der Datei WebTemp.xml verwendet, um unterschiedliche Websitedefinitionskonfigurationen zum Instanziieren einer Website zu definieren: ein Element für die Website Research Collaboration und das andere Element für die Website Research Workspace. In diesem Beispiel werden nur zwei Konfigurationen in einer einzelnen Websitedefinition verwendet, sie können jedoch in eine einzelne Datei vom Typ WebTemp.xml mehrere Websitedefinitionen mit jeweils mehreren Konfigurationen einschließen, Jede Websitedefinition verweist auf einen anderen Websitedefinitionsordner mit der zugehörigen 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 vom Wert des Name-Attributs im Template-Element angegeben, wird in diesem Beispiel vorausgesetzt, dass ein Websitedefinitionsverzeichnis mit dem Namen RESEARCH vorhanden ist. Wenn in der Datei WebTemp*.xml mehrere Websitedefinitionen angegeben sind, werden die Definitionen durch ihre eindeutigen ID-Werte unterschieden.

Auch jedes Configuration-Element enthält ein ID-Attribut. Die Kombination dieser ID und des Werts des Name-Attributs im Template-Element liefert einen Verweis auf den Inhalt eines bestimmten Configuration-Elements in einer bestimmten Datei vom Typ Onet.xml. Im Beispiel enthält das Name-Attribute RESEARCH, und die ID-Attribute enthalten 0 und 1. Diese verweisen auf die RESEARCH-Websitedefinition und Konfigurationen mit der ID 0 oder 1 in Onet.xml.

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

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

Bereitstellen einer Websitedefinition mithilfe eines Lösungspakets

Um mithilfe eines Lösungspakets eine benutzerdefinierte Websitedefinition bereitzustellen, 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 für SharePoint 2010-Produkte verfügbar zu machen, wie im folgenden Beispiel gezeigt:

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

Hinzufügen eines "TemplateFile"-Elements

Mit dem TemplateFile-Element in einer Lösungsmanifestdatei werden die Vorlagendateien definiert, die in einem Unterordner des Ordners \14\Template bereitgestellt werden müssen. Die Datei fldtypes*.xml, die die Details eines benutzerdefinierten Feldtyps definiert, ist ein Beispiel für die Art von Dateien, die Sie auf diese Weise bereitstellen können. Geben Sie mit dem Location-Attribut den relativen Pfad der Datei an, der im folgenden Beispiel mit der Zeichenfolge "Text" angegeben wird:

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

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