Page MenuHomePhabricator

refactor Item, split data model from database glue
Closed, ResolvedPublic


The Wikibase\Item class currently models the item data and also handles database updates and other things that will only work on the repository.

In the light of the imminent refactoring of ContentHandler, moving more functionality into the Content class, it seems like a good idea to refactor Item as well:

  • put all code related to the data structure as such into the Item or ItemData class.
  • put all code related to rendering, editing and storing into the ItemContent class, which implements Content and wraps an instance of ItemData.

There could be an interface (Item?) shared by both, but that may cause more confusion than it actually helps (see the Page vs WikiPage mess).

Version: master
Severity: normal
Whiteboard: storypoints: 21



Event Timeline

bzimport raised the priority of this task from to Unbreak Now!.Nov 22 2014, 12:24 AM
bzimport set Reference to bz37748.

Verified in Wikidata demo time for sprint 8