I should be able to edit and save changes coherently

(User Story, Investigate , Priority: Critical, Test Status: No automated tests yet , Reported By Bad Link: Thing 3y284oe not found, )
Summary: The underlying requirement here is that Eric wants to be able to implement a concept of "Minor Changes", a common feature in wikis. The problem is, this is hard to do with live editing.
In theory, this seems somewhat straightforward, although not trivial:
  • Introduce a new Advanced Property named "Live Editing" or something like that, which defaults to true. This is typically set on the Model.
  • Iff the Thing has Live Editing set, we work the way we're used to now.
  • Iff Live Editing is not set, the Editors turn off the usual realtime save(). (This is probably most of the effort.) Instead, they set a changed flag when they would save, and we display a "Save" button instead of "Done". When you press "Save", it sweeps all of the changes, saves all of them and waits for confirmation before moving on.
  • This needs to happen for both the Instance Editor and Advanced Editor. The Instance Editor will be more of a pain in the ass, and may get put off until later. Possibly non-Live Editing Things automatically get kicked to the Advanced Editor for now.
  • We might reverse the semantics of the Property, and call it "Requires Explicit Save", or something like that.
Validate this design, and make sure that it is plausible, but my recollection is that we should be able to do all this within the current APIs.