Versioning in SharePoint when editing in Word compared to Word Online

While I was developing a workflow to be triggered on a changed Document Library item in SharePoint Online (this was a Word document), I noticed something interesting about the versioning.
In the workflow I was checking if the version number had already increased, thinking that in this way I could determine if the user was done editing.

As it turns out, it depends if you are using Word or Word Online. What happens is this:
If you are using your local MS Word installation, then you are basically working offline. You only connect to SharePoint Online when you take an explicit action like saving or checking-in a document. SharePoint will not create a new version in the version history until you click Save in Word. So even if you type lots of new text and update some properties, but close the document without saving, nothing is changed in the version history.

This is very different in Word Online. As you probably know, there is no Save button in Word Online, because any change is automatically saved for you. So that made me wonder: if I edit a document in Word Online for half an hour, making many changes, then that document is going to be saved automatically dozens of times. So does that create dozens of new versions in the history? Well, that would be awkward and luckily the answer is no.

What happens is that Word Online creates a new version in the version history (in SharePoint Online) when the first change is being saved in Word Online. So as long as you don’t touch anything in Word Online and just read the document, you get no new version. Then, on every next change in the document that is saved in Word Online, that same new version is *updated*. You can see the Modified time change in the version history.
That is actually the same behavior that we are used to in (local) Word: as long as you do not close the document, subsequent saves will be considered as an update to the same version. This is true if you use both minor and major versions, but also if you only use major versions.

So coming back to my workflow, the downside here is that a new version in the history does not always mean that the user explicitly saved his work. That depends if Word Online or (local) Word was used. Your new version will in any case appear in your version history more quickly when using Word Online.



Accessing your Audit Reports in SharePoint Online

I was used to my SharePoint audit reports index being available as a link in Site Settings > Site Collection settings.
In SharePoint Online however, that link appears to be gone. I can still edit the Audit Settings, but there is no link to open the actual reports.

I’ve seen different reasons mentioned for this. This might be done on purpose, because the Office 365 Protection portal has become the access point for audit/compliance reports.
This doesn’t help me, because in this particular case I did not have access to the Protection portal of the customer. But if I need to check something for SharePoint Online, then obviously I would like to have access to at least the reports for SharePoint Online. That seems reasonable if you are a Site Collection administrator, doesn’t it?

Luckily there is a workaround: the URL for the audit reports is accessible, you just need to know it.
After the URL to the root of your site, append the following:


and voilà, you’re there!


You cannot delete a DropOffLibrary in SharePoint Online

If you enable the Content Organizer feature in SharePoint, a library with the name DropOffLibrary is automatically created for you. This is the place where you drop off your documents, after which the content organizer rules kick in and move your documents to the appropriate target location.

I was doing some testing with this feature in a test site in SharePoint Online and wanted to clean up afterwards. So what I did was disable the Content Organizer feature. Result: no more content organizer rules, but the DropOffLibrary was still there. So of course I went into the library settings, expecting to delete it from there. Surprise: the link to delete the library is missing for the DropOffLibrary.

As it turns out, there is a property called AllowDeletion which is set to False for this library, probably because it is so tightly linked to the Content Organizer feature. What you would hope for is that feature deactivation causes this property to be set to True, but that’s not the case.
I tried a few other options, like deleting it through SharePoint Designer but you can’t delete it from there either.

Several blogs mention that you need to set the property AllowDeletion to True using PowerShell:

$list.AllowDeletion = $true

But unfortunately, that only works in SharePoint (2010, 2013) On-Premises. The property is a member of the Microsoft.SharePoint.SPList class, but not available as a member of the Microsoft.SharePoint.Client.List class, so not part of the CSOM (yet) and therefore deletion of this list cannot be set to allowed.

In other words, once you activate the Content Organizer in SharePoint Online, there is no way to get rid of the DropOffLibrary. What you can do of course is hide it as much as possible, but that’s not really cleaning up. So if you are considering the Content Organizer for a SharePoint Online site, make sure you want this because there is no complete way back.


Search results not showing duplicates

Recently I ran into the issue that the SharePoint Online search was not returning all expected search results – or so it seemed.

To do a test on a site with many items, I uploaded around 7000 documents, all with a different file name but the contents were identical.
As it turns out, SharePoint by default hides the duplicates -and doesn’t show you the ‘Show Duplicates’ link, which is hidden in the popup window for a search result anyway.
The effect was that while I was expecting 7000 results from a search, I only got 1 hit.

If you want to see all your results, you would ideally want to switch off some option on the results web part, to tell it to stop hiding duplicates. Unfortunately that option is not available on the web part UI (something Microsoft should really have put in there IMHO).

Luckily there are some workaround, and you can also enable the ‘Show Duplicates’ link, although I think that solution is far from ideal.
You can either change the TrimDuplicates setting in the web part code (by exporting the web part, changing the setting and re-uploading it), or change the query in the web part settings to make it GroupBy the property DocumentSignature.

Here are the relevant blog posts describing all this in more detail:


Indexing columns in SharePoint

If you run into performance issues with your library views, or worse still, into the 5000-item limit on library views, Microsoft’s recommendations quickly point you in the direction of column indexes. SharePoint Online at the moment has even started automatically creating such indexes for you if it feels that will help your library views (just switch on Automatic Index Management in the advanced list settings).

That’s not bad of course, but there are some serious limitations when it comes to indexing columns. You can have a maximum of 20 indexes, but that seems plenty to me. The major issue is that several column types cannot be indexed. The one that I find most annoying is the lack of indexing for multi-value columns (no matter if it’s a Choice or Lookup column).
Here’s a quick overview:

Supported Column Types

  • Single line of text
  • Number
  • Currency
  • DateTime
  • Choice field – as long as it’s single value
  • Lookup – as long as it’s single value
  • Person or Group – as long as it’s single value, because this is essentially a lookup column
  • Managed Metadata

Unsupported Column Types

  • Title – only supported for indexing in Lists
  • Multiple lines of text
  • Hyperlink or Picture – because for SharePoint this is a lookup
  • Any custom field types
  • Calculated Field
  • Multi-value choice
  • Multi-value lookup
  • External data

The fact that the above types cannot be indexed can have serious implications, especially if you have reached your 5000-item limit. Because above that limit, SharePoint will only allow filtering of data on indexed columns. So if you happen to have a few columns that are important to you for filtering, but they belong to one of the above column types, you’re in trouble. And there’s really no realistic escape route. Metadata navigation only gets you so far. It has a fallback query built in that should limit the result set automatically, but I’ve seen cases where even the fallback query just ran endlessly, showing zero results.
As a side note: The multi-value choice or lookup columns seem to be a more general problem in Office 365 related products. I recently read they also are an issue in PowerBI (

Here’s the official Microsoft documentation on indexing:

And this is another source I found very useful:

SharePoint 2010–Indexing columns in a SharePoint List


Microsoft Ignite 2015 Round-Up

In early May I attended Microsoft Ignite 2015 in Chicago – with over 22,000 attendees probably Microsoft’s biggest conference ever. This was the inaugural edition of the conference, which combines and replaces a number of other big events such as TechEd and the SharePoint Conference. It reflects Microsoft’s ambition to emphasize how their products integrate and the shared vision behind all of them. Ignite directly followed the Build conference (for Developers) which remains separate and had important announcements of its own. To name just a few important ones:

  • Windows 10 is the Operating System that will provide a common foundation across all devices. It’s not just for PC’s but also for servers, phones, tablets and even the Xbox.
  • Apps for iOS and Android can also be ported to Windows 10, without the need for modifications to the source code.
  • More impressive scenarios using the new HoloLens
  • The successor of the Internet Explorer browser will be called Microsoft Edge.

The Build conference was followed by even more announcements at the much larger Microsoft Ignite. I definitely have not captured all announcements for each product (with nearly 700 sessions that would be quite a challenge), so this is just my take on the major news presented in Chicago, focusing mostly on Office 365 and SharePoint.

The keynote was a confirmation that in a cloud-first and mobile-first world, Microsoft will be all about devices, cloud and hybrid scenarios. Satya Nadella’s key message was that Microsoft sees IT as being at the intersection of three areas that will get all of Microsoft’s attention in the near future:

  • Create more personal computing Think devices and the Internet of Things.
  • Build the Intelligent Cloud Taking advantage of what the cloud is good at, while also making cloud services very easy to use in real-life scenarios.
  • Reinvent Productivity & Business Processes New ways of collaborating, using of course the new Office, Skype for Business, and things like Office 365 Groups.


Overall no major shockers during the keynote, but there were several cool demos on collaboration and productivity using Windows 10 and Skype for Business (formerly known as Lync) amongst other things.

Windows Nano server
Although already announced before Ignite, the number of sessions around Nano server revealed the importance: a GUI-less version of Windows server with an incredibly small footprint (500 MB deployment running with on just 128 MB RAM), born to run in the cloud and to be controlled remote only.

Windows Azure Pack
You want your own Microsoft cloud? Well rejoice, you can have your own Azure now: Azure Pack lets you run an on premise version of Azure in your data center, with the exact same admin interface as the Microsoft cloud version. This of courses eases any future step to migrate to Microsoft Azure, so it’s a way for Microsoft to meet customer’s need to stay on premise, while still getting ready for the cloud. It should of course also be pointed out that this is not intended to run on a few servers, so you will still need some substantial hardware to run Azure Pack. The licensing model is still to be announced.

It will be interesting to see what this means for Microsoft’s existing Cloud Platform System (CPS) offering, which is only sold as a combination of hardware (Dell) and software. I was told by a Microsoft product manager at Ignite that at some point in time existing CPS deployments would also run using Azure Pack, but no details or concrete timeline could be given at this time.

SharePoint 2016
Ignite was also the long awaited moment for the first real announcements around SharePoint 2016, the newest on premise version of the product. Many people were expecting a release date around end of 2015, but as it turns out this will only be a public beta, with the actual RTM release planned for Q2 2016. As the Microsoft Product Managers kept emphasizing, there is still plenty of work to be done, even though some key changes of the new SharePoint version have now been announced.

Those announcements were even more concrete than many had expected. The openness around new features that weren’t even built in the new product yet is unprecedented for Microsoft, who tend to keep their cards close to their chest and only disclose this kind of detail to a small selected group of people in a Technology Adoption Program (TAP).

So what can we expect from SharePoint 2016? First of all, it is being built based on an actual code base of SharePoint Online (proving the point that it’s cloud-first for Microsoft). The key differentiators that you get in the on premise version are being back-ported into the product only after creating that baseline from SharePoint Online.

These are the major new features in SharePoint 2016 that have been announced so far:

  • Zero-downtime patching
    Not-intrusive patching seemed to be a major theme at Ignite, not only for SharePoint. For SharePoint 2016, the number of MSI’s and MSP’s deployed below the surface for a patch goes down dramatically (the example given at Ignite was from 37 to 4, which even includes the language pack updates).
  • Improved User Profile Sync
    No more built-in unstable User Profile Sync, which was probably one of the most disliked functions of SharePoint with all kinds of gotchas and seemingly unpredictable behavior. The built-in User Profile Sync service (FIM based) is replaced by either talking directly to Active Directory from SharePoint or using a full-blown external FIM service.
  • Durable Links
    I was really pleased with this one: finally we get hyperlinks that always keep working after you move a document. There was already a non-default and not very elegant way of doing this with unique Document ID’s, but this promises to make Document Management in SharePoint a lot easier.
  • Insights
    Insight into user behavior on the sites will greatly improve. For any decent statistics you had to rely on third party tooling, but the out of the box offering in SharePoint 2016 looks very promising. It provides you the information you need for adjusting the system, or getting better adoption (what features do people use, what works and what doesn’t). Insights are also provided around performance, trends and availability. All this is based on logging concepts from SharePoint Online, which will now be in SharePoint 2016 on premise.
  • Higher thresholds
    The infamous 5,000 item limit for SharePoint lists (which was never a hard limit, but performance would suffer beyond that) will change to a much higher number, although the new number wasn’t announced yet. Also the maximum file size to be uploaded and stored goes up from 2 GB to 10 GB per file (you might want to invest in a black fiber network though if you’re serious about using many 10 GB files, which is something I still don’t recommend). Perhaps even more important: no more character restrictions in the file name.
  • Office 365 Groups
    This is actually an Office 365 announcement, but an important one for SharePoint. It’s being presented as the new alternative to Team Sites. With Office 365 Groups you can do quick ad-hoc collaboration with a group of people, without the need to set up a whole new site.
  • Delve for SharePoint 2013
    One of the nicest new capabilities in SharePoint Online was the Delve functionality integrated in your personal site. This is evolving to be the new starting page of anyone’s workplace. It allows you to find people through content, and content through people. This is exactly the kind of functionality that Satya Nadella means when he talks about the “intelligent cloud”. To use Delve you need the cloud (and Office Graph to be precise), so it was long thought that this functionality would never become available for on premise SharePoint installations. Well guess what, Microsoft has decided to release an update later this year that will allow on premise deployments of SharePoint 2013 to use Delve as a service from the cloud. Clever move, because this seems like a very compelling reason for on-prem customers to move to a hybrid scenario.
  • System requirements
    The system requirements are similar to SharePoint 2013, only the versions of the OS and SQL Server to be used go up. It’s Windows Server 2012 or Windows Server 10, with SQL Server 2014 or higher. Note that a standalone installation with SQL Express is no longer possible, even for a development machine. You need a full version of SQL Server.
  • Servers and roles
    SharePoint 2016 introduces the concept of ‘MinRole’ that gives you a set of predefined server configuration during set-up of a multi-server farm. This role choice has a much more profound impact than in SharePoint 2013. It will set up each machine so it’s optimized (throughput, cache, request handling) for this role. Examples are the Search role and the Distributed Cache role. The new Health Analyzer will check if each server is still compliant compared to the role chosen during set-up. Note that typically 4 roles are needed in a multi-server farm (the 5th available role is for Special Loads), and each server can only have 1 role if it wants to be compliant according to the Health Analyzer. So what this means is that a default SharePoint 2016 farm will need at least 4 servers even for small deployments.
  • Hybrid scenario picker
    This one got a nice cheer from the crowd, as it will greatly help people implementing SharePoint. Configuring a hybrid scenario at the moment is quite a bit of work, involving lots of manual configuration of files and a whole lot of PowerShell scripting. SharePoint 2016 will come with a very user-friendly wizard-like interface to select from a number of predefined hybrid scenarios.
  • Migration
    You cannot go straight from SharePoint 2010 to SharePoint 2016, you need to go through SharePoint 2013 first. Unless of course you use a third party tool that lets you go from 2010 to 2016 directly though. An important recommendation here: I’ve spoken to several product specialists and the message is that you should not stay on SharePoint 2010 and try to skip SharePoint 2013. Microsoft sees SharePoint 2013 as their inspiration for SharePoint 2016, meaning the step from 2013 to 2016 is a lot smaller than from 2010. Also, the release of SP 2016 is still one year away, so before you will likely use it in any production environment it will be Q1 2017. And that’s quite long to still be on SharePoint 2010, for which support will end in Q3 2015.
  • Authentication
    SAML is now the default. It’s also interesting to note that Microsoft sees the Active Directory domain-based authentication as something which will be deprecated at some point in time.
  • Performance and Reliability
    A lot of different improvements were made to performance and reliability. Examples are much faster Site Collection creation (which now uses a copy-paste mechanism at database level below the surface), support for the BITS protocol in SharePoint file handling, request isolation and intelligent routing of requests, improved distributed cache, support for 4×9 (so 99,99%) availability.
  • InfoPath
    A new solution for electronic forms is still in the making (a planned session at Ignite revealing the first outline of this was even pulled from the schedule, because Microsoft only wants to show this once it’s almost ready for release). It was been confirmed that (the existing) InfoPath Form Services are also in SharePoint 2016, and InfoPath will be supported through 2023. So as I already mentioned in an earlier blog post, the recommendation for now is to keep on using InfoPath for your forms in SharePoint.
  • And much more…
    Just a few of the many other SharePoint related announcements: Document Libraries will now support the ODF format, new classification ID types can be linked to content to improve eDiscovery, the Project Server database will now be consolidated in the regular SharePoint content database.

If you still need more information I suggest you read this blog post by Bill Baer who presented most of the new features at Ignite.

Even though I didn’t hear any major new announcements, what was clear is that Yammer is here to stay. It still feels somewhat separate from the other Microsoft products at the moment, but Microsoft and the Yammer team are working hard on better integration into Office 365 / SharePoint. One key recommendation I heard was to use the Yammer Embed app whenever you can, this app is a first class citizen which also has Single Sign-On capability (but only if you have Yammer Enterprise).

Microsoft is all about being open to other technologies these days. They have always been involved in open source development, but currently I dare say that Microsoft has suddenly become the most open / cross-platform of the technology giants. It was good to see that the Ignite conference app was available not only for Windows Phone, but also for Android and iOS.

The cross-platform mind-set is very visible in OneDrive for Business as well. This is supported on many operating systems already, and one announcement at Ignite was the PDF support to be added for Android and iOS in Q2 2015. Also the soon to be released mobile offline file capability will be available for Android and iOS (although read-only for Android and iOS, while editing is possible for Windows Phone). In Q3 2015 all the look & feel bells and whistles from the consumer version of OneDrive will be brought to the business version. This is an important sign that Microsoft gets the consumerization of IT; instead of dismissing the consumer tools it’s much better to embrace them, since in the end business users are just consumers as well.

Then in Q4 2015 we will see the long awaited new sync client for OneDrive for Business (the preview for both PC and Mac will arrive in Q3 2015). The current one is not really known for its reliability, especially when you start synching larger amounts of files. The new sync client will be a Windows 10 Universal App which promises to fix all of this and at the same time removes the sync limit of 20,000 files.

I think Microsoft did a pretty good job of organizing and aligning the content, which can’t be easy for a conference of this size, especially with so many different product teams involved. The majority of sessions were quite interesting, there were important announcements and there was definitely a good vibe around the whole conference. As I’ve heard several people say already: Microsoft is becoming cool again.
Most sessions aligned in some way to the shared vision expressed in the keynote. If I compare the three focus areas (Personal Computing, Intelligent Cloud, Reinvent Productivity) with the content I’ve seen during Ignite, it’s probably the Intelligent Cloud where Microsoft is currently at its strongest with developments like Delve and Machine Learning.

So do I miss the old SharePoint Conference? There was of course less time available for in-depth sessions on each different product, so there is a small void to be filled here. Still this was a powerful inaugural edition of Ignite, which sounds promising for next year when Ignite will hit Chicago again in May.


This article was originally posted on the Capgemini “Capping IT Off” blog.

Where did my Azure template go?

If you want to quickly set up a SharePoint 2013 developer VM, the quickest way is probably to do this in Azure using the appropriate Visual Studio Ultimate template. This is typically the template with Visual Studio Ultimate 2013 on Windows Server 2012 (at the time of writing it’s Update 4 of that template).

While doing this recently, I suddenly noticed that the relevant template seemed to be missing. I only had Visual Studio Community 2013 and a Visual Studio Ultimate 2015 Preview:


After quite some searching I finally discovered the problem. I have two subscriptions for Azure: a personal Visual Studio Ultimate with MSDN subscription, and a company subscription.
In the Subscriptions filter in the top of the Azure portal window, I had unchecked my Visual Studio Ultimate subscription, leaving only the company subscription.


I had not realized that the company subscription didn’t have all of the same templates available. There are specific templates available for Visual Studio Ultimate subscriptions and even some only for MSDN subscriptions.
Sure enough, as soon as I also selected my Visual Studio Ultimate subscription in the Subscriptions filter, the missing templates reappeared: