For the most part we are looking for
door #2, currently running eclipses. In fact, there are a couple
usecases in that space. One is to find existing agents that can be
asked to do provisioning operations. One example here is double click
on a short cut or hitting a web link. That would run a small program
that does some discovery and then having found an agent/eclipse, talk to
it to do something (open file, start something, provision something, ...).
The other that is related involves "kicking" a running
Eclipse when the p2 agent has updated the profile being run. Here
the profile has been changed for some reason and the agent wants to discover
all running instances of the profile and tell them about the change. Largely
the same but driven slightly differently. Of course, since we have
the potential to manage things remotely, woul dbe good to discover and
kick things that are remote. Actually down that front there is also
the desire to discover artifact and metadata repos that are available in
As for discovering things on disk, that
is interesting as well for some initial install cases but is not on the
top of the list.
Its great that you are interested in
helping here. In particular, can you point to some easy example code
of both what someone has to do to make themselves discoverable and what
someone else has to do to discover people? Perhaps a simple app that
starts up and advertises and then another app that starts up, discovers
and sends a message to the first would be an excellent example?
Markus Alexander Kuppe
<equinox-dev_eclipse.org@xxxxxxxxxxx> Sent by: equinox-dev-bounces@xxxxxxxxxxx
10/24/2007 12:58 PM
Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
Re: [equinox-dev] [prov] p2 / browser
> Jeff McAffer wrote:
>> At the Equinox summit there was some discussion around how to
discover and communicate with existing instances of Eclipse when either
someone double clicks on a shortcut or clicks on a link in a browser. There
was some discussion around a Google SOC project as well as the use of commands
and console integration. It would be good for someone to prototype
an actual working setup here so that we can kick around various options
and approaches. For the first cut there does not seem to be a need
for doing native stuff (seems like an optimization). I noticed the
other day that ECF has some discovery code that might make sense here as
> Just to add a little more detail...
> ECF has a discovery API: http://wiki.eclipse.org/ECF_API_Docs#Discovery_API
> This is a protocol-independent API for doing discovery of services
(OSGi and/or other).
> We currently have two java-based provider implementations:
> 1) Zeroconf/Bonjour/Rendevous
> 2) Service Locator Protocol (aka RFC 2608)
> jSLP: http://jslp.sourceforge.net/
what kind of discovery does p2 require? Is the main use case to discover
non running Eclipse installations located somewhere on the file system
or is it to find other running instances on the same (or remote) machines?
The first use case was worked on during the GSoC project of Ogechi Nnadi
(Remy Suen and me as mentors) which is not yet ready for productive
use. Pascal and I had done some initial requirements discussion before
the student started, but nothing really formal.
The second use case can be handled by the current incarnation of ECF
already (1.2), though we plan on simplifying the API  as well as
adding at least one additional remote capable provider.
Technically both use cases are hidden behind the ECF discovery API since
it doesn't distinguish between local and remote discovery.
But at least the GSoC project hasn't been adopted to the latest ECF API
changes yet (it is even still in the soc repo).
> Both I and Markus Kuppe are actively working on the discovery API,
and Jan Rellermeyer is working with us on jSLP. There are already
some simplifications planned/scheduled for ECF 2.0/Ganymede.
> I can't speak for Markus and/or Jan, but would be willing to help/support/participate
myself...and suspect Markus and Jan would be willing to participate as
I'm definitely willing to help with p2 and discovery.