We need to decide on the Extension management with Composer RfC
Description
Details
Project | Branch | Lines +/- | Subject | |
---|---|---|---|---|
mediawiki/core | master | +2 -356 | Remove support for extensions requiring a MW version via Composer |
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Declined | Mglaser | T467 RfC: Extension management with Composer | |||
Resolved | Legoktm | T485 RfC: Extension registration | |||
Open | Feature | None | T61872 Add mechanism to prevent autoloading of Composer installed extensions via LocalSettings.php |
Event Timeline
This RfC will be discussed in the next rfC meeting on Wednesday 24 at 21:00 UTC: https://lists.wikimedia.org/pipermail/wikitech-l/2014-September/078698.html
- https://www.mediawiki.org/wiki/Requests_for_comment/Extension_management_with_Composer (TimStarling, 21:02:11)
- if the composer dev team want to support mediawiki extensions, then we should probably help them with that (TimStarling, 21:27:00)
- legoktm: So, I don't really see composer as something that as necessary to improve "extension management" (TimStarling, 21:27:16)
- Daniel thinks composer would be useful in managing dependencies between extensions etc. (TimStarling, 21:28:05)
- composer manages dependencies, but currenly has no support for optional extensions/plugins/modules. when used naively, extensions would pull in core as a library. (DanielK_WMDE_, 21:28:37)
- probably best to do the "extension registration" RFC first and this RFC second (TimStarling, 21:29:02)
- ACTION: mglaser will propose requirements on the RfC and ask you all for comments (TimStarling, 21:30:40)
- ACTION: mglaser will try to get in touch with the guy in Berlin via lydia (TimStarling, 21:30:50)
We discussed this in the latest MediaWiki-Stakeholders-Group meeting. Some action items and notes:
- Cindy: there's a showstopper for composer for them. It is not possible to turn extension on and off separately without turning off the dependencies. Reluctant to put up the effort of using it als long as the usage is still unclear.
- Karsten agrees. It's hard to use it in environments that are not homogenous.
- Lot of focus on single wiki use case.
- Should we reach out to the composer people?
- ACTION; Markus. find contact of composer people and send it to Cindy and Karsten
- ACTION: Cindy and Karsten get in touch with composer people
- There's a new way of extension registration. Does composer still apply?
- Markus: let's work towards separation of concerns. And work
https://github.com/composer/composer/issues/4109 for a response from the Composer people on something that is essential for WikiFarms. WONTFIX.
This seems a weird decision to me. Composer *without* autoload entries works very well with extension registrations wfLoadExtensions.
I very much dislike how this RfC resolution is used to forbid people to use composer with extensions, see https://gerrit.wikimedia.org/r/#/c/190027/ for example. This resolution has not even been communicated on Wikitech-l.
@Nikerabbit: the decision is to not use composer to register components. That is, composer's autoload feature should not be used to execute an extension's entry. Composer can and should be used to pull in any dependencies an extension may have, and it may also be used to install the code of an extension, and to auto-load an extension's classes. It shall not be used to activate the extension - for that, the wfLoadExtensions should be used.
@daniel based on this clear statement, what can/should we do to a) publicize this decision and b) help convert extensions that are currently in violation?
(not sure if that is a patronizing we, dictorial we or a more friendly inclusive we)
Perhaps document this on https://www.mediawiki.org/wiki/Manual:Composer.json_best_practices ? And make a task listing the extensions that need fixing then propose patches for them?
Change 551346 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/core@master] Remove support for installing extensons via Composer