Page MenuHomePhabricator

[Story] Support new types of Entities in Wikibase Client
Closed, ResolvedPublic

Description

This is a bug to track the issues in Wikibase Client that prevent it from working with new types of Entities, and thus the blockers for commons, advanced queries, etc.

The two main issues are:

  • Bad assumptions about Entities. For instance that they all have statements, or all have a fingerprint.
  • OCP violations: code that handles entities in a way that requires specific handling for different types, without providing an extension mechanism.

These can typically be found together.

Related emails:

Wikibase DataModel and Wikibase QueryEngine contained several instances of these problems as well. Since those have all been fixed some time ago, there are plently of examples of how this can be done.

To spot code making one of the described mistakes, you can look for:

  • code type hinting against Entity
  • code using deprecated methods of Entity
  • classes that have a name starting with "Entity" and have checks like "if is item"

See also: https://phabricator.wikimedia.org/T75496 (Support new types of Entities in Wikibase Repository)

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.

Event Timeline

JeroenDeDauw raised the priority of this task from to Needs Triage.
JeroenDeDauw updated the task description. (Show Details)
JeroenDeDauw changed Security from none to None.
JeroenDeDauw updated the task description. (Show Details)
JeroenDeDauw subscribed.
Lydia_Pintscher removed a subscriber: Unknown Object (MLST).
Jonas renamed this task from Support new types of Entities in Wikibase Client to [Story] Support new types of Entities in Wikibase Client.Sep 10 2015, 4:21 PM
Addshore claimed this task.
Addshore subscribed.

I mean, this now works