回答
@Eduard,关于对第三方的依赖 - 是你是做这种大学/大学演习还是会影响生产环境中的真实用户?
冒着听起来很冒昧的风险;不要重新实现轮子!我肯定会再次打电话来使用JCR,这种方式你依赖于标准而不是第三方实现。
JCR是一个明确的标准(这意味着很多人投入商业努力(即大量的现金和专业知识))。我会认真考虑调查JCR--将其视为第三方提供实施(无供应商锁定)的API。
查看您将获得的即用即用功能,我相信99-110%的功能需要通过JCR实现提供。此外,您将从实际使用的代码在数百个人的真实世界中得到测试。
在哪里我会从不同bmscomp在暗示JackRabbit用http://jackrabbit.apache.org/
你让我相信:)因为你都在说同样的事情+1。 – Eduard 2011-06-02 12:00:20
很高兴听到它=)。 如果一种非现成的产品提供了您所需要的80%(并且从一开始就被设计为一个可扩展的API),那么您将获得更多的进展,并有可能将您的更具体的扩展贡献回更广泛的社区(通过代码提交,博客或wiki帖子) 在webdav正面:http://jackrabbit.apache.org/jackrabbit-webdav-library.html 祝你好运和快乐编码 – earcam 2011-06-02 22:38:55
编辑:看着JackRabbit接近一点我认为它提供了99.99%以上的效果(这是一个活跃的项目,并且在邮件列表和Jira上会有很多支持)。从你列出的四点来看,所有内容都被覆盖了,如果合作锁定不是你可以插入后的内容:http://jackrabbit.apache.org/api/2.1/org/apache/jackrabbit/core/util/ RepositoryLockMechanism.html和http://wiki.apache.org/jackrabbit/RepositoryLock – earcam 2011-06-02 22:45:24
选项1:
我不知道有关WebDAV,它没有实际的经验。但我强烈建议你使用像MongoDB这样的文档数据库。
随着MongoDB中,您可以:
1. Handle document versions
2. MongoDB的具有atomic operations,您可以添加文件锁定的逻辑。
这会给你一些搜索你的文档商店的额外好处。
选项2:
内容存储库是一个层次 内容存储与结构的 支持和非结构化内容, 全文搜索,版本控制, 交易,观察等等。
这听起来不错,而且我看着它。但可能我正在寻找更多的答案,这将使我更多地了解如何自行开发此功能。 MogoDB是太具体的数据库 - 我需要我的应用程序不是如此特定于数据库。而当我只需要存储文档时,使用内容存储库似乎过度。 – Eduard 2011-06-02 08:49:32
考虑使用JCR Java内容存储库 http://en.wikipedia.org/wiki/Content_repository_API_for_Java或者你可以看看在露天或和外框架所做的工作,他们的工作做得很好
是的,他们做得很好,但他们的解决方案对我而言太复杂了。我只需要存储文档版本就可以锁定它们并搜索它们。另一件事是我不想依赖第三方解决方案太多。所以我更喜欢自己开发这个。 – Eduard 2011-06-02 08:51:48
您可以使用这些开源项目,以满足您的要求:
http://sourceforge.net/projects/logicaldoc/ - LogicalDOC是一个现代的文档管理系统一个不错的界面,易于使用,速度非常快。它使用开源Java技术,如GWT,Spring,Lucene,以提供灵活且可扩展的DMS平台。 http://www.logicaldoc.com
http://sourceforge.net/projects/openkm/ - OpenKM文档管理 - DMS更新2011-05-25 OpenKM是功能强大的可扩展的文档管理系统(DMS)。 OpenKM使用Jboss + J2EE + Ajax web(GWT)+ Jackrabbit(lucene)开源技术。 http://www.openkm.com/
Spring MVC是一个不错的选择。如果你想使用关系数据库,那么也可以检查出Datanucleus。至少JDO层(可能还有JPA层)提供版本控制支持。为了搜索,我推荐基于lucene的apache solr,它具有优秀而强大的全文搜索功能。
虽然webdav看起来像是一个简单的交叉平台文件传输协议的自然选择,但我从来没有过很好的体验。客户端或服务器不能正常工作(konqueror,Internet Explorer,zope 2,...)。所以从协议中抽象出来并提供多种访问文件的方式。
+1我认为当我开始搜索这个主题时,webdav比我想象中的更麻烦。 – Eduard 2011-06-06 08:49:30
- 1. 简单的焦油实施?
- 2. 实施源代码管理
- 3. 文档管理
- 4. 简单的小INotifyPropertyChanged的实施
- 5. 被管理的DirectX实施已停产
- 6. 简单的Active Record实施2.0+
- 7. 实施文档管理系统的建议,其中一些文档的运行时间已被替换字段
- 8. 文档转换实时 - 实施问题
- 9. 实施在Objective-C一个简单的地理围栏
- 10. 现有开源项目实施的源代码管理/管理
- 11. 简单的需求管理
- 12. PHP文档管理
- 13. Bluemix API管理,保护API实施
- 14. 如何实施网络管理员?
- 15. Django AdminSite - 实施困难或简单?
- 16. Linux下的文档管理
- 17. Drupal 6的文档管理?
- 18. 简单的基于Web的文档管理应用程序 - 工作流
- 19. 简单的Java OpenGL纹理管理器
- 20. 简单管理页面:Symfony2
- 21. 如何共同实施论坛和文章管理系统
- 22. 管理SharePoint文档列表
- 23. Sharepoint 2007文档管理
- 24. asp.net文档管理系统
- 25. 文档版本管理
- 26. 使用GIT管理文档
- 27. 简单DOM文档迭代
- 28. 管理简单“描述”表的最佳实践
- 29. 简单的Hibernate的Session管理
- 30. iOS实施理论
Okey我看到我更新我的问题,由DMS我的意思是文件管理。 – Eduard 2011-06-02 08:24:15