fix(xwiki): use proper InstallRequest XML format for extension installation

- Replace custom <request> with class='org.xwiki.extension.job.InstallRequest'
- Use loop over extensions_to_install to build <extensionId> list
- Move namespace into <namespaces><string>wiki:xwiki</string>
- Remove unused <id>/<jobType> from root
- Ensure installDependencies, interactive, verbose inside request
- Fixes issue where server echoed <rest><list/> instead of actual extensions
This commit is contained in:
2025-09-16 15:25:34 +02:00
parent 40ecbc5466
commit 83936edf73

View File

@@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
InstallRequest for the XWiki Extension Manager.
We MUST render from the computed `extensions_to_install` list
(not from raw feature flags), otherwise an empty <list/> is sent
and nothing is installed.
-->
<jobRequest xmlns="http://www.xwiki.org">
<id>install-extensions</id>
<jobType>install</jobType>
<request>
<namespace>wiki:xwiki</namespace>
<request class="org.xwiki.extension.job.InstallRequest">
<extensions>
{% for ext in extensions_to_install %}
<extensionId>
<id>{{ ext.id }}</id>
<version>{{ ext.version }}</version>
</extensionId>
{% endfor %}
</extensions>
<namespaces>
<!-- Install on the main wiki -->
<string>wiki:xwiki</string>
</namespaces>
<installDependencies>true</installDependencies>
<interactive>false</interactive>
<verbose>true</verbose>
<installDependencies>true</installDependencies>
<extensions>
{% if XWIKI_LDAP_ENABLED | bool %}
<extension>
<id>{{ XWIKI_EXT_LDAP_ID }}</id>
<version>{{ XWIKI_EXT_LDAP_VERSION }}</version>
<namespace>wiki:xwiki</namespace>
</extension>
{% endif %}
{% if XWIKI_OIDC_ENABLED | bool %}
<extension>
<id>{{ XWIKI_EXT_OIDC_ID }}</id>
<version>{{ XWIKI_EXT_OIDC_VERSION }}</version>
<namespace>wiki:xwiki</namespace>
</extension>
{% endif %}
</extensions>
</request>
</jobRequest>