Page MenuHomePhabricator

Clarify the MediaInfo data model in relation to Wikibase [Epic]
Closed, DeclinedPublic

Description

Currently, MediaInfo relies on the Wikibase data model for how Statements are handled. There are both pros and cons for this approach.

Pros:

Cons:

  • Our extension becomes "tightly coupled" with Wikibase
  • If Wikibase changes their data model internally (which sounds like it may be happening eventually), our own functionality could break with little warning
  • If a core data structure like the Statement is an external dependency, it will be harder to write good unit tests: we will need to mock out much of that functionality which means our tests diverge further from the real world
  • It will be easier to reason about what is going on in our own code if we don't have to cross-reference with classes inside another (quite complex) codebase.

If we decide we do not want to rely on Wikibase classes internally, we wil need to develop our own. We would also need to add some sort of API adapter class which would become the "point of contact" between our extension and Wikibase before data gets translated into our own models.

Let's decide as a team how we want to proceed, then we can create other sub-tasks based on the course of action we choose.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Ramsey-WMF moved this task from Untriaged to Desired epics on the Multimedia board.
Ramsey-WMF moved this task from To Do to Blocked on the Structured Data Engineering board.
matthiasmullie subscribed.

The existing Wikibase datamodel objects continue to be supported upstream and there are no plans of removing them.
We are no longer actively working on this much, so there is no reason to pursue this any further & we'll stick with what we've got.