Monday, February 11, 2019

Locate pages where a particular web part is being using on modern SharePoint sites

close up photography of LED bulb on sand

This post was inspired by https://beaucameron.net/2019/01/17/experiment-find-out-where-spfx-web-parts-are-being-used-in-modern-sharepoint-sites/, but I’ve simplified things a bit as some of the steps are not needed. I also opted to use PnP PowerShell.

There is no defined API to find usages of specific SharePoint Framework web parts on modern pages. But fortunately for us the id of each web part is included in the searchable content for modern pages (no need to map up a particular refinable string for this as per the inspired post).

Note: Only pages you have access to will be listed – if you need all pages you can elevate search permissions using app-only permissions, which is (dangerous) different story.

Tuesday, February 5, 2019

Eh??? Ok? Beware of casing when using automatically created managed properties in search

image

I’m not sure this is intentional or not, but something you really need to pay attention to if you develop search based solutions in SharePoint Online (afaik it does not impact search for on-premises).

Up until recently(?) all managed property names were case insensitive. The change now is that automatically created managed properties based on site columns (https://docs.microsoft.com/en-us/sharepoint/technical-reference/automatically-created-managed-properties-in-sharepoint) – those ending in OWS<something>, are now case sensitive. The others work as before.

If you for example create a site column of type number named MyFoo, the automatically created managed property for this column will be MyFooOWSNMBR. Previously you could retrieve the value of this property, or query it by entering any casing of the name.

This meant that MyFooOWSNMBR:10 and myfooowsnmbr:10 were equal queries. But not any more.

If you use any casing but the one listed in the search schema it will be treated as an unknown managed property yielding no results or values on retrieval.

Which means if you are like me and typically type all managed property names in lowercase you have work to do to fix it all up.

This information was found at https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/issues/296.

Thursday, January 24, 2019

A no-nonsense solution to implement cascading dropdowns using PowerApps as a custom form in SharePoint

Search for “powerapps cascading dropdowns sharepoint” on the interwebs and you will find a bunch of ways to get this to work, but I dare to say that the solution I propose is by far the easiest and most elegant. And a big thank you to my colleague Thomas who helped along with this one.

My sample is super easy. I have three lists, Countries, Cities and Customers. Cities has a lookup to Countries, and Customers has a lookup to both Countries and Cities.

image

By default the input form looks like the image below, where all cities are shown regardless of the selected country. But this is easily fixed.

image

Monday, January 7, 2019

Introducing the SharePoint REST API v2.0

image

For as long as REST has been supported in SharePoint the endpoint programmers have used is http://server/site/_api/ or https://contoso.sharepoint.com/_api for those of us who left on-premises years and years ago.

Now Microsoft has given us a v2 endpoint for the REST API. This has sort slipped under the radar, but I’m happy to announce that it’s there, it’s supported, and you can use it!

But wait, what is this v2 API, and why should I care or use it?

Friday, January 4, 2019

Eh??? Ok? Be aware of a modern change which can impact your classical way of displaying search results

imageMy colleague Tarald recently discovered that when looking at the managed property CreatedBy for modern pages where you have filled in the author byline, it will show the full user principal name, display name, and claims token for that user.

foo.bar@contoso.com | Bar, Foo | 693A30232E667C6D656D626572736869707C666F6F2E62617240636F6E746F736F2E636F6D i:0#.f|membership|foo.bar@contoso.com

Maybe not a big deal, but since forever, this managed property has contained only the display name of the user, nothing else. I’m not saying it’s a bad thing to give all the data as that disambiguates people with the same name, but what’s bad is changing default behavior which has been consistent for a long time.

The culprit to it all is that Microsoft has decided to map the crawled property ows_q_USER_AuthorByline as the first property when populating the managed property CreatedBy. The same mapping is done to the AuthorOWSUSER managed property, which is ok, as this property always had all data included.

image

The best option in my opinion is for Microsoft to remove this mapping, and create a new AuthorByLine managed property instead. That’s the way SharePoint developers have been taught to do when introducing new values. You can also change the mapping yourself, but that might mess up some oob web parts.

Sunday, December 16, 2018

I’ll be back for the SharePoint Conference 2019 in Las Vegas!

We’re approaching holiday season and Oslo, Norway where I live, has gotten a nice coating of snow to brighten up those dark evenings. Christmas lights are also popping up, bringing that jolly feeling all around.

And what else has that jolly feeling all around you might ask? SharePoint Conference in Las Vegas Baby! Yes, it’s true, SharePoint Conference came back last year, and SharePoint Conference 2019 (SPC19) is arriving with a twist. I’m back! Last time I was in Vegas was for the SharePoint Conference 2014, which means come May 21-23, 2019, it will be a whopping 5 years since the last time. I’ve had nothing but great experiences with the SharePoint Conference in the past, and I’m sure this time will be no different.

Save $50 and register via https://pzl.no/SPC19 today!

SPC19 is one of two major Microsoft events where Microsoft product groups announce new and upcoming features for the Office 365 and SharePoint suite. The other conference is of course Microsoft Ignite being held in November in Orlando, Florida. Which means attending one or both of these conferences puts you right in the middle of where it happens.

Governance and Lifecycle management

Back in 2014 search in SharePoint was still hot and sunny, and that was my speaking topic. This time around I’m older and wiser and have devoted my time to governance and lifecycle management of Office 365 Groups and Teams in a presentation titled: “What Options do You Have to Govern the Lifecycle of Office 365 Groups and Teams?”

Why have I switched from talking about the wonders of search capabilities in Office 365, over to boring admin stuff? It’s not that far a leap as you might expect, and certainly not boring. Search is all about findability and weeding out the bad content in order to surface the good content. Which plays right into managing content in Office 365 Groups and Teams. You need to focus on what’s valuable, and rid yourself of the rest.

Office 365 Groups and Teams introduce many workloads such as document management, tasks management, and chat logs. Built into the Office 365 platform your organization has many tools and functions available to help control how information is governed and to help you control the lifecycle of the information stored within the groups and teams.

The goal of my presentation is to show what tools are available in the Office 365 suite to help with lifecycle management and to show how you can use them to ensure a healthy environment with reduced information bloat while still maintaining information control and integrity. Some of the functions are available in different administration UI’s, but for the IT Pro’s loving PowerShell out there, most of it today is available via PowerShell and the Microsoft Graph.

Using admin UI’s and PowerShell I will dig into some of those capabilities and show how you can get hold of the information you need in order to implement your business rules and requirements for lifecycle management of Office 365 Groups and Teams.

I will also touch on what end-user licenses are needed for being license compliant when using the different features available to you. And who knows, working in an evergreen platform, things might very well change between now and May, which lets me adapt this session as well as time closes in on May 21st.

There is more!

Even though you might find my session good enough reason to travel to SPC19, there is more.

Sunday and Monday before the conference has been reserved for full day workshops covering topics such as SharePoint Framework development, governance of Microsoft 365, security of Office 365 using Enterprise Mobility and Security settings, and how to get started with PowerApps and Flow.

Once you have filled your brain with hands-on training from the workshops, it’s time to dig into all of the 200+ sessions which are to be presented by an awesome speaker lineup with experts from Microsoft Engineering as well as well-renowned experts from all around the world – all passionate and eager to share their knowledge and experience with you. Also being present in Las Vegas gives you the possibility to talk to these experts about your problems, experiences and concerns in person.

With all the other attendees at SPC19, make sure you strike up a conversation during early morning breakfast, during energy re-filling lunches and during after-dinner drinks, and you will see that you can learn so much from fellow peers in the space of Microsoft 365 and Office 365. Even though your organization is unique, you’d be surprised to see how much it has in common with other organizations using the same platform. And if you didn’t know, the Office 365 and SharePoint community is one big sharing community. What it all boils down to is how to use the platform as smart as possible, and to get the job done in an efficient, smart and compliant manner.

Register and Save $50 on the ticket

If Las Vegas in May seems like your thing, register via https://pzl.no/SPC19 to use my discount code SVENSON (all caps) to save $50 on the ticket, which you instead could turn into millions in the casino. Register before January 15th, and you may also receive an XBOX One, Surface Go or other cool stuff depending on your package.

Register now, register early, see you there!

Sunday, December 9, 2018

Puzzlepart presents modern PDF conversion/export for SharePoint

screenshot

If you have Adobe Creative Cloud licenses you might have installed Adobe’s integration with SharePoint and OneDrive to allow PDF handling from document libraries. Two of the included functions from Adobe are to convert files to a PDF file in-place in the library, and to download files as PDF from the library.

See https://adobe.com/go/o365pdf for more information on Adobe’s offering.

If you however don’t have the required Adobe licenses or don’t want to go through their install process I’ve cooked up a simple solution – Just for you!

Today the API’s in SharePoint are at a point where you can create a SharePoint Framework solution using first class functionality in SharePoint to perform PDF conversion without any extra modules.

By installing our tenant wide list extension you can with very few clicks enable conversion and downloads of files as PDF files in all your SharePoint document libraries.

Get the solution at https://github.com/Puzzlepart/spfx-solutions/blob/master/Pzl.Ext.PDFExport/README.md

Enjoy!

Saturday, December 1, 2018

Presentation and files from my ESPC18 session on Groups/Teams governance

I had an awesome time presenting “What Options do You Have to Govern the Lifecycle of Office 365 Groups / Teams?” at the European SharePoint Conference this week. The audience seemed very interested and I got a few questions at the end for every one to hear, and 20 minutes 1 on 1 after that.

The demo scripts can be found at https://github.com/wobba/espc18

Wednesday, November 14, 2018

Sending e-mails in Microsoft Flow using SharePoint

Introduction

image

A lot of Flow scenarios involve sending alert or information e-mails to someone in your organization.These are typically e-mail which don’t require a response. Something happened, and you want to notify someone. And this is what this post is all about.

Yeah, yeah, we should cut down on e-mails, but that’s not happening any time soon – so read on!

Wednesday, October 31, 2018

How to remove yourself from an external tenant/organization–when you’re done collaborating and it clutters Teams

You might have clicked your organization name in Teams and see this long list of external tenants you might have been part of for some reason. When you’re done you might want to weed the list.

image

Leaving just the teams/channels will still show the external tenant, so in order to remove yourself navigate to: http://myapps.microsoft.com. This page also lists application you have access to in external tenants.

On this page click your photo and pick Profile.

image

The next page will list all tenants where you are a guest, and you can remove yourself as a guest user manually.

image

Note that this will remove you as a guest user in the external tenant. This means that if someone has shared documents or similar with you, you should not remove yourself as a guest user. But if you don’t have any relationship with the external tenant any more, you can safely remove yourself – and they can re-invite you if needed.

The official documentation for this can be found at https://docs.microsoft.com/en-us/azure/active-directory/b2b/leave-the-organization.