Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-update-dev] Install Scenarios for Workbench-based Products

I guess I'll be pfm if you are pm....  see below.

Pat McCarthy   --   Eclipse Platform Enablement (3ECA)
                             --   OTI - RTP, NC
                             --   (919 254-6231 / 8-444-6231 -- FAX
8-444-4183)
                             --   Internet: PatMc@xxxxxxxxxx

                             --   Lotus: Pat McCarthy/Raleigh/IBM


                                                                                                                          
                    Peter                                                                                                 
                    Manahan/Toronto/IBM@IBMCA         To:     platform-update-dev@xxxxxxxxxxx                             
                    Sent by:                          cc:                                                                 
                    platform-update-dev-admin@e       Subject:     Re: [platform-update-dev] Install Scenarios for        
                    clipse.org                         Workbench-based Products                                           
                                                                                                                          
                                                                                                                          
                    01/06/2002 10:47 AM                                                                                   
                    Please respond to                                                                                     
                    platform-update-dev                                                                                   
                                                                                                                          
                                                                                                                          




Commented with <pm></pm>

Thanks,
_____________________________________
Peter Manahan
WSAD Linux Port Team
VisualAge for Java Release Lead
manahan@xxxxxxxxxx
_____________________________________



                    Pat

                    McCarthy/Raleigh/IBM@IBMUS        To:
platform-update-dev@xxxxxxxxxxx
                    Sent by:                          cc:

                    platform-update-dev-admin@e       Subject:
[platform-update-dev] Install Scenarios for Workbench-based
                    clipse.org                         Products



                    01/02/2002 04:43 PM

                    Please respond to

                    platform-update-dev






The install scenarios described below are offered up as an attempt to help
the conversation regarding how install/update support should be enabled in
the Workbench platform. If we can agree on the scenarios that should be
supported, and then how each process should be implemented (as part of a
product install process or via function in the Workbench platform) we
should be able to make some decisions on what function is provided by the
platform in a 2.0 time frame and what the responsibilities are for
Workbench-based products.


As a start I'd be looking for comments on terminology (Workbench-packaged
and Workbench-enabled), scenarios, need for dependency checking during
product installation, and scenario issues that have not been addressed.
---


Installing products based on the Workbench has some unique considerations
in that the built-in extensibility of the workbench encourages the use of a
rich combination of tools and technologies from multiple providers that
might all share a single installed image of the Workbench platform.


These common install/uninstall scenarios are described for the Workbench
platform:

     1. (Workbench-packaged) Installing/uninstalling a product that based
     on the Workbench platform.  A Workbench-packaged product includes the
     Workbench in the installable code base (packaged per the branding
     article on Eclipse.org).  In this scenario the Workbench-packaged
     product:


          A. Supports a standalone install where the Workbench platform is
          installed as part of the product stack (for example, IBM's
          WebSphere Application Developer).
<pm>
The above should be a 1.0 only scenario. The branding article is only
partially correct for a 2.0 scenario (it assumes each product installs its
own version of the workbench and doesn't address the "workbench-enabled"
product as 1.0 doesn't support that). In 1.0 you can't really merge
products together without tramping all over the installs for them. (You
could of course just unzip everything but then that wouldn't really be a
product install).
For 2.0 there should be 1 copy of the workbench installed on the system and
it should have its own installation program. Products shipping with WSWB
should ship the installable version supplied as is.
</pm>
<pfm>
Agreed.
To me 1.A could also be having a product install start by kicking off (or
identifying a pre-req of) a formalized WSWB install (where the registry key
is defined). The product would then install logically on top of the WSWB
Workbench platform(maybe not physically - that is, not using the same
\plugins dir).

This would be value add provided by an installable WSWB as I'm not aware of
a plan to have an installable image of the Eclipse Workbench platform.

The 1.0 implementation guidance for these scenarios clears up things a bit
- I'll add this additional detail as a comment on the root entry for this
thread later.
</pfm>

          B. Supports a merged install where a standalone product is merged
          with another standalone product.

<pm>
This doesn't really work in the 1.0 world. You can make it work of course
but it breaks all sorts of installation/support rules. If for instance an
add-on wanted to merge with WSAD and then plopped its files into WSAD's
file tree and hooked itself in, there is a very good chance that the
installation of WSAD just became an unsupported configuration (i.e problems
reported would have to reproduced without the add-on installed).
</pm>
<pfm>
Understand the concern and I don't disagree.
The goal is one of trying to enable the promise.  We have promised support
for integration of multiple products that use the same Workbench platform.
If we don't allow/support this integration with any of the delivered
product stacks - the promise is broken - the value add to the buying
customer lost.

We state this as a scenario as it is a valid objective.  One that is
probably easier to implement on Windows as opposed to Linux, if we discount
your point regarding maintenance (as there isn't a file system on Windows).

One direct response to your support scenario problem - if the products are
independent, and only merged to achieve integration for resource management
(use same workspace for tool A and B resources), or only integrate via
read/write of common resources (one publishes Java source from some model,
the other reads/uses/reworks the source), and/or only exist side-by-side in
the same Workbench instance... why should there be a support problem?  Are
we not also selling the idea that the platform makes the products
independent even while integrated in the same platform instance??  If
product A actually built on top of product B (action contributions to the
other products views, use of published API extension points...) then a
problem with product A should be a supported problem - right?
</pfm>

     In this scenario there are no direct dependencies between the products
     but they share a common Workbench platform as installed by the first
     standalone (merge target) product.
     ReviewNote: The branding article suggests that products hide \eclipse
     down one dir level.  This, and the merged install not supporting 2nd
     level branding (in a 1.0 timeframe) may make this difficult for some
     products to accept).
<pm>
1.0 is already broken. You will have multiple workbench's installed on the
system (1 for each product). May as well consider this whole topic a 2.0
discussion. All 2.0 products should be "Workbench-enabled".
</pm>
<pfm>
Agreed in that we don't really expect anyone to actually support scenario
1.B in a V1.0 timeframe.  To many local product packaging decisions were
made before install guidance was formalized.
</pfm>

     2. (Workbench-enabled) Installing/uninstalling an add-on product (set
     of plug-ins) on top of an existing packaged product that is based on
     the Workbench.  The installable code for a Workbench-enabled product
     does not include the Workbench platform.  In this scenario the
     Workbench-enabled product:
          A. May be a general purpose tool that does not have a direct
          prerequisite on any code (Workbench-packaged or
          Workbench-enabled) beyond the Workbench platform.
          B. May have a prerequisite on another Workbench-packaged product
          (typically a standalone product or participant in a merged
          product install).
     Essentially the process is to install the add-on product plug-ins into
     the "eclipse/plugins" subdirectory of an installed workbench instance.

<pm>
All products should be workbench-enabled. The workbench itself needs it own
installation with its own dependency checking. Three scenarios for install
are:
1. Product is installed on its own (i.e. WebSphere Studio Application
Developer)
2. Product requires another product(s) (i.e. An add-on tool like an EJB
validator or something for WSAD which requires WSAD to be installed)
3. A generalization of 1 and 2 where products are merged together. So a
launch of the workbench would have all the products available installed to
it available.

Since products should use native installers for multiple reasons including
dependency checking and support issues  etc. And eclipse needs to know
about and have control of its configuration there is a way to get the best
of both worlds according to the update spec for 2.0.

http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/doc/working/eclipse_install_R2_0_draft.html


Using windows as an example. There needs to be an implementation of the
Feature Install (part of the install framework) that uses Windows Installer
as the install mechanism. Then the install of a product like WSAD would go
like so.
1. User launches the WSAD install
2. WSAD install launches the WSWB install which checks to see if it already
installed and if not installs itself.
3. The WSAD install runs a headless application which uses the workbench to
update itself with WSAD using the install framework and a Windows Installer
implementation of IFeature (which can then do all the necessary things
needed for an install for windows).
</pm>
<pfm>
> All products should be workbench-enabled.
The difference I see in Workbench-packaged and Workbench-enabled is that a
packaged product is responsible for the installation of the Workbench if it
does not exist on the target system.
A product in your scenario 2 (Product requires another product(s)) should
not include the Workbench - no reason to do so.  It needs to be able to
ensure it's prerequisites are installed - that is all.

I'd agree with your subsequent description of how the Feature Install
mechanism should work.  But my read of the current design doc says products
that install in their own dir structure and use links to integrate into the
shared Workbench instance become unmanaged components/plugins.
? Do we not want a product that installs on top of an existing Workbench
instance using a private plugin dir to be able to use the update mechanism
to find service?
</pfm>
---
To support the actual implementation of installable product there is
another level of detail required.  Specifics that still need to be
identified include:
     How the Workbench platform identifies itself as being installed (such
     as a registry key entry for a Windows system)

<pm>
OS installation programs do this for you. The only reason for something
like a registry key is for systems where this function isn't available.
Since the workbench doesn't ship on those OS's it isn't a problem. On
Windows (Windows Installer) on Linux (RPM).
</pm>

<pfm>May be part of the reason we need an installable instance of the WSWB
Workbench platform</pfm>

     How multiple products should support install/uninstall so as to not
     disable other merged products

<pm>
As long as products use the update/configuration support being provided by
eclipse for 2.0. With the installation methods above it should work quite
smoothly.
Although a couple of no-nos should be expressly forbidden.

1. Any files installed by a product install should not overwrite/modify
files in another product's install tree.
2.  File can be installed into another product's install tree as long a
     a. They do not overwrite files
   b. The install is a complete dependent of the main product's install.
This basically means that inorder for the first product to uninstall all
dependent installs must be run first.
3. Configuration modification needs to be done outside the install tree
which is read-only. (This is a Linux requirement [should be in /etc and
maybe in users homedir] but should be done on windows as well; especially
if you have multiple users of a product installed on 1 machine).


</pm>

<pfm>
>2.  File can be installed into another product's install tree as long a
>     a. They do not overwrite files
? I thought an issue describe earlier was that you did not want to have to
copy product plugins into the plugins dir of the Workbench instance (the
goal of trying to use plugin-path or its equivalent)?
</pfm>

Thoughts on these and other issues have been developed based on how
products should be using the 1.0 version of the Workbench platform. These
details can be shared here if you think it appropriate for this 2.0 level
discussion.


Comments welcome.


Regards,


Pat McCarthy, OTI-RTP
patmc@xxxxxxxxxx








_______________________________________________
platform-update-dev mailing list
platform-update-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-update-dev






Back to the top