File locking is important when you’re working in a file share. It prevents multiple people creating conflicting versions of the same file, which can be a real pain to untangle.

For decades, desktop developers have worked with Windows APIs and network storage protocols like SMB/NTFS in order to harness file locking for their applications.

SharePoint has its own equivalent to file locking called ‘check-out’ or sometimes ‘check-in check-out’. It reserves/locks the file for the first user who checks out the file, and ensures any subsequent users who come along only have the option to open the file in read-only. This prevents conflicts.

SharePoint has a few admin options for controlling check-out, including whether you set it as ‘required’ or simply as optional.

Optional is both default and recommended, because ‘required check-out’ has the effect of blocking Office document co-authoring – which is suboptimal obviously since that can be a really useful collaboration feature.

Optional check-out, like with the traditional file lock, comes primarily down to the responsibility of the desktop application to manage it. And therein lies a bit of a problem. While developers have spent decades handling file locks on Windows and local file shares, very few applications natively support check-out in SharePoint.

Therefore file conflicts are far more common in SharePoint than they really should be. What’s perhaps worse is that even if the application does support SharePoint check-out, the implementation Microsoft has provided means throwing the user a pop-up dialog box each time they open and close the file. This has two problems: Firstly, it’s really quite annoying. And second, the user can dismiss the pop-up and just not bother to check-out (or check-in) the file. So even the small handful of applications that do support SharePoint check-out can run into file conflict problems, simply because a user dismisses a pop-up. It’s perhaps even worse if a user dismisses the option to check the file back in again after closing it, because then it can remain locked to that user for ages – blocking other users from editing it for a prolonged period of time and perhaps even needing a SharePoint admin to come in and manually unlock the file.

It’s all just a bit sub-par. And it’s the main reason one of the best and most prominent blog posts online about SharePoint check-out is a touch scathing.

Worse still, with our product Cloud Drive Mapper, we had an additional conceptual problem to deal with.

While other desktop application vendors, such as Autodesk, have created SharePoint check-out integration within their software (e.g. AutoCAD). The way they detect that files are hosted on SharePoint is very particular. And what we found is that when working with Cloud Drive Mapper (CDM)’s drives, AutoCAD could not detect the files were on SharePoint. Meaning CDM inadvertently broke AutoCAD’s (and potentially quite a few other applications) ability to work with SharePoint check-out.

What a pickle. We reached out to Autodesk’s AutoCAD product team to see what the viability was for them to provide compatibility with CDM. This may be possible, but even then given there are perhaps hundreds of thousands of desktop software vendors as well as in-house desktop line-of-business applications out there, we weren’t going to be able to get them all to support CDM.

The answer?

“If you want something done right, do it yourself.”
(Credit to Emperor General Napoleon Bonaparte for that particular quote apparently, although obviously not originally in English).

As a middleware to desktop software and SharePoint, CDM is perfectly positioned to be able to handle this itself. So this is what we’ve done with CDM’s new (as of CDM 3.21) automated SharePoint check-out feature.

Not only does it bring back SharePoint check-out to applications like AutoCAD that we accidentally ‘broke’. It goes so much further.

CDM’s automated SharePoint check-out feature improves the way desktop applications check out files by doing it silently, avoiding the annoying and dismissible pop-ups to users. This actually guarantees file locks, avoids files being checked out for longer than they should be, and makes for a better user experience.

But most of all, what it means is that every desktop application on the planet now automatically has file locking with SharePoint Online whether they have a SharePoint integration or not (and 99% don’t).

No more file conflicts.

Desktop software vendors, you don’t need to thank us, but you could start recommending CDM to your customers… 😉

Author: Leon Mallett, IAM Cloud COO