SharePoint Durable Links – Bug oder Feature?

In den letzten Wochen habe ich mich intensiver mit den neuen Durable Links beschäftigt und ich wollte meinen Augen nicht trauen, was dabei heraus kam. Kurz: Diese neuen Links funktionieren nur bei Office Dateien beim Umbenennen. Aber der Reihe nach…

Test-Framwork:

  • SharePoint On-Premises und der entsprechenden Office Online Server Version (früher Office Web Apps)
    – Release Candidate
    – GA inklusive Mai CU
    – GA inklusive Juni CU
  • SharePoint Online in O365
  • Zum Verschieben der Dokumente folgende Ansätze genutzt
    – „Content and Structure“ in den SharePoint Site Collection Settings

    – „Send To“ Locations in der SharePoint Item Ribbon

    – Drittanbieterlösung

NEU: Durable Links

  • Links sollen erhalten bleiben, selbst wenn ein Dokument umbenannt oder verschoben wird
  • es wird eine ID dem Dokument hinzugefügt, an dem es in der Inhaltsdatenbank identifiziert werden soll, egal welchen Namen das Dokument hat oder welche URL davor steht
  • http://intranet2016/sites/RootSite/SubSite/Shared%20Documents/Doc1.docx?d=wc6f9bf88c1a846579992030744063b1b (durable Link)
  • Office Online Server erforderlich, mit dem der durable Link dann automatisch generiert wird

ALT: Document ID

  • Zusätzliche ID von Dokumenten per Site Collection
  • gedacht, um z.B. auf feste IDs per Custom Solution zu verweisen oder mit dem CQWP (Content by Query Web Part) eine Übersicht aus verschiedenen Dokumenten zusammen zu stellen
  • ein Prefix der ID kann konfiguriert werden und auch erneut überschrieben werden
  • Die ID kann auch in einer zusätzlichen Spalte angezeigt und als Link genutzt werden
  • http://intranet2016/sites/RootSite/SubSite/_layouts/15/DocIdRedir.aspx?ID=ROBTHEMSGEEK-680852213-3
  • Das Mapping hinter dem Link beruht jedoch auf dem Search Index
  • Das Umbenennen und eingeschränkte Verschieben erhält die ID und den Link, ABER, die Search muss den neuen Namen oder Ablageort erneut indexieren, damit er funktioniert

NEU am ALTEN:

Vor SharePoint 2016 wurde trotz DocID der normale Link im Kontextmenü („„) erhalten. Somit haben wir einen Link mit DocID in einer extra einzublendenen Spalte und einen normalen Link im Kontextmenü der Datei. Welchen Link nimmt nun wohl der Endanwender, um auf eine Datei zu verweisen? Richtig, den normalen. In SharePoint 2016 wurde das verbessert. Sobald man in den Site Collection Features die Document ID aktiviert, erhalten Dokumente nach durchgelaufenem Timer Service eine zusätzliche (Link-) ID. Außerdem wird der normale Link mit dem DocID-Link (DocIdRedir.aspx?ID=…) im Kontextmenü ersetzt. Damit haben wir nicht mehr zwei verschiedene Links pro Dokument, sondern nur noch den einen (besseren) Document ID Link.

———————–

Soviel zur Theorie. Jetzt spielen wie Myth Busters.

Funktioniert bei… Durable Links Document IDs
Office Dateien
(Word, Excel, PowerPoint, OneNote)
Ja Ja
Anderen Dateien
(pdf, jpg, png, wmv, mp4, etc.)
Nein Ja
Umbenennen Ja Ja*
Nach erneutem Crawl
Verschieben in andere Bibliothek
(per Content and Strcuture)
Nein Ja*
Nach erneutem Crawl
Mit Drittanbieterlösung auch ohne Crawl
Verschieben in andere Site
(per Content and Strcuture)
Nein Nein
Verschieben in andere Site Collection
(per Send To Locations)
Nein Nein

Und ich lege noch einen drauf. Sobald ich die Document IDs aktiviere, verschwinden die Durable Links komplett. Ehrlich gesagt ist das vielleicht auch ganz gut so, denn wir sehen oben, dass ich mit den DocID-Links einfach mehr erreichen kann.

Auf dem offiziellen und ein paar Monate alten Blog von Bill Bear (https://blogs.technet.microsoft.com/wbaer/2015/09/22/durable-links-in-sharepoint-server-2016-it-preview) werden obige Features aber noch immer uneingeschränkt so beschreiben, wie es funktionieren soll aber (noch) nicht geht. Daher auch der Vermerkt in rot bei obiger Durable Links Beschreibung. Es existieren auch unzählige andere Blogs, die von diesem tollen Feature (falsch) berichten. Denn spätestens ab dem Release Candidate wurde offensichtlich dieses Feature (sowie auch andere Funktionen siehe DLP in einem früheren Blogbeitrag [http://blogs.msdn.com/b/robert_mulsow/archive/2016/03/24/governance-und-compliance-mit-dem-neuen-sharepoint-2016-dlp-im-compliance-center.aspx]) wieder entfernt.

Grundsätzlich bin auch ich von dem Ansatz der Durable Links begeistert und unterstütze diese Idee als absolut notwenidgen Schritt in die richtige Richtung von Microsoft. Aktuell liegen Versprechen und Realität aber leider noch weit auseinander. Wir können nur hoffen, dass mit den nächsten CUs die Funktionalitäten zurück nach SharePoint 2016 kommen und auch die Durable Links wie versprochen in O365 funktionieren.

Bis dahin bleibt wachsam und viel Spaß beim „SharePointen“!

SharePoint 2016 Site Collections super schnell erstellen

Microsoft hat uns mit SharePoint 2016 eine kleine aber feine Rafinesse zur Verfügung gestellt, wenn wir Site Collections erstellen möchten. Jeder Farmadministrator, der „mal schnell“ eine Site Collection erstellen musste, kennt folgendes Szenario sicher: Nach dem Absenden der Erstellung holen wir uns erst einmal einen Kaffee, so wie wir es früher beim Start langsamer Computer gemacht haben. Denn eine Erstellung dauert ungefähr 40 (+/-) Sekunden, bis die Seite wirklich da ist.

Wenn ich nun in einem Unternehmen die Richtlinie verfolge, dass pro Projekt oder Mandant oder Kunde eine Site Collection erstellt werden muss, dann kann dies bei größeren Firmen zu sehr viel Wartezeit führen. Microsoft hat für dieses Szenario eine „Kopieren und Einfügen“ Funktion für Site Collections eingebaut. Statt 40 Sekunden braucht dieser Prozess nur noch eine Sekunde. Um diese Funktion zu nutzen, benötige ich zwei Schritte:

  1. Eine Vorlage für das „Fast-Site-Creation“ Verfahren aktivieren
    Enable-SPWebTemplateForSiteMaster -Template „STS#0“ -CompatibilityLevel 15
  2. Diese Vorlage dann als Master in einer ausgewählten Datenbank abspeichern
    $DB = Get-SPContentDatabase -site http://WebApp/sites/TeamSite
    New-SPSiteMaster -ContentDatabase $DB -Template „STS#0“

Ist dies erledigt, so sehe ich auch in meiner Zentraladministration, dass ein Site-Master als Site Collection angelegt wurde.

Als nächstes kann ich bereits mit dem richtigen PowerShell Befehl eine Site in Windeseile erstellen lassen.

New-SPSite http://WebApp/sites/Fast -Template „STS#0“ -ContentDatabase „P_SP_Content_Intranet“ -OwnerAlias „Contoso\administrator“ -CreateFromSiteMaster

 

Was müssen wir berücksichtigen?

  1. Sie sehen an dem Befehl, dass der einzige Unterschied zu einem normalen Erstellungsprozess der Switch „-CreateFromSiteMaster“ ist. Ohne diesen wird die Site nach dem Standard-Verfahren erzeugt. Auch das Erstellen über die Zentraladministartion verwendet den Standard-Prozess, sodass diese neue Funktion wirklich nur per PowerShell zur Verfügung steht.
  2. Dieser neue Prozess erstellt die Seite auf Datenbankebene. Damit ersparen wir uns einiges an „Hin und Her“ zwischen SharePoint and SQL Server, weil eben nicht das SharePoint Object Model verwendet wird. ABER, dies bedeutet gleichzeitig, dass nicht alle Features aktiviert werden können. Microsoft weist aber freundlich beim Erstellen das Site-Masters darauf hin, dass basierend auf der verwendeten Vorlage (- auch angepasste Vorlagen sind möglich -) noch bestimmte Features nachträglich aktiviert werden müssen, weil dies nicht für alle möglich ist. Mit dem Get-SPSiteMaster Befehl kann dies auch nachträglich herausgefunden werden. Dies ist interessant für Entwickler, deren Anpassungen bestimmte Features benötigen. Solche müssen somit noch explizit nach der Kopie zu einer neuen Site Collection aktiviert werden.

Fassen wir die Befehle noch einmal zusammen:

Enable-SPWebTemplateForSiteMaster Aktiviert die entsprechende Vorlage für den
Fast-Site-Creation Prozess
Disable-SPWebTemplateForSiteMaster Deaktiviert entsprechende Site Collection
Get-SPWebTemplatesEnabledForSiteMaster Zeigt alle Vorlagen an, die für den
Fast-Site-Creation Prozess aktiviert wurden
Get-SPSiteMaster Zeigt einen entsprechenden Site-Master an
(um z.B. die zu aktivierenden features erneut zu identifizieren)
New-SPSiteMaster Erstellt einen neuen Site-Master
Remove-SPSiteMaster Löscht einen Site-Master

Habe Sie beispielsweise ein „Self-Service-Portal“ auf Basis von PowerShell zur Provisionierung von Site Collections, dann empfehle ich dieses Feature zu nutzen, weil die Endbenutzer so noch schneller ihre angeforderte Seite zur Verfügung gestellt bekommen.

Also viel Spaß beim „SharePointen“!