Skip to content

Instantly share code, notes, and snippets.

@chrisobriensp
chrisobriensp / Teams_SampleTemplate.json
Last active March 2, 2019 21:07
Teams_SampleTemplate.json
{
"[email protected]": "https://graph.microsoft.com/beta/teamsTemplates/standard",
"visibility": "Private",
"displayName": "Sample Engineering Team",
"description": "This is a sample engineering team, used to showcase the range of properties supported by this API",
"channels": [
{
"displayName": "Announcements 📢",
"isFavoriteByDefault": true,
"description": "This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements."
@chrisobriensp
chrisobriensp / SimplePnPTemplate.xml
Created January 27, 2019 19:11
A simple PnP template - provisions a modern home page with specific web parts, a content type and a document library. Also adds an entry to the web property bag. (This template is part of my Site Designs/PnP templating integration blog post).
<?xml version="1.0"?>
<pnp:Provisioning
xmlns:pnp="http://schemas.dev.office.com/PnP/2018/01/ProvisioningSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.dev.office.com/PnP/2018/01/ProvisioningSchema https://raw.githubusercontent.com/OfficeDev/PnP-Provisioning-Schema/master/OfficeDevPnP.ProvisioningSchema/ProvisioningSchema-2018-01.xsd" xmlns:xi="http://www.w3.org/2001/XInclude">
<pnp:Preferences Generator="OfficeDevPnP.Core, Version=2.22.1801.0, Culture=neutral, PublicKeyToken=3751622786b357c2" />
<pnp:Templates ID="COB-TEMPLATES">
<pnp:ProvisioningTemplate ID="COB-TEAMSITE" Version="1" BaseSiteTemplate="GROUP#0" Scope="RootSite">
<pnp:RegionalSettings AdjustHijriDays="0" AlternateCalendarType="None" CalendarType="Gregorian" Collation="25" FirstDayOfWeek="Monday" FirstWeekOfYear="0" LocaleId="2057" ShowWeeks="false" Time24="false" TimeZone="2" WorkDayEndHour="5:00PM" WorkDays="62" WorkDayStartHour="8:00AM" />
<pnp:ClientSidePages>
@chrisobriensp
chrisobriensp / SiteDesigns_AddSiteDesign.ps1
Created January 14, 2019 17:41
Registers a SharePoint site design
# site script ID is obtained from previous output..
$cobProjectSiteScriptIdAsString = "be7c02a8-9134-4961-921a-cffc4772e97c"
Add-SPOSiteDesign `
-Title "COB project site" `
-WebTemplate "64" `
-SiteScripts $cobProjectSiteScriptIdAsString `
-Description "Creates a COB project site with a theme applied"
@chrisobriensp
chrisobriensp / SiteDesigns_AddSiteScript.ps1
Created January 14, 2019 17:31
Registers a SharePoint site script
$creds = Get-Credential
$tenantAdminUrl = "https://[TENANT]-admin.sharepoint.com"
Connect-SPOService -Url $tenantAdminUrl -Credential $creds
Get-Content 'C:\[PATH]\COB_ProjectSite.json' -Raw | Add-SPOSiteScript -Title "COB project site script"
@chrisobriensp
chrisobriensp / COB_ProjectSite.json
Last active November 8, 2019 12:07
A SharePoint Site Design which configures a modern theme, calls a Flow, and provisions some document libraries (including column formatting), fields and navigation links.
{
"$schema": "schema.json",
"actions": [
{
"verb": "applyTheme",
"themeName": "COB purple"
},
{
"verb": "triggerFlow",
"url": "https://prod-48.westeurope.logic.azure.com:443/workflows/791dab19ffb3455cbfe58b6ac556e37c/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=ZfoL7_0JXwg_Mv3_BmyCN-Z5W-l2eehRI8Ga0jWzPH4",
@chrisobriensp
chrisobriensp / Flow_HttpTrigger_RequestSchema.json
Created January 12, 2019 20:06
Schema describing the request to call a Flow's HTTP URL, passing a webUrl (for site provisioning).
{
"type": "object",
"properties": {
"webUrl": {
"type": "string"
}
}
}
@chrisobriensp
chrisobriensp / COB_OpportunitySite.json
Last active January 14, 2019 17:14
A SharePoint Site Design which adds some document libraries, fields and navigation links.
{
"$schema": "schema.json",
"actions": [
{
"verb": "createSPList",
"listName": "CLIENT SHARED DOCUMENTS",
"templateType": 101,
"subactions": [
{
"verb": "SetDescription",
If(Connection.Connected, Color.Green, Color.Red)
If(Connection.Connected, "Connection status - connected", "Connection status - NOT connected")
@chrisobriensp
chrisobriensp / ApplyPnPTemplate.cs
Last active January 14, 2019 18:48
An Azure Function to apply a PnP template - can be integrated with a SharePoint Site Design to perform further provisioning steps to the Site Design.
using System;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.SharePoint.Client;
using OfficeDevPnP.Core;
using OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers;
using OfficeDevPnP.Core.Framework.Provisioning.Connectors;
using OfficeDevPnP.Core.Framework.Provisioning.Model;
using OfficeDevPnP.Core.Framework.Provisioning.Providers.Xml;
using System.IO;