We currently have a tools history page that can be accessed with URL path that looks like this "/tools/<tool name>/history". Accessing this URL leads to a page where you can view the revision history of the tool, view diff of the various revisions and take patrolling actions like undo and revert.
There is a need to implement a feature with similar functionalities as the tool history page, but this time for tools list.
Just like we access the tool history with "/tools/<tool name>/history", we need a feature that allows us to access tools list history by visiting the URL path "/lists/<id>/history".
User story
As a Toolhub user, I want to view a list's revision history in the same way that this is currently possible for tools so that I can see what changes have been made during the list's existence and take action if needed.
Acceptance criteria
- There should be a “View history” button in toolhub.wikimedia.org/lists/{list-id}
- When the “View history” button is clicked, it should lead to /lists/{list-id}/history
- /lists/{list-id}/history should contain the following elements:
- The title “List history”
- The text “view history for this list”
- A “back to list info” button
- A “compare two selected revisions” button, which is inactive unless two revisions are selected
- A list of revisions with checkboxes, in most-recent-first chronological order
- The options to “undo” or “revert” each revision
- Other actions, depending on user permissions?
- Pagination
- When a specific revision is clicked, it should lead to /lists/{list-id}/history/revision/{revision-id}
- /lists/{list-id}/history/revision/{revision-id} should contain the following elements:
- The text "List revision as of {datetime} by {user} ({revision info})"
- A “Back to list history button”
- A view of the list as it looked at that point in its history
- When the “compare two selected revisions” button is clicked, it should lead to /lists/{list-id}/history/revision/{revision-id}/diff/{other-revision-id}
- /lists/{list-id}/history/revision/{revision-id}/diff/{other-revision-id} should contain the following elements:
- The title “Revisions Diff”
- The text “View difference between revisions of list {list-name}”
- A “Back to list history button”
- A split view of the two revisions displaying the diffs, with the most recent revision on the right side
- Additional criteria
- New messages should be added to vue/src/assets/locales/i18n/{en,qqq}.json