How to provision and deploy the PnP SharePoint Starter Kit part two

Update: The SharePoint Starter Kit is now a solution that’s available to apply from the SharePoint Online Provisioning Service:
https://provisioning.sharepointpnp.com/

This is second part of my two-part series on how to provision and deploy the SharePoint starter kit into your SharePoint tenant. You can read part one below:

How to provision and deploy the SharePoint Starter Kit part one

At this point all the pre-requirement steps should be completed, our Office 365 tenant should have an app catalog site, a dev site collection and a custom user profile service property.

Download the SharePoint Stater Kit

In order to deploy the SharePoint Starter Kit to your tenant you will need to clone or download a copy of the repository. I downloaded a copy of the repository and followed the steps below:

Downloading the SharePoint Starter Kit

Deploy the SharePoint Starter Kit

Now for the fun part…deploying the SharePoint Starter Kit to your tenant! Before you begin, make sure you have run the following cmdlet to connect to your tenant:

Connect-PnPOnline https://contosodemosk.sharepoint.com

  • Change the path in PowerShell to the location where your SP Starter Kit provisioning folder is located

Set-Location -Path C:\sp-starter-kit-master\provisioning

  • Finally, in PowerShell run the following command

Apply-PnPTenantTemplate -Path starterkit.pnp

Deploying the SharePoint Starter Kit in PowerShell

Once the SharePoint Starter Kit has concluded it will provision 3 site collections as well as other tenant level settings like themes, site designs and taxonomy term sets. You will be able to access all the site collections and web parts deployed through the starter kit in your tenant either through the new SharePoint admin center or through the SharePoint app in Office 365.

References

https://github.com/SharePoint/sp-starter-kitSharePoint Starter Kit repository from GitHub

https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environmentsteps to install the required developer tools from Microsoft

https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint-pnp/sharepoint-pnp-cmdlets?view=sharepoint-pssteps to install PnP PowerShell from Microsoft

https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-developer-tenant – setting up your Office 365 tenant to build and deploy client-side web parts using the SharePoint Framework from Microsoft

https://github.com/SharePoint/sp-starter-kit/blob/master/documentation/tenant-settings.mdcreating the new user profile property/ requesting API key to Alpha Vantage from GitHub

https://github.com/SharePoint/sp-starter-kit/tree/master/provisioningPowerShell commands and minimal path to success from GitHub

https://github.com/SharePoint/sp-starter-kit/blob/master/documentation/common-provision-results.mdPre-requirement steps added from general cascading errors from GitHub

How to provision and deploy the PnP SharePoint Starter Kit part one

Update: The SharePoint Starter Kit is now a solution that’s available to apply from the SharePoint Online Provisioning Service:
https://provisioning.sharepointpnp.com/

This is the first of a two-part series on how to provision and deploy the SharePoint starter kit into your SharePoint tenant. Part-two of this series can be found below:

How to provision and deploy the PnP SharePoint Starter Kit part two

Although there is plenty of great documentation out there already (I’ll also reference and link to said documentation throughout) I wanted to provide a comprehensive step-by-step guide for those with little or no experience of SharePoint Framework, PnP Powershell or anything else with the least amount of steps required to get the SharePoint starter kit up and running in a Office 365 tenant.

I followed the all of the steps below to get the SP starter kit working in my environment:

Pre- requirements

Make sure that all of the pre-requirements below have been met to ensure that the SharePoint Starter Kit will work in your tenant.

  • Ensure you are connecting to the tenant account using an administrator account
  • Your tenant must be set to targeted release for all users, and you must wait at least 24 hours after setting targeted release before deploying SP Starter Kit
  • Check that the account being used has been added as a term store administrator

LINK: setting up the targeted release option in Office 365

Install developer tools and setup SharePoint Framework dev environment

Before you can get started with the starter kit, you need a SharePoint Framework development environment, this consists of:

  • Install NodeJS LTS version 8
  • Install a code editor – I used Visual Studio Code
  • Install Yeoman and gulp – I installed these using the command prompt
  • Install Yeoman SharePoint generator – as above
  • Install PnP PowerShell – you need to be running Windows 10 or have PowerShellGet installed to run these commands. I’m running Windows 10, so I just ran the Install-Module SharePointPnPPowerShellOnline in PowerShell as an administrator
  • Run Update-Module SharePointPnPPowerShell* to make sure its the latest version

LINK: setting up the SharePoint Framework development environment
LINK: Installing PnP PowerShell
LINK: updating the PnP PowerShell version

Office 365 tenant configuration

Once you have been through the pre-requirement steps, configured your environment for SharePoint Framework development and you are using the latest version of PnP PowerShell, you now can move onto the tenant configuration steps:

Create an app catalog site

  • In the SP admin center, on the left sidebar select the apps menu item, then select app catalog
  • Press OK to create a new app catalog site
Select app catalog from the apps menu option
  • Enter the following details
    • Title: app catalog
    • Web Site Address suffix: enter your preferred suffix for the app catalog; for example: apps
    • Administrator: enter your username, and then select the resolve button to resolve the username
  • Press OK

Create a new developer site collection

In the SharePoint admin center, in the ribbon select New > Private Site Collection. Enter the following details:

  • Title: Enter a title for your developer site collection; for example: Developer Site
  • Web Site Address suffix: Enter a suffix for your developer site collection; for example: dev
  • Template Selection: Select Developer Site as the site collection template
  • Administrator: Enter your username, and then select the resolve button to resolve the username
  • Press OK

Remember the SharePoint Workbench URL

SharePoint Workbench enables you to be able to test and preview web parts without fully deploying them into your SharePoint environment. You can access the SharePoint Workbench by using the following URL:

https://your-sharepoint-site/_layouts/workbench.aspx

LINK: Office 365 tenant configuration steps

Create a custom property in the User Profile Service

In the SP admin center, on the left sidebar select the user profiles menu item, then under People, select Manage User Properties

Select manage User Properties from the User Profiles menu option
  • Select New Property from the ribbon options
Select New Property

Configure the new property with the following settings:

  • Name: PnP-CollabFooter-MyLinks
  • Display name: PnP-CollabFooter-MyLinks
  • Type: string (Single Value)
  • Length: 3600 (which is the maximum allowed)
  • Policy Setting: Optional
  • Allow users to edit values for this property: Checked
  • Leave all the other properties with their default value

LINK: preparing your tenant for the PnP SharePoint Starter Kit

Request a custom API key to Alpha Vantage

The API key from Alpha Vantage uses the live stocks service in the Stock Information Web Part. This is not a mandatory step, but I’ve included it for completeness for the starter kit:

In part two I’ll cover downloading the SharePoint Starter Kit, deploying it to your tenant and testing everything has worked.

File naming restrictions in SharePoint

This post is a reference point for all the restrictions and limitations around the restrictions that apply to file names and file types in SharePoint and OneDrive.

When uploading files into SharePoint or OneDrive that are subject to any of the restrictions, you may receive an error similar to something like this:

filename-error

What are the restrictions?

Restrictions have become more difficult to untangle in Microsoft 365 with SharePoint and OneDrive, plus the ability to sync. The key takeaway is that the entire decoded file path, including the file name can’t contain more than 400 characters. This limit applies to the combination of the folder path + file name after decoding:

  • The entire decoded path can’t contain more than 400 characters
  • File uploads cannot exceed 250GB
  • You can’t share more than 50,000 items
  • You can’t copy or move more than 100GB in total, no more than 30,000 files and each file must be less than 15GB

Invalid characters, file or folder names

  • ” * : < > ? / \ | all aren’t allowed in file or folder names, plus leading or trailing spaces
  • # & are supported and can be enabled in the SharePoint admin center
  • .lockCONPRNAUXNULCOM0 – COM9LPT0 – LPT9_vti_desktop.ini, any filename starting with ~$. are not allowed for files or folders
  • forms” isn’t supported when the folder is at the root level for a library
  • You can’t create a folder name in SharePoint that begins with a tilde (~)

Blocked file types

  • There are currently no known types of files that cannot be added to a list or library in SharePoint Online. Custom scripting must be allowed for custom script file extensions to be work
  • Temporary TMP files will not be synced to OneDrive
  • Files that are used by your local computer, such as desktop.ini on Windows or .ds_store on macOS, don’t normally sync
  • Outlook .PST files are supported, however they are synced less frequently compared to other file types to reduce network traffic

File uploads, names and path length

  • The file size limit for uploads is 250GB
  • Each segment of a path cant exceed 255 characters if files are synced to a PC or Mac
  • The length of the root folder in OneDrive, or synced SharePoint library, plus the relative path of the file (up to 400 characters) cannot exceed 520 characters
  • In SharePoint Server, the entire path of files can’t exceed 260 characters
  • Thumbnails are not generated for images larger than 100 MB
  • PDF previews are not generated for files larger than 100 MB

Sharing

  • There is a limit of 50,000 items that can be shared within a folder and any sub-folders
  • You can’t synchronize the Shared with me view grouping of files from a OneDrive for work or school site

Syncing, copying or moving files

  • Although SharePoint Online can store 30 million documents per library, for optimum performance Microsoft recommend syncing no more than 300,000 files across all document libraries. Additionally, performance issues can occur if you have 300,000 items or more across all libraries you are syncing, even if you are not syncing all items in those libraries.
  • If you use the previous OneDrive for Business sync client (Groove.exe), the sync limit per library is 20,000 items (including 5,000 items per team site)
  • Differential sync is possible for Microsoft Office files in the new file format, .docx, .pptx, .xlsx
  • You cannot copy or move more than 100 GB of the total file size
  • You cannot copy or move more than 30,000 files
  • Each file being copied/ moved must be less than 15 GB
  • SharePoint libraries/ lists can hold 50,000 major versions and 511 minor versions
  • When using onedrive.com, you can only copy up to 2500 files at one time

How it used to be – restrictions in SharePoint Sever

Here are some, more specific restrcitions again applying to site collections, sub-sites, libraries or lists:

  • Can’t be longer than 128 characters
  • Can’t use: ~ # % & * { } \ : < > ? / + | ”
  • Can’t use: ~ ” # % & * : < > ? / \ { | }. in SharePoint 2013
  • Can’t use the period character consecutively in the middle of a file name (blah…blah.docx)
  • Can’t use the period character at the end of a file name
  • Can’t use the period character at the start of a file name
  • Can’t end with:

    .files

    _files
    -Dateien

    _fichiers

    _bestanden

    _file

    _archivos

    -filer

    _tiedostot

    _pliki

    _soubory

    _elemei

    _ficheiros

    _arquivos

    _dosyalar

    _datoteke

    _fitxers

    _failid

    _fails

    _bylos

    _fajlovi

References

https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file – Names, paths and namespaces by Microsoft

http://www.sysadminsblog.com/microsoft/file-name-length-and-character-restrictions-for-sharepoint/  – Original write up by Mischa Oudhof of Sysadminblog.com

Office 365 updates for November 2018

November 2018

Teams: Blur background to improve video call focus

The new Background Blur feature in Teams eliminates potential distractions that might be lurking behind you on video calls and keeps the focus on you. Once you’re in a meeting, select the more options button (that’s the one that looks like an ellipsis), then click Blur my background. You’ll appear nice and clear while everything behind you is subtly concealed.

This feature is currently available in the desktop app for most newer PCs. To find out if it’s available on your device, select more options while in a meeting.

teams_blur_background
Teams: blur background to improve video call focus

Find out more: What’s new in Microsoft Teams

10 new ways for everyone to achieve more in the modern workplace

SharePoint: SharePoint migration tool to migrate your files to the cloud

At Microsoft Ignite several new capabilities were annonced as coming soon to the SharePoint Migration Tool. This tool provides a simple, no cost, and intuitive point and click interface that helps you migrate your existing SharePoint, OneDrive, and File Shares content to SharePoint Online, OneDrive for Business and Microsoft Teams.

https://docs.microsoft.com/en-us/sharepointmigration/media/a2a20032-f3ea-4248-8dd3-d3f079488503.png

Find out more

New capabilities coming soon to the SharePoint Migration Tool

Download the SharePoint Migration Tool

Release Notes: New and improved features in the SharePoint Migration tool

New to Microsoft 365 in October: Tools to create impactful content and help transition to the cloud

SharePoint: Revamped SharePoint admin center

Microsoft are introducing a completely revamped SharePoint Admin center that draws heavily on our modern design principles. It’s designed to help IT achieve more, so their users can achieve more.

Microsoft are making it much easier to manage Office 365 group-connected sites by allowing SharePoint administrators to manage ownership, change sharing settings, and delete and restore sites.

Admins can now more easily manage existing hub sites, and associate existing sites with a hub site, even in multi-geo scenarios.

Finally, Security and compliance enhancements in the admin center include access control policies for unmanaged or non-compliant devices, idle-session sign-out, and the ability to restrict or allow access from known IP address ranges.

SP_admin_center
New SharePoint admin center with access control

Find out more:

Unleash your SharePoint admin superpowers with new admin center capabilities

New to Microsoft 365 in October: Tools to create impactful content and help transition to the cloud

Office 365: HITRUST CSF Certification

Office 365 has earned HITRUST Certification from the Health Information Trust Alliance, the widely adopted security and risk management framework in the U.S. healthcare industry. This also includes the National Institute of Standards and Technology, or NIST, Cybersecurity Framework certification. The HITRUST Common Security Framework (CSF) helps health organizations address security, privacy and regulatory compliance through a comprehensive, flexible, framework of both prescriptive and scalable security controls.

Office 365 now enables health and life sciences organizations to be trusted data stewards and grow capabilities to transform patient care and experiences.

Find out more

Office 365 Earns HITRUST CSF Certification

Service Trust Portal

Compliance certifications for Office 365

New to Microsoft 365 in October: Tools to create impactful content and help transition to the cloud

Office 365 updates for October 2018

I’ve decided to start creating a roundup of all of the Office 365 news and updates that are released monthly by The Office 365 Guy on YouTube. I thought I would start by summerising those that relate to SharePoint Online, SharePoint on prem, OneDrive, Teams and other associated apps and services from the transcript provided for each monthly video.

Please get in touch if you would like to see a complete roundup of the news 🙂

October 2018

SharePoint: New file template management for document library content types

At long last Microsoft have announced the ability to add document templates to SharePoint document library content types. With this new capability, you can maintain the default templates for things like Word, Excel, and PowerPoint along with any newly added templates and content types specific to your requirements.

Also included is the ability to edit the New menu – to add, hide or reorder the new file options. You can configure the New menu by selecting (or deselecting) which templates you wish to see and by using drag and drop to re-order the templates in the menu.

DocTemplates

You can edit the template directly in the Office client, change the template’s content type or delete the template.

At present this is scoped to a single document library, Microsoft are looking to expand this capability to allow you to distribute and publish content types, with associated templates and metadata definitions, to multiple site collections and libraries in a single transaction – content type hub re-work anyone?

Find out more: Announcing new file template management for document library content types

OneDrive files on-demand for Mac

Microsoft recently announced a preview for an enhancement to OneDrive called Files On-Demand. Files On-Demand for Mac makes it easy to have access to all your files, but only have files you need to be stored locally on the device, thereby reducing the amount of local storage space consumed. Files On-Demand is available to consumer and commercial OneDrive customers, and works across all your personal, work, and shared files in Office 365.

Status icons in Finder make it easy to know whether your files are locally available or online. You can easily make files or folders always available, even when you don’t have an Internet connection, by right-clicking and selecting Always keep on this device.

OneDriveForMac

Files On-Demand for Mac is now available for Office Insiders on macOS Mojave and can also be enabled by running a simple script. Be sure to check out the blog post we link to in the transcript and resources guide for additional information if you’d like to try it out.

Find out more: OneDrive Announcements at Ignite 2018

OneDrive: Super Zoom on iOS

The new Super Zoom feature enables OneDrive on iOS users to use a pinch gesture to zoom in and out of the Photos view. Zoom out to easily scroll many photos at a time or zoom in to get a larger preview of your photos as you browse. This feature is supported on both OneDrive for Business as well as consumer accounts on iOS.

OneDriveSuperZoom

For those of you using OneDrive on Android devices, Super Zoom is already available, but only for OneDrive consumer accounts and should be coming to OneDrive for commercial accounts later this year.

Find out more: OneDrive Message Center Updates August 16th-August 31st

Thats it for this month, but I’ll be back with a full roundup of the news next time!

How to find open with explorer in modern SharePoint libraries

Explorer view in classic SharePoint sites has been a widely used bypass for users actually interacting with SharePoint libraries for a number of years.

Now in some cases that’s for good reason, from being able to upload multiple files easily in older versions of SharePoint to a familiar navigation of nested folder structure.

With modern SharePoint libraries, the old school ribbon has gone the way of the dodo…and so it seemed had open with explorer.

But fear not! If you still use IE you can still use the trusty open with explorer

How to open with explorer

  • Go to the library that you wish to open with explorer
  • On the right-hand side, press the drop-down icon next to all documents
    all-documents2.jpg
  • Press View in File Explorer
    file-explorer

Some weird stuff will then happen, where a classic 2013 version of your SharePoint site/library will open in a new tab and for me I got a message at the bottom of the browser window to allow popups from Microsoft then got another, more serious popup like this (multiple times):

IE-security

I pressed allow to all of these then voila! we have file explorer!

PLEASE NOTE:

File explorer only works for Internet Explorer, I tested in IE11 and it categorically doesn’t work in Firefox, Chrome, Edge or Edge Dev (beta).

Get a list of all SharePoint sites without PowerShell

One thing that has been bugging me recently is being able to get a list of all my Office 365 SharePoint group sites all at once. With the new SharePoint Admin Centre due to be rolled out any time now, this will soon be a solved problem, but i just want a list of all the sites i’ve created now, should be simple right?

An easy way to get a list of all SharePoint Online/ Office 365 group sites

There are ways online to do this using PowerShell, but surely there has to be an easier way…here’s what I did:

  • Navigate to the Office 365 SharePoint group sites landing page
  • Click in the search bar – press enter to start a search
  • In the all results type filter – change to sites
  • Press enter

Bingo! All of your SharePoint sites are now showing, you’ll notice that the classic sharepoint sites and Office 365 SharePoint group sites are both included in the results, which is exactly what I wanted.

Hope this is helpful for someone else 🙂

Fun with PowerApps part 4: Creating a custom PowerApp

This is the final part in my fun with PowerApps series, in this post i’ll go through the steps involved in creating a new PowerApp from scratch and highlight some of the difference with using a template or generating a PowerApp from a SharePoint list.

You can read all the other parts in this series below:

Part 1: setting up the default gateway
Part 2: creating a data connection
Part 3: my first powerapp

Creating a PowerApp from scratch

So far we have generated our very first powerapp from a SharePoint list or library, but now we want to take it a step further and create a brand new PowerApp from the beginning to enable us to create a desktop experience.

To create the bespoke PowerApp we will need to begin in the PowerApps studio, the steps below walk through creating the bespoke PowerApp:

  • Navigate to https://web.powerapps.com/
  • In the Home screen, select Start from blank – make sure the desktop view is selected – Press Make this app

The PowerApps studio will give you some useful tips on how to create forms or galleries which are definitely worth checking out if you haven’t already!

  • On the canvas, press Connect to data
  • In the Data window, select the data connection we created earlier

  • Enter the URL of the SharePoint site you want to access
  • Once entered, you will see all the available lists and libraries you can use as the primary data source, select the one you wish to use

Conclusion

And there you are your custom PowerApp is all set up and ready to go! Of course this is just the very beginning and you now have the fun bits to come like adding all of the elements that will make up your PowerApp but from my experience I think there are a few approaches to achieve this.

My idea was to create and open up the template helpdesk PowerApp side-by-side with my custom one to get a better understanding of how to re-produce things like the totals across the top and some of the finer details that make up the PowerApp. I think doing it this way is much easier than trying to pick apart the templates as you are starting with your own data source rather than the static ones provided within the templates.

As well as the desktop and mobile experiences you now have the ability to create list forms using PowerApps too, so now there is even more fun to be had with PowerApps!

Source: https://docs.microsoft.com/en-us/powerapps/customize-list-form

Thanks for reading 🙂

Fun with PowerApps part 3: my first PowerApp

This is part three in my fun with PowerApps series where I’ll go through my personal experience of creating a new PowerApp from scratch and go through step-by-step for each part of the process…

You can read all parts of this series below:

Part 1: setting up the default gateway
Part 2: creating a data connection

Carrying on from my last post – creating a data connection, we are now good to go and begin to build our first PowerApp!

Just like setting up the data connection, creating a PowerApp can be a really simple thing to do.

However, I’ve found either creating a PowerApp from the SharePoint list or library is really quick and easy, but it doesn’t necessarily give you the most flexibility when it comes to wanting to do it your own way…

Creating a PowerApp

You can create a PowerApp from a list or library literally from the push of a button! Its as simple as:

  • Create your list or library, add all the associated columns and data you wish to be displayed in your PowerApp
  • Press the ‘PowerApps’ button on the list menu, then press ‘Create an app’

  • You’ll then be prompted to create your app, start by giving it a name and press ‘Create

After a few moments your app will be created! It will open in the PowerApps web editor and you should see your list columns and data displaying in your shiny new PowerApp!


You can also take a look at the app in the preview to get a good look at how it operates and how the data is displayed…

Conclusion…

That’s it! Your all set…but if you’re like me you’ll have some questions. Like, what if I want a desktop app and not a mobile one?

Well for that you’ll need to build an app from scratch, I’ll be going over creating a new PowerApp in the next part of this series so hold on as i’ll be posted the next part very soon!

Fun with PowerApps part 2: creating a new data connection

This is part two in my fun with PowerApps series where I’ll go through my personal experience of creating a brand new PowerApp from scratch and go through step-by-step for each part of the process…

You can read part 1 of this series below:

Part 1: setting up the default gateway

Continuing on from my previous post – setting up the default gateway, we should now be in a position to create a new data connection within PowerApps. On the surface this is pretty easy to do, all that’s needed is to choose the connection type – press create – authenticate – job done!

However, when we need to create a data connection for an on premise SharePoint environment, its a little bit of a different story. Here are the steps involved for setting up a new data connection for a SharePoint on premise environment:

  1. Go to web.powerapps.com
  2. Under Connections – press New Connection

  3. In the search bar, search for “SharePoint” – press the plus icon

  4. The SharePoint data connection popup box should appear, under “how do you want to connect to your data?” select Connect using on-premises data gateway
  5. Set the authentication type to Windows and then specify your username and password (you may need to include a domain name as part of the username)
  6. I used credentials of a user that had owner permissions for the SharePoint environment I connected to, it makes sense to me that the account you specify here would at the very least need to be able to read/write to the SharePoint list that acts as the data source.

  7. Choose the gateway we set up in part 1 of this series, if you can’t see it you might need to install it again or refresh the list until it displays.
  8. I actually had to create the default gateway using a different account than the one I created my first PowerApp with, so it wouldn’t show for me initially. I had to share the gateway I created and set my PowerApps user as an admin for it to show in this list.

  9. Press Save

You will now see your newly created data connection appearing in the connections list! Your able to edit and delete the data connection at any point and can also check who the owner is, the connection name and crucially the status of the connection under the details button.

BONUS

There is also this article from Microsoft talking through connecting to SharePoint from PowerApps that lists the known issues with certain column types:

https://docs.microsoft.com/en-us/powerapps/connections/connection-sharepoint-online