Last modified: 2014-11-18 17:07:26 UTC

Wikimedia Bugzilla is closed!

Wikimedia has migrated from Bugzilla to Phabricator. Bug reports should be created and updated in Wikimedia Phabricator instead. Please create an account in Phabricator and add your Bugzilla email address to it.
Wikimedia Bugzilla is read-only. If you try to edit or create any bug report in Bugzilla you will be shown an intentional error message.
In order to access the Phabricator task corresponding to a Bugzilla report, just remove "static-" from its URL.
You could still run searches in Bugzilla or access your list of votes but bug reports will obviously not be up-to-date in Bugzilla.
Bug 73496 - Support new Entity types
Support new Entity types
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
WikidataRepo (Other open bugs)
All All
: High major (vote)
: ---
Assigned To: Wikidata bugs
u=dev c=backend p=0
Depends on: 56711 62188 69752 73495 73497 73498 73499 73500 73559
Blocks: 64288 65626 69753
  Show dependency treegraph
Reported: 2014-11-16 21:06 UTC by Jeroen De Dauw
Modified: 2014-11-18 17:07 UTC (History)
7 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Description Jeroen De Dauw 2014-11-16 21:06:40 UTC
This is a bug to track the issues in Wikibase Repository that prevent it from working with new types of Entities, and thus the blockers for commons, advanced queries, etc.

The two main issues are:

1. Bad assumptions about Entities. For instance that they all have statements, or all have a fingerprint.

2. 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"

Note You need to log in before you can comment on or make changes to this bug.