How to build a knowledge base in SharePoint

This post will detail step-by-step how to build a knowledge base using the modern authoring experience in SharePoint Online.

Contents

Intro

SharePoint and knowledge bases have gone hand in hand for many years. If you have been involved with SharePoint for any length of time it is not an uncommon request to be asked to build a knowledge base at some point. With the advent of AI and machine learning within Microsoft 365, plus the introduction of Knowledge & Content Services (formerly Project Cortex), SharePoint Syntex and Microsoft Viva Topics, you may think the need to build a traditional knowledge base has gone the way of the dodo.

Well the pricing of the above services means that my organisation won’t readily adopt these new things, so for now at least continuing to leverage metadata rich lists & libraries will have to suffice! Here’s how I built a knowledge base in SharePoint Online…

IT Knowledge base image

Site features

  • Custom site theme/design
  • Mega-menu navigation
  • PnP modern search V3
  • Custom page templates
  • Site Pages library with additional metadata
  • Lookup value lists
  • Change log list

Web parts used

  • Image with colour block
  • Search box
  • Highlighted content
  • Image/ text
  • Page properties (KB articles)
  • Search results web part
  • Searh filters web part

Approach

I wanted to leverage the modern page authoring experience for creating pages, as there are several people adding content to the knowledge base (KB). So with that in mind the knowledge base is built around the Site Pages library, using the metadata applied to each knowledge base article to drive dynamic web parts throughout the site such as search, page properties and the highlighted content web part.

Within the KB, all KB articles get categorised by the type of technology, application and product they fall under. These work for my KB as I can fit KB articles within these headings. For example:

KB article: How to fix the sync connection in SharePoint 2010

TechnologyApplicationProduct
MicrosoftSharePoint ServerSharePoint 2010

Site Pages library

As mentioned above, the Site Pages library is the lynchpin to the entire knowledge base. Starting with the Pages library, I created columns to capture additional metadata about each KB article. Here are the columns I created:

Technology: lookup column, values held in custom list
Application: lookup column, values held in custom list
Product: lookup column, values held in custom list
Knowledge Type: choice column
Topic: Managed Metadata column
Contact: Person or Group

Technology, Application & Product are what drive each view within the Site Pages library. I have created a view for each Technology and Application, which are used for web parts embedded within the relevant pages (for example: Microsoft).

Product is used as a way to formalise the type of KB articles that are created (for example: Procedure), with Topic effectively being a way to tag KB articles with a wider variety of terms to aid searching and filtering.

Custom site theme/ design

I originally provisioned the site based on the news, resources, actions template in the SharePoint look book. From here I created a simple custom site theme following the excellent blog post how to configure and apply a custom theme in SharePoint Online by Greg Zelfond.

The only thing I did different is I used a different website to generate my theme which you can use here. This theme generator site allows you to access more of the colours that are used when creating a theme to potentially create a multi-coloured theme. For more information of this check out another great post by Laura Kokkarinen here.

Use a theme generator to create a custom theme for your SharePoint Online site.

Homepage

The homepage of the knowledge base is broken down into three key areas: search, recently added and the browse area.

Search: Search web part as part of the PnP modern search solution V3. Connected to a custom search results page (more information below).

Recently added: Highlighted content web part that only shows pages from this site, filtered by recently added earlier this year.

Browse: Three column section consisting of images, text and button web parts. I used the images from the look book template to get the correct sizing for the images above. When updating the images I noticed they didn’t update immediately which I wrote about how to fix here.


The navigation for the KB has been created using the mega menu option within the Change the look > Navigation options. The links have all been created manually for each section, with each link going to either a dedicated page or a view created from the Site Pages library.

Mega menu navigation in the IT KB.

Search web part

The search for the knowledge base is all based on web parts from the PnP modern search solution V3. From the homepage there is a search web part. Before configuring the search web part on the homepage you will need to create and configure the search results page and web part as it is required as a data source. I followed the guidance from the PnP modern search solution documentation to configure the search web part with the following properties:

The search web part configuration on the knowledge base homepage.

Search results

The search results is a dedicated page created within the knowledge base that includes the search box, search results and search filters web parts. The search box web part is configured in exactly the same way as on the homepage and just serves as a consistent way to see your search results and search again if required.

The search results web part has been added to a separate, one-third left section underneath the search box web part shared with the search filters web part. The search results web part has the following settings:

Connect to source: Page environment
Page environment’s properties: Search
Search: Search query
Use a default search query: No
Query template: {searchTerms} Path:{Site.URL} FileType=aspx
Result source identifier: No
Sort order: Created, size
Sortable properties: None
Connect to a search refiners web part: On
Use refiners from this component: Filter
Connect to search verticals: Off
Enable query rules: On
Include personal OneDrive results: Off
Selected properties: {searchTerms} Path:{Site.URL} FileType=aspx
Refinement filters: None
Show paging: On
Number of items per page: 30
Number of pages: 4
Hide navigation: No
Hide navigation if disabled: Yes
Results layout: Simple list

Search filter web part

The search filter web part has been added to the search results page with no additional configuration changes made. Don’t forget (like I did), to get the search filter web part to start to work with your search results, you need to turn it on within the search results web part – under connect to a search refiners web part!


Page templates

I’ve used page templates within the knowledge base to standardise the layout of each KB article. At the time of writing there are only two templates to choose from: an application template or new KB article.

Example KB article page template

The KB article page template includes a page properties web part that shows the Knowledge Type, Contact and Topic.

The layout of each KB article page template is as follows:
One-third right section: Text web part (left), Page properties web part (right)
One column section: Two text web parts
One column section: Two text web parts

How to create a page template

  • Create or open the page you want to use as your template
  • Press the down arrow next to the save button > Save as template

Page templates will now appear under saved on this site when creating a new page. Templates are also saved in a “Templates” folder within the Site Pages library.

Create page templates to standardise how knowledge is created.

More information on how to manage and delete templates can be found here.

Issues & next steps

Dependant drop-down lists, Power Apps and the Site Pages library

One area I would like to improve on is including the ability to have dependant drop-downs for Technology, Application and Product when applying metadata to KB articles. When creating the KB, I did work on two ways to achieve this- but they both fell short in the end.

My first attempt was to customise the Site Pages library new and edit forms using Power Apps. I used this article by Microsoft on how to create dependent drop-down lists in a canvas apps as a starting point, but had to make some changes to account for the additional third level of drop-down. Although I got this working within the context of PowerApps, I had to abandon this method as creating new pages in the Site Pages library via Power Apps is not supported. My experience was that once I customised the form in Power Apps, it pretty much broke the Site Pages library. I was unable to create new pages and it would default to an old style wiki page and not let me create modern site pages.

Custom forms for document libraries only supports editing custom metadata. Editing or managing file(s) is not supported.

https://docs.microsoft.com/en-us/connectors/sharepointonline/

After this failed, I also tried an older way of doing this by using JQuery and SPServices as described here.

Initially I got this to work too, but it was also a pretty poor solution when working with modern pages as the only way to actually get to the dependent drop-downs was by pressing “Edit all” which took you to the classic version of the edit properties page.

Aside from this, you also have to jump through several hoops to add in the old content editor web part, which are too numerous to describe in this post but have linked to one of them.

There was also a recent change to how classic forms work with modern lists that stopped this method working all together. Although this seems to be resolved, my understanding is you have to set your list to run in the classic experience in order to get this method to work – so I’ve scrapped this too!

I currently have no solution for dependant drop-downs, but am open for suggestions that are low code or relatively easy to implement. Feedback so far from users is that they aren’t all that bothered about it as the process to apply metadata is easy.

Images not updating when refreshing

As I was in the process of updating the KB homepage I noticed that when replacing some of the images or other assets that make up the page, they weren’t visibly updating after a forced browser refresh. I wrote a separate post called how to force images to update in SharePoint Online which details how to resolve this.

Updating the modern search solution

When I began building the KB I deployed what is now version 3 of the modern search solution. Since then the PnP team have created PnP Modern Search V4, I’ve personally decided not to update my search solution as at the time of writing V4 doesn’t support suggested keywords which is a part of my solution.


Limitations of copy/ move options in SharePoint and Teams

In this post, we will explore what copy and move options are available for end-users in SharePoint, Microsoft Teams and OneDrive, their limitations and what resolution options are available.

Overview

The move and copy features in Microsoft 365 are a welcome addition for anyone used to the pains of moving or copying files in classic versions of SharePoint. Gregory Zelfond has a fantastic write up of how to move and copy documents in SharePoint and OneDrive which gives a great explanation of the move/ copy actions which I would recommend everyone check out.

In the good old days, finding where the copy/move features were in SharePoint of old was a small triumph in of itself. Buried within the bowels of manage content and structure, the move feature looked pretty scary – from the confusing navigation tree to the spinning green wheel of worry as to whether your file was actually being moved or not.

The copy/ move features are much, much better now – mainly the unified user experience across M365 makes it much easier to get to grips with and understand. It is now literally as simple as selecting the files or folders you want to copy/ move > pressing copy/ move and do it…well almost!

An example of how easy it is to move files to a new location in SharePoint Online.

Current limitations

As good as the copy/ move features are now, they do however come with their own limitations. When I initially outlined this post in December 2020, much of the limitations were the same as today, however there was a 2GB limit for each individual file that was being copied/ moved in a single operation.

Later in December 2020, Microsoft announced an increased upload file size limit from 100 GB to 250 GB for SharePoint, Teams and OneDrive. Shortly thereafter the SharePoint limits service description was also updated, seemingly to reflect this change. As of February 2021 the requirements are:

No more than 100 GB total file size
No more than 30,000 files
Each file must be less than 15 GB

https://docs.microsoft.com/en-gb/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits

When I first realised the above limitations, I thought a way around it might be to just copy the data from source to a new location using the Migration Manager. This will not work as you are only able to specify one level of folder within a given document library in SharePoint, Teams or OneDrive. If you are required to migrate the data to sub-folders two, three or more levels deep within a document library, the Migration Manager will not be able to complete this.

You can only select a top-level folder from a given document library via the Migration Manager.

Practical example

The requirements above becomes an issue when migrating data at scale in my opinion. For example, with a file server migration – organisations that migrate all their file server data into Microsoft 365 with a view to restructure after the fact, the limitations of these requirements become much more apparent.

The 100 GB total file size limit, as with the no more than 30,000 files could cause issues where file server data is concerned as it will stop data owners being able to move large parts of their data structure to new locations if it exceeds this limit – although you could also argue this is also a good thing!

The increase of the individual file size does make a big difference to the overall picture, but now with a 250GB upload limit it could be even more difficult to move data around in future.

Resolution options

I’ve only been able to come up with one actual way to get around this problem – and once again ShareGate is our friend! Running migrations using the ShareGate desktop app allows you to copy from the relevant sub-folder, or to the relevant sub-folder in the destination – no matter how many levels down it is.

You can copy from and to sub-folders using the ShareGate Desktop App.

Aside from this, the only options would be to either:

  • Only have a top-level folder structure in the destination, to allow you to use the Migration Manager
  • Reduce the total size/ number of items being moved to allow you to use the native copy/ move features in M365

Useful SharePoint URLs

This post is to serve as a reference point for all the useful shortcut URLs in SharePoint that help admins and super users get their jobs done much easier.

There are several blog posts by others with these URLs in them, but I wanted to preserve them in my own blog for future generations! Most of these links have come from SharePoint 2010, so if you want them to work in differing versions just add a 14, 15 or 16 after the layouts folder to work in 2010, 2013, 2016 or SharePoint Online.

My favourites

TitleURL
Site contents/_layouts/15/viewlsts.aspx
/_layouts/15/viewlsts.aspx?view=14 (old style view)
Manage content & structure/_layouts/sitemanager.aspx
Audit log reports /_layouts/Reporting.aspx?Category=Auditing

Users and permissions

TitleURL
People/_layouts/people.aspx
Groups/_layouts/groups.aspx
Site Collection Admins /_layouts/mngsiteadmin.aspx
Advanced Permissions /_layouts/user.aspx

Galleries

TitleURL
Site Columns/_layouts/mngfield.aspx
Site content types/_layouts/mngctype.aspx
Web parts/_catalogs/wp/Forms/AllItems.aspx
List templates/_catalogs/lt/Forms/AllItems.aspx
Master Pages/_layouts/ChangeSiteMasterPage.aspx
Themes/_catalogs/theme/Forms/AllItems.aspx
Solutions/_catalogs/solutions/Forms/AllItems.aspx

Site administration

TitleURL
Regional settings/_layouts/regionalsetng.aspx
Content and structure/_Layouts/sitemanager.aspx?Source={WebUrl}_layouts/settings.aspx
Content and structure logs/_Layouts/SiteManager.aspx?lro=all
Site libraries and lists/_layouts/mcontent.aspx
User alerts/_layouts/sitesubs.aspx
RSS/_layouts/siterss.aspx
Search and offline availability/_layouts/srchvis.aspx
Sites and workspaces/_layouts/mngsubwebs.aspx
Workflows/_layouts/wrkmng.aspx
Workflow settings/_layouts/wrksetng.aspx
Related Links scope settings/_layouts/RelLinksScopeSettings.aspx
Content Organizer Settings/_layouts/DocumentRouterSettings.aspx?Source=settings.aspx
Content Organizer Rules/RoutingRules/Group%20by%20Content%20Type.aspx
Site output cache/_Layouts/areacachesettings.aspx
Term store management/_Layouts/termstoremanager.aspx
Searchable columns/_Layouts/NoCrawlSettings.aspx

Look and feel

TitleURL
Welcome page/_Layouts/AreaWelcomePage.aspx
Title, description and icon/_layouts/prjsetng.aspx
Master page/_Layouts/ChangeSiteMasterPage.aspx
Page layouts and site templates/_Layouts/ChangeSiteMasterPage.aspx
Tree view/_layouts/navoptions.aspx
Site theme/_layouts/themeweb.aspx
Navigation/_layouts/AreaNavigationSettings.aspx

Site actions

TitleURL
Manage site features/_layouts/ManageFeatures.aspx
Reset to site definition/_layouts/reghost.aspx
Delete this site/_layouts/deleteweb.aspx
Site web analytics reports/_layouts/WebAnalytics/Report.aspx?t=SummaryReport&l=s
Site collection web analytics reports/_layouts/WebAnalytics/Report.aspx?t=SummaryReport&l=sc

Site collection administration

TitleURL
Search settings/_layouts/enhancedSearch.aspx
Search scopes/_layouts/viewscopes.aspx
Search keywords/_layouts/listkeywords.aspx
Site level recycle bin/_layouts/RecycleBin.aspx
Site collection recycle bin/_layouts/AdminRecycleBin.aspx
Site collection features/_layouts/ManageFeatures.aspx?Scope=Site
Site directory settings/_layouts/SiteDirectorySettings.aspx
Site hierarchy/_layouts/vsubwebs.aspx
Site collection navigation/_layouts/SiteNavigationSettings.aspx
Site collection audit settings/_layouts/AuditSettings.aspx
Audit log reports/_layouts/Reporting.aspx?Category=Auditing
Portal site connection/_layouts/portal.aspx
Site collection policies/_layouts/Policylist.aspx
Storage Metrics/_layouts/storman.aspx
Record declaration settings/_layouts/InPlaceRecordsSettings.aspx?Source=settings.aspx
Content type publishing/_Layouts/contenttypesyndicationhubs.aspx
Site collection cache profiles/_Layouts/RedirectPage.aspx?Target={SiteCollectionUrl}cache profiles
Site collection object cache/_Layouts/objectcachesettings.aspx
Content type service application error log/Lists/ContentTypeAppLog
Site collection output cache/_Layouts/sitecachesettings.aspx
Variations/_Layouts/VariationSettings.aspx
Variation labels/_Layouts/VariationLabels.aspx
Translatable columns/_Layouts/TranslatableSettings.aspx
Variation logs/_Layouts/VariationLogs.aspx
Suggested Content Browser Locations/PublishedLinks/
Document ID settings/_Layouts/DocIdSettings.aspx
SharePoint Designer Settings/_layouts/SharePointDesignerSettings.aspx
Visual Upgrade/_layouts/suppux.aspx
Help settings/_layouts/HelpSettings.aspx

Central administration

TitleURL
Manage web applications/_admin/WebApplicationList.aspx
Create site collections/_admin/createsite.aspx
Manage service applications/_admin/ServiceApplications.aspx
Manage content databases/_admin/CNTDBADM.aspx
Check job status/_admin/Timer.aspx
Manage farm administrators group/_layouts/people.aspx?MembershipGroupId=3
Configure service accounts/_admin/FarmCredentialManagement.aspx
Configure send to connections/_admin/OfficialFileAdmin.aspx
Configure content deployment paths and jobs/_admin/Deployment.aspx
Manage form templates_admin/ManageFormTemplates.aspx
Manage servers in farm/_admin/FarmServers.aspx
Manage services on server/_admin/Server.aspx
Manage farm features/_admin/ManageFarmFeatures.aspx
Configure alternate access mappings/_admin/AlternateUrlCollections.aspx
Perform a backup/_admin/Backup.aspx
Restore from backup/_admin/BackupHistory.aspx?restore=1&filter=1
Perform site collection backup/_admin/SiteCollectionBackup.aspx
Convert farm license type/_admin/Conversion.aspx
Check product and patch installation status/_admin/PatchStatus.aspx
Check upgrade status/_admin/UpgradeStatus.aspx

Common actions

TitleURL
Create new_layouts/spscreate.aspx
_layouts/create.aspx
View lists_layouts/viewlsts.aspx
Create site groups _layouts/permsetup.aspx
Quick launch_layouts/quiklnch.aspx
Workflow history list/lists/Workflow History
SharePoint server version + patch level/_vti_pvt/Service.cnf (run at site collection level)
Web part maintenance mode?Contents=1 (classic)
?maintenancemode=true (modern)
Save as site template_layouts/savetmpl.aspx
Manage user alerts_layouts/AlertsAdmin.aspx

How to force images to update in SharePoint Online

This is a quick tip for anyone who has noticed when they update images in modern SharePoint sites that they don’t seem to update.

I’ve recently been doing a lot more authoring/ page editing in modern SharePoint and a small quirk I have noticed is around images. Usually, if you update an image and overwrite the original a forced browser refresh (CTRL+F5) does the trick – the image will update to show the newest version.

The problem

I’ve been doing the exact same thing in a SharePoint communication site recently and noticed that the updated image would not display – no matter how many times I force refreshed the browser, no matter which browser I use (I flit between Chrome and Edge Chromium quite a lot). The image(s) were saved in the Site Assets Library, not weren’t checked out either so no reason why they would not display once overwritten.

The image (product, right) doesn’t update to reflect the changes made in SharePoint.

The solution

I’ve found a really simple way to get around this:

  • Right-click on the image > Open the image in a new tab
  • Force refresh (CTRL + F5) the image in a new tab
  • Navigate back to the SharePoint communication site > force refresh (CTRL + F5) again
  • The image will now be displayed as expected
Opening the image in a new tab or window then force refreshing will update the image on the SharePoint page.

If anyone else has come across this issue, or found any other ways to solve it – let me know in the comments!


How to add best bets or promoted search results in SharePoint

In this post we will look at how you can add, edit or remove best bet keywords in classic SharePoint and how to do the same with promoted results in modern SharePoint.

Classic SharePoint

In classic SharePoint you are able to highlight search results you wish to make more prominent by using keywords and best bets. Best bets appear at the top of the search results page with a yellow star ⭐ next to them.

Best bets will appear at the top of the search results page in classic SharePoint.

Keywords and best bets are all managed centrally via the Search keywords under Site Collection Administration section within your top-level site.

How to add keywords in classic SharePoint

A keyword is a definition for common terms or phrases that are used within an organisation. Keywords are what search queries will match to return a keyword result. Before you get started, you must have Site Collection Administrator permissions to manage keywords.

  • Click the Site Actions menu, choose Site Settings
  • On the Site Settings page, in the Site Collection Administration section, click Search keywords
  • On the Manage Keywords page, click Add Keyword
Add Keyword from the Manage Keywords page in classic SharePoint.

Enter the following information for each keyword you create:

  • Keyword phrase: what the search queries will match to return a keyword result
  • Synonyms: additional words that users might type when searching for the keyword, separated by semicolons. Synonyms must be shorter or equal to 100 characters
  • Best bets: the recommended results for the keyword. Best bets will appear in the order listed
  • Keyword definition: optional text that will appear with the keyword (optional)
  • Contact: the person to inform when the keyword is past its review date (optional)
  • Start date: the date you want this keyword to appear in search results
  • End date: the date you want this keyword to no longer appear in search results (optional, leave blank for no expiry)
  • Review date: the date you want this keyword to be reviewed by the contact (optional)
How to add a keyword best bet in classic SharePoint.

How to edit/ delete keywords in classic SharePoint

  • Click the Site Actions menu, choose Site Settings
  • On the Site Settings page, in the Site Collection Administration section, click Search keywords
  • Click on the keyword you wish to edit and press Edit. When editing a keyword you are able to update all of the information listed above, plus:
    • Add additional best bets
    • Change the properties of a best bet
    • Change the order of best bets by updating the number of the Title next to the best bet
How to edit keywords in classic SharePoint.

How to delete keywords in classic SharePoint

  • Click the Site Actions menu, choose Site Settings
  • On the Site Settings page, in the Site Collection Administration section, click Search keywords
  • Click on the keyword you wish to delete and press Delete
How to delete keywords in classic SharePoint.

Modern SharePoint

Promoted results

Although a lot has changed with the advent of the modern search experience in SharePoint, you can still create and configure keywords and best bets – now called Promoted Results! Microsoft have published comprehensive guidance on how to manage query rules and add promoted results here, but summarise the steps myself below.

First you will need to consider whether you want your promoted results to appear across the tenant, a site collection or site within SharePoint before beginning. In this example I am creating a tenant-wide promoted result.

  • Navigate to the SharePoint admin center > More features > Search. Press Open
  • Within the search administration page, select Manage Query Rules
Open Manage Query Rules from within the SharePoint admin center.
  • On the Manage Query Rules page, select a result source for the new query rule (you can change this later)
  • Select New Query Rule. The new query rule has the following configuration options:
    • Rule name: enter the name for the new query rule
    • Context: restrict the rule to queries performed on a particular result source, from a particular category of topic page, or by a user matching a particular user segment
    • Query Conditions: define when a user’s search box query makes this rule fire. You can specify multiple conditions of different types, or remove all conditions to fire for any query text. Every query condition becomes false if the query is not a simple keyword query, such as if it has quotes, property filters, parentheses, or special operators
    • Actions: actions can add promoted results above the ranked results, add blocks of additional results promoted to always appear above ranked results or ranked so they only appear if highly relevant, or change ranked results, such as tuning their ordering
    • Publishing: make the query rule active during a particular time period
  • Add all the relevant information, then under Actions press Add Promoted Result
  • Add a Title, URL and Description for your promoted results
  • Make sure Render the URL as a banner instead of as a hyperlink is checked
  • Press Save
Create a new Query Rule and Promoted Result in modern SharePoint.

Now, when you search across Microsoft 365, you will be able to see your promoted result!

The newly created promoted result shows across Microsoft 365 search.

How to edit or delete promoted results in modern SharePoint

You can manage your query rules and promoted results through the Manage Query Rules page much like creating a new rule. To edit or delete a query rule/ promoted result:

  • Navigate to the SharePoint admin center > More features > Search. Press Open
  • Within the search administration page, select Manage Query Rules
  • Select the result source for the query rule you wish to edit
  • Click on the drop-down arrow next to the name of the query rule you want to change. From here you can:
    • View, edit, copy, delete or make the query rule inactive
  • If you are deleting a rule, once you press Delete you will be prompted with a message to confirm you want to delete the query rule. Press OK

Additional resources

Bonus! Use promoted results in PnP modern search solution

A nice little addition to this post is that if you have deployed the PnP Modern Search solution in your tenant then you can use best bets, or promoted results in the search results web part for this in the same way too!

NOTE: Best bets or promoted links are only supported in v3 of the PnP modern search solution.

Best Bets

Microsoft 365 update – August 2020

In this month’s Microsoft 365 update we take an in-depth look at all the recently released features for all the products within Microsoft 365.

SharePoint Azure CDN caching for video, download site usage data, updated list & list item sharing, improved image columns, move files & keep sharing, education site templates

Teams Tasks in Teams, New features in Whiteboard, Real time presence, meeting recording storage, optimized Teams experience VMware, new Teams devices, S4B PowerShell consolidation, Teams App Submission API

Teams (Education)SDS & OneNote Class Notebook, channel specific content spaces, Teacher Only area, detect/ delete inappropriate messages, education apps

Teams (Government)organizer joins meeting directly, instant channel meetings experience, improved meeting join launcher, prevent upload of profile picture policy

Power Apps Troubleshoot Forms in a Model Driven App, improvements to Cascading Merge Transactions, Power Apps checker now analyzes modern web syntax, Power Platform Build Tools GA

Power Automate New “when an item or file is modified” trigger, Delay, Command-Line Arguments &Copy-Paste UI Flows, flows from any message in Teams, 7 new connectors

Power BIOn-premises data gateway, AutoML support for PQO, data protection updates, mobile app headers/ navigation, block classic workspace creation, multiple data lakes support

Power Virtual AgentsShare your bot

Related Provision users to Azure AD from SAP SuccessFactors, Edge improvements, FastTrack streamlined process

SharePoint

Azure CDN video caching for SharePoint and OneDrive

Microsoft have introduced improved streaming perofrmance for videos stored in SharePoint and OneDrive. Frequently accessed videos will be streamed from the Azure Content Delivery Network (CDN)closest to the user to optimize the playback experience. At all times data will remain within the Microsoft 365 compliance boundary.

Office 365 CDN conceptual diagram
Content Delivery Networks (CDNs) in Microsoft 365

Find out more:

Download SharePoint site usage data in Excel

Site owners can now export their site’s 90-day usage data in an Excel report from the Site Usage page.

IZ-RP-21_August-2020_022_004_Export-site-usage.jpg
SharePoint site owners and members can download their site’s 90-day usage data in an excel report, directly from the Site Usage page.

Find out more:

Updated list and list item sharing experience

Site owners, members and visitors will now see a Share command when they are viewing a list, even when they do not have any list item selected.

Site owners can grant other users access to the list and can specify whether what permissions to grant. Other users (e.g. site members and visitors) cannot directly grant other users access to the list, but they can use the dialog to send an approval request to site owners if the site is set up to allow access requests (enabled by default).

IZ-RP-21_August-2020_022_005_Share-list-list-items.jpg

Find out more:

Improved image columns in lists and libraries

Several improvements have been made to the image column, including the ability to add an image to a list or library using the list itself or a library form. Also, when users are browsing the list on a mobile device, they will be able to upload an image – including taking a photo with the device’s camera.

IZ-RP-21_August-2020_022_006_Image-column.jpg
Add an image to a list items using the improved Image column capabilities.

Find out more:

Move files and keep sharing

When you move a file to a new location in Microsoft 365, you will have the option to continue sharing the file from its new destination. A simple pop-up to confirm and keep moving forward.

The new link match permissions just like the source location and we send your collaborators an e-mail that notifies them that the file has been moved.

IZ-RP-21_August-2020_022_007_Move-file-continue-share.jpg
When you move a file to a new location in Microsoft 365, you will have the option to continue sharing the file from its new destination.

Find out more:

SharePoint site templates for Education

Made available through the Microsoft Look Book, these SharePoint site templates are designed for schools and universities. Each brings together news, events, highlighted content, quick links and more, pre-configured and designed with a specific scope and audience for a variety of Education scenarios.

IZ-RP-21_August-2020_022_002_SP-EDU-templates.jpg
SharePoint site template: “School home page” – across several screen sizes.

Find out more:


Teams

Tasks in Teams

The new Tasks app in Teams provides a new unified view of tasks and assignments from across Microsoft To Do, Planner, and Outlook, helping you consolidate and prioritize your tasks.

there is also an added, new List view with the ability to edit multiple tasks at once, Graph API and Power Automate integrations, and task publishing capabilities to come.

An image of the Task app in Teams.
Tasks in Teams.

Find out more:

New features in Whiteboard for Teams

Microsoft have added new features to Whiteboard in Teams to make it easier to keep the creative process moving forward virtually. You can now quickly add sticky notes to a canvas, making it easier to contribute if you’re using a device without a digital pen.

You can now also move and re-order objects on the canvas through a simple drag and drop gesture.

An animated image showing updates to Whiteboard in Teams.
Microsoft Whiteboard in Teams.

Find out more:

Real time presence

Stay focused throughout the day with Microsoft Teams. Whether you are free for a quick chat or presenting in a meeting, real time presence increases the accuracy of your status so others know when to reach out.

Find out more:

Meeting recording storage for areas where Stream is not available

A new admin setting will allow you to turn on meeting recordings if Microsoft Stream data residency is not yet in country. If this setting is turned on, Teams meeting recordings will be saved in the data center closest to the region.

Find out more:

Optimised Microsoft Teams Experience for VMware Horizon 8

VMWare Horizon 8 now offers enhanced audio and video experience for Microsoft Teams. The optimization pack helps provide better user experience and improved productivity for those leveraging Microsoft Teams across Horizon virtual desktop (VDI) and published application environments.

Find out more:

New Teams devices

First, The Windows collaboration display by Avocor is the world’s first and only Windows collaboration display certified for both Microsoft Teams and Azure.

Avocor.png
Avocor’s AVW-6555 provides seamless integration with Microsoft Teams video and audio-conferencing capabilities immediately with a Teams-enabled computer.

Then we have new offerings by Logitech, who now have products that support Microsoft Teams Rooms powered by HP.

Logitech + HP.png
Logitech now offers Microsoft Teams Rooms powered by HP.

Find out more:

Skype for Business Online connector consolidating to Teams module

Microsoft are simplifying the Teams administration experience with a single PowerShell module that includes complete management capabilities for Microsoft Teams and Skype for Business Online, by introducing full functionality of Skype for Business Online Connector into the Teams Module.

This means that Skype for Business Online Connector in the Skype for Business Online PowerShell, which has been a separate product that contains many cmdlets needed to manage Microsoft Teams, now has been consolidated into a single PowerShell module.

Find out more:

Teams App Submission API

Microsoft have announced that the Teams App Submission API is now generally available. This new Graph API allows all users at any organization to develop on the platform of their choice and submit their apps into Teams with zero friction.

App Submission API.jpg
Teams App Submission API is now generally available.

Find out more:

Teams (Education)

Roster updates from School Data Sync automatically update the Class Notebook roster

Now, School Data Sync (SDS) updates automatically flow to the OneNote Class Notebook! Previously when SDS made roster updates, they would not happen until the educator went and clicked on the “Class Notebook” tab in the Class Team.

Find out more:

Set channel specific collaboration and content spaces

Available now, educators can set Channels in class teams to create sections in Collaboration Space or Content Library, which is especially helpful for educators who like to use channels as separate units. While in a class team, go to the Class Notebook and click “Manage Notebook” to choose which channel a new Section will go.

This allows the educator to create a “read-only” Content Library or student editable “Collaboration Space” specific to each unit and channel.

Manage Notebooks - set Channel Default.png
Now an educator has the option to set Channels to create sections in Collaboration Space or Content Library.

Find out more:

Reduce clicks to get the “Teacher Only” area

Now in the OneNote Class Notebook or the Staff Notebook, the “Teacher Only” section group will be enabled by default. This saves some extra clicks for this more private view.

Find out more:

Detect and delete inappropriate messages

IT admins can leverage communication compliance policies and AI models to automatically detect inappropriate content, then review and choose to delete.

Messaging containing offensive or harassing language and adult, racy, or gory images can be automatically flagged then removed from the Teams chat or channel by the IT Admin. This is not supported in private channels or in communications sent by guest users.

Detect inappropriate messages.png
Automatically detect inappropriate messages and choose which ones to remove.

Find out more:

Build an interactive classroom with education apps

There are several third party apps that can be used within Teams to assist in finding ways to keep students engaged and learning throughout the day. All the available apps for engagement, communication, content creation and content & curriculum can be found below.

Prezi Video is an example of one of many apps available for Teams to quickly create engaging live or recorded class presentations.

Find out more:

Teams (Government)

New lobby setting: only the organizer joins the meeting directly for GCC

A new lobby setting is coming to Teams Meeting Options. We are adding “Only me” as an option to the “Who can bypass lobby?” setting. Once enabled, only the organizer will be able to join the meeting directly. Everyone else, including people from within the same organization, will be sent to the lobby.

Find out more:

New experience for launching instant channel meetings for GCC

Meet Now buttons in Teams channels will have a new home. You will soon find them in the Channel header where you can easily find and launch the meeting.

Find out more:

Improved Teams meeting join launcher experience for GCC

When you click on a Teams meeting join link, you will now see an optimized and improved join experience. You will be prompted with an option to join on the web, download the Teams client, or join with the native Teams client. This will result in faster and more confident meeting join.

Find out more:

New policy to prevent upload of profile picture for GCC, GCC High, and DoD

Teams desktop and web experiences will honor the Outlook on the Web mailbox policy setting that can control whether users are able change their profile pictures. This applies to GCC, GCC High, and DoD tenants.

Find out more:


Power Apps

Troubleshoot Forms in a Model Driven App

You can now get information about issues you encounter when working with related tables, entities, controls and components on a form by accessing the Monitoring Tool inside your model driven Power App.

The tool can help identify if the issue you are seeing is designed out of box or is due to a customization in the application and provide details that can help you understand why there are issues. To launch the tool just log into your Dynamics or Model Driven app and add &monitor=true to the end of your URL. This will add an icon onto the app header toolbar. Click on the icon that looks like the one in the circle below.

Troubleshoot Forms in a Model Driven App.

Find out more:

Improvements to Cascading Merge Transactions

After making improvements to the cascade assign and delete options last year to reduce timeouts, the Power Apps team are making similar improvements to merge operations.

Just as with assign and delete, merges will happen in the background. When a merge operation is run, if you are on build 9.1.0000.20463 or greater, instead of waiting on the submit screen until the job is completed which can take several minutes, you will instead be informed this will be handled in the background.

Find out more:

Power Apps checker now analyzes modern web syntax (up to ES9)

To ensure Power Apps checker continues to broaden analysis coverage as languages evolve, we recently migrated our web language rules to an ESLint plugin and now offer support for ECMAScript 2018 (ES9) syntax plus ES6 globals.

Find out more:

Power Platform Build Tools now generally available

Now generally available, Power Platform Build Tools allows anyone to setup DevOps for low-code and pro-code application development for Power Apps, Power Automate, Power Virtual Agents and other components supported by CDS solutions.

The GA release also introduces support for Multi Factor Authentication with the introduction of Service Principal Authentication.

Microsoft Power Platform Build Tools.

Find out more:


Power BI

On-premises data gateway August 2020 update is now available

The August update for the On-premises data gateway (version 3000.54.8 ) includes an updated version of the Mashup Engine, which will match the Power BI Desktop August update.

This will ensure that the reports that you publish to the Power BI Service and refresh via the Gateway will go through the same query execution logic/run-time as in the latest Power BI Desktop version.

Find out more:

AutoML now supports applying models in PQO Function Browser

Analysts can now apply any Power BI AutoML model to entities in any dataflow in the same workspace using PQO function browser. With this new capability, users don’t need to be an owner of the dataflow that has the model.  They can use models created by others in the same workspace.

AutoML now supports applying models in PQO Function Browser.

Find out more:

Power BI updates for Microsoft Information Protection sensitivity labels

Power BI have announced several additional sensitivity label features now in production:

  • Excel file to inherit the Power BI dataset’s sensitivity label when using a PivotTable connection
  • Sensitivity labels in embedded reports and dashboards – public preview
  • Label inheritance upon creation of new content
Excel files to inherit the Power BI dataset’s sensitivity label when using a PivotTable connection.

Find out more:

Header/ navigation improvements in the Power BI Mobile apps

The Power BI team have announced improvements to the navigation in the Power BI mobile apps to make it easier for our users to understand their content hierarchy and to navigate between items quickly, aswell as making it easier to share relevant content with colleagues.

Improvements to the header in Power BI mobile apps.

Find out more:

Block classic workspace creation

The Power BI team have added a new tenant setting for Power BI admins to choose if users can create classic workspaces. This helps organizations control workspace creation more effectively and prevent unwanted workspaces from appearing in Power BI when Office 365 groups are created.

Screenshot of a Power BI Admin portal tenant setting allowing organizations to block the creation of classic workspaces.
Allow Power BI Admins to block classic workspace creation.

Find out more:

Multiple data lakes support inside Dataflows in Power BI

The Power BI team have announced improvements to Azure Data Lake Storage Gen2 (ADLS Gen2) support inside Dataflows in Power BI.  This includes support for workspace admins to bring their own ADLS Gen2 account, improvements to the Dataflows connector in Power BI, take ownership support for dataflows using ADLS Gen2 and also minor improvements to detaching from ADLS Gen2.

Multiple data lakes support inside Dataflows in Power BI.

Find out more:


Power Virtual Agents

Share and collaborate on your bot with subject matter experts

Power Virtual Agents now allows you to share your bot with your teammates, allowing multiple contributors to edit and manage your bot.  Subject matter experts in a team can collaborate together on a bot.  For example, a customer support bot can now have different subject matter experts working on refund related topics vs. topics related to membership.

Share and collaborate on your bot with subject matter experts.

Find out more:


Power Automate

Run a flow when a SharePoint column is modified

One of the most common requests for Power Automate is to enable a way to trigger a flow when a column is modified in SharePoint. That wish has now been answered as the Power Automate team have announced the new “When an item or file is modified” trigger.

The “When an item or file is modified” trigger that lets you filter to just the list or file modifications, making it much simpler to create a flow that’s tuned to the right events.

The new “When an item or file is modified” trigger in Power Automate.

Find out more:

Delay, Command-Line Arguments, and Copy-Paste Features for UI Flows

Microsoft have announced the availability of Delay, Command-line argument, and Copy-paste features in Power Automate UI flows.

  • Delay: The Delay action can be added as an explicit action anywhere in UI flow. 
  • Command-line arguments: The Command-line argument feature is available in the launch action’s advanced options. 
  • Copy and paste: You can copy any action or scope and then add it from My clipboard
Selecting the Delay action in UI flows
Delay action in UI Flows.

Find out more:

Trigger flows from any message in Microsoft Teams

The Power Automate team have announced the new “for a selected message” trigger enables any Teams user to create a custom message action to start a flow from any message in Teams.

Trigger flows from any message in Teams.

Find out more:

Seven New Connectors Released in July 2020

July 2020 saw seven new connectors added to the Power Automate platform, with now more than 20 new connectors added to the ecosystem in the last three months!

July saw the addition of IN-D KYC India, CPQSync, Motimate, SMSAPI, Pure Leads, AXtension Content Gate and SMSLink.

Find out more:


Related

Several improvements to Edge

Microsoft have announced several improvements to the Edge browser last month, including:

  • Collections now allows you to export to OneNote
  • Picture Dictionary to Immersive Reader
  • 5 different highlighter colors, support for screen readers, and the ability to view and validate digital signatures to the built-in PDF reader
An animated image of improved readability in Microsoft Teams.
Collections now allows you to export to OneNote.

Find out more:

Provision users to Azure AD from SAP SuccessFactors

With the integration between Azure AD and SAP SuccessFactors, you can now automate user access to applications and resources so that a new hire can be up and running with full access to the necessary applications on day one. The integration also helps you reduce dependencies on IT helpdesk for onboarding and offboarding tasks.

SAP1.png
Manage and secure all your SAP apps from Azure AD.

Find out more:

Streamlined process for FastTrack for Microsoft 365

Microsoft have streamlined the process for requesting assistance from FastTrack for Microsoft 365. FastTrack is a benefit that comes with your Microsoft 365 subscription, at no additional cost, for customers with eligible plans of 150+ licenses.

An animated image of FastTrack as part of a Microsoft 365 subscription.
Streamlined process for FastTrack for Microsoft 365.

Find out more:


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:

DestinationURL
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
Workflows/_layouts/wrkmng.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

Walkthrough: Migration Manager

In this post we will take a detailed look at the Migration Manager, it’s capabilities, limitations and how to create pre-scan and migration tasks for the first time.

Contents

Overview

So the good news is, if you have a Microsoft 365 subscription then you also have the Migration Manager too! The Migration Manager went into general availability in June 2020 for all customers as part of the SharePoint Online offering.

The Migration Manager is a part of the SharePoint admin center and is really simple and easy to get set up and begin using. Microsoft have this handy image to demonstrate how easy the process is:

Set up migration agents
Credit: https://docs.microsoft.com/en-gb/sharepointmigration/mm-get-started

Current limitations

Currently, the Migration Manager only supports file share migrations, this means that if you are planning to migrate any other content you hold, for example: on-premise SharePoint content or cloud based content you would need to use a separate tool.

Microsoft also offer several other tools that can facilitate the migration of that content too. Microsoft provide a table which recommends which tool to use here, but I’ve whittled them down to the main options below:

  • Migration Manager: used for network and local file share migrations, easy to set up via the SharePoint admin center
  • SharePoint Migration Tool: used for SharePoint Server 2010, 2013 & 2016 (Public Preview), network & local file shares, requires some prerequisites configuring before installation
  • Mover: Service for cloud to cloud migration (Dropbox, Google Drive etc.), easy to set up via web platform

Another limitation of the Migration Manager is that it currently does not support third party multi-factor authentication.

Setup considerations

So as the above breakdown of each Microsoft migration tool suggests, the Migration Manager is easy to get going. The key consideration when using this tool to migrate file share content is around the volume of data you are migrating.

If you are using the Microsoft FastTrack service, they will recommend that you set up a number of migration machines relative to the total number of files you are migrating.

The recommendation they offer for scoping this is below:

Total file countMigration machines required
Less than 200,0002
Between 200,000 and 500,0003
Between 500,000 and 1,000,0006
More than 1,000,000To be discussed with FastTrack

Once you decide how many migration machines will be required, you will then need to setup the migration agents on each machine, check the prerequisites and required endpoints have been reviewed and met, and also have the relevant accounts being used as part of the migration process given access to the file share content and SharePoint admin roles.

File and folder permissions

When prepping for your file share migration, another consideration will be the permissions of a file once it is migrated. For most organisations it comes down to the following scenarios:

1. We want all file/ folder permissions preserved when they migrate to SharePoint Online

2. We only want specific file/ folder permissions mapped into SharePoint Online

3. We don’t want any of the permissions migrating, we want to start again!

Yes, I know the third option is highly unlikely, but I’ll include it anyway. When using the Migration Manager, the syncronization between your Active Directory on-premise and Azure Active Directory is key to how permissions migrate across.

It is important to note that if your organisation uses security groups in Active Directory to manage permissions for their file shares, they must be syncronized with Azure Active Directory in order for the user permissions to map across like-for-like.

If not, then you will be required to create a user mapping file to map user permissions for the relevant files or folders.

The Migration Manager also takes into account the same permissions conditions and results as the SharePoint Migration Tool. This table lists all the conditions and the corresponding results.

Demo: create a scan only task

Before you run any sort of migration task you will first want to get a handle on the current situation of your file share content, what areas will migrate easily and which will require remediation.

Both the scan and migration actions sit within Tasks in the Migration Manager and the initial setup for both actions is the same:

  • Press add task > under Method select the default single source and destination (unless you wish to scan multiple sources)
  • Under Source, enter the file share path that you wish to scan using the correct format
  • Under Destination, leave the SharePoint site URL and location as the default as we are only performing a scan
  • Under Settings, give your task a name > under common settings ensure perform scan only is checked
  • Press Run Now

Demo: create a migration task

So once you have ran a pre-scan of your file share source and you are happy with the results, it is now time to create a migration task! This again is very similar to how we approached creating the pre-scan task but here are the steps:

  • Press add task > under Method select the default single source and destination (unless you wish to scan multiple sources)
    • If you wish to do a bulk upload, you will need to provide a CSV or JSON file which is well documented here
  • Under Source > enter the file share path that you wish to migrate using the correct format
  • Under Destination > select the application where you are migrating the data to. Press next
  • Enter the URL of the location, then select the library or channel you wish to migrate to
  • Under Settings > enter a name for you task and configure your migration task based on the following check boxes:
    • Preserve file share permissions
    • Migrate hidden files
    • Migrate files created/modified after specified date
    • Do not migrate files with specific extensions
    • Migrate files and folders with invalid characters
    • Migrate OneNote folder as OneNote notebook
    • Azure Active Directory lookup
    • User mapping file
    • Automatically rerun failed tasks up to 4 times
  • Press Run Now

Reports analysis

Whether you have performed a pre-scan or migration in Migration Manager, each task once complete will provide a “task report” zip folder that is available to download. Microsoft break the reports down into Summary, Task level and Performance reports, but in fact all reports are included as part of the task report download.

The Microsoft breakdown of each report is very thorough, so I won’t bother adding any more detail, however I will highlight the reports that I found useful when using the Migration Manager:

  • Summary Report: contains a single row of data that gives the total picture; including total size, number of files migrated, duration
  • Item Failure Report: contains any errors found resulting in a file being unable or failing to migrate
  • Item Report R1: detailed report with data on each file within a task. If large number of files migrated, split into separate, sequential reports (R1, R2, R3 etc.)

An interesting aside I did notice was on the task details pane for a pre-scan I ran it showed under files scanned with issues as 0, but within the task report ZIP there was, in fact several files and folders listed as having failed due to a variety of reasons. So I’m not really sure how accurate the files scanned with issues is, or what it actually defines as issues.

Troubleshooting

Microsoft documentation includes a page on troubleshooting Migration Manager issues and errors here, but typically during a recent migration I experiencing issues that weren’t including in the above.


Error: the source file share does not exist (but it does)

This error I received recently during a home drive – OneDrive migration I was conducting. I was using windows virtual machines with the migration agents installed previously and had logged into the machine and SharePoint admin center as accounts with the relevant permissions and roles as described here by Microsoft.

When I set up my migration tasks as demo’ed above they were instantly failing. The only errors I would receive were these:

Microsoft have this listed as an agent error message – which was the clue, but their action was to:

Make sure the source file share is an existing network file share. Confirm that the Windows account associated with the agent has read permissions to the file share you want to migrate.

Troubleshoot Migration Manager issues and errors

What I found was in my case, even if the migration agents were showing as enabled, because I had originally installed and configured the agents some time ago (1-2 months prior), they need to be repaired and re-authenticated:

  • Download the migration agent setup file
    • Microsoft documentation hasn’t yet been updated, but to get to the agent download you need to open Migration Manager > Press Agents > + Add
  • Run the agent setup file
  • Press continue to reinstall the agent
  • The installer will then begin the installation prerequisites
  • Enter account credentials for the SharePoint Admin, then Windows account
  • The installer will authenticate, then prompt you to test permissions with a file share, press OK to close

Now, when I re-ran my migration task with my agents repaired and re-authenticated, the tasks completed successfully.


Error: failed to duplicate token file due to error ‘There is not enough space on the disk’

This error occurred for me during a pre-scan of file servers locations. After kicking the scans off, I returned to find many of them failed. When looking at the task error details from the logs I found the following:

Error, Failed to duplicate token file due to error ‘There is not enough space on the disk.

This error was pretty much what it says on the tin, the VM had ran out of disk space. As referenced before, looking through Microsoft’s issues and errors post didn’t prove helpful as the error above is not listed.

So, through investigation of my own I found the following:

  • There are a bunch of MTHost text files that appear to be log files of actions completed when tasks are ran within the Migration Manager.
  • There is a Migration folder, within a subsequent MigrationTool folder, another folder with your tenant name will be found. In here will be folders with names beginning “WF_” which represents each task created within the Migration Manager.
  • Each “WF_” folder contains a Log and Report folder, with the report folder containing all the migration reports we detailed earlier in this post.
  • There is also a MigrationToolStorage folder which also contains a mirrored “WF_” series of folders related to tasks created within Migration Manager.

What’s crucial to understand here is you are able to delete the “WF_” folders from these locations, without it affecting the tasks in Migration Manager, or the ability to download the corresponding task reports.

I’ve tested deleted all the “WF_” folders from both the above folders and then refreshing and trying to download task reports for the tasks in the Migration Manager – and they download perfectly!

What I would question is what is the point of these “WF_” files downloading locally in the first place if they are also stored somewhere in the M365 cloud as well!


You cannot migrate to a deeper destination than first sub-folder

When migrating files from source to destination, in some cases you may want to migrate specific data that sits within a larger, nested folder structure. For example, lets say you have a folder that sits in a file share like this:

\\contoso\fileshare\foldera\folderb

You only want to migrate folder b and nothing else except its associated folder structure. In Migration Manager, you are only able to select the first, top-level folder from a library. This applies to OneDrive, SharePoint or Teams and doesn’t offer any other sub-folders to be selected via the tool itself.

In Migration Manager you are only able to select the first. top-level folder from a library in OneDrive, SharePoint or Teams.

If you try to create migration tasks via CSV and include the sub-folders as additional columns in the spreadsheet, the Migration Manager ignores them and just migrates whatever is in the destination to the source library.

I would say generally this isn’t an issue as you can either skip the files you do not want to re-migrate and just set the source/ destination to be at the top-levels. This specific scenario came about because I was trying to remediate some files and folders that failed a prior migration, and once remediated migrate those folders only via Migration Manager into the corresponding folder structure in SharePoint. I would say this is an issue if you are doing what I described and don’t want to have to run another large migration task, even if it is skipping most of the files as the task will still take a while to complete.