flexible, scalable self-service provisioning using office pnp
TRANSCRIPT
DSS mal: Startside Velg selv bilde
Flexible, scalable self-service provisioning using PnP
Ole Kristian Mørch-Storstein (Puzzlepart)Randi Thomsen (DSS)
Fabian Forster DSS)
Randi ThomsenOle Kristian Mørch-Storstein
Fabian Forster
Agenda• Business case (Randi & Fabian)• PnP Provisioning engine• Moving parts
– Demo• Provisioning service• Templates• Next steps
Klikk ikonet for å legge til et bilde
• Ordinært forvaltningsorgan underlagt Kommunal- og moderniseringsdepartementet
• Leverer fellestjenester til alle departement, samt Statsministerens kontor
• Budsjett ca. 700 mill. kroner
• Brukerbetalte inntekter ca. 100 mill. kroner
• Ca. 700 ansatte
• Leverer over 70 tjenester
Visjon:
"Et effektivt og attraktivt byråkrati"
Kort om DSS
sammenom jobben
::: utgangspunkt i felles arbeidsoppgaver
::: stegvis tilnærming, bygge sten på sten
::: digital kompetanse
::: utgangspunkt i gjeldende teknologi
Digital samhandling i praksis med
Tett samarbeid med brukere!
Målarkitektur
01.05.2023 9
• Virksomhetens behov knyttet til samhandling• Hvilke kapabiliteter/evner (capabilities) vi trenger for å
understøtte virksomhetens behov• Beskrivelse av nåsituasjon for alle arkitekturområdene
(basisarkitektur)• Beskrivelse av målbilde for alle arkitekturområdene i ett
2-3 års perspektiv (målarkitektur)• Gapanalyse mellom nåsituasjon og målbilde• Forslag til produkter og arbeidspakker• 2-3 års perspektiv
Samhandling :::
01.05.2023 10
01.05.2023 11
MÅLTilrettelegge for gode arbeidsformer
og effektive arbeidsprosesser i departementsfellesskapet
faglig sekretariat for politisk ledelse, politikkutforming
politikkgjennomføring og etatsstyring
intern administrasjonog forvaltning
For å lykkes må vi…• se arbeidsprosesser,
kompetanse og teknologi i sammenheng
• utnytte teknologien riktigere og skape en god praksis for samhandling og informasjonsdeling
• sørge for god forankring og motivere lederne til å gå foran som rollemodeller og pådrivere
• etablere en plan for informasjonsstyring
SHAREPOINT ON-PREMIS
Prosjektets leveranser :::
TEKNISK RAMMEVERK
HELHETLIG INFORMASJONSSTRUKTUR
DESIGNINNFØRINGS-
PAKKE
Løsning for gjennomføring av
prosjekter
Selv-betjeningsside
for samarbeidsrom
Løsning for Melding til Stortinget
Kunnskaps-base
Eksternsamhandling(Office365)
Andre >systemer
Arkiv-system
INTEGRASJON
Fremtidige romtyper
Tech
Concept
Self service collaboration site (collection) creation, based on re-usable templates
Code samples
Guidance documentation
Monthly community calls
Case Studies
ThemesSharePoint add-insMicrosoft Graph, Office 365 APIs etc.Remote provisioningClient side development
Sharing is caring…
http://aka.ms/OfficeDevPnP
What is the PnP Provisioning Engine?• Open source community effort• Framework for easily doing Remote Provisioning
– Part of the OfficeDev PnP Core Library– Object Oriented engine for easy and fast Remote Provisioning
• Capabilities– Automated Remote Provisioning– Easy Site Template Generation/Extraction– Available in Microsoft .NET– There are PowerShell extensions for common tasks
• Supports templating of sites and artifacts– Reusable, updatable (delta handling)
Long story short…• The PnP provisioning engine wraps CSOM and makes
deployment and maintenance a breeze• What we show you today contains NO WSPs (fulltrust or
sandboxed)• 100% reliant on CSOM (client side and managed)
Moving parts
Provisioning Service(n instances)
Admin SiteProvisioning QueueAp
p Auth
entica
tion
New Collaboration rooms(Site Collections)
Site Templates (PnP)
Provisioning service• Uses the Office PnP provisioning engine at
its core• Pulls requests from a queue • Notification emails
Microsoft.SharePoint.Client.Utilities.Utility.SendEmail
• Creates site collections• Applies templates
Klikk ikonet for å legge til et bilde
Demo
Why we chose to use PnP• Pure native SharePoint API never an option• No support for Office 365• Rolling our own would require us to maintain the entire
provisioning process ourselves, from template to actual CSOM calls
• PnP allows us to contribute back to the community– About 10 pull requests to date, mostly bugfixes
https://twitter.com/sahilmalik/status/700297537174032384
Templates• Templates are XML• PnP provisioning schema covers most
artifacts you can deploy declaratively with WPSs
• Can be exported!
Klikk ikonet for å legge til et bilde
Show & tell
Exporting templates• Export allows for rapid prototyping, especially
of content types and fields• Use PnP PowerShell to do exports:
– Get-SPOProvisioningTemplate– Tip #1 use the Handlers parameter in order to
only export the parts you want, e.g. ContentTypes
– Tip #2 run the following command before an export (or import) with powershell in order to get more loggingSet-SPOTraceLog –On –Level Debug
Klikk ikonet for å legge til et bilde
Pitfalls and issues when exporting• Only files related to the composed look, and
a select few other files are exported. All other files are left behind
• Lookup-fields are in many cases defined (incorrectly) on list instances, should be moved to fields definition
• Taxonomy fields are exported with the ID of the term store hard-coded (SsipID), should be replaced with {sitecollectiontermstoreid}+++
Klikk ikonet for å legge til et bilde
Next steps• To the cloud!• Support hybrid provisioning • Use combination of Azure service bus and web job(s) to
provision select rooms in Office 365• Inspired by
https://github.com/OfficeDev/PnP/tree/master/Samples/Provisioning.Hybrid.Simple
• Presentation here https://channel9.msdn.com/blogs/OfficeDevPnP/Hybrid-site-collection-provisioning-from-Azure-to-on-premises
Q&A