SharePoint-Entwicklungs- und -Designtools und -Methoden
Dieser Artikel enthält Informationen zu Entwicklungs- und Designoptionen, die in SharePoint verfügbar sind. Außerdem enthält er Informationen zur Verwendung des Remotebereitstellungsmusters, um Brandingobjekte auf eine SharePoint-Website anzuwenden.
Hinweis
Der Code in diesem Artikel wird wie besehen und ohne jegliche Garantie zur Verfügung gestellt, gleich ob ausdrücklich oder konkludent, einschließlich jedweder stillschweigenden Gewährleistung der Eignung für einen bestimmten Zweck, Marktgängigkeit oder Nichtverletzung von Rechten.
Wichtige Begriffe und Konzepte
Tabelle 1. Wichtige SharePoint-Entwicklungs- und Designbegriffe und -konzepte
Begriff oder Konzept | Definition | Weitere Informationen |
---|---|---|
Entwurfs-Manager | Ein Feature, das in SharePoint-Veröffentlichungswebsites oder -Teamwebsites (bei denen die Veröffentlichung aktiviert ist) aktiviert ist, das zum Importieren und Verwalten von Website-Brandingobjekten sowie zum Exportieren dieser Objekte in ein Designpaket verwendet wird. | Verwenden Sie den Entwurfs-Manager, um in anderen Tools erstellte Brandingobjekte, z. B. Adobe PhotoShop oder Adobe DreamWeaver, in SharePoint zu importieren. SharePoint Designer ist nicht für die Verwendung mit OneDrive for Business- oder SharePoint Team-Websites verfügbar, bei denen die Veröffentlichung nicht aktiviert ist. |
Designpaket | Für die Verwendung mit SharePoint-Veröffentlichungswebsites konzipiert, enthält Brandingobjekte, die im Entwurfs-Manager gespeichert werden. | SharePoint Composites-Handbuch |
Remotebereitstellung | Ein Modell, dass Bereitstellungswebsites unter Verwendung von Vorlagen und Code umfasst, der außerhalb von SharePoint in einem von einem Anbieter gehosteten Add-In ausgeführt wird. | - Websitebereitstellungsmethoden und Remotebereitstellung in SharePoint 2013 - Self-Service-Websitebereitstellung mit Add-Ins für SharePoint 2013 |
Stammwebsite | Die erste Website in einer Websitesammlung. Die Stammwebsite wird manchmal auch als Webanwendungsstamm bezeichnet. | |
Sandkastenlösungen | WSP-Dateien mit Assemblys, anderen nicht kompilierten Komponenten und einer XML-Manifestdatei. Eine Sandkastenlösung verwendet teilweise vertrauenswürdigen Code. | Sandkastenlösungen |
SharePoint Designer | Ein HTML-Designer und ein Tool für die Verwaltung von Designobjekten zur Verwaltung von Brandingelementen in SharePoint. SharePoint Designer unterstützt hauptsächlich benutzerdefinierte Workflows. | - Neuerung bei SharePoint-Websiteentwicklung |
WSP-Datei | Eine SharePoint-Projektmappendatei. Eine WSP-Datei ist eine CAB-Datei, die Websiteobjekte kategorisiert und diese mit einer manifest.xml-Datei organisiert. | Übersicht über Lösungen |
Entwicklungsoptionen
Wenn Sie SharePoint als Entwicklungsplattform verwenden, müssen Sie eine Umgebung für die Entwicklung, das Testen, Erstellen und Bereitstellen Ihres Inhalts erstellen. Informationen zu den Optionen für Entwickler finden Sie unter SharePoint-Workflow-Objektmodell und Application Lifecycle Management (ALM)-APIs.
Tabelle 2. Optionen für SharePoint-Entwicklung, -Tests und -Akzeptanz
Option | Überlegungen |
---|---|
Team Foundation Server | – Befindet sich auf Visual Studio Team Services, um den Zugriff zu erleichtern. – Umfasst einen zentralen Quellcode und ein Lebenszyklus-Verwaltungssystem. |
Test- und Akzeptanzumgebungen in der Cloud | – Verwenden einen separaten Mandanten für Akzeptanztests. – Separate Testumgebung für lokale Tests. |
Lokale Test- und Akzeptanzumgebungen | – Werden für lokale SharePoint-Entwicklung verwendet. - Werden vom Kunden lokal oder in Microsoft Azure gehostet. |
In den meisten Fällen benötigen Sie mindestens die folgenden Mandanten, obwohl dies je nach Ihren Anforderungen variieren kann:
Entwicklermandant. Es wird empfohlen, dass Sie Ihre eigene Entwicklerwebsite bereitstellen und verwenden. Auf diese Weise wird ein Vermischen Ihrer Daten mit der Produktionsumgebung verhindert. Informationen zum Registrieren bei und Bereitstellen einer Entwicklerwebsite finden Sie unter Einrichten einer Entwicklungsumgebung für SharePoint-Add-Ins in Office 365.
Integrations-/Testmandant. Verwenden Sie diese Website, um sicherzustellen, dass neue Apps und Funktionen über mehrere Websitesammlungen hinweg und mit den Diensten und Daten in der Produktionsumgebung funktionieren. Konfigurieren Sie die Umgebung so, dass Sie Funktionen enthält, die sich in der Vorschau befinden. (Wählen Sie dazu in der Verwaltungskonsole Ihres Mandanten Diensteinstellungen und dann unter der Einstellung Updates die Option Erstversion aus.) Sie können Visual Studio Team Services verwenden, um automatisierte Tests und alle weiteren fortlaufenden Integrationstests auszuführen.
Produktionsmandant. Veröffentlichen Sie getestete, akzeptierte und genehmigte Apps für diesen Mandanten. Sie können auf diesem Mandanten eine Entwicklerwebsite erstellen, um Apps mit geringem Umfang oder mit isolierter Auswirkung zu entwickeln und zu testen. Im Allgemeinen sollten Sie es vermeiden, Ihre Produktions- und Entwicklungsumgebung zu vermischen.
Designtools
Verwenden Sie standardmäßige Design- und Entwicklungstools wie HTML, Bilder, CSS-Dateien und JavaScript-Dateien, um Brandingobjekte für die SharePoint-Website zu erstellen. Sie können beispielsweise Adobe DreamWeaver und Adobe PhotoShop verwenden, um die HTML-, CSS-, JavaScript- und Bilddateien zu erstellen, die Sie für das Branding Ihrer SharePoint-Websites verwenden. Alternativ können Sie SharePoint Designer zum Erstellen, Verwalten und Anpassen von Brandingobjekten oder zum Erstellen von benutzerdefinierten Lösungen in Visual Studio verwenden.
SharePoint-Designpakete und WSP-Dateien
Designpakete sind vom Entwurfs-Manager erstellte WSP-Dateien, die vorhersagbare Regeln für Verpackungsdesignelemente befolgen. Es handelt sich dabei im Wesentlichen um Sandkastenlösungen. Wenn Sie ein anderes Tool zum Verpacken von Brandingobjekten in einer WSP-Datei verwenden, befinden sich Ihre Brandingobjekte in einem weniger festen und vorhersagbaren Zustand.
Das Designpaket enthält alle Dateien, die angepasst wurden. Wenn Sie beispielsweise ein Seitenlayout erstellen, das einen benutzerdefinierten Inhaltstyp verwendet, umfasst das Designpaket das Seitenlayout, den benutzerdefinierten Inhaltstyp, den es verwendet, und alle benutzerdefinierten Websitespalten. Das Designpaket enthält auch mehrere Dateien im Zusammenhang mit zusammengesetzten Designs, die auf Ihre SharePoint-Webiste angewendet wurden, einschließlich Dateien, die an die folgenden Speicherorte hochgeladen wurden:
- Websiteobjektbibliothek
- Formatbibliothek
- Gestaltungsvorlagenkatalog
Wenn Sie zusammengesetzte Designs auf eine Website angewendet haben, bevor Sie ein benutzerdefiniertes Branding angewendet haben, enthält das Designpaket Dateien mit der Dateinamenerweiterung "THEMEDCSS" und "THEMEDPNG". Um die Brandingobjekte in einem Designpaket auf eine SharePoint-Website anzuwenden, exportieren Sie das Designpaket und verwenden das Remotebereitstellungsmuster, um die Inhalte des Designpakets anzuwenden.
SharePoint umfasst die APIs, die Sie für das Arbeiten mit Designpaketen verwenden können. Wenn Sie SSOM, CSOM oder JSOM verwenden, können Sie die DesignPackage- oder DesignPackageInfo-Klassen verwenden.
Verwenden des CSOM-Designpakets, um die Inhalte von Designpaketen auf eine SharePoint-Website anzuwenden
Das folgende Beispiel zeigt, wie die Designpaket-APIs in dem Remotebereitstellungsmuster verwendet werden, um die Inhalte von Designpaketen auf eine SharePoint-Website anzuwenden.
Dieser Code wurde für die Verwendung mit Veröffentlichungswebsites entwickelt. Es ist zwar möglich, die Designpakete-API zu verwenden, um ein Branding auf Teamwebsites anzuwenden, für die die Veröffentlichungsfunktion aktiviert ist, dies kann jedoch langfristige Supportprobleme mit sich bringen.
using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint.Client.Publishing;
namespace ProviderSharePointAppWeb
{
public partial class Default : System.Web.UI.Page
{
protected void Page_PreInit(object sender, EventArgs e)
{
Uri redirectUrl;
switch (SharePointContextProvider.CheckRedirectionStatus(Context, out redirectUrl))
{
case RedirectionStatus.Ok:
return;
case RedirectionStatus.ShouldRedirect:
Response.Redirect(redirectUrl.AbsoluteUri, endResponse: true);
break;
case RedirectionStatus.CanNotRedirect:
Response.Write("An error occurred while processing your request.");
Response.End();
break;
}
}
protected void Page_Load(object sender, EventArgs e)
{
// Use TokenHelper to get the client context and Title property.
// To access other properties, the add-in might need to request permissions
// on the host web.
var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);
// Publishing feature GUID to use the infrastructure for publishing.
Guid PublishingFeature = Guid.Parse("f6924d36-2fa8-4f0b-b16d-06b7250180fa");
// The site-relative URL of the design package to install.
// This sandbox design package should be uploaded to a document library.
// For practical purposes, this can be a configuration setting in web.config.
string fileRelativePath = @"/sites/devsite/brand/Dev.wsp";
//string fileUrl = @"https://SPXXXXX.com/sites/devsite/brand/Dev.wsp";
using (var clientContext = spContext.CreateUserClientContextForSPHost())
{
// Load the site context explicitly or while installing the API, the path for
// the package will not be resolved.
// If the package cannot be found, an exception is thrown.
var site = clientContext.Site;
clientContext.Load(site);
clientContext.ExecuteQuery();
// Validate whether the Publishing feature is active.
if (IsSiteFeatureActivated(clientContext,PublishingFeature))
{
DesignPackageInfo info = new DesignPackageInfo()
{
PackageGuid = Guid.Empty,
MajorVersion = 1,
MinorVersion = 1,
PackageName = "Dev"
};
Console.WriteLine("Installing design package ");
DesignPackage.Install(clientContext, clientContext.Site, info, fileRelativePath);
clientContext.ExecuteQuery();
Console.WriteLine("Applying design package");
DesignPackage.Apply(clientContext, clientContext.Site, info);
clientContext.ExecuteQuery();
}
}
}
public bool IsSiteFeatureActivated( ClientContext context, Guid guid)
{
var features = context.Site.Features;
context.Load(features);
context.ExecuteQuery();
foreach (var f in features)
{
if (f.DefinitionId.Equals(guid))
return true;
}
return false;
}
}
}
Verwenden von FileCreationInformation zum Hochladen von Brandingobjekten und einer Gestaltungsvorlage auf eine Teamwebsite
Sie können die CSOM-Funktionalität in SharePoint verwenden, um Designpakete zu installieren und zu deinstallieren und Designpakete auf SharePoint Online-Websites zu exportieren.
Verwenden Sie beispielsweise die SP.Publishing.DesignPackage.install-Methode (sp.publishing) oder die DesignPackage.Install-Methode, um das Designpaket auf der Website zu installieren, wie im folgenden Beispiel dargestellt.
public static void Install(
ClientRuntimeContext context,
Site site,
DesignPackageInfo info,
string path
)
Die DesignPackageInfo-Klasse gibt Metadaten an, die den Inhalt des zu installierenden Designpakets beschreiben. Mit der Methode Uninstall können Sie das Designpaket von der Website deinstallieren, wie im folgenden Beispiel gezeigt.
public static void UnInstall(
ClientRuntimeContext context,
Site site,
DesignPackageInfo info
)
Wenn Sie eine Teamwebsite mit aktivierter Veröffentlichungsfunktion oder eine Veröffentlichungswebsite auf SharePoint Online mit einem Branding versehen möchten, können Sie die Methode ExportEnterprise oder ExportSmallBusiness verwenden, um Designpakete für Websitevorlagen in den Projektmappenkatalog zu exportieren. Verwenden Sie die ExportSmallBusiness-Methode mit der Websitevorlage für kleine Unternehmen, und verwenden Sie die ExportEnterprise-Methode für alle anderen Websitevorlagen, wie im folgenden Beispiel dargestellt.
public static ClientResult<DesignPackageInfo> ExportEnterprise(
ClientRuntimeContext context,
Site site,
bool includeSearchConfiguration
)
Wenn Sie die Methode ExportSmallBusiness verwenden, können Sie die Suchkonfiguration in das Designpaket einschließen, wie im folgenden Beispiel gezeigt. Beachten Sie, dass alle Designpaketmethoden auf der Ebene der Websitesammlung ausgeführt werden. Der Name des Designpakets wird durch die Zeichenfolge packageName
dargestellt.
public static ClientResult<DesignPackageInfo> ExportSmallBusiness(
ClientRuntimeContext context,
Site site,
string packageName,
bool includeSearchConfiguration
)
Entwurfstooloptionen für SharePoint Online
Die Tools, die Sie für das Branding einer SharePoint Online-Website verwenden können, sind von Ihrer SharePoint Online Edition und dem Websitetyp abhängig, den Sie erstellen möchten. Die Small Business Edition umfasst beispielsweise eine Teamwebsite und eine öffentliche Website. Es ist keine Veröffentlichungswebsite enthalten. Sie können die Site Builder-Add-In in SharePoint Online verwenden, um das Branding einer öffentlichen Website anzupassen.
Die Enterprise Edition umfasst eine Teamwebsitesammlung an der Stammwebanwendung für die Domäne, die keine Veröffentlichung enthält. Es ist keine öffentliche Website enthalten. Verwenden Sie den Entwurfs-Manager, um Brandingelemente für die SharePoint-Website für die Veröffentlichungswebsite in der SharePoint Online Enterprise Edition zu verwalten.