For those who don’t know this solution already, the PnP starter intranet is a free open source solution providing the fundamental building blocks of a common publishing intranet solution in SharePoint 2013/2016 on-premises and SharePoint Online through a lightweight client side solution and using the latest web stack development tools and frameworks.

Updates

In this version, several updates have been made since the last release:

Integration with the bot framework via a web chat control (see below)

Revamp of the overall design

Several bug fixes

Migration to webpack 2.x and latest npm package versions

Add of a new content type and display template for events with the ability to export an event as an .ics file

New design for the carousel component

Add a new display template « tiles view » for news

The extensibility provider has been removed due to too many deployment issues. Default values configuration for columns in the « Pages » library is now manual.

The big update of this version is the integration with a QnA bot implemented with the Bot Framework. You can see the result in the intranet solution by clicking on the animated image below:

By default, the bot code is not included in the PnP starter solution so you will have to get it in the repository (https://github.com/FranckyC/SharePointBot) and deploy it by following the instructions. In this sample, I’ve used the QnA maker service (https://qnamaker.ai) to build both static and dynamic answers to user’s questions. By dynamic, I mean that instead of a static text response, an answer can be a search query executed by SharePoint to get user’s specific content:

Why integrate IA & bots in SharePoint?

In my previous post, I’ve already mentioned that the SharePoint search engine could be enhanced by adding some « intelligence » in the search query intent recognition mechanism. To illustrate this, I’ll take the example of a very common situation in a SharePoint intranet solution:

Let’s say you’re new in your company and you’re looking for information in the intranet to get started with your job (administrative info, what you have to do, etc.). The first natural thing you will do is probably to browse the navigation menus. Then, if you don’t find what you need, you will certainly use the search engine and your search query could be look like this:

« new employee procedure » or « new employee get started »

Now, how the search engine could understand you’re intent (« Get information about new employee procedures ») and give you the most relevant content based on your query? Of course, if you know SharePoint, this scenario can basically be resolved by using the query rules feature combined with rankings and metadata settings but here it is: it takes a lot of time and efforts to configure the search engine to get good results.

That’s a fact: intranet users generally don’t know the SharePoint specific KQL syntax and they don’t have to (even if they know KQL, they don’t know the underlying search schema and values) so they will use free text search most of the time (thanks to Google). It means you will always have to compensate by using other search techniques (query rules, etc.) to satisfy your users.

Here come AI services and bots: get queries in natural language, detect intents and get back relevant results. More the intent is precise, more the result will be. Services such as QnA Maker and LUIS (Language Understanding Intelligent Services) can now interpret user inputs and detect intents very precisely. The QnA maker is certainly the easiest service to implement with SharePoint to provide quick answers for common questions (for new employees for instance) without any code (except the bot itself). For more advanced scenarios, LUIS can be used to extract data from an intent (i.e entities) and reuse them elsewhere (LOB system, search engine, etc.). In the end, bot is just here to gather and automate things: get user inputs, get intent detection results and take actions accordingly.

I will try to develop these subjects in the future but definitely, bots and AI are coming in the SharePoint/Office 365 landscape and this is very exciting!