5

我想制作一个文档管理系统(Ruby 中的界面)。
专业解决方案(Alfresco、Liferay 社交办公室等)使用什么来存储和版本控制文档?
我还能用什么?

关键点:

  • 存储空间优化(增量、压缩...)
  • 版本控制
  • 索引文档的能力(可以是外部的)
  • 在运行时进行备份的能力(实时热备份)
  • 锁定?
  • 大数据量的可扩展性
  • 确保数据完整性(散列?)
  • 权限
  • 事务性的
  • 工作流支持(可选)

奖励积分:

有没有关于这个问题的书?

4

3 回答 3

5

我见过的大多数企业文档管理解决方案(CimageDocumentumLiveLink)绝对不关心#1。存储相对便宜,特别是如果它是存储与处理(存储和检索)。ShoppingList.doc它们主要依赖于基于文件系统的存储——可能具有名称抽象,例如,20100909100101a.doc.rev1数据库跟踪给定名称、存储名称、修订和各种其他数据 {MIME 类型、标题和属性等}。通过不生成增量 + 压缩,您可以很容易地从任意数量的现有产品/算法中获得索引。使用这种方法,版本控制也非常简单。

根据您正在构建的大小和规模,您还可以将版本化文件存储在数据库中。

(S)FTP 或 CIFS 存储过程也将允许您的软件在具有适度空间的应用服务器上运行,但将文件+历史存储在某种文件或云服务器上 - 尽管这与基于文件系统的没有太大区别贮存。

于 2010-09-09T17:25:33.297 回答
1

你知道,我的第一反应就是使用 Subversion。你需要外部索引,如果你想存储哈希值,你需要编写一些代码来自己做,但其他一切都适合。

它附带红宝石绑定,但我个人并不熟悉它们的质量。

于 2010-11-12T14:11:03.727 回答
0

alfresco 通常用作后端,它有一个不错的 REST API。如果您不喜欢包含的集成 API,也可以定义自己的集成 API。

于 2010-09-09T17:02:46.223 回答