User:Dantman/Page output branch

From MediaWiki.org
Jump to: navigation, search

[edit] Goals

  • Implementation of Requests for comment/Drop actions in favour of page views and special pages
  • The creation of a new PageView system.
    • Instead of an Article instance a PageView instance controls what is output into a page including &oldid= handling
    • SpecialPages become PageView implementations
  • Removal of the Action system
    • Implementation of actions as special pages
    • Implementation of a layer that lets us use &action= urls for title (and maybe user?) targeted special pages like history, edit, whatlinkshere, and maybe block.
  • Removal of functional logic from SkinTemplate
    • Generation of page tabs becomes the job of PageView instead of code hardcoded into SkinTemplate.
    • Likewise for links such as contribs links from a userpage.

[edit] Plans

  • Start implementing PageView by migrating things piece by piece from Article. - Partially done
  • Implement a new SpecialPage interface for action like special pages
    • SpecialPage name autodetection from class name. - Done (@todo Perhaps we should add a test to ensure that 'SpecialPage' doesn't make it think the name is 'Page')
    • Targetable special pages - Partially done
      • target() and executeWithTarget() - Done
      • Type sensitive target() - Done
      • Default executeWithoutTarget() form.
    • A way to mark special pages as ones that should use &action= urls
  • Implement actions as special pages
    • Actions within Article
      • Delete
      • Protect
      • Unprotect
      • Render
        • Should we implement Special:Render in a way such that Special:Render/Special:Version works?
    • Actions with their own custom class
      • Raw
      • Edit
        • Find some way to deal with &action=submit
      • History - Partially done
    • Action class based actions
  • Implement SpecialPage as a PageView.
  • Implement tab handling inside PageView
  • Implement canonical url handling inside PageView
  • $wgSpecialPageAliases
  • ...
  • Look over what extensions do with Article and other things that are broken, implement compatibility layers for that functionality and find a way to allow extensions to transition to the new patterns.
Personal tools
Namespaces

Variants
Actions
Navigation
Support
Download
Development
Communication
Print/export
Toolbox