Motivation
For mobile edits, we don't want to create every action atomically. Reasons for this are:
- The number of edits currently created by one save creates rather cluttering watchlists
- It would create a lot of requests, and this would increase needed band width
- It would create "part error states", where some part of an edit is saved, but some other part is not
However, editors should still be able to understand as much as possible about an edit without having to look at the diff. Thus we need edit summaries that are as specific as possible, and at the same time not overwhelming.
As a Wikidata or a Wikipedia patroler (both are affected!)
I want to understand what an edit was about just by reading the edit summary
so that I identify vandalism right from my watchlist
Acceptance Criteria
- Provide custom generated edit summaries, in accordance with Choosing summary version mechanism
Technical thoughts
- In order to create a general "edit summary creation" point, the edit summary should be generated as part of the wbeditentity endpoint.
- Dealing with change operations was a struggle in the lexeme project, maybe we can learn something from there?
Edit summary versions
Expanded version
Show each change seperated by comma, in the following format:
<Added/Changed/Removed> [<language code>] <label/description/alias>: <new label/description contents>,
Example:
Added [en] label: Frame of Notre-Dame de Paris, Changed [en] label: Maja, Added [fr] alias: Marie
The wording is attempted to be as close to the current edit summary formulation as possible
Shortened version
Changed labels, descriptions and/or aliases in: <all language codes that changed >
Example:
Changed labels, descriptions and/or aliases in: fr, es, en, pl, zh, it, hu
Fallback version
Changed label, description and/or alias [whichever of them has been touched anywhere] in XX languages
Example:
Chenged label, description and/or alias in 60 languages
Choosing summary version mechanism
The limit for summary length we want to stick to for now is 480 characters in total.
Go through the following steps to choose the summary version:
- If 5 or less terms have changed, we generate expanded version. If this generated summary is below the limit, we stop and use it.
- If 50 distinct languages or less have changed, we generate shortend version. If this generated summary is below the limit, we stop and use it.
- Otherwise, we generate fallback version and use it.