這是一個複雜的抽象問題,所以請原諒我,如果它不夠詳細。解決自動更新和手動覆蓋之間的衝突
我遇到過無數次特定類型的問題:一方面,數據源用於定期更新某個數據結構的自動化方式,但另一方面,利益相關者希望成爲能夠手動覆蓋自動條目。
實施例:
你的產品,這是跟上最新(標題,描述等)由使用外部數據源(產品數據庫等一些自動化腳本列表)。
假設您的數據源中有烤麪包機「Freshtoast XYZ 300」,並且如果它的名稱更改爲「FreshToast!XYZ-300」,您希望將該更新傳播到您自己的(不同結構的)產品模型中。同時,如果同事不喜歡「Freshtoast XYZ 300」的名稱,並且想要將其更改爲「Freshtoast的Toaster XYZ 300」(手動),那麼您不希望重寫自動改變(他會生氣),但是你也不想簡單地忽略更新的名字,因爲如果同事知道這個改變,他會調整名字爲「Fresh Toast的烤麪包機XYZ-300!」。 。
什麼是「考慮」更新數據源的最佳方法 - 甚至被替代的數據 - 同時仍然允許手動操作? PS:我主要使用Ruby/Rails,但我想這個問題很普遍。另外,要清楚的是,自動更新是規則,而在這種情況下,手動覆蓋是例外。假設有200,000種產品每天都會更新,其中只有20種產品已經手動覆蓋標題。因此,例如,必須批准每一次更新都不是一種選擇。
我同意2個最直觀的解決方案是選擇性地「阻止」自動更新或者有一個類似於Git等版本控制系統的複雜「合併」過程。我不喜歡前者是它不夠透明(有時我可能不想忽略自動更新);我不喜歡後者的原因是它可能需要相當複雜的前端和後端更改,看起來有點像矯枉過正。 –
訣竅是找到合適的平衡點。你不想過度複雜化,但用戶應該對他們的控制水平感到滿意。 –