How to open SharePoint pages in maintenance mode

This post demonstrates how to access the web part maintenance page for a classic and modern SharePoint site to delete any problem web parts.

Classic SharePoint

Recently I came across an issue with a SharePoint 2010 publishing site. The site had a page on it that was being edited and after a series of web parts were added, crashed and would no longer load. An additional issue here was that there wasn’t another, recent version of the page to restore to.

So, in the steps below detail how I was able to access the page using web part maintenance mode and delete the problem web part:

  • Navigate to the problem page’s URL
  • At the end of the URL add ?contents=1
  • This will then open the problem page up in web part maintenance mode. From here you are able to close, restore defaults or delete web parts from your page

NOTE: make sure you page is checked out before trying this else you won’t be able to make any changes.

  • Select the web part(s) which you think are causing the issue
  • Now select to either close, reset or delete the web part. I chose delete
  • A warning message will appear > press OK

Modern SharePoint

When writing this post I wondered if this method of accessing web part maintenance mode still worked for modern SharePoint – the answer was no! When you try to open a modern page using ?contents=1 you get this:

Opening modern SharePoint pages in classic maintenance mode won’t work.

However, after reading this handy article from Microsoft about maintenance for client-side web parts in SharePoint Online I just switched my query to ?maintenancemode=true and it worked!

Modern web parts have there own query to append to the page URL to access maintenance mode.

Different to the classic example, modern web parts when in maintenance mode show summary, manifest and data tabs with information about each web part.

If you wish to delete a web part from this view you will need to edit the page and delete it from there, then republish like in the example below:

Deleting web parts in maintenance mode within a modern SharePoint page.

SharePoint URL’s

There are loads of URL’s that either I can never remember or haven’t come across that are listed here. However I wanted to keep a list of them on my site just for reference:

Site Settings/_layouts/settings.aspx
Site Contents/_layouts/viewlsts.apx
Save Site as a Template/_layouts/savetmpl.aspx
View All People/_layouts/people.aspx?MembershipGroupId=0
View People and Groups/_layouts/groups.aspx
Workflow Health/_layouts/15/workflowservicehealth.aspx
Workflow History (Hidden)/lists/Workflow%20History
Create New Site items/_layouts/create.aspx
Manage Site Collection Admin Permissions/_layouts/mngsiteadmin.aspx
View Sites and Workspaces/_layouts/mngsubwebs.aspx
Manage User Permissions/_layouts/user.aspx
Recycle Bin/_layouts/RecycleBin.aspx
Second-Stage Recycle Bin (w/ Admin Permissions)/_layouts/AdminRecycleBin.aspx
Manage Site Content and Structure/_layouts/sitemanager.aspx
Manage Site Content Types/_layouts/mngctype.aspx
Manage Site Columns/_layouts/mngfield.aspx
Quick Launch Settings/_layouts/quiklnch.aspx
Navigation Settings/_layouts/AreaNavigationSettings.aspx
Web Analytics Reports (Site Usage Summary)/_layouts/usage.aspx
Manage Site Collection Features/_layouts/ManageFeatures.aspx?Scope=Site
Manage Site Features/_layouts/ManageFeatures.aspx
Application page for registering SP Apps/_layouts/appregnew.aspx
Sign in as a different user/_layouts/closeConnection.aspx?loginasanotheruser=true
Enable SharePoint Designer/_layouts/SharePointDesignerSettings.aspx
Welcome Page/_layouts/AreaWelcomePage.aspx
Change Site Master Page/_layouts/ChangeSiteMasterPage.aspx
Page Layouts and Site Templates/_Layouts/AreaTemplateSettings.aspx
Force Display the User Profile in the Site Collection/_layouts/userdisp.aspx?id={UserID}&Force=True
Site App Permissions/_layouts/15/appprincipals.aspx?Scope=Web
List Template Gallery/_catalogs/lt
Master Page Gallery/_catalogs/masterpage
Solution Gallery/_catalogs/solutions/
Web Part Gallery/_catalogs/wp
Get SharePoint Server Version/_vti_pvt/Service.cnf
Taxonomy List (Hidden)Lists/TaxonomyHiddenList/AllItems.aspx
Quick Deploy ItemsQuick%20Deploy%20Items/AllItems.aspx
Web Part Maintenance Page?Contents=1
Filter Toolbar (For Lists and Libraries)?Filter=1
Load Ribbon Tab (In a Document Library or List)?InitialTabId=Ribbon.Document
Show Page in a Dialog?isdlg=1
Display List in Grid View (In Document Library or List)?ShowInGrid=True
Open Page in Edit Mode?ToolPaneView=2

How to delegate or reassign a workflow task in SharePoint

(this post was written using a SharePoint 2010 environment)

This post details the steps involved in delegating or reassigning a workflow task to another person as part of a workflow process.

My organisation has several approval workflows in action within our SharePoint 2010 environment, but one request I get all the time is to change who the approval has been sent to.

Approval tasks can be assigned as part of a workflow process, built via SharePoint designer or Nintex workflows. Once assigned, notification message(s) are sent to the approver and can either be approved via the Workflow Tasks section of a current item or via lazy approval if you have Nintex.

As this can be done with both regular SharePoint designer workflows and Nintex workflows, I’ll detail the steps below on how to switch the approver for both types of workflows.

Reassign a workflow task in SharePoint Designer workflows

In this example I have the following components configured:

  • A custom list with two columns: Title, Assigned To
  • A SharePoint Designer workflow that starts an approval process action on the current item and sets the approver as the person listed in Assigned To
  • Approval tasks are created within the workflows associated task list
An example SharePoint Designer workflow that uses the “Start Approval Process” task action on the current item and sets the approver as the person selected in the current item’s Assigned To field.

The steps below will demonstrate how to reassign an approver inside a workflow task:

  • Open your main list (in my example the custom list)
  • Either click on the status of your workflow for the current item (if column is displayed), or highlight the current item > under List Tools > Items > Press Workflows

NOTE: In some cases, the site owners or SharePoint admins may have hidden the workflow status column that gets created when you publish your workflow. If you can’t see this column, don’t worry just follow the other method described above.

  • If you press the Workflows button > left-click on the name of your running workflow (If you pressed the workflow status from the previous step, ignore this step)
Press the name of your running workflow to access the workflow tasks.
  • Under Tasks > click on the drop-down icon next to the title or your task > Press Edit Item
Press Edit Item by opening the drop-down menu next to the title of the workflow task.
  • A new pop-up window will open, at this point you will see the properties of the workflow task which includes:
    • Status – the status of the current workflow task (not started, approved, rejected)
    • Consolidated comments – Comments of the requester and all previous participants
    • Due date – the date set for workflow tasks to be completed by
    • Comments – allows the approver to enter any comments about why the item was approved or rejected
The workflow tasks pop-up window.
  • There will be four grey buttons at the bottom of the window > Press Reassign Task
Press the reassign task button.
  • In Reassign Task To > select the person you wish to reassign the task to and press Send

Delegate workflow tasks in Nintex workflows

In this example I have the following components configured:

  • A custom list with several columns, but namely: Title, Approver
  • Nintex Workflow 2010 version (
  • A Nintex workflow that uses a flexi task action to send an approval request task to the approver as the person listed in Approver column from the custom list
  • Approval tasks are created within the workflows associated task list
Flexi task to send approval to the person set in the current items Approver field.

The steps below will demonstrate how to delegate an approver inside a workflow task:

  • Open your main list (in my example the custom list)
  • Highlight the current item > under List Tools > Items > Press Workflows
  • Left-click on the name of your running workflow
  • Under Tasks > click on the drop-down icon next to the title or your task > Press Edit Item
Press Edit Item by opening the drop-down menu next to the title of the workflow task.
  • A new pop-up window will open, at this point you will see the properties of the workflow task which includes:
    • Outcome – the status of the approval task (approved or rejected) or delegate the task to another person
    • Comment – allows the approver to enter any comments about why the item was approved or rejected
    • Item Properties – a view of some of the list item properties for the current item associated with the workflow task
Within the workflow task, press delegate this task to change the approver.
  • Press delegate this task. At this point the pop-up window will change to display the following fields:
    • Delegate – this is used to specify the user to assign the selected task to
    • Comments – this is used to provide instructions or additional information to the user the task is being delegated to
  • To delegate to a new approver, click on the address book icon on the right to select a user from the Select People or Group dialog box
  • Add any additional comments in the Comments field. This text is appended to the ‘Approval Required’ notification that is sent to the delegated user.
Use the address book within the delegate field to assign the task to another approver.

The end of SharePoint 2010 workflows

On July 6, Microsoft announced that they will be retiring SharePoint 2010 workflows from November 1, 2020. I decided when reading the news that I would hold fire on writing something just to let the dust settle a little bit.

So after being inspired by John Liu’s blog post, I’ve decided to keep my own rolling list of resources to help myself and hopefully others transition from SharePoint 2010 workflows to Power Automate.


Microsoft had stated in 2016 that support would continue for SharePoint 2010 workflows until 2026, but with this month’s announced they specified that:

– Starting August 1st, 2020, SharePoint 2010 workflows will be turned off for newly created tenants.  

– Starting November 1st, 2020, Microsoft will begin to remove the ability to run or create SharePoint 2010 workflows from existing tenants.

Support update for SharePoint 2010 workflows in Microsoft 365

This applies to both out-the-box and custom SharePoint 2010 workflows, but only in Microsoft 365. If you are still on premises this does not apply to you as they are still being supported until 2026 at the time of writing, but I imagine you have your own issues to deal with!

For SharePoint 2013 workflows, Microsoft announced they will remain supported, but depreciated. So that means that SharePoint 2013 workflows will be turned off by default for new tenants starting in November 2020, but Microsoft will provide a PowerShell script to activate the workflow engine. 

What does this mean?

Unless Microsoft has a change of heart, what this means is that over the next 4 months all SharePoint 2010 workflows will need to be re-developed using Power Automate, Nintex or any other another third-party workflow solution.

Microsoft offer a modernization scanner that (amongst other things), will understand where “classic” workflow is being used and sort of grade them based on number of actions and complexity. However, this scanner only works for SharePoint Online, so if you’ve yet to migrate to Microsoft 365 you will need to use another assessment/ inventory tool to get this sort of information about your SharePoint 2010 workflows.

What I’m going to do

So for myself, my organisation has several SharePoint 2010 and Nintex workflows on premise that have yet to be migrated to Microsoft 365 and are largely still in use.

As part of discovery work conducted previously, I’ve used a combination of ShareGates site report to get the high level information about my sites(s), the SharePoint Migration Assessment Tool to get information about my SharePoint workflows and a PowerShell script to get similar information about the Nintex workflows.

Even with a complete list of SharePoint 2010 workflows, there is still some documented pain points that will require some thought to overcome – this won’t be a straight copy/ paste into Power Automate 😀

However, with that said the plan is essentially the same as before; assess the active workflows, consolidate where possible and re-build the SharePoint workflows in Power Automate – only in a much shorter time frame…

Resource list

I will keep updating this list as I see new articles, or information from Microsoft and others.

Background information

Guidance and other useful info


How to fix SharePoint workflow files that are checked out

I recently ran into an issue where I was getting the dreaded “failed on start” error for some of the workflows in a SharePoint 2010 environment. At first I was concerned that some sort of Microsoft KB had killed workflows again as described here and here.

However, that didn’t appear to be the case. After some investigation I noticed that the files that make up a particular list/ library workflow were checked out!

The problem(s)

This first issue was the “failed on start” error message in the workflow field within the list. It was a pretty niche edge case though as it appeared to only affect newer workflows that contained a send email action.

Another interesting issue was that when creating brand new workflows to test if the error persists brought its own set of problems. Once published, the new workflow would appear as normal to be ran manually for a new list item and would proceed to fail on start.

Workflows failing on start from within SharePoint 2010.

However, any new list items would not have the workflow listed to be ran against. Jumping back into SharePoint Designer proved equally useless as clicking on the workflow within the list just brought you to a SharePoint error.

Then I found that digging deeper into the workflow files within SharePoint Designer showed that some of the files that make up a workflow were in a checked out state – what?

You are unable to check these files in, as when you try you receive a message stating:

“Server error: you cannot discard check out because there is no checked in version of the document. please delete this document instead”.

After googling this, as I’d never seen this before led me to this brilliant post on SharePoint stack exchange which brought me to a resolution. Specifically, this comment:

I also would like to thank TashasEv for his answer. It provided the key clue I needed for troubleshooting a similar problem. In my case, it was not the Document content type which had the title set to Required, but the User Workflow Document content type.

This is one of two content types that are shown listed when (in SPD) you right-click on the Workflows folder in the left Navigation panel (the other being Folder). I used the Administration Web Page (it’s a button in SPD when on the Properties tab for the Workflows folder). Changing the Title property of this content type to Optional solved the issue.


So as described in the above post, here are the steps involved:

1. Find the hidden properties menu

  • Open SharePoint Designer 2010 and open the site where you workflow is running
  • Press All Files > Workflows
Open Workflows from with All Files in SharePoint Designer.
In Workflows, after clicking on the affected workflow you will see all the files associated that are in a checked out state.
  • Right-click on any workflow (I selected the affected one) > press Properties
“Hidden” properties button can be found by right-clicking on a workflow.

2. Set the title of the user workflow document content type to optional

  • Within Properties, under Content Types > select User Workflow Document
  • Under Customization > press Edit content type columns
Within the User Workflow Document, press the edit content type columns button.
  • Select the Title column > then press Administration Web Page
  • This will open a browser window, under column settings set the column to Optional
Make the hidden title column optional from the administration web page.

3. Re-publish the affected workflow(s)

  • Navigate to the affected workflow(s) via the Lists and Libraries section
  • Open your workflow, make a small amend > Save and Publish

Now, when you run the workflow(s) affected they should complete as normal, and if you check the files within the All Files > Workflows section in SharePoint Designer they should be checked in and all OK.

How to stop all Office files in SharePoint 2010 opening read-only

(This post was written using a SharePoint 2010 environment)

In this post we look at how differing versions of Microsoft Office ProPlus affects SharePoint 2010 and the ability to open and edit Office files, plus how to fix them.

The situation

I began to get reports from users that were trying to open Office files from SharePoint that the files would only open read-only. These users have historically always had permissions to edit the files and have previously been able to open the files in edit mode from libraries within the SharePoint environment.

In this scenario we were running Microsoft Office 365 ProPlus version 16 and updates were on the monthly channel.


There were several suggestions already within the Microsoft community on how to fix this issue, which I initially tested myself to see if they would work. I tried:

  • Clearing the Windows credentials of the MicrosoftOffice16 credentials
  • Turning off the “require documents to be checked out before they are edited” option in the a libraries settings

However, neither of these things worked completely. I didn’t notice any difference clearing credentials, and with the checking out files feature – this wasn’t turned on for the majority of the libraries I tested. Plus I didn’t really like the idea of having to turn off the checking out functionality in every library within our SharePoint environment!

So I continued to investigate and found the following:

The read-only issue appeared differently depending on the Office file

For Word and PowerPoint files, I saw that files would show this window when opening:

Word & PowerPoint files would open read-only after clicking open from this prompt.

Then the files would be read-only, if you tried to save the file it would ask you to save a copy. If you tried to overwrite the file saved in SharePoint it would tell you it is read-only and cannot be saved.

For Excel files, again you get the above prompt before the file opened, however when you opened the file a yellow banner would appear, allowing you to edit the workbook:

Excel files performed differently to other Office files when opening form SharePoint.

If you press “Edit Workbook” you could edit the file and save back to SharePoint no problem.

Some users could edit files from Open with explorer, but not all

So in this example some users could work around the issue by opening the file in explorer, which would allow them to edit the file and save back to SharePoint.

This wasn’t consistent for everyone, in some cases when users opened a file from explorer view, they would be prompted to check out the file from a yellow message in the ribbon, which would then error to tell them they can’t as the file is read-only.

Older versions of Office updates did not experience this issue

Not all of the users in this scenario had the same Office updates. One user who was running version 1611 on their machine was able to open and edit the same files from SharePoint that users running 2002 and above Office updates could not.


Im calling this a solution, but really it feels more like a sticking plaster as I’ve personally noticed this issue has been presenting itself in varying ways since at least the 1908 Office update, but this latest issue presented itself with the 2002 and 2003 Office updates. Anyway, here’s what we did to get files opening again:

  • Uninstall any Access Database Engine downloads you may have installed (2007, 2010 is what I noted)
  • Run an Office repair on the machine(s) with the issue
  • Install, or re-install Infopath 2013

Once Infopath was installed, when opening the same Office files (Word, PowerPoint or Excel) the above prompt changed to look like this:

Once Infopath 2013 was installed, the above prompt would appear when opening files from SharePoint.

I continued to test, going so far as to switch on the “require documents to be checked out before they are edited” setting just to see if that had any bearing on things, which it didn’t as the prompt just changed slightly:

With the check out option configured, the prompt to open and edit files in SharePoint slightly changes.

Like I mentioned earlier, this is by no means a solution to this problem, but it’s got us out of a jam for the past few Office updates, so hopefully it will help someone else too!


How to create a custom ID for lists and libraries

In this example I demonstrate how to create a simple solution that allows users to submit a request to a list, then a workflow fires that updates the request ID field with our custom ID number.

ID numbers, reference numbers, ticket numbers…this is something that regularly gets asked to be a part of any SharePoint solution or request based system. My first thought when this is required is “easy, we can just use the SharePoint item ID column and use that”. However, creating a simple calculated column that leverages the in-built ID column is not as easy as it seems.

My first attempt at creating a custom ID column involved creating a new calculated column, and appending some text before the ID and then inserting the ID column into the formula, like this:


The problem with this approach is that when new items are added, the ID appears to “slip” resulting in the custom ID column having no ID number being pulled from the SharePoint ID.

Custom ID column – modern SharePoint

1. Pre-requisites

Before you begin you will naturally need to create either a list or library in SharePoint, and the relevant apps checked as part of your O365 license.

2. The setup

  • Create a new column, with the type Number – I called this ‘solIncrementNum
  • Create a new column, with the type Calculated – I called this ‘solReqNum‘, later renamed ‘Request Number’
    • In the formula field, add the following: ="SOL-00"&[SolIncrementNum]
    • For the Data Type, select Single line of text
Setting the formula for the solReqNum column in list settings

NOTE: for the Request Number formula if you want to prefix your custom ID with something else just replace what’s between the ” “ in the formula field above.

3. Build the Flow

Flow action: when a new item is created

  • Create a new flow from the template “when a new item is created, complete a custom action”
  • Give your Flow a name, I called mine “Populate Solution Request Number”
  • In the “when a new item is added” step, make sure the site address and list name are the same as the list you built the custom ID column for earlier
Step 1 of the Populate Solution Request Flow

Flow: update item

  • Press + New step, start typing “update item”, select the update item action from the selection
  • Select the site in question, then copy and paste the List Name from the previous action
  • Make sure this action has the following fields set:
    • Id: ID
    • Title: Title
    • solIncrementNum: ID

NOTE: make sure that when you set these fields, that the values you use are coming from the “when a new item is created” action.

Step 2 of the Populate Solution Request Flow

Now when new items are created within the list or library, the flow will fire and create a new request number.

Modern SharePoint list with Flow that populates Request Number

How to fix SharePoint sites that don’t appear in top navigation

(this post applies to SharePoint 2010, 2013, 2016 classic sites)

So in this scenario, a user was unable to get new SharePoint 2010 sites to show in the top navigation, even though some where hidden. If this happens to you try the following:

  • Navigate to Site Actions > Site Settings
  • Under Look and Feel > Navigation
  • In Global Navigation > update the maximum number of dynamic items
Update the maximum number of dynamic items to show all your sites

That’s it! now all your sites that haven’t been hidden will be displayed in the global navigation.

Configure a default view for Document Sets

(This post was written using a SharePoint 2010 environment)

Document sets are a pretty awesome way to convert people from traditional folders to using metadata in SharePoint, but retaining the ‘feel’ of a nice folder structure.

When you start using document sets you might want to play with the default view of your files, this isnt as straight forward as just setting a new default view. Here’s how to do it

Create and configure the view

  • Create your view
  • Under Folders > ensure show this view is set to In folders of content type: document set
  • Press OK
Select the document set content type in the view settings

Select the view for the Document Set Content Type

  • Navigate to the Library Settings
  • Under Content Types Select the Document Set
  • In Settings > Select Document Set settings
Document Set settings
  • Under Welcome Page View > select your view
  • Press OK

Now the changes made to your custom view will be present inside each document set!


For more on document sets, check out my write up of the quirks of document set routing.