Content Revisioning
Summary
- Support multi-level versioning (i.e., revisions of decks, slides, questions etc.), and allow branching/forking of decks. Support computation of diffs between item (deck, slide etc.) revisions, and merging between different branches.
Background and goals
This is a critical feature of the platform that will enable:
- Versions of decks and slides (and minor content items such as questions)
- Branches of decks that result in autonomous published decks or concurrent development of content
- Merging of different branches
- Smart diff algorithms to detect and compare changes
Assumptions
- Revisioning is done on different and independent levels (e.g. changes in a slide create a new slide revision, but not a new deck revision of the slide's container deck)
- Branching is allowed only on decks
- Branching a deck results in recursive copying of its contents in the new branch
- For slides, every change performed in metadata and/or content implicitly results in new slide revision
- For decks, every change performed in metadata, content appearance (e.g. new slides appear), content ordering, implicitly results in new deck revision
Requirements
# | Title | User Story | Importance | Notes | JIRA |
---|---|---|---|---|---|
1 | Revision of deck | I want the changes on a deck to be logged as a new deck version, so that I can keep the history. |
| ||
2 | Revision of slide | I want the changes on a slide to be logged as a new slide version, so that I can keep the history. |
| ||
3 | Branch of deck | I want to be able to explicitly create a new branch from a deck. | |||
4 | Merging | I want to merge different branches of a deck into one branch. | |||
5 | Diff | I want to be able to compute and see the differences/changes between versions of decks/slides in a meaningful way. | |||
6 | Multilinguality |
User interaction and design
Description of fields/input/elements + validation + test scenarios
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Asked by | Outcome |
---|---|---|
Not Doing
Feature | Status |
---|---|
Source material for user/stakeholder feedback
Requirements (/user stories) from pilot roadmap:
Evaluation/improvements by Farid Hasanov master thesis :
Evaluation at UniBonn :
Project Partners feedback: