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

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T75496, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 73496 - Support new Entity types
Support new Entity types
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
WikidataRepo (Other open bugs)
unspecified
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: ---


Attachments

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:

* https://lists.wikimedia.org/pipermail/wikidata-tech/2014-August/000546.html
* https://lists.wikimedia.org/pipermail/wikidata-tech/2014-August/000545.html & https://lists.wikimedia.org/pipermail/wikidata-tech/2014-August/000546.html

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.


Navigation
Links