As an admin I want to be able to block users and not have them be able to assign new entity ids in order to avoid large gaps in entity id assignments
Problem: When a user is blocked, using wbeditentity in an attempt to create a new item / property will still end up with that item / property ID being assigned by Wikibase (though it is never used)
Screenshot & Example:
In the screenshot (from test.wikidata.org) when testing the green line is where the issue occurs:
- Item ending in 29 was created by Addshore
- Lydia was blocked
- Lydia tried creating an item using wbedtientity API
- Lydia was unblocked
- Lydia tried creating another item (succeeded ending in 31)
- the item ending in 30 was skipped.
The API call used to attempt the creation was:
BDD
GIVEN a user is blocked
WHEN that user tries to create an entity via wbeditentity
THEN no entity ID should be assigned
Acceptance criteria:
- When a user tries to create a new entity via wbeditentity (item or property) and they are blocked, then a new ID should not be assigned.
Original report
When somebody is blocked and they try to create a new item, save is not possible but wb_id_counters table is updated, therefore a Qid is lost permanently. This may be an abuse potential (creating higher database load) for malicious users with no way either to detect or to stop on wiki. Ideally no Qid should be assigned if the save is not possible (also when label/description conflict, invalid entity data, etc).