Websitebereitstellung im SharePoint-Add-In-Modell
Der Ansatz für das Bereitstellen von Websitesammlungen und Unterwebsites unterscheidet sich im neuen SharePoint-Add-In-Modell von der Vorgehensweise mit voll vertrauenswürdigem Code. In einem typischen Szenario mit voll vertrauenswürdigem Code (Full Trust Code, FTC)/Farmlösung würden Sie Websitesammlungen und Unterwebsites mit den Websitedefinitionen und Webvorlagen erstellen und dann deklarativen Code verwenden, um die Websites zu konfigurieren und anzupassen. In diesem Modell würden Sie typischerweise deklarativen Code zum Erstellen von in XML definierten Websitespalten, Inhaltstypen und Listen verwenden und diese dann mit Feature-Framework-Elementen in SharePoint verpacken und bereitstellen.
In einem Szenario mit dem SharePoint-Add-In-Modell können Sie SharePoint Client Side Object Model (CSOM) zum Erstellen und Konfigurieren von Websitesammlungen und Unterwebsites verwenden. Dieses Muster wird häufig als Remotebereitstellungsmuster bezeichnet.
Allgemein betrachtet sieht das Remotebereitstellungsmuster wie folgt aus:
Allgemeine Richtlinien
Grundsätzlich empfehlen wir die folgenden allgemeinen Richtlinien zum Erstellen von Websitesammlungen und Unterwebsites.
- Stellen Sie Websitesammlungen und Unterwebsites basierend auf den Out-of-the-Box-Websitevorlagen bereit, die im Lieferumfang von SharePoint enthalten sind.
- Verwenden Sie SharePoint CSOM zum Erstellen von Websitesammlungen und Unterwebsites.
- Wenden Sie Anpassungen und Einstellungen auf die Out-of-the-Box-Websitesammlungen und Unterwebsites nach Ihren Anforderungen an.
- Verwenden Sie SharePoint CSOM für Anpassungen und Einstellungen.
- Wir empfehlen, keine Feature-Framework-Elemente bei der Erstellung von Websitesammlungen und Unterwebsites zu verwenden.
- Die einzige Ausnahme von dieser Richtlinie ist, wenn Sie deklarative XML-basierte Bereitstellung für ein Add-In-Web in einem von SharePoint gehosteten SharePoint-Add-In verwenden. Der Grund ist, dass CSOM in einem von SharePoint gehosteten SharePoint-Add-In nicht verfügbar ist.
Herausforderungen beim Erstellen von Websitesammlungen und Unterwebsites
Erstellen in einem Webbrowser im Vergleich zum Erstellen mit Code
Es ist wichtig zu wissen, dass sich das Erstellen von Websitesammlungen und Unterwebsites über den Webbrowser und über Code unterscheiden. In der folgenden Liste werden die verschiedenen Optionen beschrieben.
- Erstellen über einen Webbrowser
- Bei dieser Option greifen Benutzer auf eine SharePoint-Website über einen Webbrowser zu und verwenden die Verwaltungsseiten zum Erstellen von Websitesammlungen und Unterwebsites.
- In der Regel müssen Sie den Webbrowser nur einmalig zum manuellen Erstellen von Websitesammlungen und Unterwebsites verwenden, wenn Sie Prototypen oder Änderungen einer einzelnen SharePoint-Website erstellen, die nicht dafür vorgesehen ist, um andere Websitesammlungen oder Unterwebsites erweitert zu werden.
- Erstellen mit Code
- Bei dieser Option würden Sie SharePoint CSOM-Code zum Erstellen von Websitesammlungen und Unterwebsites ausführen.
- Weiter unten in diesem Artikel finden Sie verschiedene Ansätze, die Sie verwenden können, um den SharePoint CSOM-Code auszuführen.
Berücksichtigen Sie beim Erstellen über einen Webbrowser die folgenden Punkte.
- Das Erstellen von Websitesammlungen und Unterwebsites über den Webbrowser ist in der Regel ein komplexer und zeitaufwändiger Prozess.
- Diese Faktoren machen das Erstellen von Websitesammlungen und Unterwebsites über den Webbrowser fehleranfällig.
- Es gibt keine Möglichkeit, per Webbrowser erstellte Websitesammlungen und Unterwebsites (und die darin enthaltenen Komponenten) auf wiederholbare Weise neu zu erstellen.
- Dies macht es schwierig, Websitesammlungen und Unterwebsites schnell und einheitlich in unterschiedlichen Umgebungen bereitzustellen, wenn Sie von der Entwicklung zu Tests und dann zur Produktion wechseln.
Berücksichtigen Sie beim Erstellen mit Code die folgenden Punkte.
- Das Erstellen von Websitesammlungen und Unterwebsites mit Code umfasst in der Regel die Verwendung benutzerdefinierter Hilfsprogrammbibliotheken, um SharePoint CSOM-Code auszuführen.
- Diese Bibliotheken sind in vielen Projekten im OfficeDev PnP-GitHub-Repository verfügbar. Auf diese wird an mehreren Stellen in diesem Artikel und am Ende verwiesen.
- Diese Faktoren erhöhen die Wahrscheinlichkeit für eine erfolgreiche Erstellung von Websitesammlungen und Unterwebsites mit Code.
- Sie können Websitesammlungen und Unterwebsites (und die darin enthaltenen Komponenten), die auf granulare Weise über Code erstellt wurden, ganz einfach und konsistent replizieren.
- Sie können die Websitesammlungen und Unterwebsites problemlos in anderen Umgebungen bereitstellen und darauf verweisen, während Sie von der Entwicklung über Tests zur Produktion übergehen.
Bereitstellung muss schnell erfolgen
Endbenutzer werden es nicht akzeptieren, mehrere Stunden zu warten, bis ihre neue SharePoint-Websites bereitgestellt werden.
Ergebnis muss durchgehend perfekt sein
Websitesammlungen und Unterwebsites sowie deren Komponenten, wie z. B. Websitespalten, Inhaltstypen, Listen, Gestaltungsvorlagen, JavaScript-Dateien, Bilder usw., bilden die Grundlage Ihrer Informationsarchitektur. Sie müssen perfekt sein!
Eine fehlerhafte Bereitstellung einer Websitesammlung und deren Unterwebsites kann eine gesamte Branchenanwendung auf der SharePoint-Website, auf der sie bereitgestellt werden, sowie andere Teile von SharePoint und andere Branchenanwendungen beeinträchtigen, die auf SharePoint-Dienste zugreifen.
Beispiel: Wenn Sie SharePoint-Websites zum Verwalten von Projekten in Ihrem Unternehmen verwenden, werden Sie wahrscheinlich ein gemeinsames Listenschema für alle erstellen. Dies erfordert das Erstellen von Websitespalten und Inhaltstypen. Wenn Sie Informationen auf diesen Websites über die SharePoint-Suchseite suchen, filtern Sie die Ergebnisse nach Inhaltstyp oder Tag (Websitespalte). Wenn Ihre Websitespalten und Inhaltstypen nicht absolut einheitlich auf allen Projektwebsites sind, erhalten Sie keine genauen Suchergebnisse.
Dieses Beispiel kann auch auf Webparts für Inhalt nach Suche, SharePoint-Add-Ins, Mobilgeräte und andere Systeme angewendet werden, die auf Informationen auf den SharePoint-Websites zugreifen.
Optionen zum Erstellen von Websitesammlungen und Unterwebsites
Es gibt mehrere Optionen, die Sie zum Erstellen von Websitesammlungen und Unterwebsites mit dem neuen SharePoint-Add-In-Modell verwenden können. Alle diese Optionen fallen unter die oben beschriebene Option Erstellen mit Code.
- Überschreiben des Links zum Erstellen einer Website
- Überschreiben des Links zum Erstellen einer Unterwebsite
- Verwenden eines vom Anbieter gehosteten SharePoint-Add-Ins
- Verwenden von .NET/Java/Objective-C-Anwendungen oder PowerShell-Skripts
Überschreiben des Links zum Erstellen einer Website
In diesem Muster wird der Link zum Erstellen einer Websitesammlung mit einem Link überschrieben, der auf ein vom Anbieter gehostetes SharePoint-Add-In verweist. In einem vom Anbieter gehosteten SharePoint-Add-In ausgeführter CSOM-Code wird über das Remotebereitstellungsmuster im Verlauf der Websiteerstellung ausgeführt.
- Das Muster wird nur bei der Erstellung einer Websitesammlung verwendet, nicht zum Erstellen von Unterwebsites.
- Die URL für die Überschreibung wird im SharePoint Admin Center konfiguriert. Diese URL verweist auf ein vom Anbieter gehostetes SharePoint-Add-In.
- Das vom Anbieter gehostete SharePoint-Add-In verwendet CSOM-APIs zum Erstellen von Websitesammlungen.
- Mit CSOM/REST-APIs können auch andere Aspekte der Website während des Bereitstellungsprozesses konfiguriert werden.
- Dieser Ansatz kann in Office 365-Mandanten und in lokalem SharePoint verwendet werden.
- Enorme Flexibilität beim Erstellen und Konfigurieren von SharePoint-Websitesammlungen.
- Einfache und kostengünstige Implementierung sowie kurz- und langfristige Verwaltung.
Konfiguration
Öffnen Sie zum Überschreiben des Links zum Erstellen von Websites die Seite „Einstellungen“ im SharePoint Admin Center (siehe unten).
Aktivieren Sie anschließend das Kontrollkästchen „Formular unter dieser URL verwenden“, und geben Sie die URL für das vom Anbieter gehostete SharePoint-Add-In ein, das die Websiteerstellungsfunktion implementiert (siehe unten).
Beachten Sie, dass SharePoint Sie (im Dialogfeld unten) bezüglich der Sicherheitsrisiken dieses Ansatzes warnt und eine Möglichkeit bietet, diese Art von Funktionalität zu deaktivieren.
Wann ist die Option geeignet?
Diese Option eignet sich gut, wenn Sie Ihren Endbenutzern eine Self-Service-Möglichkeit zum Erstellen von SharePoint-Websitesammlungen basierend auf benutzerdefinierten Vorlagen bieten müssen.
Erste Schritte
Die folgenden Artikel beschreiben das Muster der Überschreibung des Links zum Erstellen von Websites und stellen Codebeispiele bereit, um Ihnen den Einstieg zu erleichtern.
- Self-Service-Websitebereitstellung mit Add-Ins für SharePoint 2013 (MSDN-Blog)
- Umfassender Artikel über dieses Muster mit Begleitvideo.
- Provisioning.Cloud.Sync (O365-PnP-Beispiel)
- Diese Lösung zeigt das Modell für die Bereitstellung einer synchronen Websitesammlungs- oder Unterwebsiteerstellung, um ein Modell für Websitevorlagen ohne die Verwendung tatsächlicher Sandkastenlösungen oder STP-Dateien einzuführen.
Überschreiben des Links zum Erstellen einer Unterwebsite
In diesem Muster wird der Link zum Erstellen einer Unterwebsite mit einem Link überschrieben, der auf ein vom Anbieter gehostetes SharePoint-Add-In verweist. In einem vom Anbieter gehosteten SharePoint-Add-In ausgeführter CSOM-Code wird über das Remotebereitstellungsmuster im Verlauf der Websiteerstellung ausgeführt.
- Das Muster wird nur bei der Erstellung einer Unterwebsite verwendet, nicht zum Erstellen von Websitesammlungen.
- Die URL für die Überschreibung wird mit einer benutzerdefinierten Aktion konfiguriert, die JavaScript verwendet, um den Link zu ändern. Diese URL verweist auf ein vom Anbieter gehostetes SharePoint-Add-In.
- Das vom Anbieter gehostete SharePoint-Add-In verwendet CSOM-APIs zum Erstellen von Unterwebsites.
- Mit CSOM/REST-APIs können auch andere Aspekte der Website während des Bereitstellungsprozesses konfiguriert werden.
- Dieser Ansatz kann in Office 365-Mandanten und in lokalem SharePoint verwendet werden.
- Enorme Flexibilität beim Erstellen und Konfigurieren von SharePoint-Websites.
- Einfache und kostengünstige Implementierung sowie kurz- und langfristige Verwaltung.
Wann ist die Option geeignet?
Diese Option eignet sich gut, wenn Sie Ihren Endbenutzern eine Self-Service-Möglichkeit zum Erstellen von SharePoint-Unterwebsites basierend auf benutzerdefinierten Vorlagen bieten müssen.
Erste Schritte
Die folgenden Artikel beschreiben das Muster der Überschreibung des Links zum Erstellen von Unterwebsites und stellen Codebeispiele bereit, um Ihnen den Einstieg zu erleichtern.
- Provisioning.Cloud.Sync (O365-PnP-Beispiel)
- Diese Lösung zeigt das Modell für die Bereitstellung einer synchronen Websitesammlungs- oder Unterwebsiteerstellung, um ein Modell für Websitevorlagen ohne die Verwendung tatsächlicher Sandkastenlösungen oder STP-Dateien einzuführen.
- Provisioning.SubSiteCreationApp (O365-PnP-Beispiel)
- Diese Lösung verwendet das so genannte Remotebereitstellungsmuster, um ein möglichst flexibles System von Unterwebsitevorlagen bereitzustellen. Außerdem ist ein Begleitvideo enthalten.
Verwenden eines vom Anbieter gehosteten SharePoint-Add-Ins
In diesem Muster wird im Verlauf der Websiteerstellung in einem vom Anbieter gehosteten SharePoint-Add-In ausgeführter CSOM-Code über das Remotebereitstellungsmuster ausgeführt.
- Das Muster kann für die Erstellung von Websitesammlungen und von Unterwebsites verwendet werden.
- Dem von SharePoint gehosteten Add-In muss Vollzugriff auf die SharePoint-Umgebung gewährt werden.
- Sie können dieses Muster nicht im Microsoft Marketplace verwenden, da es Vollzugriff erfordert.
- Das vom Anbieter gehostete SharePoint-Add-In verwendet CSOM-APIs zum Erstellen von Websitesammlungen und Unterwebsites.
- Mit CSOM/REST-APIs können auch andere Aspekte der Website während des Bereitstellungsprozesses konfiguriert werden.
- Dieser Ansatz kann in Office 365-Mandanten und in lokalem SharePoint verwendet werden.
- Enorme Flexibilität beim Erstellen und Konfigurieren von SharePoint-Websites.
- Einfache und kostengünstige Implementierung sowie kurz- und langfristige Verwaltung.
Wann ist die Option geeignet?
Diese Option eignet sich gut, wenn Sie Ihren Endbenutzern eine Self-Service-Möglichkeit zum Erstellen von SharePoint-Websitesammlungen und Unterwebsites basierend auf benutzerdefinierten Vorlagen bieten müssen. Beachten Sie, dass Sie für die Benutzer einen Link zu der vom Anbieter gehosteten Anwendung bereitstellen müssen, damit sie darauf zugreifen können.
- Asynchrone Bereitstellung mit Hybridszenarien (MSDN-Blog-Artikel)
- Provisioning.Hybrid.Simple (O365-PnP-Beispiel)
- Dieses Beispiel zeigt die einfachste mögliche Hybrideinrichtung mit Azure-Speicherwarteschlangen, WebJobs und Service Bus Relay. Es veranschaulicht das Hosten eines Anbieter-SharePoint-Add-Ins auf der Azure-Website. Dies kann zur Bereitstellung neuer Websitesammlungen mit benutzerdefiniertem Branding in der lokalen Farm verwendet werden, ohne dass eine lokale SharePoint-Add-In-Infrastruktur erforderlich wäre.
- Provisioning.Services.SiteManager (O365-PnP-Beispiel)
- In diesem Beispiel wird gezeigt, wie Sie eine lokale Farm für die Unterstützung der Erstellung von Websitesammlungen aus einem vom Anbieter gehosteten SharePoint-Add-In erweitern.
- Provisioning.SiteCollectionCreation (O365-PnP-Beispiel)
- In diesem Beispiel wird veranschaulicht, wie Sie Websitesammlungen mit CSOM für Office 365 aus einem vom Anbieter gehosteten SharePoint-Add-In erstellen.
Verwenden von .NET/Java/Objective-C-Anwendungen oder PowerShell-Skripts
In diesem Muster wird CSOM-Code über .NET/Objective-C/iOS-Anwendungen oder PowerShell-Skripts ausgeführt. Dieses Muster umfasst auch die Verwendung von Remotezeitgeberaufträgen, z. B. eines Azure-Webauftrags.
- Das Muster kann für die Erstellung von Websitesammlungen und von Unterwebsites verwendet werden.
- Den SharePoint-Add-Ins muss Vollzugriff auf die SharePoint-Umgebung gewährt werden.
- Die Authentifizierung kann abhängig vom Typ des zu erstellenden SharePoint-Add-Ins und Ihren Sicherheitseinstellungen für SharePoint eine Herausforderung sein.
- Das vom Anbieter gehostete SharePoint-Add-In verwendet CSOM-APIs zum Erstellen von Websitesammlungen und Unterwebsites.
- Mit CSOM/REST-APIs können auch andere Aspekte der Website während des Bereitstellungsprozesses konfiguriert werden.
- Dieser Ansatz kann in Office 365-Mandanten und in lokalem SharePoint verwendet werden.
- Enorme Flexibilität beim Erstellen und Konfigurieren von SharePoint-Websites.
- Einfache und kostengünstige Implementierung sowie kurz- und langfristige Verwaltung.
Wann ist die Option geeignet?
Diese Option eignet sich gut für Dev-Ops-Szenarien. Sie ermöglicht das Erstellen von benutzerdefinierten Anwendungen oder Skripts, die speziell für die Integration in Ihre Dev-Ops-Prozesse entwickelt werden. Diese Option bietet das höchste Maß an Automatisierung, da die SharePoint-Add-Ins und Skripts für die Ausführung ohne Benutzerinteraktion entwickelt werden können.
- Asynchrone Bereitstellung für Office 365 mit WebJobs (MSDN-Blog-Artikel)
- Provisioning.Cloud.Async.WebJob (O365-PnP-Beispiel)
- Lösung, die zeigt, wie Sie eine asynchrone Self-Service-Lösung für die Bereitstellung von Websitesammlungen mithilfe von Azure Storage-Warteschlangen und Azure WebJobs erstellen.
- Provisioning.Framework.Console (O365-PnP-Beispiel) – Beispiel für das Websitebereitstellungs-Framework, das die Leistungsfähigkeit des neuen Moduls demonstriert.
- Provisioning.Cloud.Async (O365-PnP-Beispiel) – Veranschaulicht, wie Sie Websitesammlungen asynchron in Office 365/SharePoint erstellen. Anforderungen werden in einer Liste im SharePoint-Hostweb gespeichert. Die Konsolenanwendung in diesem Beispiel wird in Azure oder einer lokalen Umgebung bereitgestellt und geplant.
Verwandte Links
- Self-Service-Websitebereitstellung mit Add-Ins für SharePoint 2013 (MSDN-Blog)
- Leitfadenartikel unter https://aka.ms/OfficeDevPnPGuidance
- Verweise in MSDN unter https://aka.ms/OfficeDevPnPMSDN
- Videos bei https://aka.ms/OfficeDevPnPVideos
PnP-Beispiele
- Provisioning.Cloud.Sync (O365-PnP-Beispiel)
- Provisioning.SubSiteCreationApp (O365-PnP-Beispiel)
- Provisioning.Services.SiteManager (O365-PnP-Beispiel)
- Provisioning.SiteCollectionCreation (O365-PnP-Beispiel)
- Beispiele und Inhalte unter https://github.com/SharePoint/PnP
Gilt für
- Office 365 mit mehreren Mandanten (MT)
- Office 365 dediziert (D) teilweise
- SharePoint 2013 lokal – teilweise
Muster für dedizierte und lokale Umgebungen sind identisch mit SharePoint-Add-In-Modelltechniken, aber es gibt Unterschiede bezüglich der verwendbaren Technologien.