implementing simple Document management

Eduard picture Eduard · May 31, 2011 · Viewed 8k times · Source

My qustion is: How would you go on implementing simple DMS(document management) based on following requirements?

  1. DMS shouls be distributed web application.
  2. Support for document versioning.
  3. Support for document locking.
  4. Document search.

Im already clear on what technologies I want to use. I will use Sring MVC, Hibernate and relational (most likely MYSQL) database.

One thing Im not very clear on is if I need to use webdav, since I could just upload or download documets. I thing I have to because I need to acomplish point 2. and especially point 3. somehow. Is this the right way to go?

Any examples or experience with this would come very handy :). May be Milton is not the best library to pick for webdav?

Answer

zengr picture zengr · Jun 2, 2011

Option 1:

I am not sure about webdav, no real experience on it. But I would highly recommend you using a Document database like MongoDB.

With mongodb, you can:
1. Handle document versions
2. MongoDB has atomic operations, you can add your logic of document locking.

This will give you some awesome added benefits of search your documents store.

Option 2:

Apache Jackrabbit: A Content repository

A content repository is a hierarchical content store with support for structured and unstructured content, full text search, versioning, transactions, observation, and more.