I have spent several days researching various modules that might be possible solutions for creating a drupal-based document revision control system. But, I haven't been able to see any clear proof of what is possible, and how to achieve it.

Does anyone have any experience using or creating a Drupal-based document revision control system? And, if so, how was it implemented?

Here is what we would like to have: a system where users could log in, then select the document they would like to edit, then check that document out for editing, then check the document back in again (merging their changes, etc, if it pointed to a subversion backend or something similar).

I have been researching things like DBFM, File Framework, Version Control API (Subversion Backend, and SoC2008). Are these the best solutions? What are they capable of, and what are their limitations? In most cases, I can't get a clear idea of what they can and can't do from their documentation.

I noticed this sentence in the Version Control API description: "Note that support for client-side operations as checkout, commit, update and delete is not in any way supported or planned for this module". So, this sounds like it is NOT what I am looking for...

Any advice or shared experiences would really be appreciated.



WorldFallz’s picture

the version control api is aimed at source code version control, so no, I don't think you want to use that.

At this point in time there really isn't any true form of native drupal document management. I'm stuck straddling the world between drupal and sharepoint. If I were starting out now, I would probably go with the http://drupal.org/project/alfresco module and alfresco integration.

rogdawg’s picture

I'll check out alfresco.


mradcliffe’s picture

It all depends on if you need the power of something like alfresco or not.

If you're just looking to manage content (no file attachments), checkout, diff, and revision are good modules to enable. You can create a fairly manageable wiki-based system. I don't think anything is going to let you diff excel, word, or pdf documents, so it would fairly well for file attachments too. This is similar to something you can setup with TWiki.

File newest revision might be interesting to look at too.

rogdawg’s picture

Thank you for your response.

Yes, I am looking for document management, as opposed to content management.

I am considering just using subversion and installing the TortoiseSVN on users' Windows machine so they can easily do document revisions but, a web-based solution would be much better, for several reasons.

That is the reason for all my questions.

rogdawg’s picture

on the module page for DPFM, it says this:

"Keywords, notes and other meta-data can be added to uploaded documents, document revision management is now possible."

and this:

"DBFM can also be used in conjunction with the Organics Groups module to provide access control to files and directories."

This sounds like what I need. Does anyone have experience with DBFM?

I know I am being sort-of "timid" about this but, I don't have a lot of time to risk putting tons of effort into implementing something, only to find that it won't do a basic part of what I need.

Thanks for all the input. It is very helpful.

mig5’s picture

rogdawg I share your pain with this.. I've recently implemented Alfresco which does a great job of document revision control.

Unfortunately Alfresco's also just implemented Alfresco Share, which is a web 2.0-style interface for 'Sites' or workspaces, which gives one a wiki, blog, calendar and discussion forum area alongside the document library.

Drupal does all that except the document management/revision control. So now we have a big state of overlap, where both apps do 90% of the same thing, but Alfresco does document management. On the other hand, Alfresco feels less flexible to me being a Java app and much less 'plug 'n play' compared to Drupal and how easy it is to install contrib modules with Drupal.

The Alfresco/CMIS modules expose the Alfresco repository to Drupal, and there's some bi-directional 'syncing' stuff going on there.. but what I was really hoping for was a way to embed documents from Alfresco as attachments in nodes. Which doesn't seem to be what's happening.

Open Atrium is a new Drupal package that provides all the basics of group/intranet collaboration, but once again no real Document revision control system. I'm still stuck in the same position of not wanting to use two tools that do 90% of what I want.

Interesting news about DBFM and revision control.. I will check this out and if I beat you to it, will let you know if it lives up to what I think both you and I need out of Drupal in regards to document management :)

One other thing that kind of swings in Alfresco's favour here is the Sharepoint-like connectors for office apps, allowing users to create workspaces and upload/collaborate on files directly from the Office apps, through exposure to the Alfresco repository as a sharepoint-compatible system. Document management extends beyond revision control in this way, Alfresco *does* do it well.