Talk:Request for Comment/Hybrid extension management: Difference between revisions
Jeroendedauw (talk | contribs) No edit summary |
(โโ: new section) |
||
Line 22: | Line 22: | ||
Without the install time check, Composer will happily pull in versions of the extension incompatible with your MediaWiki version. For instance if you run MW 1.31 and the latest version of the extension requires MW 1.34. With the install time check, Composer will get you the most recent version of the extension that works with MW 1.31. Without you'll get the version that requires MW 1.34. Which you'll find out when you try to enable it. This way the user is forced to manually figure out the compatibility constraints rather than rely on Composer. It also reduces the utility of the enable time check, since the user already had to take care of it themselves anyway. --[[User:Jeroendedauw|Jeroendedauw]] ([[User talk:Jeroendedauw|talk]]) 14:35, 5 April 2020 (EDT) | Without the install time check, Composer will happily pull in versions of the extension incompatible with your MediaWiki version. For instance if you run MW 1.31 and the latest version of the extension requires MW 1.34. With the install time check, Composer will get you the most recent version of the extension that works with MW 1.31. Without you'll get the version that requires MW 1.34. Which you'll find out when you try to enable it. This way the user is forced to manually figure out the compatibility constraints rather than rely on Composer. It also reduces the utility of the enable time check, since the user already had to take care of it themselves anyway. --[[User:Jeroendedauw|Jeroendedauw]] ([[User talk:Jeroendedauw|talk]]) 14:35, 5 April 2020 (EDT) | ||
== Moved to RFC on Phabricator == | |||
Recently there has been movement in MediaWiki to [https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/551346/ remove composer completely] ([https://phabricator.wikimedia.org/T249573 RFC]). | |||
As a result, we are not able to iterate over this RFC here and I have moved it to an [https://phabricator.wikimedia.org/T250406 RFC for MW on phabricator]. | |||
Please comment and add any improvements there. |
Revision as of 11:54, 16 April 2020
Improvements of ExtensionRegistry
Let's assume "ExtendedVisualEditor" extension has a dependency to "VisualEditor" in version "1.31", but "VisualEditor" is not enabled or enabled but in version "1.35". Current situation is that putting
wfLoadExtension( 'ExtendedVisualEditor' );
to LocalSettings.php
will result in an uncatchable Exception
, which will bring the wiki down.
Rather than this, MediaWiki ExtensionRegistry should just "load" but not "enable" it. It could then be listed e.g. on "Special:Version" as "disabled". The actual way of how to implement this still has to be discussed.
Notes about Composer as a build tool
- BlueSpice wants real version constraints instead of dev-REL* (later!)
- Versioning of MW Extensions instead of relying on release branch (later!)
Further notes
- To discuss: Drupal as an example of how Composer was adopted by a project as "module (=extension) management tool" (later!)
Looks good to me
As someone that has been using Composer in several extensions for many years, this proposal looks good to me. --Jeroendedauw (talk) 12:48, 3 April 2020 (EDT)
Actually I do see a problem with relying purely on the MW version constraint in extension.json/skin.json.
Without the install time check, Composer will happily pull in versions of the extension incompatible with your MediaWiki version. For instance if you run MW 1.31 and the latest version of the extension requires MW 1.34. With the install time check, Composer will get you the most recent version of the extension that works with MW 1.31. Without you'll get the version that requires MW 1.34. Which you'll find out when you try to enable it. This way the user is forced to manually figure out the compatibility constraints rather than rely on Composer. It also reduces the utility of the enable time check, since the user already had to take care of it themselves anyway. --Jeroendedauw (talk) 14:35, 5 April 2020 (EDT)
Moved to RFC on Phabricator
Recently there has been movement in MediaWiki to remove composer completely (RFC).
As a result, we are not able to iterate over this RFC here and I have moved it to an RFC for MW on phabricator.
Please comment and add any improvements there.