Sitevorlagen gestalten in SharePoint online

In so ziemlich jedem SharePoint Projekt stellt sich früher oder später die Frage, wie angepasste Site Templates erstellt und verwaltet werden können. Im klassischen SharePoint können diese erstellt und mit Visual Studio einer Farm hinzugefügt werden. Dabei gibt es zwar ein paar Restriktionen, aber im Allgemeinen funktioniert das gut.
Eine Alternative zu doch der sehr aufwendigen Verwaltung mit Visual Studio ist Office PnP. Dies sind PowerShell Scripts, welche einer vorhandenen Site Funktionalitäten hinzufügen. Dies geht natürlich auch bei SharePoint Online, aber dort gibt es noch eine bessere Lösung: Die Arbeit mit Sitedesigns. Ein Sitedesign ist dabei nicht nur eine optische Anpassung, sondern ein Design umfasst auch Listen, Berechtigungen, Navigationslinks, Flows und vieles mehr. Dieser Artikel erläutert, wie man ein Sitedesign in SharePoint Online erstellt und verwaltet.

Begriffe und Vorbereitung

Um mit Websitedesign zu arbeiten, muss das aktuelle SharePoint Online PowerShell Modul installiert sein. Wenn nicht vorhanden, eine administrative PowerShell Session öffnen und darin den folgenden Befehl ausführen:

Install-Module -Name Microsoft.Online.SharePoint.PowerShell

Dies kann auf einem lokalen Rechner passieren oder in einer serverlosen Umgebung wie z.B. Azure Functions. Dort wird das Modul natürlich anders installiert. Ist das Modul schon vorhanden, aber vielleicht ein älterer Stand, hilft ein

Update-Module -Name Microsoft.Online.SharePoint.PowerShell

Alle Befehle in diesem Artikel gehen davon aus, dass das Modul installiert und der Benutzer sich an SharePoint Online angemeldet hat mit

Connect-SPOService -Url https://<Mandantenname>-admin.sharepoint.com -Credential <SharePoint online Login>

Ein Websitescript ist eine JSON Datei, welche Verben enthält. Diese Verben sind Aktionen, die auf einer Website ausgeführt werden sollen. Aktionen können Unteraktionen haben. So kann eine Liste erstellt (Aktion) und dieser Liste neue Felder hinzugefügt werden (Unteraktion). Es könnten auch erst Inhaltstypen- und Spalten erzeugt und diese der Liste hinzugefügt werden. Eine komplette Referenz der JSON Verben finden sich unter https://docs.microsoft.com/de-de/sharepoint/dev/declarative-customization/site-design-json-schema

Ein Websitescript wird einem Mandanten hinzugefügt und über eine ID eindeutig identifiziert.  Über den Befehl Get-SPOSiteScript kann man diese finden. Wird der Befehl ohne weitere Parameter aufgerufen, zeigt er alle Websiteskripte im Mandanten an. Vor dem ersten eigenen Websitescript liefert er allerdings nichts zurück.

Ein Sitedesign umfasst ein oder mehrere Scripts und führt diese aus, wenn das Design angewendet wird. Es muss also bei dem Erstellen eines Design mindestens ein Script hinzugefügt werden. Das Script muss im Mandanten schon vorhanden sein und wird über seine ID identifiziert. Der folgende Code erstellt ein Script im Mandanten und erstellt anschließend ein Design.

$siteScript = Get-Content '<Pfad zum Script>' -Raw
$scriptID = Add-SPOSiteScript  `
-Title "Website Script example"  `
-Content $siteScript  `
-Description
Add-SPOSiteDesign `
  -Title "Site design example" `
  -WebTemplate "64" `
  -SiteScripts ($scriptID).Id  `
  -Description "Just example design"

Der Befehl Add-SPOSiteDesign hat dabei einige interessante Parameter. So können dem Design zum Beispiel noch ein Bild mitgegeben werden, welches bei der Auswahl des Designs angezeigt wird. Am wichtigsten ist aber der Parameter -WebTemplate. Diese legt fest, an welchen Vorlagentyp das Design gebunden wird. Dabei können nur moderne Websitevorlagen verwendet werden und es gelten die folgenden Werte für den Parameter:

  • 64 = Teamweb
  • 68 = Communication Web
  • 1 = Groupless Team Site

Wird jetzt eine neue Site erstellt, kann das Design ausgewählt werden.

Soll das Design auf alle neu erstellt Websites standardmäßig angewendet werden, soll hilft der Parameter -IsDefault.

Ein Design auf eine vorhandene Site anwenden

Natürlich kann ein Design auch auf eine schon vorhandene Site angewendet werden. Dazu muss das Design allerdings vorher veröffentlich wurden und die ID des Designs bekannt sein. Ist dies nicht der Fall, kann man sich mit Get-SPOSiteDesign alle veröffentlichen Designs anzeigen lassen.

Um ein vorhandenes Design anzuwenden, benutzen Sie bei weniger als 30 Aktionen und Unteraktionen in den Scripts den Befehlt Invoke-SPOSiteDesign. Wenn Sie in den Scripts mehr als 30 Aktionen und Unteraktionen ausführen, müssen Sie stattdessen Add-SPOSiteDesignTask verwenden. Dieser Befehl hat ein Limit von 300 Aktionen oder 100.000 Zeichen. Die Argumente sind analog. Ein typischer Aufruf könnte so aussehen:

Invoke-SPOSiteDesign  -weburl 'https://ntscript.sharepoint.com/sites/training' -Identity 68c78fbb-b60b-5678-1234-840329934676

Ein Design aus einer vorhandenen Site verwenden

Natürlich kann man alles von Anfang an in ein Script schreiben um ein gewünschtes Design zu erreichen. Einfacher ist aber möglicherweise sich zuerst eine Vorlage zusammen zu klicken und dann diese Vorlage zu exportieren. Das geht einfach mit dem Befehl Get-SPOSiteScriptFromWeb wenn man ein ganzes Web als Vorlage verwenden möchte oder Get-SPOSiteScriptFromList wenn es eine Liste sein soll. Beide Befehle geben JSON zurück, welches dann noch als Datei abgelegt werden muss. Der folgende Code erledigt dies.  Für die Parameter, sofern sich diese nicht von selbst erklären, hilft ein Blick in die Doku.

$extracted = Get-SPOSiteScriptFromWeb `
    -WebUrl https://msdx090099.sharepoint.com/sites/ceoconnection `
    -IncludeBranding `
    -IncludeTheme `
    -IncludeRegionalSettings `
    -IncludeSiteExternalSharingCapability `
    -IncludeLinksToExportedItems `
    -IncludedLists ("Shared Documents")

Out-File -FilePath 'C:\Demo\SPOScripts\siteexample.json' -InputObject $extracted -Encoding bigendianunicode

Das Erstellen eines SiteDesigns bietet sich auch dann an, wenn man mit JSON und vor allem dem Schema der Scripts noch nicht so vertraut ist. Man kann damit schnell lernen und auf einer Testsite seine eigenen Entwürfe anwenden, bevor man diese auf die Vorlagen anwendet.

Pflege der Scripts und Designs

Soll ein Script im Web geändert werden, was relativ häufig vorkommt, hilft der Befehl Set-SPOSiteScript. Hier muss dann wieder der neue Inhalt und natürlich die ID des Scripts angegeben werden. Soll ein Design geändert werden, weil diesem zum Beispiel ein neues Script hinzugefügt werden soll, so geht dies mit Set-SPOSiteDesign. Über die Befehle Remove-SPOSiteScript bzw. Remove-SPOSiteDesign kann ein Script/Design entfernt werden.

Fazit

SiteDesigns sind eine einfache und schnelle Möglichkeit Vorlagen in SharePoint online bereitzustellten. Dabei kann man flexibel auf Änderungen reagieren und schnell einen Mehrwert generieren.

Moden Sites Pages in SharePoint online deaktivieren

Modern Sites Pages sind eine im Sommer 2017 eingeführte Funktion in SharePoint online um Webseiten (Site pages) zu erstellen. Dies ist jetzt die Standardfunktion, d.h. wenn ein Benutzer eine neue Webseite erstellt, erstellt er eine Modern Sites Page. Auch wenn diese Seiten sehr interessant sind und viele spannende Möglichkeiten bieten, gibt es doch einige Nutzer welche die klassischen Wikiseiten bevorzugen. Dieser Blogartikel erläutert Ihnen wie Sie die statt Moden Sites Pages wieder herkömmliche Wikiseiten erstellten können. Die folgende Abbildung zeigt eine Modern Sites Page unmittelbar nach dem Erstellen.

Sie können die Funktion im Browser nur auf Ebene des Webs deaktivieren, nicht auf Ebene der Sitecollection. Gehen Sie dafür in die Websiteeinstellungen und dort in die Websitefeatures.

Suchen Sie dort das Feature Site Pages – Allows users to add new site pages to a site oder in Deutsch Websiteseiten – Gestattet Benutzern, neue Websiteseiten zu einer Website hinzuzufügen. Das war es dann auch schon.

Modern Sites Pages in SharePoint online deaktivieren

Modern Sites Pages sind eine im Sommer 2017 eingeführte Funktion in SharePoint online um Webseiten (Site pages) zu erstellen. Dies ist jetzt die Standardfunktion, d.h. wenn ein Benutzer eine neue Webseite (Page) erstellt, erstellt er eine Modern Sites Page. Auch wenn diese Seiten sehr interessant sind und viele spannende Möglichkeiten bieten, gibt es doch einige Nutzer welche die klassischen Wikiseiten bevorzugen. Dieser Blogartikel erläutert Ihnen wie Sie die statt Modern Sites Pages wieder herkömmliche Wikiseiten erstellten können. Die folgende Abbildung zeigt eine Modern Sites Page unmittelbar nach dem Erstellen.

Sie können die Funktion im Browser nur auf Ebene des Webs deaktivieren, nicht auf Ebene der Sitecollection. Gehen Sie dafür in die Websiteeinstellungen und dort in die Websitefeatures.

Suchen Sie dort das Feature Site Pages – Allows users to add new site pages to a site oder in Deutsch Websiteseiten – Gestattet Benutzern, neue Websiteseiten zu einer Website hinzuzufügen. Deaktivieren Sie das Feature, das war es dann auch schon. Schon vorhandene Seiten bleiben natürlich erhalten.

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular. oder schreiben Sie einen Kommentar.

Sie wollen mehr über mich erfahren? Dann stöbern Sie doch ein wenig auf dieser Site.

Neuer Onlinekurs Arbeiten mit SharePoint online und Grundlagen Office 365

Seit etwa 13 Jahren gebe ich IT Schulungen im SharePoint Bereich bzw. seit der Einführung auch für Office 365 oder früher Office online. Unter anderem habe ich schon 2004 den ersten vollständigen, deutschen SharePoint Kurs inkl. der Unterlagen entwickelt. Dabei habe ich bisher immer die Schulungen als Präsenzschulungen gehalten, was eigentlich immer gelungen ist. Sicher, es gab ab und zu einen Ausreißer, das ist aber völlig normal.

Jetzt erhalte ich aber mehr Anfragen für Schulungen bsp. für Office 365 als ich vor Ort leisten kann. Daher habe ich mich entschlossen zusammen mit dem Anbieter quofox.com verschiedene Schulungen online anzubieten. Es sind dies die Schulungen Office 365 Grundlagen und Arbeiten mit SharePoint online. Beide Kurse bieten Grundlagen in den beiden Themen und bieten einen hervorragenden Einstieg in die Thematik als auch Vertiefung wenn gewünscht. Die Kurse sind modular gegliedert und ermöglichen daher einen Einstieg auch auf einen höheren Level.

Ich habe vor, weitere Kurse anzubieten, vielleicht haben Sie ja eine Idee was für Sie interessant wäre? Ich würde mich über Anregungen freuen!

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular.

Sie wollen mehr über mich erfahren? Dann gehen Sie auf
http://www.nicothiemer.de

Websitespalten in der Suche für Verfeinerung nutzen in Office 365

In einem früherem Blogartikel hatte ich über die Verfeinerung von Suchergebnissen geschrieben. Dabei hatte ich nur eine SharePoint OnPremise Umgebung betrachtet und reiche daher jetzt die entsprechenden Einstellungen unter Office 365 nach. Zum Verständnis dieses Beitrags ist es sicher sinnvoll den oben verlinkten Artikel zuerst zu lesen.

In Office 365 sind die Einstellungen im Wesentlichen gleich, bis auf einen entscheidenden Unterschied, welcher das Anpassen des Suchschemas betrifft. Immer wenn ich eine neue verwaltete Eigenschaft zum Verfeinern nutzen möchte, muss ich im Index ein Full Crawl ausführen. Es liegt auf der Hand, dass dies in Office 365 nicht ohne weiteres möglich ist. Wie also kann ich meine neuen verwalteten Eigenschaften trotzdem zum Verfeinern nutzen?

Die Antwort darauf ist ebenso simpel wie genial. Es gibt schon vorgefertigte verwaltete Eigenschaften welche ich nur noch mit meinen durchsuchten Eigenschaften füllen muss. In meinem Beispiel habe ich eine Dokumentenverwaltung in der ich die Spalte Phase verfügbar machen möchte.

Damit die Eigenschaft genutzt werden kann, muss die Dokumentenbibliothek (re)indiziert werden. Gehen Sie auf die Einstellung der Bibliothek und dort auf Advanced settings. Etwa in der Mitte der Seite gibt es den Eintrag Reindex Document Library. Klicken Sie auf die Schaltfläche Reindex Document Library.

Gehen Sie dann in die Verwaltung der Suche und in Anpassung des Suchschemas in Office 365.

Die vorbereiteten Eigenschaften finden Sie unter dem Schlagwort refinable. Abhängig vom Datentyp stehen verschiedene Eigenschaften zur Verfügung. Welche Typen dies sind und welche Werte diese speichern könne, steht hier: https://technet.microsoft.com/en-us/library/jj219667%28v=office.15%29.aspx#DefaultUnusedMPs

Für einen Test rufen Sie die Eigenschaft RefinableString00 auf. Um die Eigenschaft aufrufen für können, müssen Sie eventuell blättern. In Abweichung zur normalen Oberfläche können Sie dies hier oben rechts.


Öffnen Sie dann die verwaltete Eigenschaft RefinableString00, gehen Sie zu dem Abschnitt Mappings to crawled properties und klicken Sie auf Add a Mapping. Wenn scheinbar nichts passiert, scrollen Sie auf der Seite ganz nach oben. Suchen Sie die durchsuchte Eigenschaft und klicken Sie auf OK. Wiederholen Sie dies ggf. für weitere durchsuchte Eigenschaften.

Vergeben Sie anschließend im Abschnitt Alias eine Beschriftung unter der Sie die Eigenschaft später wieder finden möchten. Damit ist die Einstellung abgeschlossen.

Wenn Sie jetzt den Webpart für Verfeinerungen anpassen, können Sie diese Eigenschaft auswählen und die entsprechend zugeordneten Werte stehen ihn zur Verfügung. Allerdings kann dies eine Weile dauern.

 

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular.

Sie wollen mehr über mich erfahren? Dann gehen Sie auf
http://www.nicothiemer.de

Arbeiten mit den Visio Services in SharePoint – ein Beispiel

Die Visio Services sind ein Feature von Microsoft SharePoint Enterprise oder SharePoint online P2, welcher auch ab dem E3 Tarif enthalten ist. Damit ist es möglich Visio Shapes in SharePoint darzustellen und damit zu interagieren. Leider nehme ich diese Funktionen bisher nur sehr selten wahr. Vielleicht liegt dies auch daran, dass es dafür bisher scheinbar zu wenige Anwendungsfälle gibt. Dieser Artikel zeigt einen Anwendungsfall und damit die wie Visio Services in SharePoint genutzt werden können. Es soll eine SharePoint Liste existieren, welche Auslastungsdaten von verschiedenen Servern enthält. Je nachdem wie sich diese Werte ändern sollen die Werte in dem Visio Shape eine andere Farbe erhalten. Dass Visio Shape visualisiert dabei die Server.

Damit Visio Shapes in SharePoint genutzt werden können, müssen diese über ein spezielles Format veröffentlicht werden. Möglich ist dies nur mit Microsoft Visio Professionell ab der Version 2010.

Die Abbildung unten zeigt die verwendete Liste in SharePoint.

Öffnen Sie Microsoft Visio Professionell und erstellen Sie ein neues Shape basierend auf der Vorlage Standard–Netzwerkdiagramm. Ziehen Sie vier Serversymbole auf ihr Zeichenblatt. Klicken Sie anschließend im Menüband auf Daten -> Daten mit Shapes verknüpfen.

Wählen Sie Microsoft SharePoint Foundation-Liste und geben Sie die URL der Website ein in der sich die Liste befindet. Wählen Sie anschließend die Liste aus. Stellen Sie den Dialog fertig. Sie sehen jetzt das Shape mit der Liste in Microsoft Visio.

Ziehen Sie jetzt die jeweiligen Listeneinträge auf die jeweiligen Serversymbole. Damit wären die Shapes schon mit den SharePoint Daten verbunden. Um jetzt noch Farbe ins Spiel zu bringen, markieren Sie alle Server Shapes und klicken Sie im Menüband Daten auf Datengrafiken und wählen Sie Neue Datengrafik erstellen.

Klicken Sie Neues Element -> Feld auswählen -> RAM Auslastung. Angezeigt als Farbe nach Wert. Tragen Sie die Werte wie in der folgenden Abbildung ein.

Beenden Sie den Dialog und bestätigen Sie, dass Sie die Grafik auf die ausgewählten Shapes anwenden wollen. Das Ergebnis könnte wie in der folgenden Abbildung aussehen.


Sie können jetzt noch Legenden einfügen, Anmerkungen und vieles weiteres. Wenn Sie die Bearbeitung abgeschlossen haben, speichern Sie die Datei im Format Visio 2010 Webzeichnung (*.vdw) direkt in SharePoint.

Die Datei kann dann in SharePoint betrachtet werden. Immer wenn sich der Wert des Feldes RAM Auslastung in der Liste ändert, ändert sich kurz danach auch die Farbe des Visio Shapes. Per JavaScript kann auf Klicks in dem Visio Shape reagiert werden. Es gibt auch ein Webpart um die Visio Datei innerhalb einer Seite anzuzeigen. Dies ist nur ein kleines Beispiel was mit den Visio Services möglich ist. Wenn Sie eigene Lösungen haben, lassen Sie es mich wissen!

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular.

Sie wollen mehr über mich erfahren? Dann gehen Sie auf
http://www.nicothiemer.de

Nico Thiemer