HomePhabricator

[MCR] Factor PageUpdater out of WikiPage

Authored by daniel on Jan 27 2018, 1:48 AM.

Description

[MCR] Factor PageUpdater out of WikiPage

This introduces PageUpdater to replace WikiPage::doEditContent,
and DerivedPageDataUpdater, to replace WikiPage::doEditUpdates
and WikiPage::prepareContentForEdit.

See docs/pageupdater.txt for a description of their
functionality.

MCR migration notes:

  • The interface of PageUpdater is expected to

remain mostly stable after this patch. Code that has been using
WikiPage::doEditContent can be confidently migrated to using the
new mechanism for revision creation.

  • This patch keeps the code inside PageUpdater largely aligned

with the old code in WikiPage, to make review easier to to avoid
mistakes. It is intended to be refactored further, moving
application logic into stateless services.

  • DerivedPageDataUpdate is intended as a stepping stone for further

refactoring. Its behavior is designed to be compatible with
callback code that currently relies on
WikiPage::prepareContentForEdit. Much of the code that currently
lives in DerivedPageDataUpdate should be factored out into
services, all behavior relevant to calling code should be exposed
via narrow interfaces.

Bug: T174038
Bug: T196653
Change-Id: If610c68f4912e89af616cdcac1d35a1be3946afa

Details

Committed
AddshoreJun 14 2018, 1:22 PM
Parents
rMW3fc48dec34fb: Merge "Fix typo in method documentation"
Branches
Unknown
Tags
Unknown
References
refs/changes/15/405015/99
ChangeId
If610c68f4912e89af616cdcac1d35a1be3946afa