@Kghbln @Nicolas NALLET: I was able to install it on 1.27 and 1.28 almost like said Kghbln but with an additionnal step. It works directly with @dev version on MediaWiki 1.29-alpha. Also, note SemanticFormsSelect version master (composer "*@dev") is no longer advertising itself in Special:Version, so you have to try in a form if it works and/or add some lines $wgExtensionCredits in SemanticFormsSelect.php.
0. you must have Git installed.
1. In composer.json:
"mediawiki/semantic-forms": "*@dev",
"mediawiki/semantic-forms-select": "*@dev",
2. In command line:
composer update --no-dev
cd extensions/SemanticForms
git checkout 6c8d929
OR
1. In composer.json:
"mediawiki/semantic-forms": "3.6",
"mediawiki/open-layers": "*@dev",
"mediawiki/semantic-forms-select": "*@dev",
2. In command line:
composer update --no-dev
Rationale:
- MediaWiki 1.27 and 1.28 don’t support the extension.json version 2 introduced after SF 3.6, so any version of SemanticForms greater than 6c8d929 (and 3.7 is greater) will not work on these MediaWiki version (at least not until there is no backport to read extension.json version 2, and I expect there will be one, else it will be a long time until the next LTS 1.31)
- with SemanticFormsSelect current stable (1.3) loaded with require_once (because no extension.json) expects to find a constant defined by SemanticForms (SF_VERSION) when require_once is executed, BUT SemanticForms is now loaded with wfLoadExtension, so it only define this constant after SemanticFormsSelect has executed its require_once => QED, it is mandatory to use master version (composer "*@dev") of SemanticFormsSelect with MediaWiki 1.27 and 1.28
On a side note, be warn about the loading mechanisms when extensions require other extensions:
- if (B requires A) and (A is loaded with wfLoadExtension) and (B is loaded with require_once) and (B checks at loading time there is A) => will not work
btw I begin to be tired of these explosive mixes between Composer, require_once, wfLoadExtension v1, wfLoadExtension v2, and extensions checking too early other extensions.