簡短回答: Drupal非常適合構建類似的東西,特別是如果您願意將您的應用程序/邏輯作爲一組定製模塊集成到Drupal中。另一種方式,將Drupal集成到外部應用程序中也可以完成,但會給您帶來更多的摩擦,因爲Drupals架構非常適合成爲一個獨立的框架。
較長的答案:我有一個幾乎相反的意見/經驗相比Palantirs。在兩個相當複雜的/'企業'項目的環境中(幾年以後,我們一直在Drupal的工作幾乎完全一致)。雖然我同意它提出了一些嚴格的規則(但不是限制!),但我認爲這是一個優勢,因爲這些規則提供了明確的指導,並提供了證明如何做事的可靠方法。這三個部分真知晶球提到是很好的例證:
- 菜單系統 - 提供了一個結構良好和有效的調度機制,容易與你自己的東西延伸,同時給予了極大的靈活性來調整/操縱現有的/默認路徑。 (請注意,Drupal中的「菜單系統」表示管理您的URL空間的整個主題,而不僅僅是通常與該術語相關的「可見」菜單的子集)
- 表單API - Web表單的聲明性方法,一個設計良好的處理工作流程和一大堆內置的安全功能,否則您將不得不照顧自己。也是高度可擴展的,可以根據需要直接調整/擴展現有的表單,爲任何字段或整個表單,多步驟表單,基於javascript的表單調整等添加新的驗證規則。
- 翻譯系統 - 這非常複雜,只是因爲國際化很難做到。但它是內置的,再次給出瞭如何做事情的明確指導,以便以通用的方式工作(儘管很多貢獻的模塊沒有按照他們應該的方式使用/支持)。
我可以給零件更多的例子,我欣賞的「規則」,但這個帖子已經越來越長,我還是要支付一些缺點;)
因此,要總結正面部分 - 如果我在哪裏給出了您發佈的粗略規格,我會說'沒有問題',並與Drupal一起,確信它將成爲定製零件的堅實基礎,同時提供所有「標準」,如論壇,博客,twitter/facebook集成以及許多其他已有解決方案(儘管這些解決方案可能需要一些適應/調整)。
缺點:一如往常,也有缺陷,有些是實質性的,根據需求/環境。
- 學習曲線 - Drupal非常複雜,其'概念'概念需要時間。正如Palantir所說,'玩它一個星期'一定會給你一個普遍的感覺/寬廣的印象,但它決不允許對其利弊的嚴肅判斷,因爲這些只會在編碼時出現在/爲它。因此,如果您已經熟悉已建立的Web開發框架,這可能是一個問題。如果你必須學習一個,這應該不是什麼問題。
- 數據庫限制 - 從Drupal 6開始,數據庫支持僅限於MySQL或PostgreSQL,使用Drupal特定的「抽象層」(顯然不是一個;)
Drupal 7將移至PDO,結束這個可疑的狀態。
- 測試/階段/生產遷移 - Drupals'開箱即用'靈活性的部分原因是可以在管理後端配置許多功能,這意味着許多重要的配置設置都存儲在數據庫中。這使得一些實例之間的數據和/或配置的遷移非常困難/繁瑣,一旦你離開發展(早期)階段,在那裏你可以用完整的轉儲脫身/恢復操作(例如見this question & answers)
這些是我的主要,但你可能會發現更多:)
+1 - 很多好點 – 2009-11-10 22:28:29