Montag, 12. Januar 2015

O365 Groups – new feature

Opening a document attached to a Group discussion is showing a new feature. The document opens in Office WebApps and the discussion thread is showing at the right side.
Cool new feature.

Sonntag, 4. Januar 2015

The anatomy of Office 365 Groups

Microsoft released a new feature called „Groups“. This article is about the anatomy of this feature, the architecture and the structures in the backend.
For common information and the ideas behind Groups check out this link:

Create a Group

Groups are actually only available in O365 using Outlook online. You can create a new Group by navigating to Outlook online “Group” tab and press “Create Group”:

This starts a dialog for to collect the needed information’s like Name, Privacy settings etc.
Default setting for Groups in O365 allows everyone to start a new Group. To change this we need PowerShell:
Connect to your O365 Tenant -> Exchange Online:
Then we can use this commands:
-          to disable Groups: Set-OwaMailboxPolicy -Identity\OwaMailboxPolicy-Default -GroupCreationEnabled $false
-          to enable Groups: Set-OwaMailboxPolicy –Identity\OwaMailboxPolicy-Default -GroupCreationEnabled $true

Groups architecture

After a new Group is created you see a new tab in Outlook online for this Group. For every Group we have an overview page like this:

We can see all the conversations for this Group. Based on the “subscribe setting” during the create dialog every post in a conversation will result in an Email to all members of this Group. Insofar we are still in Exchange online.
We can also see that per Group we have elements like Calendar and Files. Calendar is also based in Exchange online but Files are based in SharePoint online. Navigating to the Files of a Group redirects to the MySite of the user:

But the MySite host is not where the documents a stored. For every Group a hidden Site Collection is created in SharePoint online. We cannot see this Site Collection in SharePoint online administration, but you see the URL for example in the hover-panel of a document:

So in my example the URL of the hidden Site Collection associated to my Group is:
We cannot access this Site Collection. Navigation to this URL automatically redirects us to the Group Files overview page located in users MySite. This is also true for every other Sub-URL. So if we try to go to _layouts/15/seetings.aspx or to the _layouts/15/listedit.aspx to change Document Library Setting etc. we are redirected to the Group Files overview page located in users MySite. The only way to manipulate settings is using SharePoint Designer or SharePoint Client Browser. Opening the Site in SharePoint Designer looks like this:

As we see we can manipulated some settings using SharePoint Designer. BUT this is not supported and can only be useful as part of testing and troubleshooting scenarios!
Last component is Azure AD. As we see so far Groups are using Exchange online and SharePoint online. So question is what kind of objects are Groups – and the answer is that Groups are Azure AD objects.

As you can see we have a Groups tab in Azure AD and there we can find a list of all Groups. Navigating to a Group we have several settings and information’s, amongst other things we can see the Objekt-ID which is the unique identifier for the Group.
So Groups are not a SharePoint online thing and also not an Exchange- or Outlook online thing. Groups are located in Windows Azure AD and Groups are a Office 365 feature. Because of this: Groups can easily be used in all features belonging to Office 365 and the underlying Windows Azure AD. The article I mentioned at the start of this post talks about “…In upcoming phases, we will add Yammer and Lync to the Groups experience to help you do even more”. Now we understand that this can easily be done based on the underlying Azure AD.


Samstag, 15. November 2014

Delve and the Office Graph for IT-Pros & Admins

There are a couple of really good post from Richard Dizerega, Elio Struyf, Mikael Svenson  and Waldek Mastykarz. But everyone is talking about dev. stuff or end-user perspective.
In this article I will show the idea of Delve, the Graph and how it is working and what can be done from an IT-Pro / Administrator perspective.


We can enable or disable Delve and control access to the Office graph in SharePoint Online administration. To do this we had to navigate to Admin > SharePoint > Settings. Under Office graph, select one of the following options:
-          Don’t allow access to the Office graph

-          Allow access to the Office graph
Delve can also be disabled or enabled per user. To do this the user must go to Office 365 > Delve > Delve settings.
To store this setting we have a new property in User Profile Store: OfficeGraphEnabled.
The OfficeGraphEnabled property is only used when a user actively turns off Delve for themselves.
The property also results in a crawled and managed property which can be used in Search.
So the Administrator can query that property in Search to find out all people within his organization who turned off Delve.
This can be useful to get an overview about Delve usage in you organization.
We have several other properties in the User Profile service used by Delve.
·         SPS-UserType
·         SPS-HideFromAddressLists
·         SPS-RecipientTypeDetails

The SPS- properties are there to help the Office graph to determine if user in Exchange Online is a non-person entity such as a meeting room.
Users aren’t able to set these properties directly in their SharePoint Online profiles.

Working with Delve for IT-Pro´s and Admin

From IT-Pro & Administrator perspective Delve is a kind of service we have to write code to tweak it. Actually there are no out-of-the-box WebParts etc. we can use to work with Delve.
But we have a bunch of preconfigured code snippets, examples, SharePoint Apps and tools which can be very useful also for Admins and IT-Pros.

SharePoint 2013 Search Query Tool

The SharePoint 2013 Search Query Tool support with version 2.2 also GQL (Graph Query Language). For more details about GQL follow this link:

Office graph queries within your SharePoint search center

Elio Struyf did a great job with his code sample to use SharePoint search center to visualize Graph Queries.
All you need is a Script WebPart, a Search Box WebPart and a Search Result Webpart. The script is overriding the default Srch.U.fillKeywordQuery function, manipulating some parameters and doing a call to the original fillKeywordQuery function. The scripts and details can be found here:
The result looks like this:
We can use this script to fire queries against the Graph. Modifying the “Me or Actor ID” field give us an option to impersonate the query. The Graph always respects your privacy so we cannot see private object from another person. Details see here:  Privacy in Delve and Office Graph
But we can see all public objects for a given Actor ID to verify our security concept works well.
In my example I fire the query as user “Oliver Hardy”:

SharePoint Apps around Delve

In the SharePoint App store we can find a bunch of useful Apps around Delve and the Graph. Most of them are from Mavention / my MVP colleague Waldek Mastykarz. To test Delve and work with the Graph the most useful is the Office Graph Query Tester
This app showes the query which is used to get a result. This query can then be used and modified in the SharePoint 2013 Search Query Tool.

SharePoint 2013 Search API Results Webpart

I have a codeplex project for an experimental SharePoint 2013 Search API Results Webpart. This WebPart is visualizing the JSON result comming from search service as a simple list. Modifying the query in the script you can use this script to show Graph results where ever you have to.
Here I use the script in a Script WebPart to visualize the following query: ACTOR(ME)
This can be useful to show Graph results as part of you intranet landing page which is maybe not SharePoint etc.

Further information and events

·         More and further information about Delve can be found at IT-Unity:
·         IT-Unity also hosts a survey about delve: First Impressions of Office Delve
·         and there is a upcoming webinar series about Delbe at IT-Unity homepage:

Samstag, 25. Oktober 2014

Deactivate social feature MySite, Newsfeed, OneDrive, Sync, Share & Follow in SharePoint 2013

In several project I had the request to deactivate one or all of the following features. Poorly there is no consistent way to do it.

Sync button

To deactivate that feature we can use the SPList.ExcludeFromOfflineClient property. With this PowerShell Script we can set the value to 1 which deactivates the Synch function everywhere.

THX Sahil Malik for that script

Get-SPSite -limit all | get-SPWeb -limit all | Foreach {$_.Title = $_.Title;
$_.ExcludeFromOfflineClient=1; $_.Update()}


If we can start with a fresh system we can remove the permissions to create MySites. If already MySites are created we first must delete them. Only the MySites, not the MySite host!
Do not give the user the option to set up MySites will also remove the Newsfeed and the OneDrive link in the SharePoint top link bar.


This script disables the “Allow access request” setting under Site Settings -> Site Permissions -> Allow access request for all Sites and SubSites und the configured URL

$Webapp = Get-SPWebApplication "http://MySharePointURL"
ForEach ($site in $webapp.Sites)
{ForEach ($web in $site.AllWebs | where {$_.RequestAccessEnabled -and $_.Permissions.Inherited -eq $false})
write-host $web.Title, $web.URL updated}}

The “Share” button and also the entries in the HoverPannels and context menus are still there but the user get the message that he did not have the right to share content or sites. Another option is to set the max allow documents, sites and users to follow to 0. We can do this in Manage Profile Service -> MySites settings section -> Manage Following


This script goes through the hierarchy and disables the Following Content feature in every WebSite. You get an error message for every site where the feature is not active or missing. This can be ignored

$w = Get-SPWeb http://MySharePointURL | ForEach{ $_.URL }
Get-SPFeature -Web $w |%{ Disable-SPFeature -Identity "FollowingContent" -URL $w -Confirm:$false}

Mittwoch, 10. September 2014

First version of Delve is available

The first version of Delve formerly known as “Project Olso & Office Graph” is now available.

So what exactly is Delve? Here is what Microsoft says:

Delve (Codename Oslo) & Office Graph
Delve (Codename Oslo) is the first experience to use the power of the Office Graph. Delve is a new way to search and discover content across Office 365 based on personalized insights. Delve will be available as a Windows 8 app, on mobile devices, and integrated in the Office 365 web experience. Office Graph is an underlying technology and a suite-wide intelligence fabric that will help you discover content and make new connections. The Office Graph analyzes signals and applies machine learning. Personalized insights are built up for each user, based on their behavior, their relationships to content, topics and one another. Content and signals are captured from Exchange Online, SharePoint Online, and Yammer.

The Delve feature is located in the Office Bar at the top of the O365 site. Delve is only available for O365.

Here are some additional useful links:

Delve shows content from SharePoint team sites and OneDrive for business content. In the future, we will see more content sources to push content to the Office Graph, such as email attachments, meetings, group content, video portal content, Yammer signals/shares etc. We will also see an API for Delve in the future. The API will probably be a REST-based API supporting CRUD operations.

Delve looks like this:

Going to Query Editor in a search result webpart we can see a new Result Source:

This result source is not shown under SharePoint online administration or in the site settings menu. It’s only visible in the Query Builder. The Office Graph gets its own index. We can assume that this new result source is mapped to the new Graph Index. The new result source is not showing any results using it in a search result web part.

Is Delve only another content aggregation?

In SharePoint / SharePoint Online, we have several sites and web parts showing content based on search and social indicators:
·         My Documents
·         Recent Documents
·         Docs I'm following
·         Suggested documents to follow
·         Documents Shared with Me
·         Documents we have in common

Aggregating all this in one page shows that the content is mostly related:

So is Delve only an aggregated view of all this? No it is not! Delve is based on the Office Graph, which is a kind of machine learning to map the relationships between people, content, and activity that occurs across Office 365.
To give you an idea how this works, let’s have a look at the following example.
As part of Google, we have an Analytics engine called Google Trends.
I use this engine to get the following report.
  • Search term 1: Hangover
  • Search term 2: Vodka
  • Entity: Time

That means: Item1=Hangover Item2=Vodka

Item to Item recommendation shows a correlation between this to search terms / items at the end of December every year – at New Year's Eve ;-)

There is a correlation between these search terms and the date New Year’s Eve. In Delve it would be two people who are working both on the same document and because of this correlation, the system (Delve) is showing that document in the context of “trends around me.” The backend logig, algorithems and ranking models of Delve respect those correlations based on so called “signals” A signal for example is generated whene a user clicks on a document etc.  SharePoint Analytics works in a similar way. In SharePoint Analytics we talk about “events” which is the same like a “signal” in Delve / Office Graph. Both techniques are collecting, aggregation and analyzing what user are doing and is generating correlations  between content and content and users. Both solution Delve / Office Graph and SharePoint Analytics doing similar analytics but Delve is going a step forward and will soon also integrate Yammer and other components from O365.
To complete this, let’s have a look at how the SharePoint features like Items “Related to Current User” or “Suggested documents to follow” works.
“Items related to current user” is based on a result source. This result source can be used in a content search web part:

“Suggested documents to follow” is based on the managed property “recomendetfor”


So the following features are based on SharePoint Search and SharePoint Analytics. They are part of SharePoint on-prem and can be used without Office Graph and Delve.
  • My Documents
  • Recent Documents
  • Docs I'm following
  • Documents Shared with Me
  • Documents we have in common
  • Suggested documents to follow (with social impact)
  • Items related to current user (based on a system result source)
Delve is based on search driven solution and the Office Graph, but this is not SharePoint Search or SharePoint Analytics. Delve has its own index and its own backend system as part of Office 365. Delve is not available as part of SharePoint search-driven solutions or WebParts. Also the Office Graph can not used as a result source in SharePoint Search Querys or Search WebParts. It’s a separate and independent solution.
  • Delve

When you add Delve on top of the traditional search results, this all can be a little bit confusing for end users and decision makers; a company needs a strategy for all of this. I think that Delve is the future of all these ideas and techniques. Delve will get an addition push with the upcoming Phone and Windows Apps, which allows us to get access to all this using mobile devices and without using the web interface of Office 365.
Again, you need more description here. How is this related to the bullet list above?
Belonging to comment NB5: Delve is new and not based on SharePoint Search or SharePoint Analytics feature. Delve had its own index and its own backend system the Office Graph. All this is not available in std. Search Driven Solutions build with  regular SharePoint Features like in the “Search Based” bullet list.