|Declined||Mglaser||T467 RfC: Extension management with Composer|
|Resolved||• Legoktm||T485 RfC: Extension registration|
|Open||None||T61872 Add mechanism to prevent autoloading of Composer installed extensions via LocalSettings.php|
- Mentioned In
- rEBOPf8bc1c823ca5: Update patch set 1
T194878: Add the Packagist webhook to wikimedia/mediawiki repo on GitHub
T112899: Add support for Composer
T60459: Add Composer support
T60458: Add Composer support
T60457: Add Composer support
T191003: SpamBlacklist : set extension name in composer.json
T188188: Composer support
T185406: Composer doesn't enable GraphViz
T178137: MediaWiki-Vendor is an unnecessary unique practice that must be manually maintained
T170897: Setup a Composer Repository (Packagist) for MediaWiki Extensions
T91306: Make extension installable with Composer
T167038: Separate "application" and "project" concerns
T166956: Cannot use Composer's CLI to manage a project's dependencies
T92826: Ready-to-use Docker package for MediaWiki
T93616: Restore WikiEditor on packagist.org, so that it's installable via composer
T86475: Add monobook to packagist.org
T121210: Create packagist.org package for HitCounters
T86476: Allow ConfirmAccount to be installed via composer and add to packagist.org
T135913: Add composer.json file to CommonsMetadata
T110638: Add Composer support
rSVEV28c2e986ae5e: Don't autoload Vector.php using composer.json
T123363: LQT has invalid composer.json
T115392: MediaWiki 1.26 bundled repo should be state of the art
rSVEC28c2e986ae5e: Don't autoload Vector.php using composer.json
rSKIN8bb3cf8e1959: Updated mediawiki/skins Project: mediawiki/skins/Vector…
T61872: Add mechanism to prevent autoloading of Composer installed extensions via LocalSettings.php
T534: Create a List of Requirements for Extension Management
T88596: Improving extension management
- 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 #mwstake 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
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.