google / peoplemath

Web application for team planning
Apache License 2.0
125 stars 34 forks source link

Automatic backup of period changes (e.g. to defend against UI bugs, or for an undo feature) #182

Open amdw opened 2 years ago

amdw commented 2 years ago

Right now there is no way to undo changes to periods which are committed to storage.

I suggest having the backend keep some copies of each period as it is modified. For example:

This would not only allow an undo feature to be built, that would be convenient for a user if they make some change by mistake, but it could also be an important safeguard against UI bugs. For example, if a bug caused the UI to remove or corrupt a large number of objectives, it would still be possible to recover the data.

An actual undo feature would require backups to be exposed via the web API, and a UI feature built to browse and restore them, but the UI bug safeguard would just require the copies to exist in the backend, so they could be restored by an administrator, e.g. through the Google Cloud Datastore web UI.