2010-10-01 108 views
5

我已經諮詢了一個項目的設置,並希望將我的想法從別人那裏反彈出來以獲得額外的意見。建築決定:主要網站,論壇,博客

本網站的主要部分非常複雜,並且具有非常自定義的功能,所以從我看到的更多的是web應用程序。然而,博客是需要的,也需要一個論壇。這是這個項目的總體概述。

因爲網站的主要部分更多的是一個web應用程序,我認爲這個項目應該被分割成由不同的框架和CMS所照顧的單個部分,以便每個部分不會限制其他部分。這是一個相當困難的決定,因爲沒有人願意維護不同的框架和CMS,除非這對他們來說確實是正確的。

我的理由是,因爲網站的主要部分實際上是一個複雜的Web應用程序,試圖將其納入像Drupal或Joomla這樣的CMS或任何會增加開發時間和成本的任何事情。這部分是有意義的,可以使用像Zend Framework或Symfony這樣更靈活的技術來創建,基本上這是框架而不是CMS。

對於其他組件,我沒有看到使用框架的一個要點,因爲它們中的很多都是標準組件,如博客和論壇。因此,對於網站的其他部分,我的選擇是1)通過我熟悉的單個CMS(比如Drupal)構建所需的其他所有內容,但由於我已經走上了劃分網站的道路,因此我認爲選項2)爲什麼不劃分網站甚至更多,併爲每個組件選擇最好的軟件。例如Drupal並不是一個好的論壇。這不是它的力量所在。

事實證明,參與撰寫博客的人大多不是參與論壇的人,所以我認爲我不應該擔心諸如2單獨的軟件。

但是我無法對這個網站的可維護性作出決定。一方面,我認爲保持3種主要不同技術將會更困難:應用程序框架,專業論壇軟件(建議歡迎)和專門的博客軟件(建議歡迎),但另一方面,我認爲這實際上可能更容易維護,因爲網站的一部分可以更容易地刪除或更改,而不會影響其他所有內容。

這是我的一般想法,但我擔心它可能很難賣,因爲它可能看起來像我試圖讓一個項目複雜化。我確實認爲這種方法實際上簡化了它。那麼對此有何想法?有沒有我沒有充分考慮的問題?如果您遇到同樣類型的問題,您會做出什麼樣的架構決策?

回答

8

確實是一個困難的決定。然而,在任何其他事情之前,還有一些需要回答的關鍵問題。

1:博客是否會包含您看到的博客軟件的全部功能?或者你需要一個更小,更簡單的功能?論壇也一樣。

2:是否需要在所有三個系統中共享用戶羣?

3:是否需要網站的設計完全一致?

如果你們需要完整的論壇和博客,那麼使用單獨的系統將是明智之舉。但是,如果所需的功能集很小,則只需定製構建它可能會更明智,而無需花費太多時間。

如果需要共享用戶羣,那麼將會話和用戶羣集成到三個不同系統中將會很痛苦,但只使用一個用戶表總是更容易和更流暢。您將不得不破解論壇和博客平臺,以使其與主要CMS一起工作,但會有這樣的問題。

如果這些系統的設計可能有所不同,那麼可以,但是使其完全相同將會很棒,並且需要相關論壇和博客平臺的專業人員。所以保持設計也是一個問題。

這是一個非常困難的決定。它將成爲短期成本與長期成本。如果你認爲網絡應用程序需要停留一段時間,我會投票選擇增加短期成本,這會讓事情變得更容易。

另一個注意事項: 如果您將您的架構設計爲模塊化,您可以將您的論壇和博客系統開發爲可插入的模塊。因此,您可以自由將網站部分離線。

2

維護有很多用戶知道他們在做什麼的框架會容易得多。維護定製應用程序將變得更加困難,該應用程序試圖成爲一款應用程序,博客和論壇。

誰真實維護它會很高興,當他們需要做出改變的博客:

  • 他們不需要看任何其他部件的
  • 有大量的文檔資料在那裏爲你的博客引擎(假設你去一個受歡迎的,例如WordPress的
+0

我想如果你打算把它分開,那麼你也可以正確地做。維護一些只是爲了成爲博客做好事的事情要容易得多,而且在論壇上也是如此。 – Skilldrick 2010-10-01 12:47:59

1

我喜歡@薩維恩的問題。

假設這三個組件將共享用戶和佈局,它讓我覺得最好有一個底層框架,而不是一個多頭的Drupal-Wordpress-phpBB-Zend怪獸,在這個怪獸中你必須處理不同的認證和主題方案。

但正如Sabeen指出的那樣,如果論壇和博客真的需要功能齊全,那麼從頭開始實施它們看起來像是大量的工作,重新發明了已經經過試用和驗證的車輪。可以肯定的是短期成本,但希望能帶來長期的收益。