User:Daniel Kinzler (WMDE)/MCR-todos


 * RevisionStore T174024
 * ...new Schema (needs test wiki, T192306) 406595
 * ...multiple slots (needs test wiki, T192306) 416465
 * replace all usages of the old Revision class with RevisionRecord and RevisionStore (mid term, not a blocker)


 * Schema migration T183488
 * script for fixing duplicates in the archive table T182682 403879
 * script for populating the new tables T193180 429345 429455


 * PageUpdater T174038
 * PageUpdater base patch [needs test wiki]
 * define setAllowedSlots method, until we have a better solution (PageTypeHandler RFC).
 * replace prepareContentForedit
 * introduce a SlotRenderingProvider (and a Rendering interface)
 * replace Content::getSecondarydataUpdate T190063
 * replace WikiPage::doEditUpdate
 * make search aware of multiple content slots T190066
 * replace hook points - soon, or when the dust has settled? T192307
 * factor event emitter out of DerivedPageDataUpdater (could be part of PageTypeHandler RFC)


 * Introduce a SlotRoleHandler
 * specifiy initial interface (TBD: User:Daniel_Kinzler_(WMDE)/MCR-SlotRoleHandler)
 * create a SlotRoleRegistry for obtaining a SlotRoleHandler for a given Title and role name. Could be based on per-namespace configuration directly, or be defined indirectly via PageTypeHanlders. We don't need to decide this in order to specify the interface and provide an initial implementation, but we should decide this before we introduce the config variables.


 * RevisionRenderer 421794
 * Basic RevisionRenderer
 * -> SlotHandler to compose ParserOutput
 * implement logic for copying one ParserOutput into another (messy, see )
 * Decide on if and how we want to re-use rendered content when only some slots have changed (see discussion at User:Daniel_Kinzler_(WMDE)/MCR-PO).
 * replace Content::getParserOutput
 * Allow data-access across slots T187935
 * enable multi-slot view T174035. This may be possible without changing Article::view, if we are careful/lucky.


 * Refactor EditPage
 * break out EditController (not needed for SDC)
 * break out DiffView
 * implement multi-slot diff view (blocks SDC!) T189809
 * break ConflictView
 * allow multiple pluggable editors per model (not needed for SDC)
 * allow multiple editors on the same page (not needed for SDC) T174033


 * Refactor Article
 * introduce PageTypeHandler
 * replaces WikiFilePage, WikiCategoryPage
 * break out PageView (FilePageView, CategoryPageView, TemplatePageView, etc)
 * figure out how they interact with RevisionRenderer (PageTypeHandler RFC)
 * figure out action handling (extra stuff on purge, move, delete, etc for File pages, Category pages, Template pages, Module pages, Message pages, Script pages, etc...)
 * Make "undo" work with multiple slots T189808. Baseline: let undo fail with a nice message if there is more than one slot.


 * Prepare API T174032 (Brad has been working on this)


 * Single-slot UI


 * MCR in XML Dumps T174031


 * Make Extensions MCR-Aware: T189220
 * Spam Blacklist
 * AbuseFilter