Wikibase does not appear to prevent the addition of multiple identical statements to an entity. It will happily allow, e.g., the statement "depicts (P180) Douglas Adams (Q42)" to be applied to an image twice.
We should prevent the CAT tool from adding duplicate depicts statements upon label approval by checking existing statements and only adding a new statement if the one to be added doesn't already exist.
Implementation details: add new boolean param to wbsetclaim in wikibase that defaults to false, that will prevent a duplicate mainsnak being created if set to true
Acceptance criteria
- If an image already has "depicts:X" and a user adds "depicts:X" via SuggestedTags then the second "depicts:X" will not be added
- the user should still be able to add multiple "depicts:X" tags via the File page
- nothing else breaks
COVID-19 Deployment Criteria
- Can you roll back this change without lasting impact?
- A recovery plan is required as this will help identify our capacity for recovering from the failure
- THIS IS A KEY QUESTION, if you can’t answer it, you shouldn’t deploy
- Is specialized knowledge required to support this change in production? If so, are there multiple people with this knowledge?
- Is there a way to increase confidence about the correctness of this change?
- Reviews (Design, Code, etc)
- Testing coverage (unit tests, integration tests)
- Manual testing (e.g. Beta, vagrant, docker)