Document Management has existed in many forms for decades now: Documentum, Docsys, Knowledgetree, Alfresco, and others. Most of the solutions have existed at the Enterprise level, and have had limited utility and penetration into smaller markets. A host of new Web 2.0 DMS and DAM solutions exist now, spanning from less refined Web-based systems like Flickr, Picasa, Photobucked (on the DAM side), to lightweight WEBDAV-based implementations. Open Source CMS systems like eZ Publish have had WEBDAV support for years now. Many of these systems are integrated into Knowledge Managment Applications, but few provide a cross-platform utility that can be used with multiple applications.
In the Java world, JSR-170 has been around for some years now (Close of Public Review: 19 July 2004), and provides a specification for content storage across applications.
One of the things that got me so excited about Drupal was the fact that I am able to plug so many different systems in to one system, and use Drupal as an identity framework for tying together multiple protocol applications. Drupal has been a long standing front-runner in the implementation of mashups of different technologies - XMPP, SIP, LDAP, Identity Management Solutions (CAS, OpenID), RSS, Payment Gateways, etc. You name it, someone has played with it already. Drupal is now in the process of maturing to a very sophisticated FileAPI, which will finally unify the Modules and core framework to consistently use the same interfaces, which means that Drupal is going to be an ideal platform for leveraging outside File Management Storage Solutions.
In it's current implementation (Drupal 5.9), WorkHabit has release Open Source a preliminary reference for how to save most (but not all, there are some snags that require custom development to be able to say "all files") files off to the s3 filesystem. It's called s3Saver, and you can download it right now and play around with it. As awesome a performance boost as getting the files in your application hosted off your php cluster is, there is a long way to go to be able to properly use Drupal with pluggable backend DMS and DAM solutions. Drupal itself will always have some DAM and DMS viability and components, but sometimes it's best (especially in large scale implementations) to have a separation of concerns for these types of solutions. It can gain you a lot (scalability, ease of management, leveraging existing knowledge and infrastructure, data portability, and a wider variety of choices).
With Drupal 7, which is still undergoing review of the File API (Darrel O'Pry has made significant contributions), and the big Media Code Sprint (engineers look here) that happened recently, and the effort of member of the community to tie import apis into the platform (Ken Rickard's is interesting - what doesn't he do that's not interesting?), and all of the activity that the File API group is doing in Groups, there is a concerted effort to drive Drupal in this direction.
One of the things that we've been looking at is, "How do you leverage ongoing efforts in ongoing communities to improve the overall ecosystem, especially Open Source, which Drupal is a part of?" Mashups of course have long been a part of this, but bringing Drupal back into being part of the ecosystem (leveraging standards in other communities) has been one of the topics of discussion around the shop and with our large customers. We see a lot of questions like:
I have an existing DMS, how do I tie Drupal into my existing Document Management System and play nice with it?
How do I leverage my ERP Oracle solution to bring my company databases into Drupal?
How do leverage my existing knowledge and expertise inside the organization when pulling from multiple data-stores for different groups?
How do I get at the Desktop-based Microsoft and OpenDocument format docs, where the vast majority of my company records and knowledge live?
Most of our answers on this subject come down to leveraging a DMS. So, how do we insure that Drupal is a good platform for doing this? There is a large market opportunity for Drupal to start capitalizing on this desire to "tie the products together," and if Drupal strikes the right cord, it may propel the product into the DMS/DAM space and help open up a new market for "Social Document Management" and "Social Digital Asset Management," and propel Drupal into a prominent position as a Web 2.0 DMS/DAM solution.
The question becomes, what type of integration best serves Drupal and commercial customers to help open this opportunity? JSR-170 compliance is a good start, and allows pluggable DMS/DAM solutions, as well as Enterprise CMS systems to plug into the same storage that Drupal is working with. This opens a wide range of possibilities of moving User Generated and Social content into more traditional systems inside the organization, and dramatically improves Drupal's value proposition as a DMS/DAM solution. Alfresco is a JSR-170 compliant Document Management Repository that holds incredible potential for integration with Drupal. Some commercial shops in Drupal have worked on solutions for this integration, however, it is a larger problem that requires working with the Community in order to build not only a technical integration, but also a mature best practice that can be supporting in the longer term (Dries already posted a case study of Alfresco and Drupal working together with the Amnesty International Site), done very well by CivicActions (WorkHabit's compliments btw, that's good work).
What we would like to see more discussion and open consideration of is a more generic and general (multi-purpose) solution for all types of customers to tie these two applications together. WorkHabit would be happy to participate and are considering sponsoring a Drupal/Alfresco summit so that we can get Community support for this more baseline implementation. Is there interest in the community on meeting up for 3-4 days somewhere in North America to do a code sprint for Drupal 7? We might be able to engage Alfresco (commercially or pull members of the Open Source community), for a meeting of the minds.
The purpose of this post is to lay out the problem discussion and see what kind of solutions we can come up with. What are the major implementations of Alfresco and Drupal? I know about this thread, and this one, and I've seen some others I can't find).
So, who's working on this? How can we work together to help drive these two Open Source projects together and really move the needle on DMS and DAM? Is there a real need to connect these products? I know that Alfresco is now being used to power some large Cloud-based services, and I'm curious if anyone is looking for ways of connecting that to Drupal? The implications are enormous and even more far-reaching than I'm discussing here.
I look forward to talking with people about this!