I recently sent an email to a prospective customer who asked what the difference was between different file system access techniques among various vendors. In this case, didn't Plone support a shared file drive?
When we started Alfresco, we wanted to make sure that we weren't just another me too ECM platform. Many systems, including Plone, Documentum and others, support the WebDAV protocol. WebDAV has been in development for a long-time as a W3C extenstion to the http protocol. It's main purpose was to allow editing of web pages through the http protocol. We decided that we would build WebDAV, since it is a standard and it is a good extranet protocol for accessing content. However, we wanted an easier way to access and contribute content.
Our target user was the busy executive that should use ECM, but doesn't. We have seen many users, such as investment bankers and pharmaceutical researchers avoid content management systems and go straight to a shared drive, such as the "S:", "M:" or whatever letter drive. They would then send an email to their colleagues saying where they could find the document that they were working on was.
Some of the alternative approaches we considered were enhancing WebDAV, emulating Microsoft's SharePoint protocol, or emulating the Microsoft shared file system CIFS (Common Internet File System) interface. As a small company, we are not likely to be able to be able to make changes to WebDAV. Microsoft has extended WebDAV in their SharePoint interface. These extensions are built into Microsoft Office and Explorer, complete with task panes and dialogs. Microsoft guards these extensions as a competitive weapon against companies like Documentum, IBM and Filenet, to the point that a legal expert might examine the monopoly that Office has and whether this is an unfair advantage. However, the Sharepoint protocol is problematic, error prone and not terribly performant. It often forces a double retrieval of information from Sharepoint when accessing from Explorer. The task panes can be replicated as well.
In the end, we chose the CIFS protocol to emulate, but CIFS is a hard protocol to implement. We found, worked with and employed Gary Spencer, who has been developing the only Java implementation of this server based protocol for the last 7 years. If you have ever heard of SAMBA, another open source product, you will find that it is the same protocol, but is developed entirely in C.
CIFS has a number of advantages over WebDAV and Microsoft SharePoint Protocol:
- Mounting drives. With CIFS, it is easy for anyone to mount the repository as a shared drive without any client software. It can be a replacement for your “S:” drive.
- Offline synchronization. Microsoft has put in a lot of effort to allow the Windows file system to be able to synchronize changes with a shared drive. You can do that with Alfresco without any client software. You cannot do this with WebDAV. At Documentum, we spent years trying to create this type of capability.
- Microsoft Briefcase. If you want to take a few items to work at home or on the plane and synchronize them when you get back to the office, you can do that with CIFS and it requires no client software. If you try this with WebDAV, explorer declares the items as “orphans”.
- More properties. CIFS has a lot more properties visible in Explorer: Just right mouse click on one of the columns in your Explorer window to see the options available: author, title, date created, comments, etc. These are captured automatically by rules in Alfresco. With WebDAV, you really only get name, date and URL.
- Single Sign On. If the user is using Microsoft's Internet Explorer, CIFS and IE share a common authentication and login mechanism and therefore one can simulatenously login to both, again with no client software.
- Automatic versioning. Through the CIFS protocol, we can see better what programs like Microsoft Word are intending when they open, save and seek information. We can therefore predictively version content and provide for recovery of old versions of documents. Something that you can't even get with normal shared file drives.
The CIFS interface has been very successful for us. The users who we targetted with CIFS love it, including the investment bankers we had in mind in the first place. We even had an investment bank ask us if we could make our CIFS interface work on top of Sharepoint!
Now we are starting to take CIFS further. Since we control what CIFS is providing Explorer, we have built in generated files for accessing the portal from Explorer using the context of the folder to place the user in the right place. We can also generate special .exe files for providing drag and drop. Gary is also busy making CIFS even more scalable to the point where I hope we have the most scalable file system in the world. This will take time, but it is all part of our long term vision.