When trying to use some functionality, that relies on Unified Groups, you’re getting errors in the console, similar to this: “Unified Groups aren’t supported.” In truth, this most likely means, that Unified Groups (that’s the internal/technical name for Office 365 Groups) is not enabled for this particular user. That breaks a bunch of different features for them, since the Graph API for Groups of course won’t work. This post describes one way to fix this issue!
Localization and multilingual environments in SharePoint are an endless source of interesting issues and blog post topics. In one case, we had a tenant created originally in English, and a site collection created in Finnish. In this particular case, SharePoint somehow messed up the language settings, and ended up requiring the use of localized managed properties on the search center of that site collection. That ended up being unexpected, unituitive and unusable for the end-users.
Description of the issue
Typically, when you use SharePoint Search, you can use managed properties to search for values in certain fields or columns of any items in the index. Our particular use case involved searching SharePoint’s people results for users of certain departments.
“Department” is a managed property on its own, and gets info from – surprise, surprise – a field called “Department” in the user profile service in SharePoint Online. In our case, the Search service API returned results with “Department:HR”, but search center did not.
After a lot of playing around, it turned out the search center required us to use localized versions of the names of managed properties. In this particular case, search required the Finnish name (“Osasto”) for the property. Before this, I didn’t even know that was a thing! In all of the installations I’ve seen, the plain English internal names of the managed properties worked just fine – so, in this case, “Department”. Continue reading
Fixing issues with Azure AD authentication for Enterprise applications can be tricky. This article contains multiple different fixes to an issue, where granting admin consent has somehow failed. Not all of the different solutions will work for all situations, though! That’s why I included a couple of different options to try… 🙂
Why do you even get issues with Admin Consent (like AADSTS65001)?
You’re trying to add or use an app, that requires such permissions from your tenant, that can only be granted by an administrator. Typically this app has to be added by a global administrator. If it’s an enterprise application, it could also be in an invalid state after someone tried adding the app without sufficient permissions.
Our investigation was focused on a mobile app, that’s deployed as an enterprise app. Most of the things should apply for web-based apps or console programs or whatever else you’re deploying, too.
The whole error might look something like this: Continue reading
Have you ever noticed that your SharePoint site just gets slower and slower? That’s probably because the performance of Structural Navigation is absolutely horrible, especially vs. Managed Navigation. This blog post includes our findings about the issue, and I also include some explanation of the reasons behind the difference and a simple comparison to Search-based navigation.
This post explains how to fix the “errorCodeTeamsDisabledForTenantForbidden” error when trying to add guest users to Microsoft Teams channel. This issue might arise when a user is invited to a channel in your organization’s Microsoft Teams for the first time. Fixing it usually just requires a flip of a switch, but might also include some waiting.
You get an error screen like this, when trying to join a Teams channel as a guest user.
No fear, though – likely an easy fix!
This post describes why it’s beneficial to use a user analytics tool in your intranet. I use Google Analytics as an example of such tool, and different deployment options for SharePoint intranets are covered briefly.
Why would I use Google Analytics with my SharePoint intranet?
In general, it’s absolutely necessary for you to know your users, if you want to deliver an enjoyable user experience. One key aspect of knowing them is knowing what they do, while they use your system or service. SharePoint being a web-based software, it’s quite logical to use one of the many user analytics suites available for web sites to also analyze your intranet users.
This post describes the actual, working and fast process of removing a site collection in SharePoint Online using the Remove-SPODeletedSite commandlet in SharePoint Online Management Shell (a flavor of PowerShell).
Sometimes you need to get rid of a site collection you’ve created in SharePoint Online. The most typical example perhap being removing the team site created for a group of people working together. That’s pretty simple and there are a few ways of doing that – namely, deleting the site from Site Settings or removing the site collection from SharePoint Administration. However, sometimes you need to recreate a new site using the same url as the one you removed – and that’s not going to be possible.
Why is that, you ask?
Well, after you remove the site collection, it actually goes to the recycle bin. The bad thing is, that this recycle bin is NOT accessible using web browser, but only by PowerShell. SharePoint Online still reservers that url for the site, though, so you can’t create a new one with the same url!
In this post I instruct a simple way to stop SharePoint (either on-premises installation or SharePoint Online) from redirecting to MySites or Delve. The normal behavior is, that this happens when users click any name of a user anywhere in SharePoint. This is often not desired, and sometimes just confusing or impractical.
If your customers are like mine, a lot of them hate Delve or MySite or both. Or maybe they just are’nt willing to yet adopt Delve. Or maybe they just want to simplify the team site experience for their users and get rid of extra redirects away from the actual team site. In any case, there’s a valid case to stop the redirection from SharePoint’s (very sparse) user information page completely.
Luckily, that’s possible, if a bit impractical. Quite a few sources claim, that it’s unsupported or hacky, but it’s actually pretty easy, and there’s no need to make changes to control templates or anything. Check this out.
Is your Azure Web Application suffering from absolutely horrible load times every time someone access it for the first time every 15 minutes or so? Mine was.
I was developing a web-based service using EF6 and ASP.NET MVC 5, where all the assets were hosted in the Azure. Even though the app was reasonably lightweight and usually responded very fast, the first time someone accessed it in a while it took 20-60 seconds to load AND sometimes even timeouted (especially with mobile clients). Load testing revealed only the what I already knew: initial load times were horrendous, but after that everything worked fine. I did eventually find the solution, though!
This post describes a peculiar problem one customer had. In their intranet, all of their employees had a managed metadata -typed managed property in SharePoint User Profile Service and a mapping from that property to RefinableString31. RefinableString31, in turn, was used on Search DisplayTemplates to show the textual value of the managed metadata field.
The mapping and displaying the values worked beautifully – except for one user. Her people search results profile wouldn’t show her office address no matter how long the customer waited for the content to be reindexed, even though the data did exist in AD.
The DisplayTemplate was custom-made, and the relevant part is shown below.