web-dev-qa-db-ja.com

マルチテナンシーを優先する場合、サイトのコンテンツをデータベースに保存する必要がありますか?

マルチテナントのASP.NET MVC Webサイトがあり、すべてのクライアント固有のテキストはリソースファイルに保存されています。誰かがテキストを変更したいときはいつでも、私はフープを飛び越えてフォームに記入し、他の誰かにそれを生産させなければなりません。これは2つのクライアントで問題ありませんでしたが、現在は6つあり、40以上に展開する予定です。 テキストの変更に一日を費やすことはできません!

人生を楽にする方法について誰かアドバイスはありますか?私の知る限り、ほとんどのCMSのマルチテナンシーの考え方は、独立したサイトを追加することであるため、CMSは機能しない可能性があると考えていました。私たちは頻繁に新機能を展開しており、同じ船に乗ってモジュールを追加し、40以上のサイトを更新することになるのではないかと心配しています。可能であれば、テキストが異なる1つのサイトを好みます。

どんな助けでも大歓迎です!

7
Gary Green

はい。クライアントが自分でこれを維持できるように、クライアントが変更可能なすべてのコンテンツをデータベースに保存する(またはデータベースを介してアクセスする)必要があります。

管理関数の作成にはある程度の時間を費やす必要がありますが、長期的には見返りを得ることができます。あなたは正しいです、あなたはすべての変更が開発者を通過する必要がある状況を持つことはできません。あなたはあなたのすべての時間をサイトの更新に費やすことになるでしょう。

変更を段階的に導入することができ、おそらく導入する必要があります。誰かが何かを変更したいときはいつでも、それ(およびいくつかの関連するもの)を管理ページに追加してください。そうすれば、人々が実際に変更したいものの管理者だけがいて、残りの管理者はできません。

数年前、私は地元紙のテーマサイトを作成している会社で働いていました。私が始めたとき、これらのサイトの管理ページはほとんどなく、私のチームはあなたと同じ立場にありました。私は徐々に管理ページを紹介し、みんなが幸せでした。チームは開発に集中できたことに満足し、クライアントは彼らが必要なときにサイトを更新できることに満足し、管理者はクライアントは幸せでした。

6
ChrisF