First this is a subjective questions, so to narrow it down, I'm including some general requirements as I see them for what a good document management system should handle.
General Requirements
- Search
- Word, PDF, Powerpoint, Excel etc
- Revisioning
- Author
- Comment on change
- User customizable watchers
- Feed Notification of changes to files / folders / tags / patterns that matter to them.
- Integration with User Directory (LDAP/AD etc)
- Easy remote access
- Ideally a web system for Search/Remote Access/Document Linking
- Document Cross Linking
- If a file moves, old links to the file should remain valid
- Document Tagging
- Offline access
- If a user is offsite, can they easily pull down the file set/directory to their machine and then work offline, for example an international flight.
Assumed Requirements
- Ability to Backup
- Can handle a reasonable pool of users (20-1000)
- Some way of scaling long term
Software
I have a few things in mind, but nothing really strikes the sweet spot of the above requirements and usability.
- Microsoft Sharepoint
- Not friendly to diverse user base (multi-os etc)
- Hard to manage documents en-mass and confusing interface
- Subversion
- Solves offline, but requires a lot of bolt-on's to resolve search, usability and other needs
- Atlassian Confluence
- Documents are secondary to wiki functionality, and harder to access offline
Any suggestions?
Fine Print
I haven't mentioned other VCS solutions (git/P4/cvs etc) due to user experience complexities, but I'm open to suggestions and examples using such technologies.
Additional Notes
- http://www.mindtouch.com/
- Be nice if they had prices listed on their site.
- http://community.bamboosolutions.com/blogs/sharepoint-price-calculator/default.aspx
- Search is rather expensive.
Despite the cons that you mentioned, SharePoint meets all of your requirements and is hard to beat when you look at the big picture. Here's why:
Don't consider solutions in isolation. They may well tick all the boxes, but if your end users don't like them or refuse to learn a new interface, you'll have a failed deployment on your hands. I believe that the key to SharePoint is the close integration with Windows and Office. Plus, SharePoint will do a lot more than just document management - have a look at the "Fab 40" application templates to see what I mean, and they all work on the free version.
This is a very good question and one that I'm eager to read other answers to.
Knowledge Tree hits on most of your requirements. It's open source, but has paid support and value-add versions. It's primarily web-based, but I see that new versions have desktop and application integration, and DAV support.
I deployed the community version and used it for a while, but eventually let it go because it didn't catch on in my organization. It had lots of great features, but doing document management through a web browser added too much PITA overhead for most users, and they hated it. We went back to using simple shared directories with no versioning capability, but we have decent search using Mac OS X Server-side Spotlight indexing. We also encourage document collaboration on our internal wiki (which is versioned, naturally) rather than in Word and Powerpoint documents.
A successful DMS has to integrate tightly with existing document-management paradigms (such as the Mac OS X Finder) in order to catch on. Many users have difficulty understanding concepts like local working copies versus checked-in copies, and it quickly gets worse when they unknowingly circumvent the system by emailing a file to a colleague for review, for example.
I can't imagine Subversion et al being useful at all in this context. They're great for programmers editing text files, but a total disaster for normal users who want to collaborate on a powerpoint presentation.