SharePoint and large files

Suppose you want to put SharePoint to some good use and you or your CIO thought “let’s just use SharePoint as a DMS”.

What can go wrong here? It can store files, users love it, we have plenty of licenses, integrates into Office, has search, versioning, metadata… all sorts of neat stuff.

This is completely true and SharePoint can definetely act as a very good DMS. If you know its limits and really understand that theoretical limits are a different beast in real life. As a side note, a DMS system is almost never just a neutral tool. It needs customization (or at least heavy configuration by a specialist) to implement business rules and processes. I’ll maybe touch on these on another post.

First, you will want to check the official Microsoft Sharepoint boundaries page here. Even in “small” DMS environments you will need to pay close attention to the “File size” limit and to the “Content database items” one.trextrying

So, you’ve found out that the maximmum file size is 2GB and that the recommended file size ranges between 50 and 250 MB. Chances are that you have many important files bigger than this. Jump to the internet and the best MSFT advice you’ll get is somehow sommarized in this TechNet post. Which basically says that you can’t. Or shouldn’t.

Don’t get me wrong. Technically, anything is possible in software and there are convoluted ways of making SharePoint handling files over 2GB in size. Such as splitting the file in volumes and storing those instead… and aggregating them on download… messy stuff.. Or use RBS for offloading the content database from SQL Server while you aim for the 4 TB limit (but still helpless for 2GB+). After which you are forced anyway to restructure your core DMS business solution logical architecture.

I, on another hand, have the opinion that a technology platform (eg SharePoint) should help me concentrate on business solutions (eg: solve DMS problems) not require advanced expertise just to make things kinda’ work and then keep an eye on the business requirements and solution to not break my pretty little technical-very-backend architecture limitations.

Back to the issue: can it be done in SharePoint?

Yes. But we need also another content platform to handle the exceptions.

What we can do is build a custom document library (or let’s say, a new type of document library with our additional features) which enable content transfer to and from the user using another content platform for storing the large files. This can work also to overcome the limitation of the number of items in a document library/content database.

Features can be implemented to create/destroy native SharePoint items as needed so that the user will be able to use SharePoint standard document library features on some selected documents if they really need to (provided that it’s not larger than 2GB, case when you are stuck with upload/download/stream only for the content.. no inline editing for you).

This way, the SharePoint limitations will not apply anymore (since the features are presented “at the glass” and interact directly with the other “hidden” content platform) but you still have the SharePoint features for selected items should you wish to bring them into the native space. Searches can be done a variety of ways. Either using SharePoint features (since it can index external stores) or the external CMS may have its own API for that.

Security is also ok, since you will choose a content platform which can really do item level security even for many or large files (in SharePoint you are advised to not use item level security if you have many documents in your library).

Linking the external CMS underneath a SharePoint document library gives you a lot of advantages… I’ll let you discover those, this is just a blog post.

One more hint: if your chosen content platform exposes itself as a CMIS provider, then you really hit the jackpot. Strategically speaking, because in real life SharePoint cannot act as a CMIS client anymore (since ShP 2013, although it could in 2010). But I think they will not be able to ignore this in the future and anyway you’ll find partners developing ShP addons to expose CMIS in the UI.

Here you have it. I just shared with you our solution on how to make SharePoint as a DMS when considering its large files limitation (and also works for the “many files” limitations).