Open
Description
I just had a very interesting discussion with Jeanot Bijpost, who built an inspiring interface for viewing a rich and detailed history of how a resource changed over time. It goes a couple of steps further than Atomic Commits. Not only does it show when a resource was edited, and by whom, it also shows when that change should go into effect (bitemporal / multitemporal DB), why the change was made (title, description), how certain we are about the changes (0 - 1), and perhaps even more.
I think it might make sense to allow Atomic Commits to have optional properties for these types of richer context.
- Atomic Commits are just resources, so there is no fundamental problem with adding other properties to them. However, they are parsed in some custom way, both in JS & rust.
- These extra properties can be ignored in most cases, but we can implement custom replay rulesets if we want to show info about these things. For example, the UI can show a warning icon if the value is not valid anymore, or if the certainty is low.
- The history view can show every part that we discussed (title, description, certainty, valid-from, valid-to). We might even need a second view that takes into accont the "valid-from" and "valid-to" dates, which would result in a view with two time axes.
- Setting these values can be done with a dropdown right next to the "save" button in the edit form. Or maybe a collapsible part of the form with these commit properties.
- Querying over these could be a challenge. For simple queries nothing changes, but what if we want to filter by "certainty > x" or "valid in date Y" or something like that? I'm not sure we should create indexes for these kinds of things.
I consider these features fun and interesting to explore, but not a priority. If you need this, please let us know in a comment below.
Metadata
Metadata
Assignees
Labels
No labels