Lösungspaketkomponenten

Inhalt dieses Artikels:

  • Solution-Element

  • FeatureManifest-Element

  • Assembly-Element

  • ApplicationResourceFile-Element

  • CodeAccessSecurity-Element

  • DwpFile-Element

  • Resource-Element

  • SiteDefinitionManifest-Element

  • RootFile-Element

  • TemplateFile-Element

In diesem Artikel wird die Struktur von Lösungspaketen behandelt. Außerdem werden das Lösungsschema und die in einem Lösungspaket verwendeten Elemente beschrieben.

Ein Lösungspaket ist das Verteilungspaket, mit dem Ihre benutzerdefinierten Microsoft Office SharePoint Server 2007- und Windows SharePoint Services 3.0-Entwicklungen an die Webserver (und möglicherweise an die Anwendungsserver) in der Serverfarm übermittelt werden. Folgende Komponenten können in einem Lösungspaket verteilt werden:

  • .NET Framework-Assemblys, mit denen der Code, der die Lösung steuert, gewrappt wird.

  • Bereitstellungsdateien wie z. B. Ressourcendateien, Bilder oder andere Hilfsdateien.

  • Viele Lösungen beinhalten die Bereitstellung neuer Vorlagen und Definitionen für Websites, Listen, Bibliotheken, Felder, Inhaltstypen usw. Diese Definitionen liegen in Form von CAML-basierten XML-Dateien vor.

  • Konfigurationen, die auf Webserverebene vorgenommen werden müssen, beispielsweise die Web.config-Dateien für die Registrierung von Webparts.

Darüber hinaus müssen Sie die Manifestdatei zur Unterstützung von Microsoft Office SharePoint Server 2007 beim Bereitstellungsprozess des Lösungspakets einschließen. Die Manifestdatei enthält die Liste aller in einem Lösungspaket enthalten Ressourcen sowie die Zielspeicherorte für diese Ressourcen und die verschiedenen Konfigurationen, in denen diese enthalten sein müssen. Die Schemadefinition für die Manifestdatei ist in der Datei Wss.xsd enthalten, die im Systemordner von Microsoft Office SharePoint Server 2007 gespeichert ist.

Weitere Informationen zu Lösungspaketen finden Sie im Windows SharePoint Services 3.0 Software Development Kit (SDK) auf MSDN unter Lösungen und Webpartpakete (https://go.microsoft.com/fwlink/?linkid=106479&clcid=0x407).

In den folgenden Abschnitten wird jeweils ein Element einer Lösungspaketdatei beschrieben.

Solution-Element

Das Solution-Element ist das Stammelement der Manifestdatei. Das SolutionId-Attribut ist ein wichtiges Element der Datei, das die Lösung im Lösungsspeicher (der Bestandteil der Konfigurationsdatenbank ist) identifiziert. Sie identifizieren eine Lösung mit einem global eindeutigen Bezeichner (GUID). Beispiel:

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

</Solution>

DeploymentServerType und ResetWebServer sind optionale Attribute. Für DeploymentServerType gibt es zwei mögliche Werte: ApplicationServer oder WebFrontEnd. In der Regel sind die meisten Lösungen für Webserver in Ihrer Serverfarm gedacht. Beispiele für Lösungen, die für Anwendungsserver gedacht sind (z. B. Indexserver, Server mit Excel Services, Dokumentkonvertierungsserver usw.), sind benutzerdefinierte Konfigurationen oder zusätzliche benutzerdefinierte Konverter. Mit dem IISReset-Attribut können Sie Internetinformationsdienste (Internet Information Services, IIS) zurücksetzen, wenn die Lösung für eine bestimmte IIS-Webanwendung bereitgestellt wird.

FeatureManifest-Element

Features spielen bei vielen Lösungen für SharePoint-Produkte und -Technologien eine wichtige Rolle, da sie die einzelnen Komponenten der Lösung darstellen. Beispielsweise ein Feldtyp, ein Webpart, ein Workflow usw. Sie müssen jedes in der Lösung enthaltene Feature mit einem FeatureManifest-Element darstellen. Das folgende Codebeispiel enthält das Feature, mit dem ein Webpart auf einer SharePoint-Website angekündigt wird:

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

  <FeatureManifests>

    <FeatureManifest Location="HelloWorldWebPart_28c3eefe-2c03-4791-9f69-4405c80e1d92\feature.xml" />

  </FeatureManifests>

  …

</Solution>

Wenn Sie die Lösung auf einem Webserver bereitstellen, werden alle auf das Feature bezogene Dateien in den angegebenen Speicherort kopiert.

Assembly-Element

Die meisten SharePoint-Lösungen erfordern mindestens eine .NET Framework-Assembly. Das Assembly-Element wird in der Manifestdatei verwendet, um die DLL (Dynamic Link Library) auf dem Zielserver zur Verfügung zu stellen. Beispiel:

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

  <Assemblies>

    <Assembly Location="HelloWorldWebPart.dll" DeploymentTarget="GlobalAssemblyCache" >

      <SafeControls>

        <SafeControl Assembly="HelloWorldWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" Namespace="MSDN" TypeName="HelloWorldWebPart" Safe="True" />

      </SafeControls>

  </Assembly>

  </Assemblies>

</Solution>

Das erste Attribut für das Assembly-Element ist Location, in dem der relative Pfad der DLL in der Lösungsdatei gespeichert wird. Das nächste Attribut ist das DeploymentTarget-Attribut, das zwei mögliche Werte aufweist: GlobalAssemblyCache oder WebApplication. GlobalAssemblyCache gibt an, dass die Assembly im globalen Assemblycache bereitgestellt werden soll. Mit WebApplication wird Windows SharePoint Services 3.0 angewiesen, die Assembly im privaten Anwendungsordner der IIS-Webanwendung bereitzustellen. WebApplication impliziert, wie weiter unten erläutert, dass die verwendete Lösung von der Vertrauensebene abhängt, die der Administrator in der Datei Web.config, die der IIS-Webanwendung zugeordnet ist, festlegt. Die Bereitstellung der Assembly im globalen Assemblycache, der einen voll vertrauenswürdigen Speicherort darstellt, bedeutet, dass Sie sich als Entwickler nicht um das Festlegen der Vertrauensebene kümmern müssen.

Die Webparts in der Lösung müssen als sichere Steuerelemente in der Datei Web.config registriert werden. Das Assembly-Element kann mindestens ein SafeControl-Element enthalten (gruppiert in einem SafeControls-Element). Jedes SafeControl-Element beschreibt die in der Datei Web.config erforderliche Konfiguration

Ein weiterer möglicher Satz untergeordneter Elemente des Assembly-Elements sind die ClassResource-Elemente (gruppiert in einem ClassResources-Element). Jedes Element stellt eine mögliche Ressource dar, die von der bereitgestellten Assembly benötigt wird. Beispiele sind Ressourcendateien, XML-Dateien oder Bilder.

ApplicationResourceFile-Element

Die Manifestdateien enthalten mindestens ein ApplicationResourceFile-Element mit einem relativen Pfad zu einer Ressourcendatei, die bereitgestellt werden muss. Zum Zeitpunkt der Bereitstellung werden die Ressourcendateien in den privaten Anwendungsressourcenordner der IIS-Webanwendung kopiert. Beispiel:

<Solution SolutionId="8f37f0a7-ec35-4a63-9c3d-91205d9a2ac6"

          xmlns="https://schemas.microsoft.com/sharepoint/" >

    <ApplicationResourceFiles>

        <ApplicationResourceFile Location="hellowp.resx"/>

        <ApplicationResourceFile Location="hellowp.en-us.resx"/>

    </ApplicationResourceFiles>

</Solution>

CodeAccessSecurity-Element

Das CodeAccessSecurity-Element muss unbedingt in der Manifestdatei vorhanden sein, wenn Sie dem Code bestimmte Berechtigungen erteilen möchten. Das CodeAccessSecurity-Element verfügt über untergeordnete PolicyItem-Elemente, die jeweils die Einzelheiten hinsichtlich der Richtlinien für die Codezugriffssicherheit, die für die Lösung gelten sollen, definieren. Ein Richtlinienelement besteht aus zwei Teilen, nämlich der Liste mit den zugehörigen Berechtigungen sowie den Assemblys, für die diese Berechtigungen eine Rolle spielen sollen.

Die Liste der Berechtigungen, die jeweils durch ein IPermission-Element repräsentiert sind, wird in einem PermissionSet-Element gruppiert, das ein untergeordnetes Element des PolicyItem-Elements ist. Jedes IPermission-Element definiert eine Berechtigung für die Codezugriffssicherheit, die für die ordnungsgemäße Ausführung der Assembly erforderlich ist.

Mindestens ein Assembly-Element kann bei der Codezugriffssicherheit eine Rolle spielen. Sie müssen diese Elemente einzeln definieren und anhand des Namens, der Version und des vollständigen öffentlichen Schlüssels identifizieren.

DwpFile-Element

Webparts müssen im Webpartkatalog verfügbar gemacht werden, bevor sie auf den Webpartseiten eingefügt werden können. XML-Dateien mit der Erweiterung DWP oder WEBPART speichern die Metadateninformationen, die erforderlich sind, um die Webparts verfügbar zu machen. Die Lösungsmanifestdatei kann DwpFile-Elemente enthalten, die im DwpFiles-Element gruppiert werden, wobei jedes Element auf eine dieser Dateien verweist. Beispiel:

   <DwpFiles>

      <DwpFile FileName="hellowebpart.webpart" Location="hellowebpart.webpart"/>

   </DwpFiles>

Resource-Element

Sie können Ressourcendateien in den Ordner, in dem Ihr Feature enthalten ist, ablegen und von dort aus verwenden. Ein Resource-Element stellt eine solche Ressource in der Lösungsmanifestdatei dar. Als einziges Attribut muss der relative Pfad im Paket zur Ressourcendatei festgelegt werden.

SiteDefinitionManifest-Element

Dieses Element verwenden Sie beim Bereitstellen einer benutzerdefinierten Websitedefinition. Das SiteDefinitionManifest-Element weist ein Location-Attribut auf, mit dem alle Dateien im angegebenen Ordner gesammelt werden und der benötigte Ordner im Ordner \12\Template\SiteTemplates erstellt wird. Mit dem untergeordneten WebTempFile-Element wird die Datei webtemp*.xml bereitgestellt, um die Vorlage für SharePoint-Produkte und -Technologien verfügbar zu machen. Beispiel:

  <SiteDefinitionManifests>

    <SiteDefinitionManifest Location="LitwareSiteTemplate">

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

    </SiteDefinitionManifest>

  </SiteDefinitionManifests>

RootFile-Element

Lösungsdateien können während der Bereitstellung in einen angegebenen Ordner direkt unter dem Ordner \12 kopiert werden, indem ein RootFile-Element in der Lösungsmanifestdatei eingefügt wird.

TemplateFile-Element

Mit dem TemplateFile-Element können die Vorlagendateien definiert werden, die unter dem Ordner \12\Template bereitgestellt werden müssen. Ein Beispiel für den Dateityp, den Sie auf diese Weise bereitstellen können, ist die Datei fldtypes*.xml, die die Details eines benutzerdefinierten Feldtyps definiert. Mit dem Location-Attribut geben Sie den relativen Pfad zur Datei an.

Dieses Buch herunterladen

Dieses Thema ist in der folgenden herunterladbaren Dokumentation enthalten, um das Lesen und Drucken zu vereinfachen:

Die vollständige Liste der verfügbaren Bücher finden Sie unter Bücher zum Herunterladen für Office SharePoint Server 2007.

Siehe auch

Konzepte

Bereitstellen von Anpassungen
Bereitstellen erstellter Websiteelementanpassungen
Bereitstellen von Anpassungen für entwickelte Websiteelemente