Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Topic snapshots #563

Open
keyserj opened this issue Nov 6, 2024 · 0 comments
Open

Topic snapshots #563

keyserj opened this issue Nov 6, 2024 · 0 comments
Labels
clarity makes something easier to understand enhancement New feature or request for long-term topics helps with topics that are expected to be used over months or years topic refactoring tooling to simplify improvement of a topic's structure

Comments

@keyserj
Copy link
Collaborator

keyserj commented Nov 6, 2024

Describe your issue

I frequently want to make large changes to a diagram while preserving the ability to see what the previous structure was. Right now, in order to do that, I need to clone the diagram, and add some suffix like "[topic-name]-refactor".

One consistent example of this is after a discourse session - wanting to preserve what we had at the end vs refactor it afterwards.
Another example is when showing the difference between two ways of organizing the same information - like entirely via a claim tree vs using structure nodes.

Solution you'd like

Probably #371 needs to be done first

Ability to create/load/delete/rename snapshots would be good, maybe a Snapshots section could be added to wherever History lives. Loading a snapshot would get all the nodes and edges from that specific point in time and populate the diagram with those - to be interacted-with view-wise as if it were the current diagram (without editing - if you want to edit, download the diagram and re-upload).

Questions

  • Should snapshots be taken manually, or also automatically? Could do 1 every X (100?) changes
    • routine snapshots don't seem necessary if there's already a history you can click through

Alternatives you've considered

Potentially adding tags to mark points in the history could also work, but it would be good to enable users to easily see all the snapshots, and not have to scroll through 100s or 1000s of non-snapshot changes.

Additional context

No response

Technical ideas and questions

One idea:

  • Add "created_at" and only create new records, never update
  • All reads need to group by UUID and get the latest one
  • Topic Snapshot just consists of a name, a topic id, and a time
  • Loading a snapshot would call GetData endpoint with a time, which pulls all records based on created_at <= time
@keyserj keyserj added enhancement New feature or request clarity makes something easier to understand topic refactoring tooling to simplify improvement of a topic's structure for long-term topics helps with topics that are expected to be used over months or years labels Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarity makes something easier to understand enhancement New feature or request for long-term topics helps with topics that are expected to be used over months or years topic refactoring tooling to simplify improvement of a topic's structure
Projects
Status: No status
Development

No branches or pull requests

1 participant