How to show a Classic SharePoint page in dialog mode (without SharePoint’s full-blown chrome)

Classic SharePoint actually has a very handy piece of functionality, using which you can hide most of the SharePoint chrome (like header and navigation), and hence make the page a lot more sleek. This is especially useful for showing the contents in a dialog window – which SharePoint also supports natively through JavaScript! This post describes how.

How to show any (classic) SharePoint page in dialog mode?

Pretty easy – it’s handled via a url parameter!  Continue reading

How to get rid of Foxit Drive in Foxit Reader

If you’re like me, you’re not using Adobe Reader, but rather switched to Foxit Reader years ago, and never looked back. Foxit has a great PDF printer, it’s a great reader, but not perfect. The default save location is “Foxit Drive”, and it pops up any time you try to save your document, and at least for me interrupts my workflow. This post describes how to get rid of it, and make Foxit Reader even better!

Description of the issue

Okay, so Foxit Reader is pretty great, but they’ve got their difficulties, too. Being freeware, they kind of need to get revenue from somewhere outside the reader itself – and nowadays, that would be their Premium software, but especially their Online offering, part of which the cloud storage for PDFs is. Continue reading

Solving error “AADSTS90013: Invalid input received from the user”

I stumbled upon a customer, that complained about some pages in their intranet throwing weird errors with authentication. Those pages seemed to have one thing in common – there was a Yammer embed (or a SharePoint script webpart with Yammer embed script in it, to be precise) there. The error code they got was “AADSTS90013: Invalid input received from the user”.

AADSTS90013: Invalid input received from the user.

Okay – this is going to be extremely specific, and probably won’t solve the issue for all of you out there! But this is what worked for this customer: Continue reading

Don’t remove the root site of your classic SharePoint Site Collection!

A quick heads-up – if you remove the root site of your classic SharePoint Site Collection, that site’s going to be troublesome to deal with. Whereas you can always restore a normal site from the site collection recycle bin, the root site you can’t. You actually can’t access the recycle bin after removing the root site, nor can you make magic happen with PowerShell commandlets anymore.

Site Collection Recycle Bin – where you could access it, if you still had your site!

The Recycle Bin would be located at a url like this: https://<yoursite>/_layouts/15/AdminRecycleBin.aspx, but after the site is removed, it won’t be there. 

If you actually just wanted to get rid of your site collection by removing the site (see below), you’re out of luck again. Even that didn’t happen, as you now still have the site collection, just without any sites in it. You can’t even reuse the url for anything, as it’s still reserved for your site collection! Continue reading

How to output console or PowerShell transcript to a file in Windows

Every now and then, you run into a situation, where you’ll need to somehow output the transcript of a console app run. I’m actually going to argue it happens a lot more often than one would think – in my case, any time a customer requires a webjob or a function, that one would normally deploy to Azure, being ran on the servers of the customer.


Something breaks or the app crashes, and the error is logged to event log… But just the error, not the whole transcript. You’d like to get it all, to figure out what’s actually going on, but event log is not the way to go.

What to do?

Solution: redirect the output directly to a file

Continue reading

How to fix “- – the web site does not support SharePoint Online credentials. The response status code is ‘Unauthorized'” error

While running some SharePoint Online -PowerShell commandlets, or connecting to a SharePoint Online site from your app, you get a following (or similar) error about your SharePoint Online credentials being unauthorized for something you should definitely be authorized to do:

And that’s not all – by digging into the full error message, you find the underlying internal error:

What awakens my curiosity, is this line:

However, when you open your browser, you can actually log in without a hitch. If that’s the case, this might be a weird internal error in SharePoint Online – doesn’t matter, there’s a hazy and weird, but simple fix!  Continue reading

How to solve “Unified Groups aren’t supported.” -error

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!

How to solve this?

Continue reading

How to Resolve Managed Metadata Madness in SharePoint?

Using Azure Functions and Cognitive Services Text API to enrich a Flow that fills Metadata for new items in a Modern SharePoint Team Site. That’s, in a nutshell, the solution I submitted to a recent online hackathon. Quite a mouthful, isn’t it? The whole solution (and a public vote, if you’re interested!) is available here: – this blog post will describe the solution and the reasoning behind it.


Some time ago my manager asked me to take a few weeks off, since I had accrued quite a lot of overtime during the hectic months working for Valo. I got bored quite quickly, so I was pretty happy to encounter an online hackathon organized by Devpost. I wasn’t aware of them beforehand, but they seemed to have hosted quite a few interesting hackathons before. Some of which quite interesting, I might add! This prompted me to also take part into a hackathon they were just hosting: “Work smarter, not harder with Office 365.”

I’m not a huge fan of hackathons, but the topic was too good to miss, so I submitted a solution I’d been thinking about implementing, but didn’t have a good enough reason to implement it for customers.

Description of the issue

So, which issue am I aiming to solve? Let’s see… 

  • The amount of data is surging (~90% of the data in the world has been created in the last 2 years)
    • To ensure that data in organizations is useful, you need to make sure, that your users find it easily!
  • A great “Enterprise-y” solution has been metadata tagging!
    • However, users generally hate doing that manually
    • Automatic solutions are either cumbersome to maintain, expensive to develop, or both
    • Many required metadata fields will cause users to migrate to shadow IT solutions (like DropBox) – or not use any collaboration solutions at all!

Continue reading

Using “DetectedLanguage” to return only localized results from SharePoint Search index

Localization and targeting of content in multilingual SharePoint installations is always an issue. SharePoint offers a multitude of ways profile content based on user language (or other properties), but none of the solutions are fool proof. This post describes how to fetch only localized results from SharePoint Search index, which solves at least some of the issues.


SharePoint Search index can be used in quite a few different ways. Probably the most typical way is by searching on SharePoint, or using webparts like Content Search or Content Results. However, one can also build custom functionality, custom client-side liftups, webjobs, single-page applications, mobile applications and a ton of other things that fetch data from SharePoint search index. However, on multilingual tenants, results are, by default, not localized at all. That means, that typically everyone will get the highest-ranking results back, despite them being in the wrong language. And that’s one of the many, many ways to annoy your users!

Continue reading

How to form links to Planner tasks

Office 365 Planner is a neat tool for task management. However, when you, for whatever use case, need to form urls that point you towards a single task (or a bucket, or a plan for that matter), you might run into trouble with how the url is formed. Custom domains actually make it a bit complicated, but luckily there’s a workaround!

Description of the issue

If you have multiple domains in your Azure AD, your Planner might end up using your custom domain in its urls. However, if you need to develop some multi-tenant code, that works with any tenant and whatever weird custom domains, you’d have to actually either create another user-supplied property (for the custom domain), or develop some creative extra code to fetch the domains from somewhere… Since the Graph API for Planner certainly does NOT return that!

No worries – you don’t actually need to develop any complicated or smart code. It’s actually WAY easier than that!  Continue reading