Beispiel für ein SharePoint-Add-In für die Informationsverwaltung
Das Core.InformationManagement-Beispiel zeigt, wie Sie ein ASP.NET vom Anbieter gehostetes Add-In verwenden, um eine Websiterichtlinie auf einer Website abzurufen und festzulegen.
Verwenden Sie diese Lösung, wenn Folgendes auf Sie zutrifft:
- Wenden Sie Richtlinieneinstellungen während des benutzerdefinierten Websitebereitstellungsprozesses an.
- Erstellen Sie eine neue Websiterichtlinie, oder ändern Sie eine vorhandene Websiterichtlinie.
- Erstellen Sie eine benutzerdefinierte Ablaufformel.
Bevor Sie beginnen
Laden Sie zunächst das Core.InformationManagement-Beispiel-Add-In aus dem Projekt Office 365 Developer Patterns and Practices auf GitHub herunter.
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.
Es wird empfohlen, dass Sie mindestens eine Websiterichtlinie erstellen und ihrer Website zuweisen, bevor Sie dieses Add-In ausführen. Andernfalls wird das Add-In gestartet, ohne Beispieldaten anzuzeigen. Weitere Informationen finden Sie unter Übersicht über Websiterichtlinien in SharePoint Server.
Verwenden des Core.InformationManagement-Beispiel-Add-Ins
Wenn Sie das Information Management-Add-In starten, werden auf der Startseite die folgenden Informationen angezeigt, wie in der folgenden Abbildung dargestellt:
- Die Schließungs- und Ablaufdaten der Website. Diese Datumsangaben sind standortspezifisch und basieren auf den Konfigurationseinstellungen der angewendeten Standortrichtlinie.
- Alle Websiterichtlinien, die auf den Standort angewendet werden können.
- Die Websiterichtlinie, die derzeit angewendet wird.
- Das Optionsfeld zum Auswählen und Anwenden einer neuen Websiterichtlinie auf den Standort.
Auf Ihrer SharePoint-Website können Sie zum Add-In wechseln, das auf dem Remotehost ausgeführt wird, indem Sie Zuletzt verwendete>Core.InformationManagement auswählen. Um zu Ihrer SharePoint-Website zurückzukehren, wählen Sie Zurück zur Website aus.
Die Datei Pages\Default.aspx.cs im Projekt Core.InformationManagementWeb enthält den Code für die Seite, die in der vorherigen Abbildung angezeigt wird.
Der folgende Code in der Page_Load-Methode der Seite Default.aspx.cs ruft die Schließungs- und Ablaufdaten der Website basierend auf der angewendeten Websiterichtlinie ab und zeigt sie an. Dieser Code ruft die Erweiterungsmethoden GetSiteExpirationDate und GetSiteCloseDate des OfficeDevPnP.Core-Projekts auf.
// Get site expiration and closure dates.
if (cc.Web.HasSitePolicyApplied())
{
lblSiteExpiration.Text = String.Format("The expiration date for the site is {0}", cc.Web.GetSiteExpirationDate());
lblSiteClosure.Text = String.Format("The closure date for the site is {0}", cc.Web.GetSiteCloseDate());
}
Der folgende Code in der Page_Load-Methode der Seite Default.aspx.cs zeigt die Namen aller Websiterichtlinien an, die auf die Website angewendet werden können (einschließlich der aktuell angewendeten Websiterichtlinie). Dieser Code ruft die GetSitePolicies-Erweiterungsmethode des OfficeDevPnP.Core-Projekts auf.
// List the defined policies.
List<SitePolicyEntity> policies = cc.Web.GetSitePolicies();
string policiesString = "";
foreach (var policy in policies)
{
policiesString += String.Format("{0} ({1}) <BR />", policy.Name, policy.Description);
}
lblSitePolicies.Text = policiesString;
};
Der folgende Code in der Page_Load-Methode der Seite Default.aspx.cs zeigt den Namen der Websiterichtlinie an, die derzeit auf die Website angewendet wird. Dadurch wird die GetAppliedSitePolicy-Erweiterungsmethode des OfficeDevPnP.Core-Projekts aufgerufen.
// Show the assigned policy.
SitePolicyEntity appliedPolicy = cc.Web.GetAppliedSitePolicy();
if (appliedPolicy != null)
{
lblAppliedPolicy.Text = String.Format("{0} ({1})", appliedPolicy.Name, appliedPolicy.Description);
}
else
{
lblAppliedPolicy.Text = "No policy has been applied";
}
Der folgende Code in der Page_Load-Methode der Seite Default.aspx.cs füllt die Liste mit den verfügbaren Websiterichtlinien auf, mit Ausnahme der Websiterichtlinie, die der Website derzeit zugewiesen ist.
// Fill the policies combo.
foreach (var policy in policies)
{
if (appliedPolicy == null || !policy.Name.Equals(appliedPolicy.Name, StringComparison.InvariantCultureIgnoreCase))
{
drlPolicies.Items.Add(policy.Name);
}
}
btnApplyPolicy.Enabled = drlPolicies.Items.Count > 0;
Der folgende Code auf der Seite Default.aspx.cs wendet die ausgewählte Websiterichtlinie auf die Website an. Die ursprüngliche Websiterichtlinie wird durch die neue Websiterichtlinie ersetzt.
protected void btnApplyPolicy_Click(object sender, EventArgs e)
{
if (drlPolicies.SelectedItem != null)
{
cc.Web.ApplySitePolicy(drlPolicies.SelectedItem.Text);
Page.Response.Redirect(Page.Request.Url.ToString(), true);
}
}