Manage result layouts for SharePoint results in Microsoft Search

Microsoft is improving Search (MC489165):

Manage result layouts for SharePoint results in Microsoft Search

We’re making changes to Microsoft Search. This update will allow Microsoft Search administrators to change result layouts for select SharePoint content using adaptive cards with Result Type feature in Microsoft Search administration.

The default result layouts for SharePoint sites, pages, list items and Portable document format (PDF) results can now be replaced with layouts built using adaptive cards. The changes can be made for Organization level search applicable to Office.com and SharePoint home as well as site level search on SharePoint sites. Changes for Microsoft Search in Bing will be rolled out soon. Note that the feature does not support changing of Office file search results.

This message is associated with Microsoft 365 Roadmap ID 81952

Before the change, when you add a new result type under “Search and intelligence” Customizations – it looked like this:

result type content sources

So there was no built-in “SharePoint” content source as an option – only custom “external” data sources.

But with the new feature implemented list of content sources for the result type will look like this:

SharePoint and OneDrive content source

If you choose “SharePoint and OneDrive” content source – the next option would be to select type of content:

Select type of content and set rules

You also can create different result types for different types of content based on properties-based rules (e.g. one result type for all sites – and a separate result type for a specific site or hub) with optional “Set rules for this type of content”:

Default site result experience would look like

Search results with modified SharePoint result type might look like:

When you modify template via Layout Designer – it is essential to know available object properties.

You can get properties from the “Available properties” below – there is also search through properties feature.

Or you can use SharePoint Search Query Tool to get metadata on search results.

It might take hours and even days for your search to start showing new layouts, but “&cacheClear=true” should help.

DepartmentId 

If your sites are organized in hierarchy under Hub site – you can use DepartmentId managed property to include all hub-associated sites content

DepartmentId is just a hub site Id

… to be continued …

References

clearCache or cacheClear

Each time we need to validate a recent change in Microsoft Search configuration, we need to use query parameter that clears cache, and each time I’m not sure is it clearCache or cacheClear 🙂

So, correct is “cacheClear=true”, e.g:

https://www.office.com/search/sites?auth=2&cacheClear=true&q=bird*

Reference:

Microsoft 365 SharePoint: prevent throttling with RateLimit headers

Bert Jansen (Microsoft) revealed some details on throttling when you access Microsoft 365 programmatically – via Microsoft Graph or CSOM and guided developers on how to regulate request traffic for optimized throughput using RateLimit headers (Here).

Demystifying SharePoint throttling

Throttling is necessary to ensure that no single user or application consumes too many resources compromising the stability of the entire system, which is used by many clients.

Throttling happens at

  • User (there are user request limits. Microsoft counts all requests linked to user
  • Application (Delegated or Application permissions)
    • Resource units per app per minute
    • Resource units per app per day
  • Farm – Spike protection

Very common reason for throttling – when an Application (Delegated or Application permissions) reaches “Resource units per app per minute” threshold.

Usually you catch HTTP errors 429 or 503, wait for some time (respect Retry-after header) and try again.

SharePoint provides various APIs. Different APIs have different costs depending on the complexity of the API, but Microsoft favor Graph API over SharePoint REST/CSOM. The cost of APIs is normalized by SharePoint and expressed by resource units. Application’s limits are also defined using resource units.

Quota depends on tenant size.

Resource unit limits for an application in a tenant (please refer to the Microsoft article)

Predefined costs for Microsoft Graph calls:

Assuming 2 resource units per request is a safe bet.

Links

Microsoft Form Blocked due to Potential Phishing

You are seeing messages “This form can’t be distributed as it is asking for personal or sensitive information. Contact your admin for assistance. Terms of use”

This form can’t be distributed as it is asking for personal or sensitive information. Contact your admin for assistance. Terms of use

or

Form can no longer be accessed. This form has been flagged for potential phishing.

“Form can no longer be accessed. This form has been flagged for potential phishing. Technical details”

Cause

The reason is: Microsoft enabled automated machine reviews to proactively detect the malicious collection of sensitive data in forms and temporary block those forms from collecting responses. More about it.

Solution

Ask your tenant global or security admin to go to the Microsoft Security Administration (Defender) Alerts:

Microsoft Defender Alert Phishing Form
Microsoft Security Administration (Defender) Alerts

If your list of alerts is too big – use filter by Policy: “Form blocked due to potential phishing attempt”.

Microsoft Purview - Compliance-Alerts-Filter-By-Policy

To unblock the form or confirm it is phishing – admin should open the alert:

Microsoft Defender Alert Phishing Review this Form

And then click “Review this form“.
“Review the form” opens the page “https://forms.office.com/Pages/AdminPhishingReviewPage.aspx?id=”
where is the form Id.

Then global/security admin can review the form and unblock it or confirm it is phishing:

m365 global/security admin can review the form and unblock it or confirm it is phishing

References

Aidos Yerbossynuly vs David Morrel Full Fight Video The Armory Minnesota Nov 5, 2022

Вечером (по местному времени) 5 Ноября 2022 в клубе Армори в Миннеаполисе (Миннесота, США) года состоялся бой между кубинцем Дэвидом Морреллом и казахстанцем Айдосом Ербосынулы. Это был чемпионский поединок во втором среднем весе за пояс регулярного чемпиона мира по версии WBA.

Моррелл считает Миннесоту своим вторым домом, т.е. для него это был домашний поединок и он проводил уже третью защиту пояса. Айдос прибыл в Миннесоту накануне в составе команды Suleimen Promotions.

Айдос получил тяжелый нокаут на последней минуте 12-го раунда. Дэвид, увидев что Айдос качается на ногах, помог ему дойти до своего угла. Айдос выглядел хорошо и уверенно держался на ногах во время объявление победителя и самостоятельно ушёл с ринга (см. видео), но позже был госпитализирован в палату интенсивной терапии и введён в искусственную кому.

Только что команда Suleimen Promotions заявила, что Айдос выведен из комы и переведён в обычную палату.

Все оригинальные видео боя Айдос Ербосынулы против Дэвид Моррелл. Бокс. Миннеаполис Миннесота Армори 5 Ноя 2022 – по раундам, а также выход Айдоса, нокаут и уход с ринга:

И несколько фотографий боя:

Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Перед боем
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Ринг
Minneapolis Minnesota The Armory Nov 5 2022
Ринг
Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Афиша
Айдос Ербосынұлы vs David Morrel Jr. 
Бокс Minneapolis Minnesota The Armory Nov 5 2022
Armory Club

Update Large Number of SharePoint Sites with PowerShell Parallel

WIP

Here I’m trying to figure out – how much PowerShell Parallel option is beneficial and how to avoid throttling…

Let us test, how long would it take to create a SharePoint site, if we use regular (sequential) loop or parallelism (I’m creation a sample set of 50 SharePoint Sites in a row):

Regular
(Sequential)
seconds per site
Parallel,
100 sites in batch
seconds per site
Parallel,
500 sites in batch
seconds per site
Regular (Sequential)3.0
Parallel,  ThrottleLimit = 21.600.91
Parallel,  ThrottleLimit = 50.69
Parallel,  ThrottleLimit = 100.2 – 0.3
Parallel,  ThrottleLimit = 200.17

Interesting, but I did not get even one (throttling or any other) error during creation 500 sites.

Get sites details

Now let us test, how long it takes to get sites details with Get-PnPTenantSite (I use a sample set of 500 sites):

Test typeRegular
(Sequential),
seconds per site
Parallel
sample = 100 sites,
seconds per site
Parallel
sample = 200 sites,
seconds per site
Parallel
sample = 500 sites,
seconds per site
Regular (Sequential)0.65
Parallel,  ThrottleLimit = 20.400.330.31
Parallel,  ThrottleLimit = 50.170.140.36 (errors)
Parallel,  ThrottleLimit = 100.11 (errors)0.11 (errors)0.34 (errors)
Parallel,  ThrottleLimit = 200.12 errors+0.07 errors+0.52 (errors)

(errors) means there were small number of errors during test… e.g.

Microsoft 365 ownerless groups policy email message body format and content

When you are creating or updating “Microsoft 365 ownerless groups policy” – you can customize email template subject and message body.

Here is how out-of-the-box email message looks like for admin:

Here is how out-of-the-box email message looks like for user:

You can customize subject, message body and link in the footer.
You can use variables: $User.DisplayName to insert the user’s name and $Group.Name to insert the name of the group.

Message body size is limited to 1040 symbols, so not much you can put there. Which means you’ll probably need to share the link to some page in SharePoint where you can provide users more information – explain everything – why it is happening and what are the actions need to be done with screenshots etc. So you’d need a link here – clearly visible in the e-mail body (OotB “Policy guideline Url” appears at the end of the email barely visible).

You’d also emphasize some elements of the message… but how?
It seems like e-mail template does not support HTML tags… and there is no WYSIWYG experience.

Here is what I found out: although policy e-mail template does not support markup, you still can use some tricks as long as e-mail client understands it. Specifically, you can use GitHub-style formatting as described here.

In my experience – both – outlook web-client and outlook desktop app interpret GitHub-wiki-style markup well. I.e. you can use headers, bold/italic text, lists/bullets, links and images.

Here is admin editing e-mail experience:

Here is user e-mail experience:

e.g.

[Link Text](Url) - will look like a link
# will look like a header #
Please refer to a GitHub formatting syntax for a full syntax

N.B. if you forward the message – you might loose formatting.

You might want use Microsoft’s “My groups” page, or “Groups I own” and “Groups I am in” pages.

Example of e-mail subject:

Subject: $Group.Name group needs a new owner

Example of e-mail template:

Hi $User.DisplayName, 

This group currently does not have an owner:
## $Group.Name
You're receiving this email because you've been an active member of the group.  

Per organization's policy, the group requires an owner. **Ownerless groups are subject for deletion.**
For more details - please refer to ["Organization's ownerless resources policy"](https://vladilen.com/office-365/ownerless-microsoft-365-groups-teams-and-sites). 
Please accept or decline this before ...

References

Microsoft 365 People Search by Nickname and Full Name

Scenario

Nickname (or alias or moniker or hypocorism etc.) is some another name – usually shorter than original name and widely used in maybe all countries in the world. E.g. Bob is a nickname for Robert in the US and GB, Checo is the other name for Sergio in Mexico. There might be personal names also – e.g. Bapu (father) is an word that is usually associated with Mohandas Karamchand Gandhi, also known as the Mahatma Gandhi. More examples: David “Noodles” Aaronson, Roger Keith “Syd” Barrett etc.

In Microsoft 365 we want to search for a person’s name we know – and in many cases it’s a nickname – e.g. Beth (Bethany) or Alex (Alexander). Can m365 search do that?

Unfortunately, not… At least at 19:38 on 2023-03-30
… though please check Microsoft 365 Search: built-in people search by nickname.

Solution

It takes a few steps to implement search by nickname:

  • create a custom property under SharePoint Online User Profiles service
  • fill this property with values
  • configure Search Schema – map crawled property to managed property

Step-by-Step

Create a custom property under SharePoint Online User Profiles service

  • Ensure you have a SharePoint Administrator role activated
  • Navigate to SharePoint Admin Center – more features – User Profiles – Manage user properties – New Property
  • Configure custom property according to your needs,
    – ensure “Policy Settings” “Default Privacy Setting:” Everyone is selected
    – ensure “Search Settings” “Indexed” is selected

Fill SharePoint Online User Profile Properties with values

That would be a custom solution – e.g. manual work from SPO Admin Center GUI or PowerShell script ( e.g. with some dictionary). This is required for search to pick it up, crawl the property and create crawled property – so you could proceed with search schema mapping.

Configure Search Schema – map crawled property to managed property

For the nickname to be generally available in full-text-search – i.e.
user simply enter value in a search bar and gets results – here are the steps:

  • Ensure you have a SharePoint Administrator role activated
  • Navigate to SharePoint Admin Center – More features – Search – Manage Search Schema
  • Select Crawled Properties and ensure search picked up your custom property and crawled it – check your crawled property name under Category: People.
  • Under Managed Properties – create a new managed property
    • select “Searchable”
    • under Advanced searchable settings – select Full-text index: PeopleIdx
  • map this managed property to crawled property

========================================

References