Page MenuHomePhabricator

[Architecture] reconsider wbeditentity
Open, LowPublic

Description

We should re-consider the merits of the wbeditentity module. Some problems and proposals that should be investigated:

  • Should we have wbeditentity at all, or rely on specialized modules for each kind of edit?
  • Should we have only wbeditentity, and not have specialized modules for each kind of edit?
  • Should wbeditentity be able to create new entities, or should creation be left to dedicated API modules? We have dedicated Special pages for creating each kind of entity, after all.
  • Should we have distinct modules, or at least use distinct parameters, for the operational modes of wbeditentity:
    • create a new entity
    • replace and entity with the data provided (triggered by the "clear" flag)
    • modify parts of an existing entity (using the input format defined by ChangeOpDeserializers)
  • Should we use an actual diff or patch format instead of magic ChangeOpDeserializer syntax? How about http://jsonpatch.com/?