Item11863: Foswiki Installer is not working well with own repositories and with skins
Current State: Waiting for Feedback
Released In: n/a
Target Release: n/a
Applies To: Engine
Plugin installers are not working properly if
1. you are using custom repositories
-> if the masterplugin (e.g. SolrPlugin
) has dependencies, it seams that the same repo as the masterplugin will be used, even if there is a plugin in the customer repository. (what is placed in the second position within the repo field, so it should be used if there is the same plugin available)
2. you are providing skins
-> there is no handler for skins (only Contrib / Plugin) within the tools/extender.pl script
- 14 May 2012
The first issue is a bit of an architectural issue, and I'm not sure of a good way to resolve it.
The repository search is run on each requested Extensions web in
, and the results are merged into the list of extensions. There is no dependency checking at that level. Once an extension is selected for installation, and the package installation process is started, there is only a single repository referenced. There is no code to support searching multiple available repositories.
Within the current structure, there are two options:
- Propagate the selected repo for each dependency. This would result in not found errors for dependencies missing from the chosen repo, which for the Foswiki Extension/Testing web would be the typical results
- Use the default repo for dependencies. This as you report, results in the opposite problem.
I'm not sure the best way to resolve this other than a redesign of the process. Actually I've thought that it would be preferable if the dependencies were listed at the web level, possibly auto-selecting and highlighting the dependencies so the user knows in advance what will be installed before clicking the confirmation. In that way the user is also presented with the source repository of the extension on the confirmation screen.
The 2nd issue sounds like a simple bug.
And for a 3rd issue, the shell installer is hardcoded to the Foswiki Extensions repository. The only way to redirect to an alternate repository is by editing the
- 27 May 2012
Digging a bit ... when BuildContrib
generates the ...._installer file, it sets into it the upload target location. So for installing an extension from the shell, as long as the _installer was manually downloaded from the location that it was built for, that extension should install from the correct location.
But yes... this is all still rather badly broken in places.
- 27 May 2012
Looking at how skins are handled, they are installed as "Contrib"s. So for example, the PatternSkin
is installed as
extender.pl sets Skins to look in Foswiki::Contrib, so I don't see any issue here. I need more information for what you mean by "-> there is no handler for skins (only Contrib / Plugin) within the tools/extender.pl script "
- 29 Jul 2012