Targeted Links in a Modern SharePoint UI

Recently I was advising a client on building out intranet-style content on SharePoint Online. I walked them through communication sites and modern team sites, demonstrated the mobile-friendly responsive rendering, the ease of editing, and so on. Then came the killer question: "how do I target my navigation links to different users?"

This might well be on Microsoft's product backlog... but at the time of writing, there's no support for audience targeting with communication sites or modern team sites. So how do we use targeted navigation without losing the benefits of the modern UI? After a bit of trial-and-error we came up with a working solution using modern pages within classic SharePoint sites. There are quite a few gotchas, hence this post.

Step 1: Create a suitable site

Create or locate a classic SharePoint site (e.g. using the Team Site - SharePoint Online configuration template).

Gotcha #1: Don't use a publishing site template, or you won't be creating modern pages.

Gotcha #2: Don't use a communication site or a modern team site (O365 group site), or you'll error out at step 2.

Step 2: Activate the site collection publishing feature

Activate the site collection-scoped SharePoint Server Publishing Infrastructure feature.

Gotcha #3: Without this feature, although you can browse to /_layouts/15/AreaNavigationSettings.aspx manually and create targeted navigation links, SharePoint will ignore the targeting. In other words, everyone will see everything.

Gotcha #4: Don't activate the site-scoped SharePoint Server Publishing feature - if you do that you'll get all the publishing bloat - page layouts, additional libraries, etc - and you'll find it much harder to create modern pages.

Step 3: Create targeted links

Browse to Site Settings > Look and Feel > Navigation, or go directly to /_layouts/15/AreaNavigationSettings.aspx.

Gotcha #5: Add your links under Current Navigation (i.e. the Quick Launch) - modern pages don't show Global Navigation links. Or at least they don't show more than one.

In the link settings, you can target a SharePoint group, an AD security group or DL, or a global compiled audience.

Step 4: Add modern pages

On the settings (cog) menu, click Add a page. Providing you haven't activated the site-scoped publishing feature, SharePoint will create a modern page by default. If you've swerved all of the gotchas in steps 1-3, the page should respect your link targeting.

Step 5: Make a modern page your site home page

At some point you'll probably want to make one of your shiny modern pages the default landing page for the site. To do this, browse the the Site Pages library. Find the page you want to use, and on the ellipsis menu, click Make homepage.


Final gotcha: Note that the Site Pages library must be configured to use the new experience, not the classic experience, otherwise you won't see the Make homepage option.

Comments

Popular posts from this blog

Server-side activities have been updated

The target principal name is incorrect. Cannot generate SSPI context.

Getting or Setting Multi-Value Metadata Fields with the REST API