You are here: Foswiki>Tasks Web>Item11863 (12 Oct 2020, MichaelDaum)Edit Attach

Item11863: Foswiki Installer is not working well with own repositories and with skins

pencil
Priority: Normal
Current State: No Action Required
Released In: n/a
Target Release: n/a
Applies To: Engine
Component: Configure
Branches:
Reported By: AlexanderStoffers
Waiting For:
Last Change By: MichaelDaum
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

-- AlexanderStoffers - 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 bin/configure, 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 extension_installer script.

-- GeorgeClark - 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.

-- GeorgeClark - 27 May 2012

Looking at how skins are handled, they are installed as "Contrib"s. So for example, the PatternSkin is installed as Foswiki::Contrib::PatternSkin

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 "

-- GeorgeClark - 29 Jul 2012

Closing due to inactivity

-- MichaelDaum - 12 Oct 2020
 

ItemTemplate edit

Summary Foswiki Installer is not working well with own repositories and with skins
ReportedBy AlexanderStoffers
Codebase 1.1.5
SVN Range
AppliesTo Engine
Component Configure
Priority Normal
CurrentState No Action Required
WaitingFor
Checkins
TargetRelease n/a
ReleasedIn n/a
CheckinsOnBranches
trunkCheckins
masterCheckins
ItemBranchCheckins
Release02x01Checkins
Release02x00Checkins
Release01x01Checkins
Topic revision: r6 - 12 Oct 2020, MichaelDaum
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy