Description
WikiLambdaDiff currently calculates Diffs returning the following format:
{ "root.Z2K3.Z12K1.1.Z11K2": { "type": "change", "oldvalue": "Some string", "newvalue": "Some monolingual text" } }
Where, for each atomic change, we are extracting:
- The path: root.Z2K3.Z12K1.1.Z11K2
- The operation: change | add | remove
- The old and/or new values
When using the history page to compare two revisions, these atomic changes must be translated into an and accessible interface that users can easily read and understand.
Some resources of interest:
- How does Wikidata show diffs: https://www.wikidata.org/w/index.php?title=Q842283&type=revision&diff=1689665462&oldid=1663021506
- How does Wikipedia show diffs: Wikipedia Pangolin History: https://en.wikipedia.org/w/index.php?title=Chinese_pangolin&type=revision&diff=1115626891&oldid=1115481256
- Wikibase relevant code: https://codesearch.wmcloud.org/search/?q=diff-addedline&i=nope&files=&excludeFiles=&repos=Extension:Wikibase
Desired behavior/Acceptance criteria (returned value, expected error, performance expectations, etc.)
This task requires:
- Research and understand Mediawiki architecture and standard practices reg. generating the diff visual interface
- Consider all possible options (e.g. static html built from php, or vue component that receives Diff scaffolding and creates a more dynamic interface?)
- Design and document a proposal
Completion checklist
- Before closing this task, review one by one the checklist available here: https://www.mediawiki.org/wiki/Abstract_Wikipedia_team/Definition_of_Done#Back-end_Task/Bug_completion_checklist