Requests for comment/Third-party components
Appearance
Third-party components | |
---|---|
Component | General |
Creation date | |
Author(s) | Tyler Romeo |
Document status | in draft |
Introduction
[edit]MediaWiki contains a number of bare-bones components made to fit specific needs in core. Some examples of these are logging using wfErrorLog, sending HTTP requests using the HttpFunctions class, etc. In each of these cases, just barely enough functionality was implemented to fit the needs of the application, and a lot of the time the code goes unmaintained so long as it keeps working.
At the same time, other open source projects have created entire libraries that do the same thing as the MediaWiki components, except are better maintained and much more functional. This RFC aims to replace one or more MediaWiki components with third-party open source components.
Possible replacements
[edit]MediaWiki component | Replacement library | Difficulty | Functionality advantages / disadvantages |
---|---|---|---|
HttpFunctions | Guzzle | Easy |
|
UserMailer | Swift_Mailer | Easy |
|
wfErrorLog / wfDebug / wfDebugLog | Monolog | Medium |
|
MediaWiki's global variable configuration | Symfony Config | Hard | Need I say any more |
WebRequest / WebResponse | Symfony HttpFoundation | Hard |
|
wfShellExec | Symfony Process | Incompatible |
|
HTMLForm | Symfony Validator | Medium |
|
Maintenance | Symfony Console | Medium |
|