回答
@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. 實施在Objective-C一個簡單的地理圍欄
- 9. 現有開源項目實施的源代碼管理/管理
- 10. 簡單的需求管理
- 11. 如何實施實時表單編輯,如Google文檔
- 12. PHP文檔管理
- 13. 管理XML文檔
- 14. Python的例外(文檔實施例)
- 15. 實施招搖文檔中的空隙
- 16. 動物園管理員屏障實施
- 17. Bluemix API管理,保護API實施
- 18. 如何實施網絡管理員?
- 19. 實施「常量」接口方法管理
- 20. Django AdminSite - 實施困難或簡單?
- 21. Php簡單文件管理器?
- 22. Linux下的文檔管理
- 23. Drupal 6的文檔管理?
- 24. Django自定義管理表單批量保存實施
- 25. 簡單的基於Web的文檔管理應用程序 - 工作流
- 26. 簡單的Java OpenGL紋理管理器
- 27. 簡單代碼管理SharedPreferences
- 28. 簡單管理頁面:Symfony2
- 29. 如何共同實施論壇和文章管理系統
- 30. 文檔版本管理
Okey我看到我更新我的問題,由DMS我的意思是文件管理。 – Eduard 2011-06-02 08:24:15