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

Advertisement

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!

Ways around the 10 item number order limit in choice columns

I was recently updating a view in a SharePoint List, the view was set up to use metadata fields to sort and group the content…lovely stuff. What I was required to do was to implement a choice field with a numerical order within it (i.e. 1. First step, 2. Second step, 3. Third step).

With sort order in List/Library views, it works with either alphabetical or numerical options ascending or descending. What I found was with choice fields operating as the number order, once you hit 10 the numbering system went out the window!

What you end up with is something like this:

1) First choice
11) Eleventh choice
12) Twelfth choice
2) Second choice
3) Third choice

and so on…

By default, SharePoint interperates the choice field as alphabetical so the way I got around this was to just use:

a)
b)
c)

This gets around any issues with numerical values over 10 or having to create lookup lists or anything else 🙂

SharePoint and Nintex workflows failing on start after .NET security update

Updated


I’ve wrote part two on this issue with my full resolution steps here:

SharePoint and Nintex workflows failing on start – part two


The problem


I had this issue myself in the last week where EVERY SINGLE workflow across the farm on premise stopped working. SharePoint Designer and Nintex workflows all reported “Failed to start” when triggered to run.

The workflows stopped working due to a series of .NET security updates Microsoft released in September 2018. Microsoft released a public KB article on this – with resolution steps which can be found below:

But also this msdn blog post contains all the solution scripts and steps that includes Nintex workflows also (transcript below):

I noticed shortly after the fix was implemented that some of my SharePoint designer workflows were exhibiting odd behaviour. For example the screenshot below shows a SharePoint desinger workflow that previously worked without issue or errors in the history after the fix was applied:

Someone on reddit had already spotted this which drew my attention to the common issue, this only presents itself for workflows with pause steps!

I will update this post with my findings once this latest fix is applied.

Symptom

After applying .NET Security Only patch to resolve CVE-2018-8421 (Remote Code Execution Vulnerability) , all SharePoint out of the box Workflows fail to execute and the log will show an error like this:

09/13/2018 01:59:07.57 w3wp.exe (0x1868) 0x22FC SharePoint Foundation Workflow Infrastructure 72fs Unexpected RunWorkflow: Microsoft.SharePoint.SPException: <Error><CompilerError Line=”-1″ Column=”-1″ Text=”Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file.” /><CompilerError Line=”-1″ Column=”-1″ Text=”Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file.” /><CompilerError Line=”-1″ Column=”-1″ Text=”Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file.” /><CompilerError Line=”-1″ Column=”-1″ Text=”Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file.” /><CompilerError Line=”-1″ Column=”-1″ Text=”Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file.” /><CompilerError Line=”-1″ Column=”-1″ Text=”Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file.” /><CompilerError Line=”-1″ Column=”-1″ Text=”Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file.” /><CompilerError Line=”-1″ Column=”-1″…

The error suggest that System.CodeDom.CodeBinaryOperatorExpression is not in the authorized types.

Cause

Workflow Foundation (WF) will only run workflows when all the dependent types and assemblies are authorized in the .NET config file (or added explicitly via code) under this tree:

<configuration>

<System.Workflow.ComponentModel.WorkflowCompiler>

<authorizedTypes>

<targetFx>

However, after the update, the following lines are necessary for SharePoint 2013 and beyond:

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeBinaryOperatorExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePrimitiveExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodInvokeExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeFieldReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeThisReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePropertyReferenceExpression” Authorized=”True” />

And for SharePoint 2007 and 2010, use these lines:

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeBinaryOperatorExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePrimitiveExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodInvokeExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeFieldReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeThisReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePropertyReferenceExpression” Authorized=”True” />

Solution

The solution is to add explicitly the types to all web applications’ web.config:

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeBinaryOperatorExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePrimitiveExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodInvokeExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeFieldReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeThisReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePropertyReferenceExpression” Authorized=”True” />

Or (for SharePoint 2007 and 2010):

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeBinaryOperatorExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePrimitiveExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodInvokeExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeFieldReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeThisReferenceExpression” Authorized=”True” />

<authorizedType Assembly=”System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePropertyReferenceExpression” Authorized=”True” />

Please notice that sometimes SharePoint Timer Service (SPTimerV4) runs workflows. If you notice that the application showing the error is ULS logs in OWSTIMER.EXE, you should also include the authorized types in [SharePoint Hive Folder]\bin\OWSTIMER.EXE.config. The Hive Folder will change by version of SharePoint. For SharePoint 2016, it is normally at c:\program files\common files\microsoft shared\web server extensions\16. For 2013, at c:\program files\common files\microsoft shared\web server extensions\15.

Additional Information

My colleague Joe Rodgers, who is Sr. PFE, put together this PowerShell script: https://gist.github.com/joerodgers/2302b394796c865818839d843bae2dad

There are two scripts. Normally, the only necessary script is:

Add-CodeDomAuthorizedType.ps1

Uncomment this line to make the changes:

Add-CodeDomAuthorizedType

If you have Nintex workflows you should run like this:

Add-CodeDomAuthorizedType -IncludeNintexWorkflow

To undo the changes, run:

Remove-CodeDomAuthorizedType

The script needs to run only once on any WFE. All web.config files related to SharePoint on all servers will be modified. New web applications created after that will also include the changes. Even if a new WFE is added to the farm, the entries will also be included in web.config. The change is a permanent requirement from now on since the WF patch. You do not need to undo the change before applying the SharePoint patch addressing it.

There is a second script to update OWSTIMER.exe.config. This one should only run if you see the symptoms in ULS logs with process OWSTIMER.EXE. Otherwise, you do not need to update. if you have the problem though, you need to rerun the script if a new machine is added to the farm. No line needs to be uncommented for this one. The script name is:

Add-CodeDomAuthorizedTypeToOWSTimerConfig.ps1

Note

Microsoft is aware of this issue and patches for SharePoint 2010, 2013 and 2016 are being worked as of 9/17/2018. I will update when we have an ETA. I had confirmation from the product team on 9/18/2018 that this information and solution on this post is in the line with the future patch and it is the recommended action plan until the patch is out. If anything change, I will update the post.

Note 2

Some people using third-party workflows (like Nintex) need to also include this:

<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeTypeReferenceExpression” Authorized=”True” />

Using the script, you need to add to the line defining types (line 24):

CodeTypeReferenceExpression

Example:
$typeNames = @( CodeBinaryOperatorExpression, CodePrimitiveExpression, CodeMethodInvokeExpression, CodeMethodReferenceExpression, CodeFieldReferenceExpression,CodeThisReferenceExpression, CodePropertyReferenceExpression“, “CodeTypeReferenceExpression”)

Note 3

Joe updated his script to add a switch for Nintex workflows.

Call this way to include the extra type required by Nintex:

Add-CodeDomAuthorizedType -IncludeNintexWorkflow

(all credit to Rodney Viana for this information)

Save as site template missing or greyed out

(This post was written using a SharePoint 2010 environment)

I recently found myself needing to create a site template for a customer who required multiple sites created following a base format. So I decided to create a site template to achieve this to speed up the site creation process for said customer.

At first I went into the site settings of the site that the template would be based off to create it. I looked under look and feel in site settings, but alas the option to save as site template wasn’t there!

site-actions-no-site-template

Next, I accessed the site via SharePoint Designer, looked under the site ribbon menu and would you believe the save as template button was greyed out there also!

SPD-site-template-button-greyed

After researching online, it appears there can be problems creating templates from publishing sites in SharePoint 2010, however I found that following the steps below enabled me to create a new site template and activate it not problem!

  • Navigate to the site collection/ sub-site you wish to create the template from
  • Add the following to the URL at the end of the site name

/_layouts/savetmpl.aspx

  • Go back to the site collection or sub-site you wish to create new sites under
  • Site Actions – Site Settings – Look and Feel – Page Layouts and site templates
site-settings-site-templates
  • Find your newly created site template within the subsite templates list
  • Press Add
  • Press OK
adding-subsite-templates

Please note: if your sub-site is inheriting from the parent site, you will need to navigate to the parent and add the subsite template there for it to be available.

UPDATE 27/08/2019

Saving as site template is not a supported feature of SharePoint Online for modern sites. You will find for modern sites that this option is not available, but you have the ability to re-instate it via activating a feature. The official stance from Microsoft is:

Just to be clear. Using save-site-as-a-template with modern team sites or publishing sites is NOT supported. You can always find aways with tenant admin permissions to achieve things, but the fact that it’s doable does not mean it’s supported.

Any sites created with the template which has been produced with this method can have unexpected issues in the future, so provided steps should never be used.

Best regards,

Vesa Juvonen, Senior Program Manager, SharePoint Engineering, Microsoft.

UPDATE 27/08/2019

Saving as site template is not a supported feature of SharePoint Online for modern sites. You will find for modern sites that this option is not available, but you have the ability to re-instate it via activating a feature. The official stance from Microsoft is:

” Just to be clear. Using save-site-as-a-template with modern team sites or publishing sites is NOT supported. You can always find aways with tenant admin permissions to achieve things, but the fact that it’s doable does not mean it’s supported.

Any sites created with the template which has been produced with this method can have unexpected issues in the future, so provided steps should never be used. “


– Vesa Juvonen, Senior Program Manager, SharePoint Engineering, Microsoft.

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).

Creating a new item from SharePoint Workflow – trailing space issue

I wanted to post this as I was banging my head against a brick wall for hours recently with this issue. Full credit goes to this stack overflow thread that described pretty much exactly what I was experiencing:

However, my situation was a little different so thought I would post this in case it helps someone else in future!

The details

SharePoint 2010 environment using a standard SharePoint Designer workflow. Straight-forward workflow that runs once a list item is created, creates a document set in a separate library, then updates the list item with a link to the document set (plus some other item metadata). All this is wrapped up in an impersonation step that uses a site collection admin user account.

Why an impersonation step?

An impersonation step is being used because when you create a new list item using a workflow, that new item is created by the System Account. So on any new item created by a workflow, “Start workflow on create” will not work because system account is not allowed to start a workflow.

The problem

Intermittently the workflow would fail on creating the document set. The workflow status showed “The workflow could not create the list item. Make sure the list exists and the user has permissions to add items to the list.”. The outcome is “Unknown Error”.

After speaking with users this didn’t seem to affect everyone all of the time. It only affected some people occasionally but it was affecting one user way more than others.

This user was creating the list item in exactly the same way as others in the team. I overserved the user creating the list item and couldn’t see any problems with how it was being done. Yet each time we conducted a test copying field information from an existing item the workflow continued to error.

The solution

In my case, when I started to look at the list items where the workflow had failed, I noticed that the Name field for each list item contained a trailing space at the end of the text. I asked the user who this issue consistently affected to try creating new list items several times, copying the Name as normal but this time removing the trailing space and we no longer had issues!

Moral of the story…check for trailing spaces and beware!

Hide a SharePoint list or library from view all site contents

Have you ever been asked to hide a list or library from a SharePoint site? If so, you go straight for selecting ‘no’ to displaying the list or library on the Quick Launch or removing it from the navigation. However, your eagle eyed users notice the handy view all site contents option and see that it is still listed there – they want it gone!

Luckily, all you need is SharePoint Designer and it is as simple as a click of a button…

(These steps were created using SharePoint Server 2010)

  • Open the site that where list or library resides in SharePoint Designer
  • Under Lists and Libraries – Select the list or library you wish to hide
  • On the main list settings page – find the Settings section
    SPD
  • Check the Hide from browser option
    hidefrombrowser

Thats it! when you option the view all site content page now, that list or library will no longer be showing. Also, if you want to re-instate it at a later date, just un-check the box and it will re-appear.

This also works for SharePoint 2013, 2016 and SharePoint Online, under the site contents page.

Quirks of routing document sets

Recently I encountered an issue with a process that was created that routed document sets from one library into another. There were a number of document sets that followed this process that encountered errors when trying to move.

The process was automated via a standard sharepoint workflow, typically there were no useful errors in the workflow history list – just error occurred! Well as it turned out there wasn’t any issue with the workflow or the process of moving document sets to a drop-off library.

There are however, limitations when moving document sets to drop-off libraries to consider, such as:

Document Sets over 50MB in size cannot be moved to the drop-off library

Whether this is done using a workflow, or the send to feature a document set can’t be any bigger than 50MB.

docsets-filesize-error

Document Sets containing folders won’t move

By default, you aren’t able to create folders in document sets using native sharepoint controls. However you can bypass this by opening with explorer view. This will still result in the document set erroring when trying to move.

XML file types will cause issues

If your sharepoint environment allows for this type of file, it will still cause the document set to fail to move to the drop-off library.

Routing of Document Sets requires timer job

When document sets are sent to a drop-off library, they will wait there until content organizer rules route them to their destination. This process is is driven by the content organizer processing timer job, which runs daily by default.

If you have found any other quirks when routing document sets, please let me know…otherwise it’s a piece of cake 🙂