私は SaaS 製品を構築していますが、顧客の最大の要件の 1 つは、ホワイト ラベルを付けることを許可することです。
- 顧客ドメイン
- UI に顧客のロゴを含める
- 顧客のブランディングに合わせて配色を変更する
実行する必要があるすべてのことの中で、把握するのが最も簡単な部分は、カスタム サブドメインの設定だと思います (私は AppEngine で実行していますが、どのサーバー設定でも非常に簡単です)。
私の主な質問は、フロント エンドのスタイリングに関するベスト プラクティスに関するものです。私のセットアップでは、CSS ルールを上書きするためと Javascript 変数を上書きするために、色を定義する必要があります。私が行っている仮定は、画像アセット/パスと色情報をデータベースに保存していることです。これらは私が検討している 2 つのパスですが、どちらにもかなり重大な欠陥があるようです。
- 展開タスク - 展開の前に、データベースから顧客のスタイリング情報を取得し、カスタム CSS / JS ファイルを作成する Grunt (またはその他の自動化) タスクを実行します。
- ランタイム - アプリケーションのブートストラップ中に、db から顧客情報を取得し、スタイリングを動的に上書きします (インライン スタイル、JS オーバーライドなど)。
私は推奨事項やその他の経験をたくさん探しましたが、空っぽになりました。ホワイトラベルのベストプラクティスは何ですか? これら 2 つのパスのいずれかを続行する必要がありますか、それともより良いオプションがありますか? どのような落とし穴に注意する必要がありますか? さまざまなオプションにパフォーマンスへの影響はありますか?
この質問は、意図的に言語とフレームワークにとらわれません。実装方法に関係なく、基本原則は同じでなければならないからです。