2010-09-09 62 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