geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Mulder" <ammul...@alumni.princeton.edu>
Subject Re: Do Plugins need Prerequisites?
Date Thu, 13 Dec 2007 18:21:03 GMT
On Dec 12, 2007 8:27 PM, David Jencks <david_jencks@yahoo.com> wrote:
> I must be missing something... how does the prerequisite system work
> better than dependencies here?  I'm not 100% sure of what currently
> happens when you try to install a plugin that has an unavailable
> dependency, but it certainly won't start even if its downloaded.

Originally I think, the plugin would refuse to download and install.
The idea was that if something was a dependency it was more or less
guaranteed to be available, whereas a prerequisite pretty much always
required manual intervention (except for Jetty/Tomcat, which I mention
below).

Dependencies and prerequisites could be combined, but my concern would
be how to clearly convey the directions for what the user needs to do
to get get plugin to work.  Like, if a plugin has 20 dependencies, and
one of them is something that the user has to manually deal with, how
do you emphasize to the user that in order to install the plugin, they
need to take that action?  If it's just in the dependency
"description", it seems like it would be lost among the 20
dependencies...  Unless we have some logic to detect which
dependencies can't be installed and emphasize those somehow.  I really
want to avoid the case where you identify the perfect plugin, install
it, and then confusingly, it's not running afterward.  You go to start
it, and it won't start, perhaps with a confusing error ("Dependency
foo wasn't installed?  Why not?  I thought this was supposed to be
automatic?  Crappy product!")  Again, so long as the user experience
is good, the plumbing doesn't matter so much.

I guess the other usage was to ensure you didn't install both Jetty
and Tomcat in the same environment.  As in, you have the Tomcat stack,
and you accidentally click a web app built against Jetty, we don't
want it to automatically download and install Jetty (because, among
other things, if the default ports conflict the server won't start,
and web app deployments suddenly get a lot more confusing if the
"wrong" engine handles it).  Also, it would be really unexpected that
you click a web app plugin link, and suddenly it's installing a new
Web server.  So I'm not sure we want Jetty or Tomcat to appear as
normal dependencies of a web app. Strike that, I'm pretty sure we
don't want it, unless web app deployments change to be
web-container-neutral so it would only install a Web container if one
wasn't already there.

Thanks,
       Aaron

> > On Dec 12, 2007 6:33 PM, David Jencks <david_jencks@yahoo.com> wrote:
> >> Aaron included a prerequisite feature for plugin metadata which is
> >> supposed to prevent you from installing a plugin if some prerequisite
> >> plugin is missing.  After some thought I can't think of a reason this
> >> would possibly be useful or more useful than a dependency, where the
> >> needed plugin is simply installed for you.
> >>
> >> I disabled this functionality but forgot to discuss this point, but
> >> now that Jarek has re-enabled it I think it's time for a discussion.
> >>
> >> I do think there is some use for some feature that e.g. prevents
> >> installing jetty if tomcat is present, but I don't think
> >> prerequisites implement that in any useful way.
> >>
> >> comments?
> >> thanks
> >> david jencks
> >>
> >>
> >>
>
>
>

Mime
View raw message