Page MenuHomePhabricator

Present statement IDs in Wikibase REST API responses the way they are stored in persistence
Closed, ResolvedPublic5 Estimated Story Points

Description

Context: Historically, Wikibase software has allowed statement IDs that had Q-ID (or P-ID) part lowercased. It has resulted e.g. on Wikidata to have statements in mixed case, e.g. q7348050$F81E10C9-8F35-4F21-9057-BE76C1E0AB5A and Q7348050$6252EE3A-D5AC-45D7-9A41-85D4087AB6D9 on the same item.
As the statement ID is used to identify it, in REST API but also in other Wikibase interfaces, Wikibase REST API cannot stop handling those.

Currently Wikibase REST API "normalizes" statement IDs in the data presented in its responses but always using uppercase characters in statement IDs. This might lead to giving wrong IDs to the Wikibase REST API clients, and therefore we want to present statement IDs exactly how they're stored in Wikibase.

Task Breakdown Notes

  • Modify the StatementGuid constructor: add a third parameter with the original (case sensitive) statementId, default to null.
  • Change the StatementGuidParser to pass the original ID into the StatementGuid object upon initialisation

Event Timeline

WMDE-leszek renamed this task from Do not uppercase statement IDs in Wikibse REST API responses to Do not uppercase statement IDs in Wikibase REST API responses.Jan 3 2024, 1:26 PM
WMDE-leszek renamed this task from Do not uppercase statement IDs in Wikibase REST API responses to Present statement IDs in Wikibase REST API responses the way they are stored in persistence.Jan 3 2024, 1:30 PM

Change 989791 had a related patch set uploaded (by Ollie Shotton; author: Ollie Shotton):

[mediawiki/extensions/Wikibase@master] REST: Make `StatementGuid` preserve case

https://gerrit.wikimedia.org/r/989791

Change 989791 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Make `StatementGuid` preserve case

https://gerrit.wikimedia.org/r/989791