2014-09-23 50 views
0

我會盡可能使這一點儘可能清楚,這是一個非常困難的情況,我會盡可能地解釋清楚。我在Rails方面沒有太多的經驗,但我想以最好的方式做Rails。我之前創建了一個前面的主題,但我並不真正瞭解它Managing Large Scale apps via Rails針對不同客戶的可定製Rails應用程序

原始狀態:

我們已經與1只考慮客戶開發的應用程序。爲了養活客戶的需求,我們有如下分支:

  • 發展
  • 客戶DEV
  • 客戶ACC(接受改變單獨的網站)
  • 客戶PRD(單獨用於測試新開發的網站)(中客戶生產網站)

現狀:

現在我們有了第二個客戶,所有分支機構都翻了一番。所以我們現在正在分別爲每個客戶開發更改。這些更改可能包括模型/控制器/幫助程序更改,它們具有不同的樣式表(sass/css)以及不同的HTML。

因此,我們的1個應用程序已被分爲2個客戶的2個單獨的應用程序。現在我必須記住我在每個分支所做的事情,並嘗試將其實施到其他分支機構中。

問題:

我完全會輸,如果更多的客戶購買它管理這些應用程序的控制。所以每個客戶可以有不同的CSS /不同的HTML /不同的模型/控制器/庫。

問題的例子:

  • 每個客戶都有不同的配置/ connections.yml文件
  • 每個客戶都有不同的翻譯文件配置/區域設置/ en.yml
  • 一個客戶想要有一個數據庫與用戶(模型/控制器)另一個不希望保持用戶在數據庫中

我的想法:

我對失去這個應用程序時,更多的客戶會購買這個應用程序的控制真的很害怕。我很害怕我有100個Github分支機構,25個客戶會購買它。我不知道很多人是否有這個問題,或者我應該重新開始編寫這些應用程序。我不知道這是否可能,但如果有人可以幫助我,這將是非常棒的。

回答

0

恕我直言,請考慮以下幾點爲與多個客戶應用程序更好的管理:

  1. 而是爲每個客戶建立單獨的分支,並分別開發的代碼,在爲多個客戶同一分支開發代碼(你可以繼續有4個分支根據您的發佈管理)。
  2. 如果客戶需要的功能不是 ,那麼創建設置界面以打開/關閉功能 。這可以通過在數據庫中存儲的值或使用的寶石 像flipperrollout
  3. 對於不同的HTML結構和CSS,不保持多個模板/諧音,但維持針對不同的客戶不同的佈局,並有條件地呈現與相應的CSS相應的佈局來完成。讓模板&部分對所有客戶都是通用的。
相關問題