SharePoint Online Site Designs – 2. del

V prejšnjem članku sem napisal uvod, v katerem sem predstavil kako se lahko začne s predlogami mest po meri v SharePoint Online. Zapisano je bilo, da moramo za pripravo predloge pripraviti JSON shemo in jo uvoziti v SharePoint Online in nato lahko predlogo tudi izberemo iz spustnega seznama pri ustvarjanju nove zbirke mest.

V tem članku nadaljujem z opisom orodij, ki nam lahko pomagajo pri pripravi JSON sheme in predstavil bom tudi prve korake za izdelavo bolj kompleksnih predlog z uporabo Microsoft Azure.

Orodja za pripravo JSON sheme

Obstoječe mesto

Ker nam je velikokrat lažje referenčno mesto naklikati, kot pa na roke pisati JSON shemo, nam je Microsoft pripravil zelo uporabno orodje oz. cmdlet v SharePoint Online PowerShell modulu, kjer lahko konfiguracijo pripravljenega mesta uporabimo za izvoz sheme.

Prvo kar moramo narediti, je seveda priprava referenčnega mesta, z vsemi seznami knjižnicami in ostalimi želenimi elementi. Nato pa moramo uporabiti nekaj SharePoint Online PowerShell skriptiranja. Spodnji primer je za zbirko mest v moji naročnini:

Get-SPOSiteScriptFromWeb -WebUrl "https://r0b3r70.sharepoint.com/sites/Pika-WebTemplate" `
    -IncludeBranding -IncludeTheme -IncludeRegionalSettings -includedLists ("Lists/Potni nalogi","Pomembni dokumenti") `
    | out-file "C:\Temp\SPO\Pika-exported-site-script.json"

Primer izvožene sheme z vključenimi seznami:

Izvoženo shemo lahko nato uporabimo za ustvarjanje novih mest, kot je bilo opisano v prvem delu te serije člankov.

SiteDesigner.io

SiteDesigner.io je spletna stran, ki jo lahko uporabite za izdelavo sheme za pripravo vaše predloge mesta.

S tem orodjem je priprava res preprosta, saj se vam ni potrebno ukvarjati s sintakso, temveč samo definirate želene elemente in shema se avto-magično pripravi za vas v realnem času.

Primer predloge narejene z sitedesigner.io:

Pomanjkljivost orodja sitedesigner.io pa je v tem, da nam ne dopušča dodajanja bolj naprednih akcij v site scripts, kot je npr dodajanje akcije, ki sproži ali »PowerAutomate« (bivši »MS Flow«) ali pa sprožitev akcije v Logic Apps v MS Azure.

Napredne akcije za oblikovanje spletnih mest

Ena od velikih pomanjkljivosti uporabe »site scripts« je v tem, da v JSON shemi ne moremo definirati npr, kateri gradniki so na kateri strani, na straneh ne moremo definirati sekcij in kako so sekcije oblikovane, tako da se moramo v procesu izdelave poslužiti tudi drugih orodij v paketu O365 ali pa celo uporaba MS Azure.

V preteklosti je bilo priporočilo, da se za tovrstne akcije uporablja Microsoft Flow oz. kot ga poznamo sedaj, PowerAutomate, vendar pa se je s spremembami licenčne politike v februarju 2019, kjer je sprožilec »When an HTTP request is received« postal del P1 ali premium licence to spremenilo in se sedaj priporoča kar uporaba Microsoft Azure in Logic Apps.

Uporaba LogicApps

Pri uporabi MS Azure so vse storitve vezane ne naročnine, ki jih imate na voljo. Da bi lahko uporabili Azure Logic Apps, moramo najprej narediti nov »Resource group«

Ko imamo resource skupino narejeno, lahko potem naredimo novo instanco »Logic App«.

Pri ustvarjanju novega Logic App morate navesti tudi nekaj dodatnih parametrov:

  • Name: Ime ki si ga izberete za Logic App
  • Subscription: ker je uporaba vezana tudi na stroške, morate definirati na katero naročnino bo ta aplikacija vezana.
  • Resource group: Lahko ustvarite novo ali uporabite obstoječo, v kateri že imate določene vire, ki jih uporabljate za funkcionalnost na Azurju.
  • Location: lokacija datacentra v katerem bo aplikacija tekla

Ko je aplikacija ustvarjenva, si moramo najprej izbrati sprožilec za zagon aplikacije

Ker bomo pri procesu ustvarjanju SharePoint mesta poklicali tudi logiko, ki se izvaja na SharePoint Online, si moramo kot sprožilec izbrati »When a http request is received«.

Ko si izberemo sprožilec, se nam nato odpre »Logic app designer« v katerem je sprva samo ena akcija, in sicer kot prikazuje slika:

V tem koraku imamo 2 zelo pomembna podatka:

  • HTTP POST URL à ki ga bomo potrebovali v »Site scripts« na SharePointu in se pokaže, ko prvič logic app shranimo
  • JSON shema za zahtevek àje shema v kateri se bo poslal zahtevek na MS Azure in ki jo moramo definirati kot je napisano spodaj.
{
     "type": "object",
     "properties": {
         "webUrl": {
             "type": "string"
         },
         "parameters": {
             "type": "object",
             "properties": {
                 "event": {
                     "type": "string"
                 },
                 "product": {
                     "type": "string"
                 }
             }
         }
     }
 }

Na strani Microsoft Azure moramo seveda narediti še nekaj konfiguracije za to, da bomo lahko definirali tudi akcije ki se morajo zgoditi, ko pride zahtevek s strani SharePoint Online na Microsoft Azure.

Za konec prilagam samo še JSON shemo, ki jo moramo dodati v site script, ki smo ga pripravili ali z orodjem, na roke ali pa s pomočjo izvoza že obstoječega SP mesta. Akcijo za zagon Power Automate ali Logic app-a lahko dodate na poljubno mesto znotraj vaše »siteScript.json« datoteke.

{
      "verb": "triggerFlow",
      "url": "[paste the workflow trigger URL here]",
      "name": "Apply Template",
      "parameters": {
          "event":"",
          "product":""
      }
    }

V tem članku smo začeli s pripravo bolj naprednih funkcionalnosti, ki zahtevajo integracijo tudi z drugimi MS produkti. V naslednjem članku pa nadaljujem z opisom konfiguracije, ki je potrebna na strani Microsoft Azure, da bi lahko uspešno integrirali SharePoint Online z logic app, ustvarjanje app only access za logic app na strani SharePoint Online in seveda tudi test ustvarjanja novega mesta.

Robi Vončina

Avtor: Robi Vončina

Office Servers and Services MVP, MCT

Dodaj odgovor

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