【问题标题】:Whats the best way to implement a simple document management system?实施简单文档管理系统的最佳方法是什么?
【发布时间】:2010-10-26 09:55:29
【问题描述】:

我打算建立一个简单的文档管理系统。最好围绕java平台构建。是否有最佳实践?要求是:

  1. 能够上传文件
  2. 能够标记文档
  3. 版本文档
  4. 对文档的评论

我目前正在考虑几个选项。第一种选择是在 SVN 或 CVS 之上的简单 API,并使用数据库后端来跟踪标签、上传器、cmets 等

另一个选择是使用文件系统。将文档版本化为版本文件夹中的副本并使用文件名。

或者,如果有一个开放的非 GPL 文档管理系统,我们可以根据需要对其进行自定义并将其打包到我们的应用程序中。有没有人有建造这样的东西的经验?

【问题讨论】:

  • 对 Apache Jackrabbit 有什么想法吗?

标签: java svn tagging versions document-management


【解决方案1】:

您可能想看看Content repository API for Java 和几个实现(其中一些是免费的)。

【讨论】:

  • 我们正在为此寻找 JackRabbit。您是否会建议其他一些开放但可以与商业解决方案打包在一起的东西。
  • 对于商业打包,最好使用 Apache 许可证,这样您就可以查看使用 Jackrabbit 的项目(例如 Hippo Repository)
【解决方案2】:

看看那里的许多面向文档的数据库系统。我不能谈论 MongoDB 或其他任何东西,但我对 Couchdb 的体验非常棒。

http://couchdb.apache.org/

最好的部分是您通过 REST 协议与它通信。

【讨论】:

  • 我可以实际存储文档,我的意思是word文档,pdf,txt文件等吗?不就是一个面向文档的数据库吗?
  • 您可以在其中存储任何内容。然后数据库充当您之后的元数据。
  • 我通读了这篇文章。 CouchDB 可以很好地用作面向文档的数据存储。沙发术语中的文档是存储有版本信息的结构化 JSON。我说的是文件的存储。无法 JSON 化和存储的文件,如 PDF、PPT、Word 文档等。
  • 是的,您可以将这些文档存储在 couchdb 中。它们与其他 json 元素一起作为附件存储为二进制文件。
  • 文档以二进制形式存储在字符串格式的 json 旁边,虽然实际的二进制数据存储在 json 结构中,这意味着您可以获得复制、REST 访问和快速基于 B 树的查询。
【解决方案3】:

最好的方法是重用他人的努力。这种特殊的轮子已经被发明了很多次了。

谁会使用它以及用于什么目的?

【讨论】:

  • 将成为更大协作堆栈的一部分。它将作为知识管理的平台。
  • 只考虑使用 Wiki 吗?
  • 好吧,我们已经有了一个 wiki。这是为了解决遗留文档存储需求。
猜你喜欢
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-24
  • 2017-05-17
  • 1970-01-01
  • 2015-11-05
相关资源
最近更新 更多