2

システム オペレータが変更できる一連のコンテンツ (ニュースやイベントなど) を含む Web アプリケーションがあります。時折、ソフトウェアの新しいバージョンを公開します。ソフトウェアはタグ付けされ、subversion に保存されます。ただし、個別に変更される可能性のあるコンテンツを最適にバージョン管理する方法については、少し悩んでいます。サイトを再作成したり、少なくともバージョン管理したりできるように、コンテンツが保存され、バージョン管理されていることを確認するために、人々が使用するメカニズムにはどのようなものがありますか?

4

3 に答える 3

1

独自のライフ サイクルを持つ 2 つのファイル セット (一方はソフトウェア ファイル、もう一方は「ニュースとイベント」) を特定すると、次のことがわかります。

  • それらを同時にバージョン管理することはできません
  • 同じラベルを貼ってはいけません

「ニュースとイベント」ファイルを別々に保存する必要があります(VCSまたはIan Jacobsが提案するようなDB、またはCMS - コンテンツ管理システムのいずれか)。タイムスタンプ、メタラベル、...)

ライフ サイクルの観点から 2 つの異なるファイル セットについて話しているだけでなく、その性質の観点から異なるファイル セットについても話していることを忘れないでください。

S.Lottによるこの SO の質問「資産管理はソース管理のスーパーセットです」で紹介されている用語を検討してください。

  • ソフトウェア ファイル: 「企業情報資産の処理を表す」インフラストラクチャ情報。コードはその資産の一部であり、構成管理の規範の一部として、VCS (バージョン管理システム) によって管理されます。
  • 「ニュースとイベント」:企業情報、つまりデータ (処理なし)。これは、多くの場合、コンテンツ マネージャーとリレーショナル データベースに分けられます。

したがって、すべてが Subversion に収まるわけではありません。

于 2009-01-14T07:29:36.213 に答える
0

すべてを DB に保持し、DB へのすべてのトランザクションにタイムスタンプを付与します。そうすれば、標準の DB バックアップを保持し、最悪の事態が発生した場合にいつでもサイト コンテンツをロードできます。

于 2009-01-13T19:29:04.267 に答える
0

答えの一部は、使用している CMS や Web アプリの設計方法によって異なると思いますが、一般的にはニュースやイベントなどのデータを「コンテンツ」と見なします。つまり、アプリケーションの一部ではなく、アプリケーションが処理するデータです。

もちろん、CMS コードとアプリケーション コードの間にはバージョン管理の問題があります。これは、2 つの間のインターフェースを定義することで管理できます。個人的には、データを XML として Web アプリに公開します。これにより、XML スキーマを使用して、CMS が何を生成する必要があるか、および Web アプリが何を処理する必要があるかを正確に定義できます。

これは、データのレンダリングに対応する変更を加えることなく、Web アプリのほとんどの変更を行うことができることを意味するはずです。機能の変更でこれが必要になった場合は、スキーマの新しいバージョンを作成して、作業を続行できます。このシナリオでは、スキーマを Web アプリ コードでチェックインしますが、YMMV.

簡単ではありません。CMS に追加のデータ フィールドが必要な場合は、さらに複雑になります。かなり複雑なリリース プロセスを計画することを想定してください (開発、テスト、受け入れ、運用のシナリオがどれほど複雑かにもよります)。

CMS を使用していない場合は、検討する必要があります。(もちろん、操作が非常に小さい場合でも、手動で行うことが許容されるカテゴリに分類される場合があります。)生データをバージョン管理システムに単純に入れるだけでは問題は解決しません。データが Web アプリに公開される形式。ほとんどの場合、この形式はソフトウェアでの使用を意図したものであるべきであり、そのため、通常、ニュース項目やイベントを書くような人々による手作業の編集には適していません。

于 2009-01-18T10:17:23.187 に答える