Bereitstellen von Websiteelementen mithilfe von Features (SharePoint Server 2010)

 

Gilt für: SharePoint Server 2010

Letztes Änderungsdatum des Themas: 2016-11-30

In diesem Artikel wird das Bereitstellen von Anpassungen an entwickelten Websiteelementen mithilfe von Features beschrieben. Durch die Verwendung von Features können Sie den Bereich steuern, in dem die Websiteanpassung aktiviert und deaktiviert werden kann. Und die Anpassungen können auf einfache Art und Weise in mehreren Serverfarmen bereitgestellt werden.

In diesem Abschnitt:

  • Was ist ein Feature?

  • Verwendung von Features

  • Erstellen eines Features

  • Installieren und Aktivieren eines Features mithilfe von Windows PowerShell

Was ist ein Feature?

Ein Feature ist ein Container verschiedener definierter Erweiterungen für SharePoint Server 2010. Es setzt sich aus mehreren XML-Dateien zusammen, die auf Front-End-Webservern und Anwendungsservern bereitgestellt werden. Sie können ein Feature als Teil eines Lösungspakets bereitstellen, und Sie können ein Feature auf SharePoint Server-Websites einzeln aktivieren.

Features verringern die Komplexität einfacher Websiteanpassungen. Mit Features entfällt die Notwendigkeit zum Kopieren großer Codeabschnitte zum Ändern einfacher Funktionen, und daher werden die Versionsverwaltung und Inkonsistenzprobleme reduziert, die zwischen Front-End-Servern auftreten können.

Features erleichtern die Aktivierung oder Deaktivierung von Funktionen während der Bereitstellung. Administratoren können die Vorlage oder Definition einer Website durch Aktivieren oder Deaktivieren eines bestimmten Features der Benutzeroberfläche problemlos transformieren.

Ein Element ist eine Atomeinheit innerhalb eines Features. Das Feature-Element wird in einer Datei Feature.xml zum Definieren eines Features und zum Angeben des Speicherorts der Assemblys, Dateien, Abhängigkeiten oder Eigenschaften verwendet, die das Feature unterstützen. Ein Feature enthält eine Feature.xml-Datei und eine beliebige Anzahl von Dateien zur Beschreibung der einzelnen Elemente. Ein anderes Featureelement aus einem anderen Schema wird in einer Onet.xml-Datei verwendet, um anzugeben, dass ein Feature aktiviert wird, wenn eine Website aus einer Websitedefinition erstellt wird.

Eine Feature.xml-Datei verweist typischerweise auf mindestens eine XML-Datei, deren <Elements>-Tag oberster Ebene Definitionen für Elemente enthält, die das Feature unterstützen. Elemente in SharePoint Server 2010 entsprechen häufig den diskreten Knoten in der Datei Onet.xml oder Schema.xml von Microsoft Office SharePoint Portal Server 2003. Es gibt verschiedene Arten von Elementen, beispielsweise benutzerdefinierte Menüelemente oder Ereignishandler.

Verwendung von Features

Features werden zum Bereitstellen von Funktionalität, Anpassungen oder Konfigurationsänderungen auf Front-End-Webservern empfohlen. Features bieten eine flexible Möglichkeit zum Verwalten der Funktionalität während ihres Lebenszyklus, einschließlich Aktivierung, Upgrade und möglicherweise auch Deaktivierung.

Sie können Features zum Bereitstellen entwickelter Websiteelemente in einem der folgenden Szenarien verwenden:

  • Aktivierung und Deaktivierung Beim Bereitstellen von Anpassungen für Websiteelemente in einem Feature können Sie das Feature mithilfe von Windows PowerShell oder mithilfe des Objektmodells installieren, aktivieren und deaktivieren. Sie können ein Feature auch über die Website für die Zentraladministration aktivieren und deaktivieren.

  • Bereichsflexibilität Sie können ein Feature für einen einzelnen Bereich einschließlich Serverfarm, Webanwendung, Websitesammlung oder Website aktivieren.

  • Einfache verteilte Bereitstellung Ein Feature kann leicht auf mehreren Serverfarmen als Teil einer Lösung bereitgestellt werden.

  • Steuerung mit dem Featureobjektmodell Mit dem Featureobjektmodell können Sie die Liste der installierten Features innerhalb eines bestimmten Bereichs angeben und steuern, ob Features auf den Ebenen der Serverfarm und der Website aktiviert werden.

In Lösungspaketen können Sie Features zusammenstellen, die in verschiedenen Umgebungen bereitgestellt werden. Verwenden Sie z. B. ein Lösungspaket zum Bereitstellen von Anpassungen zwischen Entwicklerarbeitsstationen und einer Integrationsfarm sowie zwischen einer Integrationsfarm und Clientarbeitsstationen für die Erstellung und Pilot- oder Produktionsfarmen.

Erstellen eines Features

Beim Erstellen einer benutzerdefinierten Webseite in SharePoint Server 2010 mithilfe des Browsers oder SharePoint Designer kann die ASPX-Seite nur zur Stammwebsitesammlung des Servers gehören, auf dem SharePoint Server 2010 ausgeführt wird. Zum Erstellen einer Seite in einer Websitesammlung, die für die gesamte Farm und in allen Websitesammlungen verfügbar ist, können Sie eine Lösung zum Bereitstellen der Seite unter dem Ordner \14\Template\Layouts (mithilfe des TemplateFiles-Elements in der Lösungsmanifestdatei ) verwenden.

Als bewährte Methode in einer Farm wird das Bereitstellen von Features mithilfe eines Lösungspakets empfohlen. Falls ein Server neu erstellt werden muss oder ein weiterer Server der Farm hinzugefügt wird, muss das Feature nicht manuell jedem Front-End-Webserver hinzugefügt werden. Mithilfe von Lösungspaketen können Sie neue und aktualisierte Features in der Farm bereitstellen und einen Front-End-Webserver synchronisieren, sodass sein Status mit dem Status der anderen Server in der Farm konsistent ist.

Wenn Sie die Verfügbarkeit einer benutzerdefinierten Seite in einer Websitesammlung oder einer Website steuern möchten, können Sie die Webseite als SharePoint-Feature als Teil einer Lösung bereitstellen. Verwenden Sie das Modulelement in der Datei Feature.xml, um eine Webseite mithilfe eines Bereichs der Websitesammlung und Website bereitzustellen. Module werden häufig zum Implementieren einer Webpartseite in der Website verwendet.

Ein als Teil einer Lösung bereitgestelltes Feature wird automatisch installiert. Falls Sie ein Feature manuell bereitstellen, müssen Sie es installieren und aktivieren. Weitere Informationen finden Sie unter Install and activate a Feature by using Windows PowerShell weiter hinten in diesem Artikel.

So können Sie ein benutzerdefiniertes Feature erstellen und bereitstellen

  1. Erstellen Sie eine Datei Feature.XML. Es folgt ein Beispiel für eine Datei Feature.xml, die erforderlich ist, um dem Feature eine eindeutige Kennung zu geben und auf die Datei Module.xml zu zeigen.

    <?xml version="1.0"?>
    <Feature Id="8C4DD0CB-5A94-44da-9B7F-E9ED49C2B2DC" Title=
    "Custom Web page"
    Description="This simple example feature adds an ASPX page 
    with a hosted XmlFormView control" 
    Version="1.0.0.0" Scope="Web"
    xmlns="https://schemas.microsoft.com/sharepoint/">
    <ElementManifests>
        <ElementManifest Location="Module.xml"/>
    </ElementManifests>
    </Feature>
    
  2. Erstellen Sie eine Datei Module.xml. Es folgt ein Beispiel für eine Datei Module.xml, die Informationen über die Seite beziehungsweise Seiten enthält, die Teil der Lösung sind.

    <?xml version="1.0"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
        <module name="file" url="" path="">
            <file url="XmlFormViewPage.aspx" type="ghostable"> </file>
        </module>
    </Elements>
    
  3. Ändern Sie den url-Wert der Datei in den Namen Ihrer ASPX-Seite.

  4. Fügen Sie einen Unterordner für die Featuredefinition innerhalb des Installationsverzeichnisses auf dem Servercomputer hinzu, das sich in der Regel unter %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\14\TEMPLATE\FEATURES befindet.

    Wichtig

    Als bewährte Methode wird die Verwendung von ausführlichen, qualifizierten Namen für die Unterordner empfohlen, die Sie für Featuredefinitionen erstellen. Dadurch wird die Wahrscheinlichkeit minimiert, dass Sie mehrere Features mit denselben Namen hinzufügen und die Datei Feature.xml für ein anderes Feature überschreiben. Verwenden Sie z. B. lieber Personalwesen_Vertrag und Finanzen_Vertrag als Vertrag.

  5. Fügen Sie die benutzerdefinierte ASPX-Seite diesem Unterordner für die Featuredefinition hinzu.

  6. Fügen Sie die Dateien Feature.xml und Module.xml demselben Speicherort hinzu.

  7. Fügen Sie das Feature einem Lösungspaket hinzu.

    Sie können Visual Studio 2010 zum Hinzufügen des Features zu einer Lösung verwenden, oder Sie können ein FeatureManifests-Element der Datei Manifest.xml der Lösung manuell hinzufügen.

  8. Erstellen Sie das Lösungspaket.

    Sie können Visual Studio 2010 zum Erstellen des Lösungspakets verwenden. Sie können auch das Tool Makecab.exe zum Erstellen des Lösungspakets verwenden.

  9. Importieren Sie das Lösungspaket, und stellen Sie es bereit.

    Fügen Sie die Lösung dem Lösungsspeicher hinzu, indem Sie das Windows PowerShell-Cmdlet Add-SPSolution verwenden, und stellen Sie die Lösung dann über den Lösungsspeicher bereit, indem Sie die Website für die Zentraladministration oder Windows PowerShell verwenden.

Weitere Informationen zur Verwendung von Visual Studio 2010 zum Hinzufügen von Features zu einem Lösungspaket finden Sie unter Erstellen von SharePoint-Lösungspaketen (https://go.microsoft.com/fwlink/?linkid=187035&clcid=0x407). Weitere Informationen zum manuellen Erstellen eines Lösungspakets oder zur Verwendung des Tools Makecab.exe zum Erstellen des Pakets finden Sie unter Erstellen einer Lösung (https://go.microsoft.com/fwlink/?linkid=187036&clcid=0x407). Weitere Informationen zum Bereitstellen von Lösungen finden Sie unter Bereitstellen von Lösungspaketen (SharePoint Server 2010).

Installieren und Aktivieren eines Features mithilfe von Windows PowerShell

Sie können ein Feature mithilfe von Windows PowerShell oder des Objektmodells installieren und aktivieren. Sie können ein Feature auch auf der Seite zum Verwalten von Webanwendungsfeatures oder auf der Seite Features der Websitesammlung oder Website aktivieren, auf der Sie das Feature aktivieren möchten. Die Installation eines Features macht dessen Definition und seine Elemente in einer ganzen Serverfarm bekannt, und die Aktivierung des Features macht das Feature in einem bestimmten Bereich verfügbar.

Hinweis

Features, die als Teil eines Lösungspakets bereitgestellt werden, werden von der Bereitstellung installiert, und es ist keine manuelle Installation erforderlich.

Features werden im Verzeichnis 14\Template\Features installiert, wobei jedes Feature in einem eigenen Unterverzeichnis gespeichert wird. Im Stamm dieses Ordners befindet sich die Datei Feature.xml, die den Inhalt des Features definiert. Sie müssen einzelne Features manuell installieren, bevor Sie sie verwenden können, und Sie müssen sie nach der Installation aktivieren (es sei denn, das Feature bezieht sich auf die Farm). Falls sich ein Feature auf die Farm oder Webanwendung bezieht, wird es automatisch aktiviert.

Wenn Sie ein Feature deinstallieren möchten, sodass dessen Definition nicht mehr in einer Serverfarm verfügbar ist, müssen Sie das Feature zunächst mithilfe des Windows PowerShell-Cmdlets Disable-SPFeature deaktivieren, es sein denn, das Feature bezieht sich auf Webanwendungen oder Farmen. Nachdem Sie das Feature deaktiviert haben, können Sie es mit dem Uninstall-SPFeature-Cmdlet deinstallieren. Weitere Informationen finden Sie unter Uninstall-SPFeature. Setzen Sie nach der Deinstallation eines Features die Internetinformationsdienste (Internet Information Services, IIS) zurück, damit die Änderungen wirksam werden.

Wenn Sie ein Feature deaktivieren möchten, sodass es im ursprünglich zugewiesenen Bereich inaktiv ist, ohne es zu deinstallieren, können Sie das Disable-SPFeature-Cmdlet verwenden. Weitere Informationen finden Sie unter Disable-SPFeature.

Verwenden Sie das folgende Verfahren zum Installieren und Aktivieren eines Features.

So installieren Sie ein Feature mithilfe von Windows PowerShell

  1. Stellen Sie sicher, dass die folgenden Mindestanforderungen erfüllt sind: Weitere Informationen finden Sie unter Add-SPShellAdmin.

  2. Klicken Sie im Startmenü auf Alle Programme.

  3. Klicken Sie auf Microsoft SharePoint 2010-Produkte.

  4. Klicken Sie auf SharePoint 2010-Verwaltungsshell.

  5. Geben Sie an der Windows PowerShell-Eingabeaufforderung den folgenden Befehl ein:

    Install-SPFeature -path <Path> [-force]
    

    Dabei gilt:

    • <Path> ist ein gültiger Dateipfad. Ein Beispiel: MyFeature. Der Pfad des Features muss ein Literalpfad zum Ordnernamen 14\Template\Features sein. Der Dateiname Feature.xml ist impliziert und muss nicht bereitgestellt werden.

Weitere Informationen finden Sie unter Install-SPFeature.

Hinweis

Es wird empfohlen, Windows PowerShell zum Ausführen von administrativen Befehlszeilenaufgaben zu verwenden. Das Befehlszeilentool Stsadm ist veraltet, aber weiterhin vorhanden, um die Kompatibilität mit früheren Produktversionen zu gewährleisten.

So aktivieren Sie ein Feature mithilfe von Windows PowerShell

  1. Stellen Sie sicher, dass die folgenden Mindestanforderungen erfüllt sind: Weitere Informationen finden Sie unter Add-SPShellAdmin.

  2. Klicken Sie im Startmenü auf Alle Programme.

  3. Klicken Sie auf Microsoft SharePoint 2010-Produkte.

  4. Klicken Sie auf SharePoint 2010-Verwaltungsshell.

  5. Geben Sie an der Windows PowerShell-Eingabeaufforderung den folgenden Befehl ein:

    Enable-SPFeature -Identity <FeatureID> [-url] <URLname> [-force]
    

    Dabei gilt:

    • <FeatureID> ist der Name des Feature-Ordners im Ordner 14\Template\Features. Es muss sich um einen gültigen Dateipfad handeln. Ein Beispiel: MyCustom.

    • <URLname> ist die übergeordnete Feature-URL der Webanwendung, Websitesammlung oder Website, für die das Feature aktiviert ist. Ein Beispiel: http://somesite.

Weitere Informationen finden Sie unter Enable-SPFeature.

Hinweis

Es wird empfohlen, Windows PowerShell zum Ausführen von administrativen Befehlszeilenaufgaben zu verwenden. Das Befehlszeilentool Stsadm ist veraltet, aber weiterhin vorhanden, um die Kompatibilität mit früheren Produktversionen zu gewährleisten.