Talk:Request for Comment/Hybrid extension management: Difference between revisions

From MWStake
Jump to navigation Jump to search
(โ†’โ€: new section)
No edit summary
Line 15: Line 15:
* To discuss: Drupal as an example of how Composer was adopted by a project as "module (=extension) management tool" (later!)
* To discuss: Drupal as an example of how Composer was adopted by a project as "module (=extension) management tool" (later!)


== Looks good to me ==
== <s>Looks good to me</s> ==


As someone that has been using Composer in several extensions for many years, this proposal looks good to me. --[[User:Jeroendedauw|Jeroendedauw]] ([[User talk:Jeroendedauw|talk]]) 12:48, 3 April 2020 (EDT)
<s>As someone that has been using Composer in several extensions for many years, this proposal looks good to me. --[[User:Jeroendedauw|Jeroendedauw]] ([[User talk:Jeroendedauw|talk]]) 12:48, 3 April 2020 (EDT)</s>
ย 
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. --[[User:Jeroendedauw|Jeroendedauw]] ([[User talk:Jeroendedauw|talk]]) 14:35, 5 April 2020 (EDT)

Revision as of 14:36, 5 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)