Bereitstellen von Websiteelementen mithilfe von Features (SharePoint Foundation 2010)

 

Gilt für: SharePoint Foundation 2010

Letztes Änderungsdatum des Themas: 2016-11-30

In diesem Artikel wird beschrieben, wie Anpassungen für entwickelte Websiteelemente mithilfe von Features bereitgestellt werden. Mit Features können Sie den Umfang festlegen, in dem die Websiteanpassung aktiviert und deaktiviert werden kann. Zudem können Sie die Anpassungen auf einfache Weise in mehreren Serverfarmen bereitstellen.

Inhalt dieses Abschnitts:

  • Was ist ein Feature?

  • Verwenden von Features

  • Erstellen eines Features

  • Installieren und Aktivieren eines Features mithilfe von Windows PowerShell

Was ist ein Feature?

Ein Feature ist ein Container für verschiedene definierte Erweiterungen für SharePoint Foundation 2010 und besteht aus einer Reihe von XML-Dateien, die auf Front-End-Webservern und Anwendungsservern bereitgestellt werden. Sie können ein Feature als Teil eines Lösungspakets bereitstellen, und Features können auf SharePoint Foundation-Websites einzeln aktiviert werden.

Features verringern die Komplexität einfacher Websiteanpassungen. Mit Features müssen keine großen Codeabschnitte mehr kopiert werden, um einfache Funktionen zu ändern, und daher reduzieren diese die Versionsverwaltung und Inkonsistenzprobleme, die zwischen Front-End-Servern auftreten können.

Features erleichtern das Aktivieren bzw. Deaktivieren von Funktionen im Verlauf einer 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, die das Feature unterstützen, verwendet. 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 beim Erstellen einer Website aus der Websitedefinition aktiviert wird.

Eine Feature.xml-Datei zeigt normalerweise auf eine oder mehrere XML-Dateien, deren <Elements>-Tag der obersten Ebene Definitionen für Elemente enthält, die das Feature unterstützen. Elemente in SharePoint Foundation 2010 entsprechen häufig den separaten Knoten in der Datei Onet.xml bzw. Schema.xml von Microsoft Office SharePoint Portal Server 2003. Es gibt verschiedene Typen von Elementen, beispielsweise benutzerdefinierte Menüelemente oder Ereignishandler.

Verwenden von Features

Features werden empfohlen, um auf Front-End-Webservern einzelne Funktionen, Anpassungen oder Konfigurationsänderungen bereitzustellen. Features bieten eine flexible Möglichkeit zum Verwalten von Funktionen über ihren gesamten Lebenszyklus, einschließlich von Aktivierung, Upgrade und Deaktivierung.

Mithilfe von Features können Sie entwickelte Websiteelemente in einem oder mehreren der folgenden Szenarios bereitstellen:

  • 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 Features auch über die Website der Zentraladministration aktivieren und deaktivieren.

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

  • Einfache verteilte Bereitstellung : Ein Feature kann leicht im Rahmen einer Lösung auf mehreren Serverfarmen bereitgestellt werden.

  • Steuerung mit dem Objektmodell: 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.

Verwenden Sie Lösungspakete, um Features zu packen, die in verschiedenen Umgebungen bereitgestellt werden sollen. Sie können beispielsweise in einem Lösungspaket Anpassungen zwischen Entwicklerarbeitsstationen und einer Integrationsfarm sowie zwischen einer Integrationsfarm und Clientarbeitsstationen für die Erstellung und Pilot- oder Produktionsfarmen bereitstellen.

Erstellen eines Features

Wenn Sie eine benutzerdefinierte Webseite in SharePoint Foundation 2010 mithilfe des Browsers oder mit SharePoint Designer erstellen, kann die ASPX-Seite nur zur Stammwebsitesammlung des Servers gehören, auf dem SharePoint Foundation 2010 ausgeführt wird. Wenn Sie eine Seite unter einer Websitesammlung erstellen möchten, die für die gesamte Farm und in allen Websitesammlungen verfügbar ist, verwenden Sie eine Lösung, um die Seite im Ordner \14\Template\Layouts bereitzustellen (unter Verwendung des TemplateFiles-Elements in der Lösungsmanifestdatei).

Eine bewährte Methode in einer Farm besteht darin, Features mit einem Lösungspaket bereitzustellen. Wenn ein Server neu erstellt werden muss oder der Farm ein weiterer Server hinzugefügt wird, muss das Feature nicht manuell jedem einzelnen Front-End-Webserver hinzugefügt werden. Mithilfe von Lösungspaketen können Sie neue und aktualisierte Features in der gesamten Farm bereitstellen und einen Front-End-Webserver so synchronisieren, um die Konsistenz seines Zustands mit dem Zustand anderer Server in der Farm sicherzustellen.

Um die Verfügbarkeit einer benutzerdefinierten Seite in einer Websitesammlung oder auf einer Website zu steuern, stellen Sie die benutzerdefinierte Webseite als SharePoint-Feature als Teil einer Lösung bereit. Verwenden Sie das module-Element in der Datei Feature.xml, um eine Webseite mit einem Gültigkeitsbereich der Websitesammlung und der Website bereitzustellen. Module werden häufig verwendet, um eine Webpartseite auf der Website zu implementieren.

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

So können Sie ein benutzerdefiniertes Feature erstellen und bereitstellen

  1. Erstellen Sie eine Datei Feature.xml. Im folgenden Beispiel ist eine Datei Feature.xml veranschaulicht, die erforderlich ist, um den Feature eine eindeutige ID zuzuweisen und um 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. Im folgenden Beispiel ist eine Datei Module.xml veranschaulicht, die Informationen zur Seite bzw. den 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 der entsprechenden ASPX-Seite.

  4. Fügen Sie auf dem Servercomputer im Features-Installationsverzeichnis einen Unterordner für die Featuredefinition hinzu (normalerweise %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\TEMPLATE\FEATURES.

    Wichtig

    Es empfiehlt sich, den für Featuredefinitionen erstellten Unterordnern aussagekräftige, qualifizierte Namen zuzuweisen. Dadurch verringert sich die Wahrscheinlichkeit, dass Sie mehrere Features mit demselben Namen hinzufügen und dabei die Datei Feature.xml für ein anderes Feature überschreiben. Verwenden Sie beispielsweise HR_Contract und Finance_Contract anstelle von Contract.

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

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

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

    Sie können das Feature mithilfe von Visual Studio 2010 einer Lösung hinzufügen, oder Sie können der Datei Manifest.xml der Lösung manuell ein FeatureManifests-Element hinzufügen.

  8. Erstellen Sie das Lösungspaket.

    Sie können das Lösungspaket mit Visual Studio 2010 erstellen. Sie können es jedoch auch mit dem Tool Makecab.exe erstellen.

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

    Fügen Sie die Lösung mit dem Windows PowerShellAdd-SPSolution-Cmdlet dem Lösungsspeicher hinzu, und stellen Sie sie anschließend über die Website für die Zentraladministration oder mithilfe von Windows PowerShell aus dem Lösungsspeicher bereit.

Weitere Informationen darüber, wie Sie Features mit Visual Studio 2010 einem Lösungspaket hinzufügen können, finden Sie unter Erstellen von SharePoint-Lösungspaketen (https://go.microsoft.com/fwlink/?linkid=187035&clcid=0x407). Weitere Informationen darüber, wie Sie ein Lösungspaket manuell oder mithilfe des Tools Makecab.exe erstellen können, 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 Foundation 2010).

Installieren und Aktivieren eines Features mithilfe von Windows PowerShell

Sie können ein Feature mithilfe von Windows PowerShell oder mit dem Objektmodell installieren und aktivieren. Sie können ein Feature auch über die Seite Webanwendungsfeatures verwalten oder die Seite Features der Websitesammlung bzw. der Website aktivieren, für die das Feature aktiviert werden soll. Durch das Installieren eines Features werden seine Definition und seine Elemente für die gesamte Serverfarm bekanntgegeben, und durch das Aktivieren des Features wird es in einem bestimmten Gültigkeitsbereich verfügbar.

Hinweis

Features, die als Teil eines Lösungspakets bereitgestellt werden, werden im Rahmen der Bereitstellung installiert, und eine manuelle Installation ist nicht erforderlich.

Sie installieren Features im Ordner 14\Template\Features, wobei jedes Feature in seinem eigenen Unterordner gespeichert ist. Am Stamm dieses Ordners definiert die Datei Feature.xml den Inhalt des Features. Sie müssen die einzelnen Features installieren, bevor sie verwendet werden können, und Sie müssen die Features nach ihrer Installation aktivieren (es sei denn, als Gültigkeitsbereich des jeweiligen Features ist die Farm festgelegt). Wenn als Gültigkeitsbereich eines Features die Farm oder eine Webanwendung festgelegt ist, wird es automatisch aktiviert.

Wenn Sie ein Feature deinstallieren möchten, sodass seine Definition in der Serverfarm nicht mehr verfügbar ist, müssen Sie es zuerst mithilfe des Windows PowerShellDisable-SPFeature-Cmdlets deaktivieren (es sei denn, als Gültigkeitsbereich des Features ist eine Webanwendung oder Farm festgelegt). Nach dem Deaktivieren des Features können Sie es mit dem Uninstall-SPFeature-Cmdlet deinstallieren. Weitere Informationen hierzu finden Sie unter Uninstall-SPFeature. Setzen Sie nach dem Deinstallieren eines Features IIS (Internet Information Services, Internetinformationsdienste) zurück, damit die Änderungen wirksam werden.

Wenn Sie ein Feature deaktivieren möchten, sodass es an seinem ursprünglich zugewiesenen Gültigkeitsbereich inaktiv wird, ohne dass Sie es dabei deinstallieren müssen, können Sie das Disable-SPFeature-Cmdlet verwenden. Weitere Informationen finden Sie unter Disable-SPFeature.

Führen Sie die folgenden Verfahren aus, um ein Feature zu installieren und zu aktivieren.

So installieren Sie ein Feature mithilfe von Windows PowerShell

  1. Vergewissern Sie sich, 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, beispielsweise MyFeature. Der Pfad zum Feature muss einen literalen Pfad zum Ordner 14\Template\Features darstellen. Der Dateiname Feature.xml wird impliziert und muss daher nicht angegeben.

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. Vergewissern Sie sich, 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 Featureordners im Verzeichnis 14\Template\Features. Hierbei muss es sich um einen gültigen Dateipfad handeln (z. B. MyCustom).

    • <URLname> ist die dem Feature übergeordnete URL der Webanwendung, Websitesammlung oder Website, für die das Feature aktiviert wird (z. B. 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.