2010-09-09 92 views
5

我想制作一个文档管理系统(Ruby中的接口)。
专业解决方案(Alfresco,Liferay社会办公室等)用于存储和版本化文档?
我还能使用什么?文档管理系统:作为存储后端(文档内容存储库)使用什么?

要点:

  • 存储空间优化(增量,压缩...)
  • 版本
  • 能力指数文档(可外置)
  • 能力在运行时进行备份(实时热备份)
  • 锁定?
  • 可伸缩性大数据量
  • 确保数据的完整性(哈希?)
  • 权限
  • 事务
  • 工作流支持(可选)

加分点:

在这个问题上的任何书籍?

回答

5

我见过的大多数企业文档管理解决方案(Cimage,Documentum,LiveLink)肯定不关心#1。存储相对便宜,尤其是存储与处理(存储和重新存储)。他们主要依赖基于文件系统的存储 - 可能带有名称抽象,使得ShoppingList.doc可能变成20100909100101a.doc.rev1,并且跟踪给定名称,存储名称,修订版本和各种其他数据(MIME类型,头文件&属性等)。通过不生成增量+压缩,您可以从任何数量的现有产品/算法中轻松获得索引。这种方法的版本控制也非常简单。

根据您构建的大小和规模,您还可以在数据库中存储版本化文件。 (S)FTP或CIFS存储过程也允许软件在空间适中的应用程序服务器上运行,但将文件+历史记录存储在某种文件或云服务器上 - 虽然这不是很多与基于文件系统的存储不同。

0

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

+0

任何可用的文档或书籍?我非常喜欢这些功能,他们的wiki真的杀死了我小小的红宝石大脑。我主要关心如何定义用户,ACL和读/写内容,可能定义工作流...... – clyfe 2010-11-12 13:46:52

1

你知道吗,我的第一本能是just use Subversion。你需要外部索引,如果你想存储哈希值,你需要编写一些代码来自己完成,但其他的都适合。

它附带红宝石绑定,但我不亲自熟悉它们的质量。

+0

当我有TBytes的文档时,我需要某种分布式存储,而SVN将无法工作。 – clyfe 2010-11-12 14:33:34

+0

@clyfe:分布式存储与您所要求的完全不同。你提到的所有系统都不使用分布式存储,我无法想象为什么你需要它,除非你的流量高得离谱。在RAID 10中有一堆2TB磁盘的优秀服务器应该会很好。 – 2010-11-13 01:56:57