Java 实现简单文档管理系统的最佳方法是什么?

Java 实现简单文档管理系统的最佳方法是什么?,java,svn,tagging,versions,document-management,Java,Svn,Tagging,Versions,Document Management,我计划建立一个简单的文档管理系统。最好是围绕java平台构建的。在这方面是否有最佳实践?这些要求是: 能够上传文档 能够标记文档 文件的版本 对文件的评论 我目前正在考虑几个选择。第一个选项是SVN或CVS之上的简单API,并使用DB后端跟踪标记、上传程序、注释等 另一种选择是使用文件系统。将文档的版本设置为版本文件夹中的副本,并使用文件名 或者,如果有一个开放的非GPL’ed文档管理系统,我们可以根据需要定制它,并将其打包到应用程序中。有没有人有建造这种东西的经验 最好的方法是重复利用他人的努

我计划建立一个简单的文档管理系统。最好是围绕java平台构建的。在这方面是否有最佳实践?这些要求是:

  • 能够上传文档
  • 能够标记文档
  • 文件的版本
  • 对文件的评论
  • 我目前正在考虑几个选择。第一个选项是SVN或CVS之上的简单API,并使用DB后端跟踪标记、上传程序、注释等

    另一种选择是使用文件系统。将文档的版本设置为版本文件夹中的副本,并使用文件名


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

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


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

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


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

    您可能想看看和几个实现(其中一些是免费的)

    关于ApacheJackrabbit有什么想法吗?我能在上面存储文档吗?我是说word文档、PDF、txt文件等等?它不只是一个面向文档的数据库吗?你可以在其中存储任何东西。然后,数据库就充当了你需要的元数据。我通读了这篇文章。CouchDB作为面向文档的数据存储很好地发挥作用。coach术语中的文档是存储有版本控制信息的结构化JSON。我说的是文件的存储。PDF、PPT、Word文档等无法JSON化和存储的文件。是的,您可以将这些文档存储在couchdb中。它们以二进制形式与其他json元素一起作为附件存储。文档以二进制形式与字符串格式的json一起存储,其中真正有趣的是,实际的二进制数据存储在json结构中,这意味着您可以进行复制,基于B树的REST访问和快速查询将成为更大协作堆栈的一部分。它将作为一个知识管理的平台。考虑只使用Wiki吗?嗯,我们已经有了Wiki。这是为了解决遗留文档存储需求。我们正在寻找JackRabbit。您是否会建议其他开放但可以与商业解决方案打包的解决方案。对于商业打包,最好使用Apache许可证,以便您可以查看使用Jackrabbit的项目(例如Hippo Repository)