Web / Site Templates v SharePoint Online Modern Pages? Ni problema.

Predstavljajmo si, da bi radi imeli site template (predlog strani) s preddefiniranim designom, sekcijami, web parti, seznami z dodatnimi polji, custom page settings itd.

Če ste domači s SharePoint On-Prem verzijami, potem poznate Site Definitions ali Web Templates, ki so namenjene ravno temu. Ampak kaj lahko storimo v SharePoint Modern Sites časih, ko tega nimamo več za SharePoint Online?

Naučiti se moramo nekaj novega – tukaj obstajajo Site Scripts in Site Designs za nekatere izmed osnovnih korakov v procesu kreiranja našega Web / Site Template-a oz predloge. Kaj vse lahko ustvarite s Site Scripts si lahko pogledate na tem linku: https://bit.ly/2FacHEr  Ampak scope modificiranja s Site Scripts je zaenkrat še kar ozek, zato moramo poiskati po alternativah.

V SharePoint svetu imamo na voljo SharePoint PowerShell module, kar nam omogoča, da lahko uporabimo PowerShell za modificiranje naših Modern Pages na SharePoint Online. Ampak mi bi radi, da se to zgodi avtomatično, ko je kreiran nov Web/Site -> torej radi bi to zapekli v nek Web/Site Template.

To je mogoče samo s Site Scripts in Site Designs. Na srečo lahko povežemo našo PowerShell skripto s Site Scripts in Site Designs preko Microsoft Flow-a, kateri lahko kliče Azure Function App, katera vsebuje PowerShell skripto.

Ampak PnP tim je šel dlje s PnP Provisioning Engine v njihovem PnP PowerShell modulu, s katerim lahko enostavno specificiraš Web / Site Template v eni XML datoteki in jo vstaviš v svojo PowerShell skripto, katera je klicana iz Site Scripts preko MS Flowa.

Poglejmo si enostaven primer.

Uporabljali bomo SharePoint Online, zato moramo poinštalirati PnP PowerShell module za SharePoint Online:

Install-Module SharePointPnPPowerShellOnline 

Če ga imate poinštaliranega že od prej, ga morate posodobiti na zadnjo verzijo z naslednjim ukazom:

Update-Module SharePointPnPPowerShellOnline 

Nato se morate povezati na enega izmed Modern Site-ov v vašem SharePoint Online, kateri je lahko Modern Team Site ali pa Modern Communcation Site. V mojem primeru bom delal z Modern Communcation Site.

Connect-PnPOnline -Url "https://rr87.sharepoint.com/sites/TestCMS4" -Credentials (Get-Credential) 

Za tem lahko npr. enostavno dodate novo polje (field) v obstoječo SitePages knjižnico z naslednjim ukazom:

Add-PnPField -List "SitePages" -DisplayName "Tip" -InternalName "NewsType" -Type Choice -Required -Group "News Site Columns" -AddToDefaultView -Choices "Novosti", "Dogajanja", "Dnevne novice" 

In to je lahko že naša PowerShell skripta za naš Web / Site template v SharePoint Online, ki je lahko poklican iz Site Scripts preko Flowa. Ampak mi hočemo več, zato bomo uporabili PnP Provisioning Engine.

Radi bi kreirali Site Template (kot je prikazan spodaj na sliki), kjer bi radi imeli sekcijo v dveh stolpih. V levi sekciji bi radi imeli glavni News Web Part. V desni pa custom Tiles Web Part, News Web Part za specifično news kategorijo in Event Web Part.

V ta namen bomo ustvarili XML datoteko in jo poimenovali CMS.xml.

Preostanek članka si lahko preberete tukaj.

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja