Page MenuHomePhabricator

Factor ChangeOps instantiation logic out of Api\EditEntity
Closed, ResolvedPublic

Description

Code deserializing change op JSON into ChangeOps should be moved out from Api\EditEntity into class (or several classes) implementing change op deserializer interface (T153950).

Api\EditEntity will then uses these classes without knowing any details on serialization, defined fields etc.
This will also allow extensions to add custom entity types (that do not have attributes that have been currently hard-coded in EditEntity).

Related Objects

Event Timeline

Change 331882 had a related patch set uploaded (by Jakob):
[WIP][DRAFT]Extract ChangeOp initialization logic from EditEntity.

https://gerrit.wikimedia.org/r/331882

Ricordisamoa renamed this task from Factor ChangeOps instantiation logic out of Api\EdtiEntity to Factor ChangeOps instantiation logic out of Api\EditEntity.Jan 12 2017, 6:07 PM
Ricordisamoa subscribed.
WMDE-leszek raised the priority of this task from Medium to High.Feb 20 2017, 2:02 PM

Bumping to high as we need this in order to use API to edit WikibaseLexeme's entities.

Change 334148 had a related patch set uploaded (by WMDE-leszek):
Add ChangeOpDeserializer for properties

https://gerrit.wikimedia.org/r/334148

Change 334145 merged by jenkins-bot:
[mediawiki/extensions/Wikibase] Add ChangeOpDeserializer for site link changes

https://gerrit.wikimedia.org/r/334145

Change 334148 merged by jenkins-bot:
[mediawiki/extensions/Wikibase] Add ChangeOpDeserializer for properties

https://gerrit.wikimedia.org/r/334148

Change 342429 had a related patch set uploaded (by WMDE-leszek):
[mediawiki/extensions/Wikibase] Introduce EntityChangeOpProvider

https://gerrit.wikimedia.org/r/342429

Change 342429 merged by jenkins-bot:
[mediawiki/extensions/Wikibase] Introduce EntityChangeOpProvider

https://gerrit.wikimedia.org/r/342429

Change 331882 merged by jenkins-bot:
[mediawiki/extensions/Wikibase] Move ChangeOp initialization logic to entity type definitions

https://gerrit.wikimedia.org/r/331882