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:
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:
="REQ-00"&[ID]
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
This is a take on my a previous post on creating an a – z page in classic SharePoint, but this time using modern SharePoint pages. If you want to take a look at the classic SharePoint example, please click on the link below.
Finally, you can make your root site a modern communication site or a modern team site! Using the new PowerShell cmdlet: Invoke-SPOSiteSwap, switches the location of a source site with another target site.
Note: the source or target sites cannot be “associated” with an Office 365 group or connected to a hub site.
Site owners can now associate their sites to a hub they have permissions to join. Previously this ability required site collection level admin privileges.
The activity highlights shows you if someone you work with edits, comments, or @mentions you on files you’re working on. This is displayed in the File Hover Card, with a link to the relevant activity.
Now you can find relevant content at the top of the Shared with me view in OneDrive. Files which are recommended based on your working relationships will surface to help you find trending information faster and discover new content.
You can already comment on Office docs in Office on the web, but now you can comment on other file types in OneDrive on the web such as PNGs, JPGs, or PDFs. You can also comment while using the viewer in OneDrive.
OneDrive will be natively integrated into the Samsung Gallery app, providing automatic syncing of your photos and videos and enabling new protection and cross-device experiences. The Galaxy Note10 will be the first to get the OneDrive integration, with more Samsung devices to follow.
When you schedule “focus time” through MyAnalytics, Teams will automatically help you stay focused by changing your presence to “focusing” and silencing all notifications during the focus period (based on your priority access settings).
The Microsoft Teams Room app has been updated to include a “content camera” feature. This detects the whiteboard in the room, crops and frames it, and shares the content with remote participants.
Meetings First is a configuration mode that allows organizations to continue to use Skype for Business Server for their chat and enterprise voice needs, but move their meetings workload to the cloud.
Any version of Skype for Business Server is supported, though more recent clients will have a better coexistence experience. In addition, organizations need to be licensed for Teams, including Audio Conferencing if PSTN dial-in/dial-out functionality is required.
SoftBank has released their UniTalk calling plans to Office 365 customers in Japan. The Softbank Calling Plans enables SoftBank to sell and support PSTN calling services specifically for the Japanese market.
Audio Conferencing via Direct Routing for GCC High and GCC DoD
o Conferencing via Direct
Routing for GCC High and GCC DoD
This feature enables participants to join your organization’s meetings using a standard phone number. Configuring this feature requires your GCC High or GCC DoD organization to use its own numbers for dial-in access and all meeting dial-outs to phones are via Direct Routing.
Currently in developer preview, Personal apps can extend and customize Microsoft Teams for your organization. It provides a capability for people in your organization to use 3rd party apps within Teams.
Personal apps in developer preview has been rolled out, with a a broader target rollout in the last quarter of 2019.
The
enhanced Assignments tab now shows a clear view of what’s coming up next, when
creating a class assignment, educators can add resources from your Staff or PLC
team. Simply select Add resources on your assignment and choose it from the
file picker. You no longer need to move your content between teams.
In August the PowerApps team added videos to the release notes show casing upcoming innovations as part of the wave 2 releases. You can see the video below:
PowerApps Portals now uses the selective entity caching approach to improve reliability and performance of your portal. With this update, you can now see changes reflected on the portal immediately.
PowerApps component framework can now see changes in the test harness as they are made and push components directly into an org using the CLI.
The push capability will make you more efficient because it bypasses the custom component versioning requirements and does not require you to build your solution in order to import into your development environment.
The watch capability removes the need to reload your test harness after every change is made.
The SetFocus function gets data entered faster by having the app position the cursor in the input field where we should begin. When you go to validate, the app will take you directly to the offending entry, even if it scrolled off screen.
You can now simplify large formulas by dividing them into named sub-formulas, eliminate redundant sub-formulas, and easily work with functions that return records.
Inline navigate to all of our modern model-driven designers
To reduce the amount of clutter within your browser while building apps, Microsoft have introduced an option to open the modern view and form designers inline. To get back, you can simply press the back button in the designer.
Data source experience & Common Data Service views
New data source experience and Common Data Service views that allow adding data sources into the app, or creating new connections without inserting a control have been updated.
Also updated is enabling a Common Data Service entity view that can be selected in the property pane and the Items property. The property pane will update the Items property to add the Filter function taking the the view name as the filter.
Now in public preview, this feature enables canvas apps to be shared with guests of your organization! This enables teams of individuals made up of different organizations participating in a common business process to access the same app.
Sharing canvas apps with guests of your organization
Please note: there are also several updates for the PowerApps Unified Interface that I haven’t been able to list here, but you can find all the details from the link below:
Work-in-progress diagrams and slides in PowerPoint
You can now transform standard shapes in PowerPoint, Word, and Excel into rough outlines that look handdrawn and convey a sense of in-progress work. Sketched Shapes is perfect for building wireframes, drafting designs, or adding an artistic touch.
Work-in-progress diagrams and slides in PowerPoint
You can now get a link to an individual slide from PowerPoint and share it with recipients. This will help others land on the most relevant information without having to find what you were trying to show them through a stack of presentation slides
Recently announced, a new Yammer mobile experience to iOS and Android devices. Some highlights include a modernized feed experience that reduces visual clutter and delivers improved readability, live events, and townhalls that you can view on the go; Seen Counts to let you know how many people have viewed your messages; and group search to cut down on search time and find the information you need.
I’ve been suitably inspired by Andrew Warland’s fantastic two-part series documenting his approach and migration to SharePoint Online, so much so that I thought it would be a fun series to write about my own experiences.
It is’nt my intention to necessarily document Microsoft best practice in this series, rather just to explore some of the challenges, sucesses and experiences I notice along the way.
The current situation
My organisation has recently made the decision to move to to the cloud, with O365 being the naturally preferred destination. SharePoint has been well embedded, and heavily used within the business for several years, with on-premises SharePoint 2010 currently in production.
Finally, in terms of the SharePoint architecture and data volume, there are only three web applications to merge together as part of the migration effort. However, there are several site collections within our main intranet web app, plus many sub-sites nested within them, meaning the huge database sizes behind these site collections could prove difficult come migration time.
A note on the new, flat structure
Our current environment has a well established top-down structure in place that is generally consitent across the environment.
Having already made the investment in ShareGate, this will be the tool of choice for the migration. In the version 11.0 release of ShareGate, a new restructure option now allows you to promote sub-sites to top-level sites post inital migration from the source SharePoint environment.
The new restructure option in ShareGate 11.0
Considerations for a successful migration plan
One of the biggest issues to be resolved before we can start any sort of migration activity, is the fact that we have several content databases well over the 200GB recommended general use size limit.
Microsoft best practice suggests that any environment that has site collections, sites, content databases, libraries or lists that exceed the software boundaries and limits should be remediated prior to any migration activity. In this case, the main idea is to split each content database that exceeds 200GB into seperate content db’s, and where neccessary, move or promote sub-sites to site collections and attach new db’s.
Armed with the knowledge of the recent restrcuture functionality coming to ShareGate, plus my own personal feeling that any remediation activities to our current environment may in of itself carry adverse risk to the estate we proposed a different approach.
With all the reporting capabilities at our disposal via ShareGate, I was able to get a firm grasp of what resides within each site collection in our environment, in terms of:
The size of each sub-site underneath the top-level
Number/ size of libraries and lists
Number of items in each of the above
Any workflows running in any of the above
From this I ran a trial migration of a sub-site from SharePoint 2010 to a newly created team site in SharePoint Online.
Pre-migration
Before I kicked off the migration, I ran the source analysis tool within the Migration > Plan section of ShareGate. I noted the following obersavations:
The source analysis within “migration” in the ShareGate tool, although listed as only being able to analyze up to SharePoint 2013, does in-fact work for 2010
ShareGate source analysis
The source analysis cannot run at the sub-site level, meaning that you need to run it at the site collection level then just filter down to the sub-site in question through the report itself
Source analysis gives you a report of all checked-out files within a source site.From this, I created a simple view within each of the libraries that contained checked-out files to send to the site owners for action
Post-trial migration
The trial migration completed successfully as expected, however there were several interesting results I noted:
1. Everyone receieves a welcome email
If you migrate the permissions, once the source permission groups migrate each user will recieve a welcome email to the new SharePoint Online site.
Publishing sites seem to be the trickiest to migrate, especially those with custom master pages or page layouts. When migrating publishing sites, the Pages library is migrated wholesail, meaning the content won’t reside in the SitePages library (where new client-side pages are located).
3. Un-editable modern homepage
After the migration had completed, the new team site homepage threw up an error every time you tried to edit it.
I tried some of the documented resolution steps found here, but none of them worked for me. My solution was to just create a new page to replace the broken homepage, add all the relevant webparts and make this one the new default homepage.
Transforming classic publishing site pages to client-side pages
Publishing site pages will all be migrated as classic SharePoint pages, without the modern look and feel of a client-side page. My understanding is that for publishing pages with custom page layouts, additional metadata or custom content types will need to be transformed via PowerShell and creating a custom mapping file.
(I’m planning on writing a seperate blog post walking through an advanced publishing page transformation in the near future)
Its also worth considering that in the release notes for ShareGate 11.0 it makes mention of the fact they are researching the ability to transform classic to modern pages, so that could well simplify this process in a future release.
Conclusion
Overall, I was happy with our trial migration and believe it is a viable approach for us to move from on-prem to O365. Some lessons learned for myself would be to consider and SharePoint permissions audit prior to migration to remove any unecessary permissions, send an inventory out to site owners aswell as checked-out files, all in the name of reducing the migration effort.
This will be an ongoing series of posts, which i’ll focus more the on the nitty-gritty of the migration effort than anything else, but as always if there is any feedback or suggestions on how to improve this site, please let me know!
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:
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:
Save the files locally and make a note of their location
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:
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.
Firstly, full credit for this information goes to Mischa Oudhof and this sysadmin blog for this really useful post in 2010! I thought i’d write it up here just for my own sanity (and incase that page were to ever not exist) plus add a few extra bits of my own.
So recently a user was trying to upload multiple documents into SharePoint 2010 by copying/pasting using file explorer for the destination library. When copying across the files they received something like this message:
What are the restrictions?
There are a whole load of restrictions when it comes to file name, length, characters within SharePoint. This affects site collections, sub-sites libraries or lists. Here are some of the more general restrictions:
File and folder name lengths can’t exceed 128 characters in both WSS 2.0 as WSS 3.0
Link list items can’t exceed 256 characters
The entire path of files can’t exceed 260 characters
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 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
A deep dive into all the potential restrcitions can be found in the msdn blog here.
Things have changed in Office 365…
Microsoft announced in 2017 that the old maxpath limit has been expanded to 400 Unicode code units. Microsoft also announced more URL improvements for the support of # and % characters.
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 to improve video call focus
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.
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.
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.
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
Press View in 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):
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).
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
Check the Hide from browser option
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.