Samstag, 5. September 2015

SharePoint 2016 BETA Search – a first look under the hood

PowerShell for SharePoint Search

Installing and configuration using PowerShell works similar to SharePoint 2013. You can use the same cmdlets and scripts as in SharePoint 2013.
Even if you not created a Cloud SSA as part of “Cloud Hybrid Search Preview for SharePoint Server 2013 and 2016” cloud and hybrid topics can be found everywhere.
For example I checked some new parameter within Get-SPEnterpriseSearchServiceApplication:
$sa = Get-SPEnterpriseSearchServiceApplication
$sa = Get-SPEnterpriseSearchServiceApplication
There is also another interesting information when we have a detailed look at the search topology. As you can see for every component we have a status information “ExperimentalComponent”. This can give us an information whether “Cloud Hybrid Search Preview for SharePoint Server 2013 and 2016” is configured or not.

SharePoint 2016 BETA Ceres – a first look

The Ceres shell is:

  • -          a set of PowerShell cmdlets.
  • -          It allow to control the internal workings of SharePoint Server search.
  • -          It is taken over from the FAST search engine
  • -          We can use it to tweak the search engine inner working
  • -          modifying the settings can completely crash SharePoint Search
  • -          it is part of SharePoint since SharePoint 2013
Manipulations are not for production use, nor supported by Microsoft – but, it can get us a better understanding of what is going on under the hood. If you are interested in further information about the Ceres have a look here: SharePoint 2013 Search internals: The Ceres shell.

Bevor we can use the cmdlets we need to set up PowerShell and connect to the Ceres:
  • cd "C:\Program Files\Microsoft Office Servers\16.0\Search\Scripts\"
  • .\ceresshell.ps1
  • Connect-System –Uri (Get-SPEnterpriseSearchServiceApplication).SystemManagerLocations[0] -ServiceIdentity (Get-SPEnterpriseSearchService).ProcessIdentity
  • Connect-Engine
  • Connect-AnalysisEngine -NodeName AdminComponent1

To get an overview of all available cmdlets use this:
Get-Command -Module analysisenginepssnapin
Comparing this overview to SharePoint 2013 we see new commands:
  • -           Get-AnalysisEngineIsPaused
  • -           Get-AnalysisEngineWorker
  • -           Register-Analysis
  • -           Unregister-Analysis

Actually no further information or documentation is available for this new cmdlets.
Using the get-analysis cmdlet we get an overview for all Analytics component SearchAnalytics, UsageAnalytics and SearchReports. If you are interested in further information about the Analytics components in SharePoint 2013 have a look here: PowerShell for SharePoint 2013 Analytics Feature
In SharePoint 2016 BETA we have a new Analytics component called “LinksStoreInput”
This new component also results in a new subfolder within the Office Server Analytics directory:
Actually no further information or documentation is available about this new component. Based on the name we only can suppose what it is doing.


Get-flow is about the definition of “what” is happening in the Search internals. Manipulations are not for production use, nor supported by Microsoft. The Content Enrichment Web Service is the primary documented and supported mechanism for implementing "custom" processing logic in SharePoint Search – but, it can get us a better understanding of what is going on under the hood and what is new in SharePoint 2016 Search.
Using the get-flow cmdlet results in an overview showing all flows.
In SharePoint 2016 BETA the following FLOWS are new:
-           Microsoft.ContentPushFlow
-           Microsoft.ContentPushHybridFlow
-           Microsoft.ConversationalLatencyFlow
-           Microsoft.PropertyRetrievalSearchFlow
-           Microsoft.SearchAnalyticsBuzzFeederFlow
-           Microsoft.SearchAnalyticsBuzzInputFlow
-           Microsoft.SearchAnalyticsBuzzImportFlow
-           Microsoft.SearchAnalyticsBuzzOutputFlow
-           Microsoft.SearchAnalyticsExternalContentMapFlow
-           Microsoft.SearchAnalyticsExternalContentPushFlow
-           Microsoft.SearchAnalyticsFollowsImportFlow
-           Microsoft.SearchAnalyticsFollowsInputFlow
-           Microsoft.SearchAnalyticsGraphIndexFeederFlow
-           Microsoft.SearchAnalyticsInFeedInputFlow
-           Microsoft.SearchAnalyticsTagsImportFlow
-           Microsoft.SearchAnalyticsTagsInputFlow
-           Microsoft.SignalStoreInputFlow
-           Microsoft.UsageAnalyticsImportFlow
-           Microsoft.DocumentPreviewMetadataFeederFlow
-           Microsoft.PeopleSuggestionDictionaryDeploymentFlow
-           Microsoft.QueryCompletionPeopleOutputFlow
-           Microsoft.QueryCompletionPersonalizedQueryLogsOutputFlow
-           Microsoft.QueryCompletionPreFetchOutputFlow
-           Microsoft.QueryCompletionQueryLogsInputFlow
-           Microsoft.QueryCompletionQueryLogsOutputFlow
-           Microsoft.CrawlerPropertyReportingSubFlow
-           Microsoft.CrawlerSecurityInsertHybridSubFlow
-           Microsoft.ExplorerFlow
-           Microsoft.GraphSearchProviderFlow
-           Microsoft.QuerySuggestionsQueryLogsFlow
-           Microsoft.DeleteTenantFromIndexSystemFlow
-           Microsoft.IndexingSubFlow
-           Microsoft.DataLossPreventionSubFlow

This can give us an overview of what has changed and what is new in SharePoint 2016 Search. So the main topics based on this get-flow list are:
  • -          Content Push
  • -          External Content Push
  • -          Graph Index Feeder
  • -          Graph Search Provider
  • -          Signal Store Input Flow
  • -          Crawler Security Insert Hybrid Flow
  • -          Data Loss Prevention

If you interested in a deeper look in what’s going on in a flow you can use this cmdlet:
get-flow %flow name%


Cloud-awareness can be found everywhere in SharePoint 2016 Search, even if no Cloud SSA is configured.
New features in SharePoint 2016 Search will be:
  • -          Content Push
  • -          External Content Push
  • -          Office Graph interactions
  • -          Hybrid Crawler
  • -          Data Loss Prevention support

Dienstag, 23. Juni 2015

Delve‬ ‪PeopleProfile‬ ‪Blog‬‬‬

The new Delve-based Blog engine is launched in Office 365

We can use this new feature by navigation to Delve, click on a Profile page and click “All Posts” or “Start Writing”
Clicking the “Start Writing” option we are redirected to the new authoring engine.
Everyone who already worked with Sway will find a really similar and well known experience. In the top section we can easily add a picture and a title. In the lower section we can add text or content located in OneDrive for Business or uploaded from out device.
Using the “Add Office Document or select a suggested Document below” we can add content to the site

Within some mouse clicks we can create a new site / post. This new UI is based on the ideas of Sway and follows the new user experience for “Ready to go next Generation Portals”. The ideas and techniques we can see here are the same we will hopefully see for “Infopedia” and Microsites in SharePoint as shown during Ignite 2015 in Chicago in May.
For more details and to see the new Blog engine in action watch this video:

Samstag, 9. Mai 2015

My impressions & notes from this year Microsoft Ignite

I share my OneNote stuff and impressions from this year Microsoft Ignite with you.
Fined my notes as I typed them during the sessions I watched in this Sway...:

...if you have any questions, something is not clear to you or you are interesting in a special topic just contact me.

Sonntag, 8. Februar 2015

Getting Emails with Attachments from Office Graph using REST API

Email attachments are now also covered by the Office Graph and Delve

Since a couple of days Delve is showing Email attachment:
More details about this, the Delve card for “Emails with Attachments” and its functions can be found in this blogpost: Delve starts to add emails with attachments to results

Using the REST API we can get this data, too. Getting all emails with attachments for the signed in user we can use this call:

The contentcalass filter 'contentclass:exchangeattachment’ is scoping the result only to mails with attachments.
This query only returns result for the user who runs the query. Because of Email contentclass results are only shown in the Home Feet in Delve it is a private signal. In Detail every person who received the mail and within the mail also the attachment gets it in his Delve Home Feet: