2011-02-07 73 views
9

我正在尋找一個免費且開源的文檔/內容管理系統(基於web)來實現下載區域,其中有些人可以上傳文件,其他人可以下載它們,具體取決於權限。必須可以創建文件夾(用於組織文件)並設置文件文件夾的權限。構建一個下載區域,其中包含從外部數據庫中取得的用戶和組

我已經有用戶和用戶組數據庫表(在我的主Web應用程序中使用),我想使用相同的用戶和組在我的新DMS web應用程序授予的權限。顯然避免手寫或硬編碼這些數據。通過這種方式,我可以在將來直接在原始數據庫中修改數據,並且它將在DMS中保持最新狀態。

是否有DMS允許設置檢索用戶和組數據的位置,還定義了數據庫,表和字段?還有別的東西遠不是這樣..就像批處理程序,將用戶和組從我的webapp數據庫複製到DMS數據庫。


在這裏,我已經嘗試過沒有成功的產品,通過丟棄的原因分組。

用途問題:

  • PloneMagnoliaRiotWalrusfleXiveLibreSourceTransferCMJahia:是CMS與網站建設或管理網站內容的目的,DMS只是其中一小部分整個系統
  • Liferay,GateIn,Pulse:用於建設門戶網站或複雜的web應用程序
  • Alfresco:對於這種情況看起來不錯,可能有太多功能,但我試圖瞭解管理員是否可以管理組/用戶訪問文檔,在同一個網站內部。
  • OpenCMS:太複雜了這種情況下
  • dotCMS:CMS的網站建設,太多複雜的權限管理
  • Hippo CMSCMS Container:好像不是來處理文檔的訪問權限(但僅限於出版)
  • OrfeoJumperDSpaceDaisyeAdmin/OWXCofaxJadaSiteMaarch

    • Jease:出於不同的目的

    訪問控制問題,建立將是巨大的(這麼簡單明瞭!),但它不管理用戶組和權限是在整個文件夾(其中用戶可以做的一切文件,不僅能查看他們)

  • InfoGlue:良好的用戶和用戶組管理,但權限僅在文件夾和內容不是文件,而是文章/圖像/模板/等。
  • LogicalDoc(前Contineo):偉大的CMS,與版本管理等,但權限僅在文件夾
  • jAPS:用於創建網站而建,僅適用於組的權限,而不是爲用戶
  • Joomla!DOCman組件:權限只能授予1用戶或1組
  • Nuxeo DM:這是一個很好的DMS,但對於協同工作(不那麼適合於下載區),但主要的問題是,權限僅在文件夾中,而不是文件
  • XodaKRYSTAL DMSyaDMSPHP NavigatorDocumentManager:很簡單,但許可僅涉及到系統的全局訪問
  • MeshCMSKordil EDMSSimple Document Management System:很簡單,沒有組,對文件沒有訪問控制/文件夾
  • eZimDMS:組不可用於在文件/文件夾的權限,但只有3個全局權限
  • OpenDocMan:類似於我在尋找,但組被視爲個省,數據庫表錯過主鍵,你無法創建文件夾;我喜歡它的easyness,但全球範圍內它不會顯得如此出色地完成

平臺問題:

  • ContelligentXinco DMSjLibrary:它的客戶端是桌面(網絡)應用程序(用於第二你有Java Web Start的)
  • OpenKM:這是很好的,但必須在JBoss只是工作,而不是在我的Tomcat

安裝PR oblems:

  • Apache Lenya:我不知道它是否正常,因爲我無法使其工作和演示不起作用..
  • Owl Intranet Engine:它有錯誤,我不明白它是如何工作的
  • DocMGR:支持LDAP,但我無法使它工作;而且不支持IE7
  • Epiware:沒有免費版本的Windows(不幸的是我在Windows下)

可靠性問題:

謝謝!

+0

+1在問社區之前,你實際上已經做了一些研究。 – 2011-02-25 17:54:11

回答

0

我終於決定使用一個商業客戶端服務器DMS,並在其上構建了一個webapp用於檢索文檔及其關係。文檔訪問控制由DMS進行管理,並提供用戶名和密碼。用戶和組可以很容易地添加到DMS。這是基礎設施:

     SOAP     WCF connector (DLL) 
webapp (JSP, mapping) ----> web service (C#) ------------------> WCF (DMS server) 
0

Apache Lenya可以工作。您必須編寫自己的身份驗證機制和組管理代碼才能通過數據庫同步用戶。任何產品都會給你帶來困難,違背專有的數據庫。如果您能夠將用戶和組數據放入目錄(例如LDAP),您的問題變得更容易。

0

Joomla!與DOCman組件:權限可以只授予1個用戶或1個組

這實際上應該適合您。您可以爲要管理的文件創建單個組,並在人員獲得/失去文件訪問權時將其添加/刪除。

+0

對不起,我不能開發這樣的事情:管理員太棘手了。不管怎麼說,還是要謝謝你! – bluish 2011-02-25 18:01:43

3

所以...作出明確的認爲,你需要:

  1. 自由和開放源碼系統
  2. 下載區(上傳和下載)
  3. 用戶角色
  4. 。利用外部DB的
  5. 有某種自動化過程來使用外部數據庫中的用戶數據

我那些會要點(如果我錯過了任何,請添加它們作爲註釋來更新這個答案)

  1. 我會使用Drupal http://drupal.org
  2. 走在Drupal,你可以創建自定義內容類型和將系統設置爲幾乎任何你想要的。在這種情況下,我會建議您使用以下模塊:

  3. 用戶角色可以管理內置選項加每個字段的權限(可在內容模塊中使用)。您可以根據需要爲用戶分配儘可能多的角色

  4. 使用用戶導入模塊,您可以通過多種方式導入用戶,但這不是自動的。你將不得不導出你的用戶數據庫爲CSV,然後將其導入到Drupal。模塊然後允許您映射字段。

  5. 您可以通過使用cron或替換與http://island.byu.edu/drupal/content/drupal-6-external-database-authentication-roles

找到的指令的用戶輸入模塊自動執行完整的過程中的步驟應該是:

  1. 安裝drupal的6(的MySQL + PHP) [你也可以用drupal 7去,但現在有更多的教程和模塊sfor drupal 6,因爲d7剛剛出去,用戶導入模塊仍然不可用於d7]
  2. 啓用我推薦的模塊
  3. 創建一個新的內容類型(例如,文件)並添加文件類型字段
  4. 創建分類詞彙表以創建文件的「類別」並將其分配給「文件」內容類型
  5. 創建一些角色(例如編輯器,所有者,只讀等),並根據你想要每個角色做什麼分配不同的權限
  6. 轉到用戶導入模塊並導入你的用戶數據庫(你也可以更新現有用戶)並映射字段(重要的是用戶名,密碼,角色)到您的csv文件中的字段
  7. 創建一些視圖來顯示您想要的內容(文件)(例如按類別),按角色等...

我認爲這些是有一個像你想要的工作下載區的基本步驟。當然,你也可以通過添加更多的模塊,就像你喜歡(這是Drupal的功率),自定義(http://drupalmodules.com/是一個很好的開始的地方)

一旦你的基礎工作,就可以開始與面板http://drupal.org/project/打自定義整個網站的佈局,並檢查http://drupal.org/project/Themes中的一些主題來改變你的網站的感覺&感覺(你也可以去純CSS)

我希望它有幫助。如果您想在此解決方案中添加其他功能,或者不夠清楚,請告訴我。

乾杯!

+0

這是一個偉大的答案!值得賞賜,即使我不確定我會執行它,因爲最後我發現了一些已經準備好使用的東西。無論如何,你的答案是關於用戶和角色,而不是關於團體(例如客戶,內部,代理商等);他們在我的數據庫的另一個表中。謝謝! – bluish 2011-02-28 07:45:01

0

我不確定這是否回答了您的問題的100%,但是我使用Daisy-cms作爲文檔管理系統。

通過菊花,您可以設置附件文檔或您自己的文檔類型。您不能創建文件夾,但是您可以根據字段中的值訪問(這是棘手的部分)。

它是開源的,很容易針對MySQL進行安裝,並指向並點擊大部分你想要做的事情。

希望這會有所幫助。

0

我發現這些可能的解決方案

  • LetoDMS(前MyDMS),用PHP編寫的,有它自己的用戶和組表,樣式古板,不太人性化
  • Quotero,用Java編寫,具有LDAP,Active Directory,Joomla認證支持;可以構建更多的定製認證源(從this tutorial開始);它的項目似乎更加活躍;它擁有最人性化和現代化的佈局

即使有一些錯誤,我選擇Quotero,因上述原因。它的可擴展性(相對於我所需要的)讓我感到驚訝。

如何安裝(在Ubuntu服務器10在Tomcat 6和Tomcat 7的Windows 7)和我的主web應用它集成:

  • 安裝MySQL和PostgreSQL,Oracle數據庫,SQL服務器或其他DBMS(最後需要定製)
  • 下載quotero-deployer-2.0.war
  • 地方quotero - 部署 - 2.0.war在Tomcat的webapps
  • 瀏覽http://localhost:8080/quotero-deployer-2.0並使用嚮導來配置您的安裝(請參閱quick install tutorial
  • 嚮導將創建DB和2。在webapps文件夾中的戰爭:QuoteroServer和QuoteroClient;用戶將在Linux系統中使用後者
    • 它可能會將這些webapps放在/ usr/share/tomcatx/webapps文件夾中;如果你需要他們在/ var/lib中/ tomcatx/webapps中,只需將它們
  • 編寫自定義類的身份驗證源,以下Joomla15的榜樣,this tutorial
    • org.coretechs.quotero.user.impl.AuthenticationSourceFoo(主類,它也能處理在創建域問參數)
    • org.coretechs.quotero.user.impl.factory.foo.FooUserFactory(與用戶交互表)
    • org.coretechs.quotero.user.impl.factory.foo.FooGroupFactory(含組表進行交互)
    • org.coretechs.quotero.user.impl.factory.foo.FooDBManagerDB2(與DB進行交互)
    • org.coretechs.quotero.user.impl.factory.foo.FooPasswordHash(實現自定義密碼散列算法)
  • 插入這樣的類一個Eclipse(或類似的IDE)項目中,設置與所有庫的構建路徑,你可以在QuoteroServer查找/ WEB-INF/lib和QuoteroClient/WEB-INF/lib目錄
  • 產生一個.jar和你的數據庫驅動程序將其放置在QuoteroServer/WEB-INF/lib目錄
  • 地方的.jar在同一文件夾
  • 瀏覽http://localhost:8080/QuoteroClient,登錄(默認用戶名是admin和密碼admin)
  • 打開工具箱>管理>域,並添加一個新的域,選擇作爲域類型的自定義身份驗證源和設置參數,如數據庫URL,用戶名和密碼

這樣你可以在日誌中屬於您的主Web應用程序的用戶和組的帳戶(或任何具有DB中的用戶和組表的應用程序!)以及Quotero DMS的文件和文件夾的權限都可以被引用到那些帳戶中。其他數據,如權限,文檔,任務,工作流,屬於經典域的用戶和組等,仍將保留在Quotero DB中。 所以你有2個DB:一個用於整個Quotero DMS和一個(已經存在),Quotero可以檢索用戶和組(不需要複製這些數據)。

編輯:

我不得不面對一些錯誤是妥協Quotero的工作...所以我不得不放棄這種解決方案

相關問題