• Stars
    star
    760
  • Rank 59,770 (Top 2 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Modern SharePoint Starter Kit - End-to-end showcase solution to get started with modern experiences.

SharePoint Starter Kit v3

The SharePoint Starter Kit (starter kit) is a comprehensive solution designed for SharePoint Online which provides numerous SharePoint Framework (SPFx) web parts, extensions, and other components, as well as PnP PowerShell driven provisioning which you can use as an example and inspiration for your own customizations.

PnP Starter Pack Front Page

Starter Kit V3 does not support SharePoint 2019 and SharePoint Server Subscription Edition.

Starter Kit Version 1 includes a comprenshive strategy for only SharePoint Online, as well as a single SPFx solution that encapsulates all webparts and extensions into a single package. Version 1 may be accessed via the v1 branch for legacy purposes and will not be maintained beyond April 2020.

Notice: There currently is not a direct path for upgrading an existing SharePoint Online tenant with the starter kit v1 to v3. V3 may be installed into a tenant with v1 already installed, by default, this will add a tenant wide duplicate all of webparts and extensions. It is recommended that the starter kit v1 be removed from a tenant before adding v3, or creating a custom installation of v3.

Starter Kit Version 2 includes a strategy for SharePoint Online and SharePoint 2019 and includes individual SPFx solutions for each webpart and application customizer. Version 2 may be accessed via the v2 branch for legacy purposes and will not be maintained beyond February 2023. Starter Kit Version 2 is the only version that supports SharePoint 2019.

Notice: The direct path for upgrading an existing SharePoint Online tenant with the starter kit v2 to v3 is to only install / invoke the starterkit-spfx-only.pnp provisioning template found in the ./provisioning folder. This provisioning template will only upgrade the existing SPFx solutions to V3 (SPFx version 1.16.1), and will not recreate the sample sites.

Notice: the starter kit adds tenant level settings including themes, site designs, taxonomy term sets, and other adjustments. Therefore, it is recommended to test the starter kit in an isolated test tenant and not immediately execute it within your production environment.

Table of contents

Objectives of this solution

SharePoint Communication Sites and Team Sites have great out-of-the-box capabilities, although the out-of-the-box capabilities may not always be sufficient for your scenarios. This is exactly why SharePoint may be extended and you are able to include your own customizations. This solution addresses common scenarios and tasks you may encounter when introducing those customizations, and provides examples and guidance on how you might address and provision them including:

  • Automated provisioning of simple demo content within a communication site
  • Automated provisioning of multiple team sites with pre-configuration and hub site association
  • Automated provisioning of the whole solution to any tenant within minutes
  • Automated configuration of Site Scripts and Site Designs at the tenant level using the PnP Remote Provisioning engine (SharePoint Online only)
  • Implementation of different customizations for SharePoint
  • Usage of Fluent UI and reusable PnP SPFx controls within the customizations

Additional high resolution screenshots are also available: front page.

SharePoint Starter Kit v3 has following objectives

  • Extend the success of v1 and v2 by providing developers a customization and provisioning strategy for SharePoint Online
  • Demonstrate new SharePoint Online UX design and layout capabilities including:
    • Full height vertical columns
    • Compact headers
    • Mega menus
    • Background theming
  • Support web parts, extensions, and libraries to be deployed one-by-one to tenants or farms
  • Demonstrate teams tab development with SharePoint Framework for suitable web parts in SharePoint Online
  • Demonstrate Microsoft Graph API and Graph Toolkit (current version mgt-react 2.9.0) usage in SharePoint Online

Pre-requirements

Here are current pre-requirements for making this solution work in your tenant.

  1. You will need to be a tenant administrator to be able to deploy this solution

  2. Automatic end-to-end provisioning only works with English tenants

  3. Add the tenant administrator account used during provisioning as Term Store Administrator in the Taxonomy Term Store through the SharePoint Admin Center.

  4. A tenant 'App Catalog' must have been created within the 'Apps' option of the SharePoint Admin Center.

It is recommended that you wait up to 24 hours before attempting to provision this solution if any of the following are true

  • Your SharePoint tenant was just created
  • You just created your SharePoint tenant app catalog

This project will install Microsoft Graph Toolkit for SPFx version 2.9.0 into the app catalog. If you have another version already installed, you will want to remove that package before installing the Starter Kit

Getting started

Shortest path to success for SharePoint Online - The following steps will help you get started in any SharePoint Online tenant as fast as possible.

Starter Kit v3 no longer supports SharePoint 2019, refer to the SharePoint 2019 installation instructions for v2

  • Ensure you meet the Pre-requirements

  • Ensure that you meet the requirements for SharePoint Framework development and are using the latest version of PnP PowerShell. Latest confirmed version of PnP PowerShell: 1.12.0.

  • Prepare your tenant, by accomplishing the tasks highlighted in document Preparing your tenant for the PnP SharePoint Starter Kit

  • Open PowerShell, and use PnP PowerShell to connect to any site in your tenant with the Connect-PnPOnline cmdlet using your own tenant url. For more information on authenticating with PnP PowerShell, see documentation

    Connect-PnPOnline https://contosodemosk.sharepoint.com
  • Change to the provisioning folder found in this solution's root and execute the following command (using your own tenant url and the prefix of your choosing):

    Invoke-PnPTenantTemplate -Path .\starterkit.pnp

    This will provision three site collections with urls of /sites/demoportal, /sites/demohr, and /sites/demomarketing. Your urls may vary depending on the managed path you selected for team sites in your tenant administration (this defaults to 'sites').

  • This solution will automatically install multiple SPFx webparts that require API permissisons to the Graph API. After installing this solution, access your API Management page in your SharePoint Admin Center and approve the pending requests.

Notice that the starter kit also adds tenant level settings including themes, site designs, taxonomy term sets, and other adjustments. Therefore, it is recommended you test the starter kit in an isolated test tenant and not immediately execute it within your production environment.

Learn more

Custom Web Parts

Here are the custom web parts currently included in the solution package.

Screenshot Web Part Description Compatibility Code
Banner Creates a banner with an image and overlaid text. SPO only code
Followed Sites Shows the list of sites which particular user is following SPO only code
Links Link list web part which is using collection data editor and stores the links in web part properties SPO only code
LOB integration Sample web part to surface LOB information from API hosted in Azure. SPO only code
People Directory People directory web part uses the people search API to get list of people to show. SPO only code
Personal Calendar Shows upcoming calendar meetings for the particular user using Microsoft Graph. SPO only code
Personal Contacts Personal contacts for particular user using Microsoft Graph. SPO only code
Personal Email List latest personal emails for the current user using Microsoft Graph. SPO only code
Personal Tasks Show personal tasks for the current user using Microsoft Graph. SPO only code
Recent Contacts Show recent contacts for the current user using Microsoft Graph. SPO only code
Recently Used Documents Show recently used documents for the current user using Microsoft Graph. SPO only code
Recently Visited Sites Show recently visited sites for current user using Microsoft Graph. SPO only code
Site Information Intended to collect and present additional metadata for group associated team sites. SPO only code
Stock Information (deprecated) Display stock information by using the live stocks service provided by Alpha Advantage. You will need to register for a custom key for this to work at the Alpha Advantage site and then include the key in the tenant properties. SPO ony code
Tiles Renders set of tiles. Icons are from Office UI Fabric and you can configure tiles using collection editor in web part properties. SPO only code
Weather Information Weather information web part which is using Yahoo Weather APIs to get the forecast information. SPO only code
World Time Clock web part to show the time in specific time zone. SPO only code

SharePoint Framework Extensions

Screenshot Extension Description Compatibility Code
Alert Notification Shows informational or important messages in the header section of pages based on a custom list information in the hub site. SPO only code
Collaboration Footer Shows company wide links which are configured using Taxonomy service. Includes also personalized links which are stored in user profile property if set. By default associated to group associated team sites when a custom Site Design is selected for new sites. SPO only code
Discuss Now Custom list view command set to add new custom dialog for document library that utilizes the Graph API. SPO only code
Portal Footer Expanding footer for communication site. Show standard company links and also supports personalized links for the current user which are stored in User Profile. SPO only code
Not available Redirect Can be used to perform automatic redirections of URLs in the site based on a custom list. SPO only code
Site Classification (deprecated) Renders a header with site classification information. This has been replaced by out-of-the-box SharePoint Online header functionality SPO only code
Not available Tab Page (deprecated) Renders a header with links between two different pages in the site. SPO only code

SharePoint Framework Libraries

Extension Description Compatibility Code
Shared library A shared library that includes shared locatization strings, consumabled by any other SPFx webpart or extension. SPO only code

Support and SLA for this project

The following statements apply across all of the PnP samples and solutions, including samples, core component(s) and solutions, including the SharePoint Starter Kit.

  • PnP guidance and samples are created by Microsoft & by the community
  • PnP guidance and samples are maintained by Microsoft & by the community
  • PnP uses supported and recommended techniques
  • PnP is an open-source initiative by the community – people who work on the initiative for the benefit of others, have their normal day job as well
  • PnP is NOT a product and therefore it’s not supported by Premier Support or other official support channels
  • PnP is supported in similar ways as other open source projects offered by Microsoft with support from the community, by the community
  • There are numerous partners that utilize PnP within their solutions for customers. Support for this is provided by the Partner. When PnP material is used in deployments, we recommend being clear with your customer/deployment owner on the support model

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

More Repositories

1

sp-dev-fx-webparts

SharePoint Framework web part, Teams tab, personal app, app page samples
TypeScript
2,029
star
2

PnP

SharePoint / Office 365 Developer Patterns and Practices - Archived older solutions. Please see https://aka.ms/m365pnp for updated guidance
C#
1,896
star
3

List-Formatting

List Formatting Samples for use in SharePoint and Microsoft Lists
TypeScript
1,755
star
4

PnP-PowerShell

SharePoint PnP PowerShell CmdLets
C#
987
star
5

cli-microsoft365

Manage Microsoft 365 and SharePoint Framework projects on any platform
TypeScript
896
star
6

pnpjs

Fluent JavaScript API for SharePoint and Microsoft Graph REST APIs
TypeScript
752
star
7

powershell

PnP PowerShell
C#
641
star
8

sp-dev-fx-extensions

Code samples and developer content targeted towards SharePoint Framework client-side extensions. https://aka.ms/spfx-extensions
TypeScript
637
star
9

PnP-Tools

Scripts and tools for Office 365 and SharePoint - More for IT Pro's
C#
510
star
10

sp-dev-solutions

Repository for SharePoint development reusable solutions
TypeScript
496
star
11

generator-teams

A Yeoman Generator for Microsoft Teams
TypeScript
425
star
12

PnP-Sites-Core

Microsoft 365 Dev PnP Core component (.NET) targeted for increasing developer productivity with CSOM based solutions.
C#
417
star
13

powerapps-samples

Contains curated community Microsoft Power App samples
404
star
14

sp-dev-fx-controls-react

Reusable React controls for SPFx solutions
TypeScript
384
star
15

pnpcore

The PnP Core SDK is a modern .NET SDK designed to work for Microsoft 365. It provides a unified object model for working with SharePoint Online and Teams which is agnostic to the underlying API's being called
C#
298
star
16

teams-dev-samples

Microsoft Teams sample applications and related content https://aka.ms/teams-samples
286
star
17

powerautomate-samples

Contains curated community samples for Microsoft Power Automate
260
star
18

sp-dev-fx-property-controls

Reusable SPFx property pane controls - Open source initiative
TypeScript
236
star
19

custom-learning-office-365

Microsoft Learning Pathways end user learning solution for Microsoft 365 customers.
TypeScript
230
star
20

script-samples

A sample gallery of scripts to manage all things Microsoft 365.
PowerShell
211
star
21

pnpframework

PnP Framework is a .NET library targeting Microsoft 365 containing the PnP Provisioning engine and a ton of other useful extensions
C#
206
star
22

copilot-prompts

Examples of prompts for Microsoft Copilot
192
star
23

generator-spfx

Open-source generator to extend the capabilities of the Microsoft SPFx generator
JavaScript
180
star
24

powerplatform-prompts

This repository contains a collection of prompt examples to be used with GPT models in the Power Platform.
175
star
25

powerplatform-samples

The website for the PnP Power Platform samples gallery, including Power Apps, Power Automate, Power Virtual Agents, Portals, etc.
173
star
26

powerapps-designtoolkit

This toolkit is a curated repo of Power Apps UI Guidance and Components that you can plug and play into your apps to transform your design.
169
star
27

PnP-Provisioning-Schema

Office 365 Patterns and Practices - Remote Provisioning Schema
160
star
28

sp-dev-site-scripts

Repository for sample SharePoint site designs and site scripts
158
star
29

modernization

All modernization tooling and guidance
C#
156
star
30

sp-power-platform-solutions

Sample PowerApps solutions designed to be used in SharePoint context
PowerShell
155
star
31

docker-spfx

Docker images for working with SharePoint Framework
Dockerfile
115
star
32

powerfx-samples

This repository contains samples for Power Fx low-code programming language https://github.com/microsoft/Power-Fx
113
star
33

sp-dev-fx-aces

Repository for the Microsoft Viva Connections Adaptive Card sample solutions from Microsoft and community.
TypeScript
110
star
34

AdaptiveCards-Templates

Samples on different adaptive card designs demonstrating the art of possible with them. Designs provided by the Microsoft design team and first versions targeting Viva Connections Adaptive Card Extensions (ACE) scenarios.
101
star
35

sp-dev-samples

Code samples for SharePoint add-ins, web hooks and other API samples
84
star
36

blog

holds all blogs published on the Microsoft 365 Platform Community blog
HTML
72
star
37

provision-assist-m365

Provision Assist is a request and provisioning solution for Teams, Groups, SPO Sites and Viva Engage Communities in Microsoft 365. It can be used as part of a Copilot for Microsoft 365 deployment.
PowerShell
63
star
38

sp-dev-fx-vs-extension

Visual Studio extension work around SPFx together with community
C#
57
star
39

sp-site-designs-studio

Code for the Site Design Studio solution
TypeScript
55
star
40

sp-editor

SP Editor is SharePoint Development Power Tool browser extension
JavaScript
50
star
41

sharing-is-caring

The "Sharing Is Caring" repository is used to provide guidance on the basics around making changes in GitHub.
50
star
42

sp-dev-build-extensions

Repo for different build extensions like gulp tasks and gulp plugins from the community for SharePoint development
JavaScript
48
star
43

spfx-reference-scenarios

Work repo for the SPFx in Teams samples
48
star
44

graph-connectors-samples

Microsoft Graph Connector samples
38
star
45

sp-formatter

SharePoint formatter Chromium Edge and Google Chrome browser extension
TypeScript
37
star
46

PnP-Transformation

Repository for the farm solution to add-in model transformation tooling and guidance
C#
36
star
47

vscode-viva

With the SharePoint Framework Toolkit extension, you can create and manage your SharePoint Framework solutions on your tenant. All actions you need to perform during the development flow are at your fingertips.
TypeScript
35
star
48

syntex-samples

SharePoint Premium samples
PowerShell
34
star
49

sp-dev-fx-library-components

Sample solutions from community around the SharePoint Framework library component
33
star
50

tutorial-workspace-provisioning

Tutorial to create an end-to-end Office 365 groups provisioning solution
C#
31
star
51

mgt-samples

A curated collection of community-contributed samples using the Microsoft Graph Toolkit
29
star
52

pnpassessment

Microsoft 365 SharePoint Assessment tool enabling various deprecation and adoption scenarios
C#
26
star
53

powerplatform-snippets

Repository with snippets that can easily be used in some of the Power Platform products
24
star
54

sp-design-assets

Repository for different design assets for SharePoint
23
star
55

action-cli-login

GitHub action to login to a tenant using CLI for Microsoft 365
TypeScript
23
star
56

FilterPack

Web parts providing different filtering capabilities using SharePoint Framework Dynamic Data capability
TypeScript
23
star
57

action-cli-deploy

GitHub action to deploy an app using CLI for Microsoft 365
TypeScript
19
star
58

proxy-samples

Configuration presets and mocks for Dev Proxy
18
star
59

media

Logos and media files used in PnP work
17
star
60

m365-sample-gallery

Backend control and assets for the Microsoft 365 Sample Gallery - https://adoption.microsoft.com/sample-solution-gallery
17
star
61

action-cli-runscript

GitHub action to run a script using CLI for Microsoft 365
TypeScript
17
star
62

teams-quickstart

Build your Teams application with no install and minimal effort
Dockerfile
14
star
63

powerva-samples

Contains curated community samples for Microsoft Power Virtual Agents
14
star
64

contoso

Demo ISV Shipping to Microsoft365
C#
13
star
65

mgdc-spo-governance

Use the MGDC datasets to enable SharePoint admins / service owners to make data driven decisions around general SPO governance
PowerShell
13
star
66

m365-extensibility-lookbook

File and asset storage for the Microsoft 365 Extensibility Lookbook - Exposed at https://aka.ms/m365-extensibility-lookbook
12
star
67

Community-Tooling

Miscellaneous tools and solutions used for community work (automation, batch updates etc.)
C#
11
star
68

sp-alm-devops-extension

SharePoint ALM - Azure DevOps Extension
11
star
69

sp-js-provisioning

JavaScript Provisioning Library
JavaScript
10
star
70

OrchestratedProvisioning

Provisioning solution for simplifying ad-hoc provisioning requirements in enterprise level
JavaScript
10
star
71

PnP-IdentityModel

Repository for PnP Identity Model NuGet package
C#
10
star
72

PnP.SafeDesk365

SafeDesk 365 - Sample solution built with Microsoft 365
CSS
10
star
73

docs

Centralized landing page for links for PnP open-source project documentation
7
star
74

pnp.github.io

Root repository for the GitHub pages setup for https://pnp.github.io
JavaScript
7
star
75

CAML-Designer

Public repository for the CAML Designer tool
C#
6
star
76

Microsoft365-Analytics-Insights

Advanced Analytics data collection for M365 usage
C#
6
star
77

sp-livereload

SharePoint Framework Live Reloader
TypeScript
5
star
78

predictors

C#
4
star
79

addin-transformation-guidance

Documentation about SharePoint add-in Transformation Guidance
4
star
80

m365-partner-showcase

Partner Showcase Gallery
4
star
81

telemetry-proxy-node

PnP Node.js based telemetry proxy for Application Insights
Batchfile
4
star
82

prompt-pulse

Prompt Pulse is a free Microsoft Teams Power App enabling users to schedule and share Microsoft 365 Copilot prompts via Adaptive Cards to Teams, Group Chats and Viva Engage communities. It uses SharePoint as a data source.
4
star
83

telemetry-js

PnP JavaScript based telemetry
TypeScript
3
star
84

teams-birthday-bot

A birthday bot that is using Power Automate, SharePoint and Adaptive Cards
3
star
85

generator-microsoft365

Booking namespace for possible future usage
3
star
86

sp-onprem-search-health-reports

2
star
87

pnp-hugo-theme

A Hugo theme for PnP sites
SCSS
2
star
88

Microsoft365-Adoption-Gamification

Microsoft365-Adoption-Gamification - Solution coming up here soon - so exciting!
2
star
89

tmp-o365cli

Testing repo for o365cli
TypeScript
2
star
90

graph-samples

Primary objective is to work as aggregator on the Microsoft Graph samples for the Unified Microsoft 365 sample gallery
2
star
91

copilot-feedback-bot

Get real feedback from your organisations users about how copilot is helping, with "Copilot Feedback Bot".
C#
2
star
92

wsl2

PnP WSL2 is a PowerShell Module providing cmdlets designed to simplify WSL instances management experience.
2
star
93

generator-365

1
star
94

vscode-pnp-powershell

With the PnP PowerShell VS Code extension, you can quickly learn, code and create scripts that use PnP PowerShell commands.
HTML
1
star
95

copilot-pro-dev-samples

Community contributed samples for the Microsoft 365 Copilot. Contributions welcome.
1
star