I want to make a document management system (interface in Ruby).
What do profesional sollutions (Alfresco, Liferay social office, others) use for storing and versioning documents?
What else can I use?
Key points:
- storage space optimization (deltas, compression ...)
- versioning
- ability to index docs (can be external)
- ability to make backups at runtime (live hot-backup)
- locking?
- scalability on large data volume
- ensure data integrity (hashing?)
- permissions
- transactional
- Workflow support (optional)
Bonus points:
- how does KnowledgeTree do it?
- how does Liferay Social Office do it (jcr?) ?
- how does Alfresco do it ?
Any books on this issue ?