2

これは少し複雑で抽象的な質問なので、具体的でない場合はご容赦ください。

私は何度も特定のタイプの問題に遭遇しました: データソースは、一定の間隔で自動化された方法で特定のデータ構造を更新するために使用されますが、他方では、利害関係者は手動で上書きできるようにしたいと考えています。自動入力。

例:

外部データ ソース (製品データベースなど) を使用する自動化されたスクリプトによって最新 (タイトル、説明など) に保たれている製品のリストがあります。

データ ソースにトースター "Freshtoast XYZ 300" があり、その名前が "FreshToast! XYZ-300" に変わった場合、その更新を独自の (異なる構造の) 製品モデルに反映させたいとします。

同時に、同僚が「Freshtoast XYZ 300」という名前を気に入らず、「Toaster XYZ 300 by Freshtoast」に (手動で) 変更したい場合、その変更を自動的に上書きしたくありません (彼はしかし、同僚が変更を知っていれば、名前を "Toaster XYZ-300 by FreshToast!" に調整するため、更新された名前を単純に無視したくはありません。


更新されたデータ ソースを "検討" するための最良の方法は何ですか?

PS: 私は主に Ruby / Rails を使用していますが、質問は非常に一般的だと思います。また、明確にするために、このシナリオでは自動更新がルールであり、手動オーバーライドは例外です。たとえば、毎日 200,000 個の製品が更新され、そのうち 20 個だけが手動でタイトルを上書きしたとします。したがって、たとえば、すべての更新を承認する必要があるという選択肢はありません。

4

1 に答える 1

1

ここでは何も行きません...

ハンズオフ アプローチ: ユーザーが操作した列のシリアル化されたリストを含む文字列列を製品テーブルに追加します。ユーザーが製品テーブルの列に触れるたびに、それをシリアル化されたリストに入れます。自動アップデーターがそのレコードにヒットすると、無視すべき列のリストをチェックします。

手動のマイクロマネージャー アプローチ: バージョン管理ライブラリ (vestal_versions gem など) を使用し、products テーブルに user_id 列を追加します。ユーザーがタッチしたレコードが自動的に更新されるたびに、通知を送信し、承認または拒否できる前/後を表示できるようにします。

于 2012-08-28T17:57:35.937 に答える