User:Legoktm/Architecture work
Over the years I've done a significant amount of architecture work for MediaWiki. This is an incomplete listing of the major work I've done, primarily focusing on those that went through the RfC process.
Date | Name | Role | Abstract | Status |
---|---|---|---|---|
August 2012 | Shadow namespaces | Co-author, partial implementor | This is a request for comments regarding implementing shadow namespaces, which refers to the concept where if a local page doesn't exist, it will be transparently fetched from a remote wiki, like how InstantCommons and foreign file repos currently work. | Some parts have been implemented, others are in draft and discussion |
May 2013 | AuthManager | Co-author and reviewer | The current authentication and authorization system is very limited and restricted in terms of the allowed customization, for system administrators, core developers, and extension developers. This RFC hopes to fix just a section of this problem: authentication. This will be done by deprecating the AuthPlugin system and replacing it will a comprehensive authentication layer. | Implemented |
October 2013 | Cross-wiki notifications | Co-author and co-implementor | Cross-wiki notifications would be added to the Echo extension. If a user's account is global (via CentralAuth/shared user table), all of their notifications would be accessible on all wikis they have an account on through the personal tools flyout as well as Special:Notifications (no-JS and archive). | Implemented |
November 2013 | Configuration database 2 | Co-author, lead implementor | This is a request for comments for MediaWiki to have a sane and easy to use configuration interface through the wiki user interface. | Partially implemented, in discussion |
December 2013 | Linker refactor | Lead implementor | MediaWiki should move away from using static functions, and a first step or trial of this would be to replace the Linker utility class with service objects. | Implemented |
January 2014 | Publishing the RecentChanges feed | Co-author | This is a proposal to provide a structured and machine-readable RecentChanges feed as an alternative to the current IRC system. | Implemented |
May 2014 | Extension registration | Author and implementor | This is a proposal to change the way extensions store metadata about themselves and how we enable them. | Implemented |
December 2014 | Global user preferences | Co-author, developed initial prototype extension | This request for comments encapsulates user preferences from MediaWiki core and user preferences from MediaWiki extensions (including the Gadgets and BetaFeatures extensions). Global here refers to preferences that would apply across a wiki-farm (e.g., Wikimedia-wide). | Implemented |
January 2015 | Improving extension management | Author | This RfC proposes a system for easier extension management through:
|
Abandoned |
May 2015 | Proper command-line runner for maintenance tasks | Co-author | maintenance/ is a mess: it contains over 150 PHP scripts, which range from essential to obscure or obsolete, with no sign-posts to guide the user to the one they need or to facilitate discovery. This RFC proposes to introduce a top-level command-line entry-point to MediaWiki which would provide access to individual maintenance tasks via subcommands.
|
Approved, needs implementing |
July 2015 | Content model storage | Author | A proposal to change how we store content model and format in the page, revision, and archive tables. | Approved, but never implemented due to MCR |
July 2015 | Moving database abstractions out of MediaWiki core | Co-author and co-implementor | MediaWiki has no support whatsoever for third-party database drivers, meaning that if someone wants to take it on themselves to add a new abstraction layer, the code must live in core. This RFC aims to provide the underlying infrastructure support in mediawiki to allow for database abstractions to be installed/included much like extensions and skins are. | Implementation in progress |
February 2016 | Notifications in core | Author | This is a followup to Notification framework (talk), and proposes that we move some of the code currently in the Echo extension into MediaWiki core. | In discussion |
September 2016 | Deprecation policy | Primary author and lead implementor | ...there is no consistent deprecation or backwards-compatibility policy, it is difficult for extension authors to anticipate what changes might need to be made and core developers who don't know how much they need to bend over backwards to provide back-compat. We should create an actual policy that is followed by developers. | Implemented, later superseded by Stable interface policy. |
September 2016 | Future of magic links | Author and lead implementor | Magic links are a feature of MediaWiki core that create automatic links for 3 hardcoded external identifiers. In many cases, local templates are preferable and more advanced than magic links. | Approved, partially implemented |
October 2016 | JSON validation | Co-author | As we increasingly store content in JSON, usually via ContentHandler, there is a need for a standardized JSON validation system that meets the requirements of Wikimedia projects. Based on an agreed-upon set of requirements, we should adopt a schema validator and implement it in MediaWiki core. | In discussion (TechCom doesn't consider it RfC worthy though) |
January 2017 | Accessing page properties from wiki pages | Co-author | MediaWiki has a page_props database table where certain attributes and values are stored on a per-page basis. Users cannot access a page's properties from other local wiki pages. | In discussion |
August 2017 | Move i18n data into JSON | Co-author | Let's move the rest of the i18n data in extensions into JSON. We previously migrated i18n messages. | In draft |
December 2017 | PlatformSettings.php | Author and implementor | Introduce a standardized and recommended way for re-distributors and packagers of MediaWiki to be able to tune DefaultSettings.php as appropriate. | Implemented |
July 2018 | Release notes automation | Co-author | Most of the developers working MediaWiki have encountered a merge conflict due to RELEASE-NOTES at some point. As a result it has become common to no longer add release notes. This RFC seeks to find a solution to this problem.
|
Approved, needs implementing |