daniel created this task.
daniel added projects: Wikidata, MediaWiki-extensions-WikibaseRepository.
Herald added subscribers: PokestarFan, Aklapper.

TASK DESCRIPTION

Wikibase has various API modules and Special pages that modify entities in different ways.

To ensure consistent handling of validation, permissions, edit conflicts, etc, all such API modules and special pages should follow the same pattern:

  • Check user input
  • Construct ChangeOp(s)
  • Pass ChangeOps to EntityModifier.
  • Report the outcome to the user (resp client). This would be quite different for API modules and Special pages.

EntityModifier is a new class to be introduced. It's conceptually similar to EntitySavingHelper, and it would contain an EditEntity interactor. EntityModifier shall have the following responsibilities (beyond the ones covered by EditEntity):

  • check ChangeOp specific permissions
  • apply validation
  • modify the Entity object
  • construct a summary
  • save the new version of the entity
  • report the outcome (probably using a Status object)

TASK DETAIL
https://phabricator.wikimedia.org/T171485

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: daniel
Cc: Aklapper, PokestarFan, daniel, GoranSMilovanovic, QZanden, Izno, Wikidata-bugs, aude, Mbch331
_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to