platform-update-home/doc/Test Scenarios/eclipse update.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11, Tue Jun 11 22:57:35 2002 UTC revision 1.12, Fri Feb 21 18:31:59 2003 UTC
# Line 2  Line 2 
2  <html>  <html>
3  <head>  <head>
4     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5     <meta name="GENERATOR" content="Mozilla/4.72 [en] (Windows NT 5.0; U) [Netscape]">     <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
6  </head>  </head>
7  <body>  <body>
8    
9  <h1>  <h1>
10  Scenario: Updating Eclipse Install Using The Update Manager</h1>  Scenario: Updating Eclipse Install Using The Update Manager</h1>
11  Last Updated: June 11, 2002 6:05PM  Last Updated:
12  <h3>  <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%A, %B %d, %Y" startspan -->Friday, February 21, 2003<!--webbot bot="Timestamp" endspan i-checksum="55249" --><h3>
13  Objectives:</h3>  Objectives:</h3>
14  The objective of these scenarios is to illustrate the Eclipse update manager  The objective of these scenarios is to illustrate the Eclipse update manager
15  function through simple end-to-end use cases. The scenarios are divided  function through simple end-to-end use cases. The scenarios are divided
16  into two parts.  into two parts.<ul>
 <ul>  
17  <li>  <li>
18  Part-1 excercises updating of Eclipse itself from a test site containing  Part-1 exercises updating of Eclipse itself from a test site containing
19  Eclipse builds repackaged as downloadable features. The Eclipse feature  Eclipse builds repackaged as downloadable features. The Eclipse feature
20  structure is a reasonable representation of a non-trivial product. It contains  structure is a reasonable representation of a non-trivial product. It contains
21  a primary feature (the platform) and a number of other features ( jdt,  a primary feature (the platform) and a number of other features ( jdt,
# Line 25  Line 24 
24  <li>  <li>
25  Part-2 uses an example "product" to go through the various steps of updating  Part-2 uses an example "product" to go through the various steps of updating
26  and extending it using both the update manager, as well as native installation  and extending it using both the update manager, as well as native installation
27  (using .zip file containing features and plugins that can be extracted  (using .zip file containing features and plug-ins that can be extracted
28  directly into the file system)</li>  directly into the file system)</li>
29    
30    <li>
31    Part-3 uses an even simpler feature hierarchy to go through more advanced
32    capabilities that include optional features and emergency fixes.</li>
33  </ul>  </ul>
34    
35  <h2>  <h2>
# Line 37  Line 40 
40  Available sites:  Available sites:
41  <ul>  <ul>
42  <li>  <li>
43  <a href="http://download.eclipse.org/updates/">http://download.eclipse.org/updates/</a></li>  <a href="http://download.eclipse.org/updates/">http://update.eclipse.org/testUpdates/</a></li>
44  </ul>  </ul>
45    
46  <table BORDER COLS=1 WIDTH="100%" >  <table BORDER COLS=1 WIDTH="100%" >
# Line 55  Line 58 
58  numbers modified as part of the build process. They are generally of the  numbers modified as part of the build process. They are generally of the
59  form 2.0.0.QUALIFIER, where the qualifier differs build to build. Note,  form 2.0.0.QUALIFIER, where the qualifier differs build to build. Note,
60  however, that when you install base Eclipse (.zip downloaded from eclipse.org),  however, that when you install base Eclipse (.zip downloaded from eclipse.org),
61  all of its features and plugins only use 3 part version identifiers (generally  all of its features and plug-ins only use 3 part version identifiers (generally
62  2.0.0). So all the 2.0.0.Q updates in fact appear more recent that the  2.1.0). So all the 2.1.0.Q updates in fact appear more recent that the
63  build you are running, even though they may in fact be an older build.  build you are running, even though they may in fact be an older build.
64  Note, that when you update the Eclipse components from the update site  Note, that when you update the Eclipse components from the update site
65  and restart you may in fact now be running </font><font color="#FF0000">DIFFERENT  and restart you may in fact now be running </font><font color="#FF0000">DIFFERENT
66  CODE THAN WHAT YOU STARTED WITH</font><font color="#000000">. So it is  CODE THAN WHAT YOU STARTED WITH</font><font color="#000000">. So it is
67  really important that you start each of the test scenario steps with a  really important that you start each of the test scenario steps with a
68  clean install of eclipse. </font><font color="#FF0000">It is suggested  <b>clean install of eclipse</b>. </font><font color="#FF0000">It is suggested
69  that you always use a second install of Eclipse running with a different  that you always use a second install of Eclipse running with a different
70  workspace (than what you use to do development) to actually run through  workspace (than what you use to do development) to actually run through
71  these scenarios.</font>  these scenarios.</font><p><font color="#000000">When opening Bugzilla defects, use the
72  <p><font color="#000000">When openning Bugzilla defects, use the platform/update  Platform/Update
73  component. Please ALWAYS specify the failing scenario step, and include  component. Please ALWAYS specify the failing scenario step, and include
74  a .zip of the &lt;workspace>/.metadata/ directory</font></td>  a .zip of the &lt;workspace>/.metadata/ directory</font></td>
75  </tr>  </tr>
# Line 96  Line 99 
99  restart when new features are detected on startup.</li>  restart when new features are detected on startup.</li>
100    
101  <li>  <li>
102  A.2 go to Help> About and click [Feature Details] and [Plugin Details]  A.2 go to Help> About and click [Feature Details] and [Plug-in Details]
103  to see more details of what is actually running. Note the baseline version  to see more details of what is actually running. Note the baseline version
104  of the various items (most will be 2.0.0)</li>  of the various items (most will be 2.1.0)</li>
105    
106  <li>  <li>
107  A.3. go to Help> Software Updates> Update Manager and verify that the features  A.3. go to Help> Software Updates> Update Manager and verify that the features
# Line 129  Line 132 
132  B.6. popup, Properties, change name to "Baseline"</li>  B.6. popup, Properties, change name to "Baseline"</li>
133    
134  <li>  <li>
135  B.7 close update manager</li>  B.7 close Update Manager</li>
136  </ul>  </ul>
137    
138  <h4>  <h4>
# Line 138  Line 141 
141  <ul>  <ul>
142  <li>  <li>
143  C.0. NOTE: you must be connected to the network with access to www.eclipse.org  C.0. NOTE: you must be connected to the network with access to www.eclipse.org
144  to perform this step. You will be downloading a full eclipse sdk drop as  to perform this step. You will be downloading a full Eclipse SDK drop as
145  part of this step. So you should have a reasonably fast network connection  part of this step. So you should have a reasonably fast network connection
146  for this step.</li>  for this step.</li>
147    
# Line 160  Line 163 
163  verification dialog, click [Install].</li>  verification dialog, click [Install].</li>
164    
165  <li>  <li>
166  C.5. when you complete the installation, you'll be prompter to restart.  C.5. when you complete the installation, you'll be prompted to restart.
167  Select [Yes] to restart the platform</li>  Select [Yes] to restart the platform</li>
168    
169  <li>  <li>
170  C.6. workbench should restart automatically</li>  C.6. workbench should restart automatically</li><ul>
   
 <ul>  
171  <li>  <li>
172  <b>PLEASE NOTE</b>: at this point you are no longer executing the update  <b>PLEASE NOTE</b>: at this point you are no longer executing the update
173  manager code you started with, but rather are running a version of the  manager code you started with, but rather are running a version of the
174  update manager that was contained in the update (along with the rest of  update manager that was contained in the update (along with the rest of
175  the platform plugins). Depending on what the update site contained at that  the platform plug-ins). Depending on what the update site contained at that
176  point (changes build to build) the platform may not even restart, and you  point (changes build to build) the platform may not even restart, and you
177  may need to reinstall eclipse to continue. Report defects for this (to  may need to reinstall eclipse to continue. Report defects for this (to
178  make sure there is not actually a legitimate problem) but please be clear  make sure there is not actually a legitimate problem) but please be clear
# Line 181  Line 182 
182  <li>  <li>
183  C.7. go to Help> About> [Plug-In Details] and [Feature Details] to verify  C.7. go to Help> About> [Plug-In Details] and [Feature Details] to verify
184  you are running new version of the platform (the versions for the items  you are running new version of the platform (the versions for the items
185  will be 2.0.0.&lt;qualifier>)</li>  will be 2.1.0.&lt;qualifier>)</li>
186    
187  <li>  <li>
188  C.8. Go to Help> Software Updates> Update Manager and expand "Current Configuration"  C.8. Go to Help> Software Updates> Update Manager and expand "Current Configuration"
# Line 205  Line 206 
206  D.4. Restart the workbench when prompted</li>  D.4. Restart the workbench when prompted</li>
207    
208  <li>  <li>
209  D.5. workbench should restart automatically, and open into Update manager</li>  D.5. workbench should restart automatically, and open into Update Manager</li>
210    
211  <li>  <li>
212  D.6. expand "Current Configuration" and verify all configured features  D.6. expand "Current Configuration" and verify all configured features
213  are the baseline feature versions (generally 2.0.0)</li>  are the baseline feature versions (generally 2.1.0)</li>
214    
215  <li>  <li>
216  D.6.1. click "Show Disabled Features" button in the toolbar of the Configurations  D.6.1. click "Show Disabled Features" button in the toolbar of the Configurations
217  view. Observe the updated version as unconfigured.</li>  view. Observe the updated version as disabled.</li>
218    
219  <li>  <li>
220  D.7. click the "Show disabled features" button in the Configuration view  D.7. click the "Show Disabled Features" button in the Configuration view
221  tool bar</li>  tool bar</li>
222    
223  <li>  <li>
# Line 225  Line 226 
226    
227  <li>  <li>
228  D.9. go to Help> About dialog, [Plug-In Details] and verify you are in  D.9. go to Help> About dialog, [Plug-In Details] and verify you are in
229  fact running the baseline plugins (all 2.0.0, except for the "special cases"  fact running the baseline plug-ins (all 2.0.0, except for the "special cases"
230  like xerces, ant, lucene, tomcat, etc)</li>  like Xerces, Ant, Lucene, Tomcat, etc)</li>
231    
232  <li>  <li>
233  D.10. shut down the workbench</li>  D.10. shut down the workbench</li>
# Line 242  Line 243 
243  <li>  <li>
244  <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/index.html">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/</a></li>  <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/index.html">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/</a></li>
245  </ul>  </ul>
246  The above site contains prebuilt features used as part of the following  The above site contains pre-built features used as part of the following
247  scenario steps. It also includes several .zip files (containing features  scenario steps. It also includes several .zip files (containing features
248  and plugins) that are used to simulate native installer steps.  and plug-ins) that are used to simulate native installer steps.<br>&nbsp;
 <br>&nbsp;  
249  <table BORDER COLS=1 WIDTH="100%" >  <table BORDER COLS=1 WIDTH="100%" >
250  <tr>  <tr>
251  <td>  <td>
# Line 255  Line 255 
255  </tr>  </tr>
256    
257  <tr>  <tr>
258  <td><font color="#000000">When openning Bugzilla defects, use the platform/update  <td><font color="#000000">When opening Bugzilla defects, use the Platform/Update
259  component. Please ALWAYS specify the failing scenario step, and include  component. Please ALWAYS specify the failing scenario step, and include
260  a .zip of the &lt;workspace>/.metadata/ directory</font></td>  a .zip of the &lt;workspace>/.metadata/ directory</font></td>
261  </tr>  </tr>
# Line 267  Line 267 
267  plus several extensions. The application installs a tool button, and a  plus several extensions. The application installs a tool button, and a
268  menu ("Alphabet Soup") that can be used to query the content of the "soup  menu ("Alphabet Soup") that can be used to query the content of the "soup
269  bowl" and interact with the individual installed "letters" (each letter  bowl" and interact with the individual installed "letters" (each letter
270  in the bowl corresponds to a separate plugin)  in the bowl corresponds to a separate plug-in)
271  <ul>  <ul>
272  <li>  <li>
273  base product is a nested feature, my.alphabet, containing two sub-features  base product is a nested feature, my.alphabet, containing two sub-features
274  with base sets of "letters"</li>  with base sets of "letters"</li>
275    
276  <li>  <li>
277  3 extension features containing additional "letters" (plugins). The features  3 extension features containing additional "letters" (plug-ins). The features
278  have a dependency relationship as follows:</li>  have a dependency relationship as follows:</li>
279    
280  <ul>  <ul>
# Line 290  Line 290 
290  "straight letters" extension pack to be installed</li>  "straight letters" extension pack to be installed</li>
291  </ul>  </ul>
292  </ul>  </ul>
293  Just follow the steps and you'll get the idea.  Just follow the steps and you'll get the idea.<h3>
 <h3>  
294  Steps:</h3>  Steps:</h3>
295    
296  <ul>  <ul>
# Line 309  Line 308 
308    
309  <ul>  <ul>
310  <li>  <li>
311  O.1. after you have installed baseline eclipse, unzip the Aplhabet Soup  O.1. after you have installed baseline eclipse, unzip the Alphabet Soup
312  product features from <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/native/my.alphabet_1.0.0.zip">my.alphabet_1.0.0.zip</a>&nbsp;  product features from <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/native/my.alphabet_1.0.0.zip">my.alphabet_1.0.0.zip</a>&nbsp;
313  into the eclipse/ installation directory. The unzip should overwrite the  into the eclipse/ installation directory. The unzip should overwrite the
314  install.ini file that is packaged with Eclipse (sets the Alphabet Soup  install.ini file that is packaged with Eclipse (sets the Alphabet Soup
# Line 333  Line 332 
332    
333  <li>  <li>
334  O.6. Expand "Current Configuration". Verify "Alphabet Soup 1.0.0" is configured,  O.6. Expand "Current Configuration". Verify "Alphabet Soup 1.0.0" is configured,
335  and it contains 2 subfeatures (Round and Straight letters)</li>  and it contains 2 sub-features (Round and Straight letters)</li>
336    
337  <li>  <li>
338  O.7. click on each of the features and view more details about each freature</li>  O.7. click on each of the features and view more details about each feature</li>
339    
340  <li>  <li>
341  O.8. select "Alphabet Soup 1.0.0" and press [Disable]. You should be notified  O.8. select "Alphabet Soup 1.0.0" and press [Disable]. You should be notified
# Line 370  Line 369 
369    
370  <li>  <li>
371  P.6. Click the "Show disabled features" filter button .... should see both  P.6. Click the "Show disabled features" filter button .... should see both
372  versions (one configured, the other unconfugured (icon with grey "stop"  versions (one enabled, the other disabled (icon with red "stop"
373  overlay))</li>  overlay))</li>
374    
375  <li>  <li>
# Line 390  Line 389 
389    
390  <ul>  <ul>
391  <li>  <li>
392  Q.1. unzip the Aplhabet Soup product features from <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/native/my.alphabet_1.1.0.zip">my.alphabet_1.1.0.zip</a>&nbsp;  Q.1. unzip the Alphabet Soup product features from <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/native/my.alphabet_1.1.0.zip">my.alphabet_1.1.0.zip</a>&nbsp;
393  into the eclipse/ installation directory (look into the features/ or plugins/  into the eclipse/ installation directory (look into the features/ or plugins/
394  subdirectory to veify you see new 1.1.0 versions)</li>  subdirectory to verify you see new 1.1.0 versions)</li>
395    
396  <li>  <li>
397  Q.2. start Eclipse (a.k.a. Alphabet Soup). You'll see the splash comming  Q.2. start Eclipse (a.k.a. Alphabet Soup). You'll see the splash coming
398  up twice as the platfrom is updating the configuration. Workbench will  up twice as the platform is updating the configuration. Workbench will
399  come up, with a dialog informing you have changes. Click [OK] to open the  come up, with a dialog informing you have changes. Click [OK] to open the
400  update manager change dialog.</li>  update manager change dialog.</li>
401    
# Line 413  Line 412 
412    
413  <li>  <li>
414  Q.6. Open update manager and expand "Current Configuration". Should see  Q.6. Open update manager and expand "Current Configuration". Should see
415  Alphabet Soup 1.1.0 configured, and the other 2 unconfigured (click the  Alphabet Soup 1.1.0 enabled, and the other 2 disabled (click the
416  "Show disabled features").</li>  "Show disabled features").</li>
417  </ul>  </ul>
418    
# Line 431  Line 430 
430  Restart workbench when prompted.</font></li>  Restart workbench when prompted.</font></li>
431    
432  <li>  <li>
433  <font color="#000000">R.3. click of the "Alphaber Soup" tool button and  <font color="#000000">R.3. click of the "Alphabet Soup" tool button and
434  interact with "Alphabet Soup" menu to see new round letters (D and G).  interact with "Alphabet Soup" menu to see new round letters (D and G).
435  <b>Note:</b>  <b>Note:</b>
436  may need to go to Window> Costomize Perspective...> Other and select the  may need to go to Window> Customize Perspective...> Other and select the
437  action sets for the new letters</font></li>  action sets for the new letters</font></li>
438    
439  <li>  <li>
440  <font color="#000000">R.4. expand Current Configuration ans verify the  <font color="#000000">R.4. expand Current Configuration and verify the
441  new feature is showing as configured.</font></li>  new feature is showing as configured.</font></li>
442    
443  <li>  <li>
444  <font color="#000000">R.4. close the update manager and shut down the workbench</font></li>  <font color="#000000">R.5. close the update manager and shut down the workbench</font></li>
445    
446    <li>
447    R.6. As an alternative, try to install several extension features at once using
448    group install. For each feature you want to add, check the checkbox at the
449    bottom of the Preview for that feature. When done, go to 'Selected Updates' view
450    and process all the pending jobs. A multi-install wizard should guide you
451    through the installation.</li>
452  </ul>  </ul>
453    
454  <h4>  <h4>
# Line 458  Line 464 
464  <li>  <li>
465  <font color="#000000">S.1. Set up a new install directory somewhere in  <font color="#000000">S.1. Set up a new install directory somewhere in
466  your file system. Create eclipse/ subdirectory under it. U</font>nzip the  your file system. Create eclipse/ subdirectory under it. U</font>nzip the
467  Aplhabet Soup Straight Letters extension&nbsp; from <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/native/my.alphabet.more.straight.letters_1.0.0.zip">my.alphabet.more.straight.letters_1.0.0.zip</a>&nbsp;  Alphabet Soup Straight Letters extension&nbsp; from <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/native/my.alphabet.more.straight.letters_1.0.0.zip">my.alphabet.more.straight.letters_1.0.0.zip</a>&nbsp;
468  into the eclipse/ subdirectory. You should end up with</li>  into the eclipse/ subdirectory. You should end up with</li>
469    
470  <ul>  <ul>
# Line 487  Line 493 
493  <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
494  plugins/</ul>  plugins/</ul>
495    
496  <li>  <li>S.3. within the links/ subdirectory, create a file called my.alphabet.link&nbsp;
497  S.3. within the links/ subdirectory, create a file called my.alphabet.link&nbsp;  and add a single line into it</li> <br>
498  and add a single line into it</li>  <br>
499    <font face="Courier New">&nbsp;&nbsp;&nbsp; <font size="2">path=&lt;some new
500  <br>&nbsp;  install directory&gt; </font></font>
 <p>&nbsp;  
 <br>&nbsp;  
 <br>&nbsp;  
 <br>&nbsp;  
 <br>&nbsp;  
 <p>path=&lt;some new install directory>  
501  <p><b>Note</b>: the path should be an absolute path using local file system  <p><b>Note</b>: the path should be an absolute path using local file system
502  syntax. The .link file is loaded as a Java properties file, so on Windows  syntax. The .link file is loaded as a Java properties file, so on Windows
503  you need to double up the back-slashes (eg. path=c:\\temp\\install)  you need to double up the back-slashes (e.g. path=c:\\temp\\install) </li>
504  <li>  <li>
505  S.4. start eclipse (Alphabet Soup). You'll see the splash comming up twice  S.4. start eclipse (Alphabet Soup). You'll see the splash coming up twice
506  as the platfrom is updating the configuration. Workbench will come up,  as the platform is updating the configuration. Workbench will come up,
507  with a dialog informing you have changes. Click [OK] to open the update  with a dialog informing you have changes. Click [OK] to open the update
508  manager change dialog.</li>  manager change dialog.</li>
509    
# Line 526  Line 526 
526  S.8. Open update manager and expand "Current Configuration". Should see  S.8. Open update manager and expand "Current Configuration". Should see
527  a new site representing the extension install, and it should contain the  a new site representing the extension install, and it should contain the
528  extension feature you've installed.</li>  extension feature you've installed.</li>
529    <li>
530    S.9. Click on the new extension, and disable it in the Preview view. After
531    restart, verify that all the features and plug-ins from the extension are
532    missing. Enable it and verify that they are back after the restart.</li>
533  </ul>  </ul>
534    
535  <h4>  <h4>
# Line 558  Line 562 
562  <li>  <li>
563  <font color="#000000">T.5. click of the "Alphabet Soup" tool button and  <font color="#000000">T.5. click of the "Alphabet Soup" tool button and
564  interact with "Alphabet Soup" menu to see new numbers (3 and 5). <b>Note:</b>  interact with "Alphabet Soup" menu to see new numbers (3 and 5). <b>Note:</b>
565  may need to go to Window> Costomize Perspective...> Other and select the  may need to go to Window> Customize Perspective...> Other and select the
566  action sets for the new numbers</font></li>  action sets for the new numbers</font></li>
567    
568  <li>  <li>
569  <font color="#000000">T.6. expand Current Configuration ans verify the  <font color="#000000">T.6. expand Current Configuration and verify the
570  new feature is showing as configured in the original install site</font></li>  new feature is showing as configured in the original install site</font></li>
571    
572  <li>  <li>
# Line 584  Line 588 
588  directory</font></li>  directory</font></li>
589  </ul>  </ul>
590    
591    <h2>
592    Part 3: Optional features and e-fixes</h2>
593    
594    <h3>
595    Setup:</h3>
596    <p>Available sites:</p>
597    <ul>
598    <li>
599    <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/index.html">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/optionalSite/</a></li>
600    </ul>
601    <p>The above site contains pre-built features used as part of the following
602    scenario steps.<br>&nbsp; </p>
603    <table BORDER COLS=1 WIDTH="100%" >
604    <tr>
605    <td>
606    <center>
607    <p><b><font color="#FF0000">*** PLEASE READ *** PLEASE READ *** PLEASE
608    READ *** PLEASE READ ***</font></b></p>
609    </center>
610    </td>
611    </tr>
612    
613    <tr>
614    <td><font color="#000000">When opening Bugzilla defects, use the Platform/Update
615    component. Please ALWAYS specify the failing scenario step, and include
616    a .zip of the &lt;workspace>/.metadata/ directory. Note that we ran out of
617    letters, so we are starting from A again. You need to include the part number
618    when specifying steps (e.g. 3.A7)</font></td>
619    </tr>
620    </table>
621    
622    <h3>
623    Description:</h3>
624    <p>The Optional Site is a simple site that contains several versions of the
625    'Root' feature. The feature includes another feature (XYZBogus) that in turn
626    includes features XYZ and Bogus. The last two features are included as optional,
627    which means that users can elect not to install them. Several interesting
628    consequences result from this capability, and this part deals with them.</p>
629    <p>The site also contains several e-fixes. E-fix is a feature that is designed
630    to patch another feature with an exact ID and version. It is used to deliver
631    temporary fixes between full root updates.</p>
632    <h2>A. Installing feature Root 1.0.0</h2>
633    <p>A1. Open Update Manager. Create a bookmark with the URL listed above.<br>
634    A2. Expand the new node and select feature Root 1.0.0. Press 'Install' button in
635    the Preview view.<br>
636    A3. Accept the license in the License page.<br>
637    A4. Uncheck 'XYZ 1.0.0' optional feature in the Optional Features page. Leave
638    'Bogus 1.0.0' feature selected.<br>
639    A5. Install (accept unsigned feature). Restart.<br>
640    A6. Verify that 'Root 1.0.0' feature has been installed and that 'XYZ 1.0.0' is
641    missing. <br>
642    A7. Toggle the view button so that disabled features are visible. Verify that
643    'XYZ 1.0.0' is shown and marked as '(not installed')<br>
644    A8. If you want to stop being warned about unsigned features, toggle the option
645    off in the Install/Update preferences. Verify that you are warned about the
646    consequences (rogue features deleting your entire hard drive and such).</p>
647    <h2>B. Updating Root 1.0.0 to Root 1.0.1</h2>
648    <p>B1. Open Update Manager. Expand 'Optional site' bookmark created in scenario
649    A and select 'Root 1.0.1'. Verify that Preview view shows 'Update' button. Press
650    it.<br>
651    B2. After accepting the license, verify that features 'XYZBogus' and 'Bogus' are
652    checked&nbsp; and grayed out in 'Optional Features' page, while 'XYZ' plug-ins is
653    unchecked (leave it unchecked). Install and restart.<br>
654    B3. Verify that we now have Root 1.0.1 installed that is still without XYZ
655    feature (XYZ 1.0.1 shows as 'not installed' when disabled features are shown in
656    the view).</p>
657    <h2>C. Preserving the state of the optional feature</h2>
658    <p>C1. Close Eclipse. Manually delete all 'com.example.*' features from the
659    features/ directory and all 'com.example.*' plug-ins from the plugins/
660    directory. Delete the '.config' directory in the .metadata directory of the
661    workspace (you want to preserve the bookmark).<br>
662    C2. Repeat scenario A but this time leave all the optional features selected.<br>
663    C3. Restart and open current configuration. Verify that all the features are
664    showing as enabled.<br>
665    C4. Select 'XYZ 1.0.0' feature and select 'Disable' button in the preview.
666    Restart.<br>
667    C5. Verify that 'XYZ 1.0.0' feature is now disabled in the 'Root 1.0.0'
668    hierarchy (you will need to make disabled features visible in the view to do
669    that).<br>
670    C6. Move to the Updates view and find Root 1.0.1 feature in 'Optional Site'
671    bookmark. Click on 'Update' button.<br>
672    C7. After accepting the license, leave all settings default and install the new
673    version. Restart.<br>
674    C8. Verify that 'Root 1.0.1' is now installed, and that 'XYZBogus 1.0.1' and
675    'Bogus 1.0.1' are showing in the hierarchy. Also verify that 'XYZ 1.0.1' is <b>
676    installed but disabled </b>(we are testing whether the original state of XYZ
677    1.0.0 was preserved during the update). The expected outcome is that the new
678    version of XYZ is installed but it remains disabled as before.</p>
679    <h2>D1. Installing the missing optional feature (from the originating site)</h2>
680    <p>D1.1. Repeat cleanup as in C1.<br>
681    D1.2. Repeat the scenario A.<br>
682    D1.3. After the restart, go back to the Updates view and select Root 1.0.0
683    again. Verify that the action button is visible and that the label is &quot;Change&quot;.
684    Press it.<br>
685    D1.4. When in 'Optional Features' wizard page, ensure that 'Bogus 1.0.0'
686    optional feature is checked and grayed out. Select 'XYZ 1.0.0' feature. Finish
687    the install. Restart.<br>
688    D1.5. Verify that we now have all the features in 'Root 1.0.0' hierarchy in the
689    current configuration.</p>
690    <h2>D2. Installing the missing optional feature (using the saved originating
691    site URL)</h2>
692    <p>D2.1. After finishing D1., delete XYZ 1.0.0 feature and XYZ 1.0.0 plug-in
693    manually from <b>features</b> and <b>plugins</b> directories, respectively.<br>
694    D2.2. After restart, open Update Manager and toggle 'Show Disabled Features'
695    button on the 'Configuration' view. Select 'XYZ 1.0.0' feature object (should be
696    shown as 'not installed').<br>
697    D2.3. Verify that the 'Install' button is shown in the Details view. Press it.<br>
698    D2.4. When the install wizard shows up, follow it until XYZ 1.0.0 plug-in is
699    installed. <font color="#0000FF">Cool: missing optional feature reference has a
700    preserved URL of the originating site that it can use to reconnect and install
701    it later.</font></p>
702    <h2>E. Discovering missing optional feature</h2>
703    <p>E1. Manually copy 'com.example.xyz_1.0.0' from 'features' directory and
704    'com.example.xyz_1.0.0' from 'plugins' directory into a temp. place. After that,
705    repeat cleanup as in C1.<br>
706    E2. Repeat the scenario A and verify that XYZ 1.0.0 is missing from the
707    configuration (shown as 'not installed').<br>
708    E3. Close Eclipse. Manually copy 'com.example.xyz_1.0.0' feature from the temp.
709    space into the 'features' directory and 'com.example.xyz_1.0.0' plug-in from the
710    temp. space into the 'plugins' directory. Start Eclipse.<br>
711    E4. Verify that no dialog was shown and that feature XYZ 1.0.0 was detected and
712    configured into the hierarchy of 'Root 1.0.0'.</p>
713    <h2>F. Installing missing optional features natively after updates</h2>
714    <p>F1. Repeat preservation + cleanup as in E1.<br>
715    F2. Repeat the scenario A.<br>
716    F3. Run the 'one-click' update (Help-&gt;Software Updates-&gt;New Updates). The wizard
717    should discover feature 'Root 1.0.1'. Accept the license and finish install.
718    Restart.<br>
719    F4. At this point, we should have installed Root 1.0.1 with XYZBogus 1.0.1 and
720    Bogus 1.0.1, but not XYZ 1.0.1 (not installed because we didn't have XYZ 1.0.0
721    and one-click update should only update installed software).<br>
722    F5. Manually copy feature XYZ 1.0.0 from the temp space and plug-in XYZ 1.0.0
723    from the temp space as in E3. <br>
724    F6. At this point, verify that XYZ 1.0.0 is present in the hierarchy of XYZ
725    1.0.0 but disabled because Root 1.0.0 is disabled.<br>
726    F7. Run the 'one-click' update again as in F3. It should discover XYZ 1.0.1
727    again because we now have previous version of XYZ and it can now bring it up to
728    1.0.1<br>
729    F8. Verify in the configuration that XYZ 1.0.1 is now installed and enabled.</p>
730    <p><font color="#0000FF">Note: as you go through the the scenarios G, H and I
731    that deal with e-fixes, it is recommended to increase the coverage by switching
732    between multiple workspaces (install couple of e-fixes, then start with a new
733    workspace, install some more, create a new workspace, install some more, than
734    switch back to the first one). Since state is stored in each workspace, that
735    will give Update an additional workout to reconcile its state with changes in
736    the file system (both partial and full reconcilers will kick in).</font></p>
737    <h2>G1. Cumulative patches</h2>
738    <p>G1.1 Repeat steps C1, C2 and C3 to install Root 1.0.0 feature hierarchy.
739    Verify that all Root features (including optional ones) are installed.<br>
740    G1.2 Expand optional site bookmark in Updates and locate folder &quot;Emergency
741    Fixes&quot;. Locate feature EFIX e334 1.0.0. Select it and install it.<br>
742    G1.3 After restart, verify that EFIX e334 has been installed and that it
743    includes XYZ 1.0.0.e334. The same XYZ feature should be included by Root
744    1.0.0-&gt;XYZ Bogus 1.0.0 (should show up arrow indicating branch update). There
745    should be no errors or warnings.<br>
746    G1.4 Expand optional site bookmark in Updates and locate folder &quot;Emergency
747    Fixes&quot;. Locate feature EFIX e335 1.0.0. Select it and install it. <i>Note: e335
748    is a cumulative fix because it fixes a problem in XYZ 1.0.0 and also includes a
749    fix in e334.<br>
750    </i>G1.5 After restart, verify that e335 has been installed and that it includes
751    XYZ 1.0.0.e335. The same XYZ feature should be included by Root 1.0.0-&gt;XYZ Bogus
752    1.0.0 (should show up arrow indicating branch update).&nbsp;<br>
753    G1.6 <b>The same XYZ 1.0.0.e335 should also show up as a child of EFIX e334</b>.
754    The interpretation is that XYZ 1.0.0.e335 also includes a fix for e334, so the
755    fact that the previous version has been disabled does not invalidate EFIX e334.</p>
756    <h2>G2. Patches that include other patches</h2>
757    <p>G2.1. Repeat steps C1, C2 and C3 to install Root 1.0.0 feature hierarchy.
758    Verify that all Root features (including optional ones) are installed.<br>
759    G2.2. Expand optional site bookmark in Updates and locate folder 'Emergency
760    Fixes'. Locate feature EFIX e452 1.0.0. Select it and install it.<br>
761    G2.3. After restart, verify that: EFIX e452 is installed; its child feature e388
762    should include Bogus Feature 1.0.0.e388. The same Bogus Feature should be
763    included by Root 1.0.0 hierarchy. There should be no errors or warnings.<br>
764    G2.4. Expand 'Saved Configurations' folder. Verify that a backup configuration
765    for e452 has been created (backup configurations have label in format &quot;@&lt;id_version&gt;&nbsp;
766    backup&quot;.</p>
767    <h2>H. Updating feature branches with partial patch cleanup</h2>
768    <p>H1. After installing patch e452 in scenario G2, search for new updates by
769    selecting 'Window-&gt;Updates-&gt;New Updates'. <br>
770    H2. When the update wizard comes up with the results, uncheck the checkbox
771    'Filter features included ...'. Uncheck &quot;Root 1.0.1&quot; and check &quot;XYZBogus 1.0.1&quot;
772    from the list of search results. <font color="#0000FF">Cool: this demonstrates
773    how branches in the feature hierarchy can be individually updated.</font><br>
774    H3. Accept the license agreement and install the feature.<br>
775    H4. After restart, verify that Root 1.0.0 now includes XYZBogus 1.0.1 (<font color="#0000FF">Cool:
776    XYZBogus 1.0.1 image should have an upward pointing arrow overlay indicating
777    that the feature has been updated from the original version specified in the
778    Root 1.0.0 manifest</font>). Also verify that e388 does not show up anywhere,
779    but EFIX e452 should still be present in the configuration.</p>
780    <p><font color="#0000FF">Note: Technically, since EFIX e452 includes EFIX e388
781    and since e388 is now disabled because XYZBogus 1.0.1 is updated, EFIX e452
782    should show error status (missing included feature). Update performs additional
783    computation in this case to find if e452 is really broken. The fact is that even
784    though the referenced feature e388 is disabled, it is a patch for XYZBogus 1.0.0
785    which has since been upgraded. Updates makes a (daring) assumption that a formal
786    update for a feature includes all the patches published for a previous version
787    of that feature. In this particular case, Update assumes that XYZBogus 1.0.1,
788    being an update to XYZBogus 1.0.0, contains all the fixes registered for
789    XYZBogus 1.0.0, including e388. It concludes that EFIX e452 will indirectly
790    satisfy its need for e388 through XYZBogus 1.0.1 code.</font></p>
791    <h2>I. Updating feature root with patch cleanup</h2>
792    <p>I1. After updating XYZBogus in scenario H, search for updates again. This
793    time, accept the default (Root 1.0.1) and install it.<br>
794    I2. After restart, verify that Root 1.0.1 is installed and that all the included
795    features are version 1.0.1. Also verify that there are no e-fixes left enabled
796    in the configuration.<br>
797    I3. Open file &quot;.install-log&quot; in &lt;workspace&gt;/.metadata/.config/ and verify that
798    it contains logs of all the activities performed in scenarios G, H and I.</p>
799    <h2>J. Handling cross-site version conflicts</h2>
800    <p>The role of this scenario is to show how cross-site conflicts are handled.
801    Cross-site conflicts are caused by root features in separate install sites that
802    include features of the same ID but different versions. Since both features will
803    be configured and their plug-ins contributed to the Eclipse runtime, runtime
804    will resolve the duplication by selecting plug-ins with the higher version.
805    Update warns about this 'silent' upgrade when an attempt is made to install or
806    update a feature that can cause such a conflict to appear.</p>
807    <ul>
808      <li>Available sites:
809    <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/index.html">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/extensionSite/</a></li>
810    </ul>
811    <p>J1. Repeat cleanup as in C1.<br>
812    J2. Select &quot;Optional Site&quot; bookmark as in A1 and install Root 1.0.0 with all the
813    optional features. Restart.<br>
814    J3. Add another bookmark called &quot;Extension Site&quot; with the URL as shown above.<br>
815    J4. Expand the bookmark object and select feature &quot;Root Extension 1.0.0&quot;. Press
816    &quot;Install&quot; button.<br>
817    J5. Accept the license and select both the optional features for install.<br>
818    J6. Do not accept the default target install site. Instead, create a new one by
819    pressing &quot;Add&quot; button. Choose a location outside the Eclipse product tree
820    (anywhere else on the disk). Press &quot;Finish&quot;. Restart.<br>
821    J7. Verify that the current configuration has two install sites. The first one
822    should contain Eclipse features and Root 1.0.0. The second one (the one you
823    picked in J6) should contain Root Product Extension 1.0.0. There should be no
824    conflicts.<br>
825    J8. Search for new updates by selecting &quot;Window-&gt;Updates-&gt;New Updates&quot;. You
826    should get two results: Root 1.0.1 and Root Extension 1.0.1. Uncheck Root 1.0.1.
827    Press &quot;Next&quot; and accept all other default settings until &quot;Finish&quot; is enabled.
828    Press Finish&quot;.<br>
829    J9. Verify that a warning dialog is opened explaining the conflict. The conflict
830    should be caused by XYZ and Bogus features that will be 1.0.0 in one site and
831    1.0.1 in another if the update proceeds. Answer &quot;No&quot;.<br>
832    J10. Return back to the first page of the wizard and select both results (Root
833    1.0.1 and Root Extension 1.0.1). Advance to the last page and press &quot;Finish&quot;
834    again. This time, there should be no conflicts because both XYZ and Bogus
835    features will be simultaneously updated to version 1.0.1.<br>
836    J11. After restart, verify that the current configuration shows no warning
837    overlays.</p>
838    <h2>I. Web-triggered updates</h2>
839    <p>Update Manager has a neat feature whereby it can run a Web application and
840    accept calls from a browser with the right URL. Tasks like presentation, search,
841    classification, user verification etc. can all be handled by the provider's web
842    site (presumably running a Web application itself). Features and plug-ins are
843    still in the standard update sites, but these sites are used as feature servers.
844    When users click on 'Download' or similar buttons or links, a URL query is
845    composed and sent to Eclipse with the Update Web application running. Update
846    servlet receives the query and initiates the install process. At this point, we
847    are in the familiar install wizard.</p>
848    <ul>
849      <li>Available sites:
850    <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/index.html">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/optionalSite/index.html</a></li>
851    </ul>
852    <p>I1. Repeat the cleanup as in C1.<br>
853    I2. Open &quot;Preferences&quot; dialog and select &quot;Install/Update-&gt;Web-triggered updates&quot;
854    page. Turn the web application on. When pressing &quot;OK&quot; there will be a couple of
855    seconds delay (starting the Tomcat server).<br>
856    I3. Open Update Manager and create a new site bookmark using the URL listed
857    above. When in the wizard, choose the non-default 'Web site' bookmark type.
858    Finish.<br>
859    I4. Double-click on the bookmark to cause the External Preview view to open
860    (note: this is only on Windows; on other platform, the page will open in a
861    standalone Web browser).<br>
862    I5. You should see a page with two Download buttons. Press on the Download
863    button for Root 1.0.0. Verify that a progress monitor dialog opens while
864    connecting to the feature server. Eventually, Install Wizard should show up.
865    Follow it to install Root 1.0.0.<br>
866    I6. After restart, double-click on the Web link again and click on the
867    'Download' button for Root 1.0.0. This time, a problem response page should show
868    up indicating that the requested feature is already installed.<br>
869    I7. Click on the 'Download' button for the feature Root 1.0.1. This one should
870    be treated as an update. Follow it to the end and restart.<br>
871    I8. Verify that the configuration shows the correct features.</p>
872    
873  </body>  </body>
874  </html>  </html>

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12