These methods need to move to new corresponding methods in ContentHandler. [[ https://gerrit.wikimedia.org/r/c/mediawiki/core/+/705780 | Here's a patch ]] that does the first part of the work for Content::preSaveTransform.
The signature of the ContentHandler method should be:
- ContentHandler::prepareSave( Content, PageRecord, int, int, UserIdentity ) // TODO: discuss if PageRecord is needed or we can just do PageIdentity/Reference
The process:
[] Do the same as in the referenced patch for all the methods.
[] In all extensions where Content overriding classes override the method - override the ContentHandler method instead
[] Wikibase (deployed) -> [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Wikibase/+/734261 | Patch ]]
[] ProofreadPage (deployed) -> [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ProofreadPage/+/734949 | Patch ]]
[] Scribunto (deployed) -> [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Scribunto/+/734950 | Patch ]]
[] TemplateStyles (deployed) -> [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/TemplateStyles/+/734957 | Patch ]]
[] Translate (deployed) -> [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Translate/+/734960 | Patch ]]
[] examples -> [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/examples/+/735395 | Patch ]]
[] StructuredNavigation -> [[ https://phabricator.wikimedia.org/T294569 | Ticket ]]
[] TEI -> [[ https://phabricator.wikimedia.org/T294572 | Ticket ]]
[] WikiLambda -> [[ https://phabricator.wikimedia.org/T294574 | Ticket ]]
[] SemanticMediaWiki -> [[ https://phabricator.wikimedia.org/T294576 | Ticket ]]
[] Replace all callers. Use ContentHandlerFactory to obtain a ContentHandler, not the Content::getContentHandler method
[] core -> [[ https://gerrit.wikimedia.org/r/c/mediawiki/core/+/732962 | Patch ]]
[] ProofreadPage (deployed) -> [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ProofreadPage/+/734949 | Patch ]]
[] TemplateStyles (deployed) -> [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Translate/+/734960 | Patch ]]
[] AdvancedMeta -> [[ https://phabricator.wikimedia.org/T294638 | Ticket ]]
[] TEI -> [[ https://phabricator.wikimedia.org/T294572 | Ticket ]]
[] WikiLambda -> [[ https://phabricator.wikimedia.org/T294574 | Ticket ]]
[] SemanticMediaWiki -> [[ https://phabricator.wikimedia.org/T294576 | Ticket ]]
[] Once all callers and overrides in extensions is done, do some hard deprecations. Add version parameter to MWDebug::detectDeprecatedOverride in deprecation method.