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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.15 - (view) (download) (as text)

1 : vlad 1.1 <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2 :     <html>
3 :     <head>
4 :     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5 : dejan 1.13 <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
6 : vlad 1.1 </head>
7 :     <body>
8 :    
9 : vlad 1.2 <h1>
10 :     Scenario: Updating Eclipse Install Using The Update Manager</h1>
11 : dejan 1.12 Last Updated:
12 : dejan 1.15 <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%A, %B %d, %Y" startspan -->Sunday, March 02, 2003<!--webbot bot="Timestamp" endspan i-CheckSum="30664" --><h3>
13 : vlad 1.1 Objectives:</h3>
14 : vlad 1.3 The objective of these scenarios is to illustrate the Eclipse update manager
15 : vlad 1.4 function through simple end-to-end use cases. The scenarios are divided
16 : dejan 1.12 into two parts.<ul>
17 : vlad 1.2 <li>
18 : dejan 1.12 Part-1 exercises updating of Eclipse itself from a test site containing
19 : vlad 1.2 Eclipse builds repackaged as downloadable features. The Eclipse feature
20 :     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,
22 : vlad 1.7 pde, etc) and is nested.</li>
23 : vlad 1.2
24 :     <li>
25 :     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
27 : dejan 1.12 (using .zip file containing features and plug-ins that can be extracted
28 : vlad 1.2 directly into the file system)</li>
29 : dejan 1.12
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 : vlad 1.2 </ul>
34 :    
35 :     <h2>
36 : vlad 1.8 Part 1: Updating Eclipse - "One Click" Update</h2>
37 : vlad 1.2
38 : vlad 1.1 <h3>
39 :     Setup:</h3>
40 :     Available sites:
41 :     <ul>
42 :     <li>
43 : dejan 1.12 <a href="http://download.eclipse.org/updates/">http://update.eclipse.org/testUpdates/</a></li>
44 : vlad 1.2 </ul>
45 : vlad 1.1
46 :     <table BORDER COLS=1 WIDTH="100%" >
47 :     <tr>
48 :     <td>
49 :     <center><b><font color="#FF0000">*** PLEASE READ *** PLEASE READ *** PLEASE
50 :     READ *** PLEASE READ ***</font></b></center>
51 :     </td>
52 :     </tr>
53 :    
54 :     <tr>
55 : vlad 1.3 <td><font color="#000000">As part of this scenario you will be downloading
56 : vlad 1.1 and installing various versions of the Eclipse components into the running
57 : vlad 1.3 Eclipse. The update site is populated with features that have their version
58 : vlad 1.1 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,
60 : vlad 1.3 however, that when you install base Eclipse (.zip downloaded from eclipse.org),
61 : dejan 1.12 all of its features and plug-ins only use 3 part version identifiers (generally
62 :     2.1.0). So all the 2.1.0.Q updates in fact appear more recent that the
63 : vlad 1.3 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
65 :     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
67 : vlad 1.9 really important that you start each of the test scenario steps with a
68 : dejan 1.12 <b>clean install of eclipse</b>. </font><font color="#FF0000">It is suggested
69 : vlad 1.9 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
71 : dejan 1.12 these scenarios.</font><p><font color="#000000">When opening Bugzilla defects, use the
72 :     Platform/Update
73 : vlad 1.2 component. Please ALWAYS specify the failing scenario step, and include
74 :     a .zip of the &lt;workspace>/.metadata/ directory</font></td>
75 : vlad 1.1 </tr>
76 :     </table>
77 :    
78 :     <h3>
79 :     Steps:</h3>
80 :    
81 :     <ul>
82 :     <li>
83 :     Install second copy of Eclipse to run these scenarios ... do not use your
84 :     development copy of Eclipse for this.</li>
85 :    
86 :     <li>
87 :     either use the default workspace created by the second Eclipse copy, or
88 :     specify (-data) a new workspace for these scenarios</li>
89 :     </ul>
90 :    
91 :     <h4>
92 :     A. Startup new Eclipse</h4>
93 :    
94 :     <ul>
95 :     <li>
96 :     A.1. startup Eclipse. On the initial startup with new workspace you should
97 :     see the splash come up, be taken down down, and come up again before it
98 :     is finally taken down before the Workbench appears. This is due to Eclipse
99 :     restart when new features are detected on startup.</li>
100 :    
101 :     <li>
102 : dejan 1.12 A.2 go to Help> About and click [Feature Details] and [Plug-in Details]
103 : vlad 1.10 to see more details of what is actually running. Note the baseline version
104 : dejan 1.12 of the various items (most will be 2.1.0)</li>
105 : vlad 1.8
106 :     <li>
107 :     A.3. go to Help> Software Updates> Update Manager and verify that the features
108 :     corresponding to the baseline install appear in the "Current Configuration"</li>
109 : vlad 1.1 </ul>
110 :    
111 :     <h4>
112 :     B. Save baseline configuration</h4>
113 :    
114 :     <ul>
115 :     <li>
116 :     B.1. in "Configuration" view, expand "Configuration History"</li>
117 :    
118 :     <li>
119 :     B.2. select the current configuration (at this point it should be the only
120 :     one)</li>
121 :    
122 :     <li>
123 :     B.3. popup menu, Save</li>
124 :    
125 :     <li>
126 :     B.4. expand "Saved Configurations"</li>
127 :    
128 :     <li>
129 :     B.5. select the configuration you have just saved</li>
130 :    
131 :     <li>
132 :     B.6. popup, Properties, change name to "Baseline"</li>
133 :    
134 :     <li>
135 : dejan 1.12 B.7 close Update Manager</li>
136 : vlad 1.1 </ul>
137 :    
138 : vlad 1.8 <h4>
139 :     C. "One Click" update</h4>
140 : vlad 1.1
141 :     <ul>
142 :     <li>
143 : vlad 1.8 C.0. NOTE: you must be connected to the network with access to www.eclipse.org
144 : dejan 1.12 to perform this step. You will be downloading a full Eclipse SDK drop as
145 : vlad 1.8 part of this step. So you should have a reasonably fast network connection
146 : dejan 1.13 for this step. In addition, Eclipse features all point to <a href="http://update.eclipse.org/updates/">http://update.eclipse.org/updates/</a>
147 :     as the official update site. For our testing purposes, <b>you must use the test
148 : dejan 1.14 update site (<a href="http://update.eclipse.org/testUpdates/">http://update.eclipse.org/testUpdates/</a>).</b> Add this site as a
149 : dejan 1.13 bookmark in Updates view and change the scope settings for the 'Available
150 :     Updates' search object to include bookmarked sites. This is a trick that allows
151 :     the search for find results in the subsequent steps.</li>
152 : vlad 1.1
153 :     <li>
154 : vlad 1.8 C.1. select Help> Software Updates> New Updates</li>
155 : vlad 1.1
156 :     <li>
157 : vlad 1.8 C.2. wait while eclipse is searching for new updates</li>
158 : vlad 1.1
159 :     <li>
160 : vlad 1.8 C.3. the search results page should display a new version of eclipse SDK
161 :     preselected</li>
162 : vlad 1.1
163 :     <li>
164 : vlad 1.11 C.3.1. accept any license agreements</li>
165 :    
166 :     <li>
167 : vlad 1.8 C.4. click [Finish] and proceed to install the update. When you see feature
168 : vlad 1.10 verification dialog, click [Install].</li>
169 : vlad 1.1
170 :     <li>
171 : dejan 1.12 C.5. when you complete the installation, you'll be prompted to restart.
172 : vlad 1.10 Select [Yes] to restart the platform</li>
173 : vlad 1.1
174 :     <li>
175 : dejan 1.12 C.6. workbench should restart automatically</li><ul>
176 : vlad 1.1 <li>
177 : vlad 1.8 <b>PLEASE NOTE</b>: at this point you are no longer executing the update
178 :     manager code you started with, but rather are running a version of the
179 :     update manager that was contained in the update (along with the rest of
180 : dejan 1.12 the platform plug-ins). Depending on what the update site contained at that
181 : vlad 1.8 point (changes build to build) the platform may not even restart, and you
182 :     may need to reinstall eclipse to continue. Report defects for this (to
183 :     make sure there is not actually a legitimate problem) but please be clear
184 :     that you failed in step C.6.</li>
185 : vlad 1.1 </ul>
186 :    
187 :     <li>
188 : vlad 1.10 C.7. go to Help> About> [Plug-In Details] and [Feature Details] to verify
189 : vlad 1.8 you are running new version of the platform (the versions for the items
190 : dejan 1.12 will be 2.1.0.&lt;qualifier>)</li>
191 : vlad 1.1
192 :     <li>
193 : vlad 1.8 C.8. Go to Help> Software Updates> Update Manager and expand "Current Configuration"
194 :     and verify you now recognize the new version of the platform that was updated</li>
195 : vlad 1.1 </ul>
196 :    
197 :     <h4>
198 : vlad 1.8 D. Restoring Original Configuration</h4>
199 : vlad 1.1
200 :     <ul>
201 :     <li>
202 : vlad 1.8 D.1. in Update Manager, expand "Saved Configurations"</li>
203 : vlad 1.1
204 :     <li>
205 : vlad 1.8 D.2. select "Baseline" created in step B</li>
206 : vlad 1.1
207 :     <li>
208 : vlad 1.10 D.3. press [Restore]</li>
209 : vlad 1.1
210 :     <li>
211 : vlad 1.8 D.4. Restart the workbench when prompted</li>
212 : vlad 1.1
213 :     <li>
214 : dejan 1.12 D.5. workbench should restart automatically, and open into Update Manager</li>
215 : vlad 1.1
216 :     <li>
217 : vlad 1.8 D.6. expand "Current Configuration" and verify all configured features
218 : dejan 1.12 are the baseline feature versions (generally 2.1.0)</li>
219 : vlad 1.1
220 :     <li>
221 : vlad 1.10 D.6.1. click "Show Disabled Features" button in the toolbar of the Configurations
222 : dejan 1.12 view. Observe the updated version as disabled.</li>
223 : vlad 1.10
224 :     <li>
225 : dejan 1.12 D.7. click the "Show Disabled Features" button in the Configuration view
226 : vlad 1.1 tool bar</li>
227 :    
228 :     <li>
229 : vlad 1.8 D.8. verify "Current Configuration" shows the features updated in steps
230 : vlad 1.1 D and E as disabled (different icon)</li>
231 : vlad 1.3
232 :     <li>
233 : vlad 1.10 D.9. go to Help> About dialog, [Plug-In Details] and verify you are in
234 : dejan 1.12 fact running the baseline plug-ins (all 2.0.0, except for the "special cases"
235 :     like Xerces, Ant, Lucene, Tomcat, etc)</li>
236 : vlad 1.1
237 :     <li>
238 : vlad 1.8 D.10. shut down the workbench</li>
239 : vlad 1.1 </ul>
240 :    
241 : vlad 1.2 <h2>
242 :     Part 2: Alphabet Soup</h2>
243 :    
244 :     <h3>
245 :     Setup:</h3>
246 :     Available sites:
247 :     <ul>
248 :     <li>
249 : vlad 1.5 <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>
250 : vlad 1.2 </ul>
251 : dejan 1.12 The above site contains pre-built features used as part of the following
252 : vlad 1.2 scenario steps. It also includes several .zip files (containing features
253 : dejan 1.12 and plug-ins) that are used to simulate native installer steps.<br>&nbsp;
254 : vlad 1.2 <table BORDER COLS=1 WIDTH="100%" >
255 :     <tr>
256 :     <td>
257 :     <center><b><font color="#FF0000">*** PLEASE READ *** PLEASE READ *** PLEASE
258 :     READ *** PLEASE READ ***</font></b></center>
259 :     </td>
260 :     </tr>
261 :    
262 :     <tr>
263 : dejan 1.12 <td><font color="#000000">When opening Bugzilla defects, use the Platform/Update
264 : vlad 1.2 component. Please ALWAYS specify the failing scenario step, and include
265 :     a .zip of the &lt;workspace>/.metadata/ directory</font></td>
266 :     </tr>
267 :     </table>
268 :    
269 :     <h3>
270 :     Description:</h3>
271 :     The Alphabet Soup is a simple application packaged as an Eclipse product,
272 :     plus several extensions. The application installs a tool button, and a
273 :     menu ("Alphabet Soup") that can be used to query the content of the "soup
274 :     bowl" and interact with the individual installed "letters" (each letter
275 : dejan 1.12 in the bowl corresponds to a separate plug-in)
276 : vlad 1.2 <ul>
277 :     <li>
278 :     base product is a nested feature, my.alphabet, containing two sub-features
279 :     with base sets of "letters"</li>
280 :    
281 :     <li>
282 : dejan 1.12 3 extension features containing additional "letters" (plug-ins). The features
283 : vlad 1.2 have a dependency relationship as follows:</li>
284 :    
285 :     <ul>
286 :     <li>
287 :     "round letters" extension pack requires the base to be installed</li>
288 :    
289 :     <li>
290 :     "straight letters" extension pack requires "round letters" extension pack
291 :     to be installed</li>
292 :    
293 :     <li>
294 :     "numbers" extension pack requires both "round letters" extension pack and
295 :     "straight letters" extension pack to be installed</li>
296 :     </ul>
297 :     </ul>
298 : dejan 1.12 Just follow the steps and you'll get the idea.<h3>
299 : vlad 1.2 Steps:</h3>
300 :    
301 :     <ul>
302 :     <li>
303 :     Install second copy of Eclipse to run these scenarios ... do not use your
304 :     development copy of Eclipse for this.</li>
305 :    
306 :     <li>
307 :     either use the default workspace created by the second Eclipse copy, or
308 :     specify (-data) a new workspace for these scenarios</li>
309 :     </ul>
310 :    
311 :     <h4>
312 :     O. Completing the install</h4>
313 :    
314 :     <ul>
315 :     <li>
316 : dejan 1.12 O.1. after you have installed baseline eclipse, unzip the Alphabet Soup
317 : vlad 1.2 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;
318 :     into the eclipse/ installation directory. The unzip should overwrite the
319 :     install.ini file that is packaged with Eclipse (sets the Alphabet Soup
320 :     feature as the primary feature). The product feature .zips can be found
321 :     in <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/native/">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/site/native/</a></li>
322 :    
323 :     <li>
324 :     O.2. start eclipse .... after "Completing the install ..." the platform
325 :     restarts as "Alphabet Soup" application (own Welcome, About)</li>
326 :    
327 :     <li>
328 :     O.3. Click on the "Alphabet Soup" button in the tool bar ... you should
329 :     have letters A, B, C and E (all 1.0.0) in your bowl.</li>
330 :    
331 :     <li>
332 :     O.4. Go to the "Alphabet Soup" menu and verify you can interact with each
333 :     letter (one action per letter on the menu)</li>
334 :    
335 :     <li>
336 :     O.5. Open Help> Software Updates> Update Manager</li>
337 :    
338 :     <li>
339 :     O.6. Expand "Current Configuration". Verify "Alphabet Soup 1.0.0" is configured,
340 : dejan 1.12 and it contains 2 sub-features (Round and Straight letters)</li>
341 : vlad 1.2
342 :     <li>
343 : dejan 1.12 O.7. click on each of the features and view more details about each feature</li>
344 : vlad 1.2
345 :     <li>
346 :     O.8. select "Alphabet Soup 1.0.0" and press [Disable]. You should be notified
347 :     that you cannot disable the primary feature (if this is not the case, [Cancel]
348 :     the disable action and report a defect).</li>
349 :     </ul>
350 :    
351 :     <h4>
352 :     P. Updating the primary feature using update manager</h4>
353 :    
354 :     <ul>
355 :     <li>
356 :     P.1. expand "Sites to Visit", and "Alphabet Soup Update Site" and "Alphabet
357 :     Soup Category"</li>
358 :    
359 :     <li>
360 :     P.2. Select "Alphabet Soup 1.0.0" ... preview should not show [Update]
361 :     button</li>
362 :    
363 :     <li>
364 :     P.3. Select "Alphabet Soup 1.0.1" and select [Update]. Go through the install
365 :     wizard accepting defaults.</li>
366 :    
367 :     <li>
368 :     P.4. Restart the workbench when prompted. Will restart with update manager
369 :     open.</li>
370 :    
371 :     <li>
372 :     P.5. Expand "Current Configuration" .... verify you now have Alphabet Soup
373 :     1.0.1 installed and configured.</li>
374 :    
375 :     <li>
376 :     P.6. Click the "Show disabled features" filter button .... should see both
377 : dejan 1.12 versions (one enabled, the other disabled (icon with red "stop"
378 : vlad 1.2 overlay))</li>
379 :    
380 :     <li>
381 :     P.7. click the "Alphabet Soup" tool button ... should show new versions
382 :     of the base letters (1.0.1). The actions on "Alphabet Soup" menu should
383 :     also indicate we are running the new version.</li>
384 :    
385 :     <li>
386 :     P.8. close update manager</li>
387 :    
388 :     <li>
389 :     P.9. shut down the workbench</li>
390 :     </ul>
391 :    
392 :     <h4>
393 :     Q. Updating the primary feature using "native" install (.zip)</h4>
394 :    
395 :     <ul>
396 :     <li>
397 : dejan 1.12 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;
398 : vlad 1.2 into the eclipse/ installation directory (look into the features/ or plugins/
399 : dejan 1.12 subdirectory to verify you see new 1.1.0 versions)</li>
400 : vlad 1.2
401 :     <li>
402 : dejan 1.12 Q.2. start Eclipse (a.k.a. Alphabet Soup). You'll see the splash coming
403 :     up twice as the platform is updating the configuration. Workbench will
404 : vlad 1.2 come up, with a dialog informing you have changes. Click [OK] to open the
405 :     update manager change dialog.</li>
406 :    
407 :     <li>
408 :     Q.3. check the change (so it is applied) and press [Finish]</li>
409 :    
410 :     <li>
411 :     Q.4. restart the workbench when prompted</li>
412 :    
413 :     <li>
414 :     Q.5. click the "Alphabet Soup" tool button and trigger "Alphabet Soup"
415 :     menu action to see you have the new version (1.1.0) of the "soup bowl and
416 :     letters"</li>
417 :    
418 :     <li>
419 :     Q.6. Open update manager and expand "Current Configuration". Should see
420 : dejan 1.12 Alphabet Soup 1.1.0 enabled, and the other 2 disabled (click the
421 : vlad 1.2 "Show disabled features").</li>
422 :     </ul>
423 :    
424 :     <h4>
425 :     <font color="#000000">R. Adding an extension using the update manager</font></h4>
426 :    
427 :     <ul>
428 :     <li>
429 :     <font color="#000000">R.1. expand "Sites to Visit", "Alphabet Soup Update
430 :     Site", "Alphabet Soup Fun Pack - Round Letters"</font></li>
431 :    
432 :     <li>
433 :     <font color="#000000">R.2. select "Alphabet Soup Round Letters Extension
434 :     Pack 1.0.0" and click [Install]. Accept defaults in wizard and [Finish].
435 :     Restart workbench when prompted.</font></li>
436 :    
437 :     <li>
438 : dejan 1.12 <font color="#000000">R.3. click of the "Alphabet Soup" tool button and
439 : vlad 1.2 interact with "Alphabet Soup" menu to see new round letters (D and G).
440 : vlad 1.3 <b>Note:</b>
441 : dejan 1.12 may need to go to Window> Customize Perspective...> Other and select the
442 : vlad 1.3 action sets for the new letters</font></li>
443 : vlad 1.2
444 :     <li>
445 : dejan 1.12 <font color="#000000">R.4. expand Current Configuration and verify the
446 : vlad 1.2 new feature is showing as configured.</font></li>
447 :    
448 :     <li>
449 : dejan 1.12 <font color="#000000">R.5. close the update manager and shut down the workbench</font></li>
450 :    
451 :     <li>
452 :     R.6. As an alternative, try to install several extension features at once using
453 :     group install. For each feature you want to add, check the checkbox at the
454 :     bottom of the Preview for that feature. When done, go to 'Selected Updates' view
455 :     and process all the pending jobs. A multi-install wizard should guide you
456 :     through the installation.</li>
457 : vlad 1.2 </ul>
458 :    
459 :     <h4>
460 :     <font color="#000000">S. Adding an extension using "native" install (.zip)
461 :     and link file</font></h4>
462 :    
463 :     <ul>
464 :     <li>
465 :     <font color="#000000">S.0. <b>Note</b>: the first 3 steps will typically
466 :     be performed by a native installer. Since you are simulating these steps
467 :     you need to do this manually.</font></li>
468 :    
469 :     <li>
470 :     <font color="#000000">S.1. Set up a new install directory somewhere in
471 :     your file system. Create eclipse/ subdirectory under it. U</font>nzip the
472 : dejan 1.12 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;
473 : vlad 1.2 into the eclipse/ subdirectory. You should end up with</li>
474 :    
475 :     <ul>
476 :     <li>
477 : vlad 1.3 &lt;some new install directory>/</li>
478 :    
479 :     <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eclipse/
480 :     <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
481 :     features/
482 :     <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
483 :     plugins/</ul>
484 : vlad 1.2
485 :     <li>
486 :     S.2. In the original eclipse install (the one that contains the platform
487 :     and Alphabet Soup), create a new directory called "links" as a peer to
488 :     features/ and plugins/. You should end up with</li>
489 :    
490 :     <ul>
491 :     <li>
492 : vlad 1.3 &lt;eclipse platform install directory>/</li>
493 :    
494 :     <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eclipse/
495 :     <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
496 :     links/
497 :     <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; features/
498 :     <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
499 :     plugins/</ul>
500 : vlad 1.2
501 : dejan 1.12 <li>S.3. within the links/ subdirectory, create a file called my.alphabet.link&nbsp;
502 :     and add a single line into it</li> <br>
503 :     <br>
504 :     <font face="Courier New">&nbsp;&nbsp;&nbsp; <font size="2">path=&lt;some new
505 :     install directory&gt; </font></font>
506 : vlad 1.3 <p><b>Note</b>: the path should be an absolute path using local file system
507 : vlad 1.2 syntax. The .link file is loaded as a Java properties file, so on Windows
508 : dejan 1.12 you need to double up the back-slashes (e.g. path=c:\\temp\\install) </li>
509 : vlad 1.2 <li>
510 : dejan 1.12 S.4. start eclipse (Alphabet Soup). You'll see the splash coming up twice
511 :     as the platform is updating the configuration. Workbench will come up,
512 : vlad 1.2 with a dialog informing you have changes. Click [OK] to open the update
513 :     manager change dialog.</li>
514 :    
515 :     <li>
516 :     S.5. check the change (so it is applied) and press [Finish]</li>
517 :    
518 :     <li>
519 :     S.6. restart the workbench when prompted</li>
520 :    
521 :     <li>
522 :     S.7. click the "Alphabet Soup" tool button and trigger "Alphabet Soup"
523 : vlad 1.3 menu action to see you have the new letters.</li>
524 : vlad 1.2
525 : vlad 1.3 <br><b>Note</b>: may need to go to Window> Customize Perspective...> Other
526 :     and select the new letters to get the menu actions to become visible
527 :     <br><b>Note</b>: if you are following all the steps in the scenario, the
528 :     base letters (A, B, C, E) should be at 1.1.0, and the extensions (D, G)
529 :     (F, H) at 1.0.0
530 : vlad 1.2 <li>
531 :     S.8. Open update manager and expand "Current Configuration". Should see
532 :     a new site representing the extension install, and it should contain the
533 :     extension feature you've installed.</li>
534 : dejan 1.12 <li>
535 :     S.9. Click on the new extension, and disable it in the Preview view. After
536 :     restart, verify that all the features and plug-ins from the extension are
537 :     missing. Enable it and verify that they are back after the restart.</li>
538 : vlad 1.2 </ul>
539 :    
540 :     <h4>
541 :     T. Installing another extension using the update manager (with environment
542 :     filtering)</h4>
543 :    
544 :     <ul>
545 :     <li>
546 :     <font color="#000000">T.1. expand "Sites to Visit", "Alphabet Soup Update
547 :     Site", "Alphabet Soup Fun Pack - Numbers"</font></li>
548 :    
549 :     <li>
550 :     <font color="#000000">T.2. The Numbers extension specifies an OS in its
551 :     feature definition. The update site contains features for Win and Linux.
552 :     On those two platforms you should see a list of features designated for
553 :     than platform. On other platforms you are out of luck ... you don't get
554 :     to play with numbers (skip the rest of this step)</font></li>
555 :    
556 :     <li>
557 :     <font color="#000000">T.3. uncheck the "Show matching features only" filter
558 : vlad 1.6 .... should now see all the features for both platforms. Check the filter
559 : vlad 1.2 back again.</font></li>
560 :    
561 :     <li>
562 :     <font color="#000000">T.4. select "Alphabet Soup Numbers Extension Pack
563 :     for &lt;OS>1.0.1" and click [Install]. Accept defaults in wizard. In the
564 :     location selection page ensure the extension location created in steps
565 :     S is not offered as a choice. Press [Finish]. Restart workbench when prompted.</font></li>
566 :    
567 :     <li>
568 :     <font color="#000000">T.5. click of the "Alphabet Soup" tool button and
569 :     interact with "Alphabet Soup" menu to see new numbers (3 and 5). <b>Note:</b>
570 : dejan 1.12 may need to go to Window> Customize Perspective...> Other and select the
571 : vlad 1.2 action sets for the new numbers</font></li>
572 :    
573 :     <li>
574 : dejan 1.12 <font color="#000000">T.6. expand Current Configuration and verify the
575 : vlad 1.2 new feature is showing as configured in the original install site</font></li>
576 :    
577 :     <li>
578 : vlad 1.6 <font color="#000000">T.7. close the update manager and shut down the workbench</font></li>
579 : vlad 1.2 </ul>
580 :    
581 : vlad 1.1 <h4>
582 : vlad 1.2 <font color="#000000">"Free-form" testing</font></h4>
583 :    
584 :     <ul>
585 :     <li>
586 :     <font color="#000000">the above scenarios describe a path through the update
587 :     support. Run through it once as described. There is lot's of opportunity
588 :     to do thing in different order, click on ither buttons, try other features
589 :     in the UI. Go ahead an explore. Remember, is you see something that does
590 :     not work, is not correct, or is not what you'd expected, open Bugzilla
591 :     defects in the platform/update component. Please ALWAYS specify the steps
592 :     leading up to the failure, and include a .zip of the &lt;workspace>/.metadata/
593 :     directory</font></li>
594 : vlad 1.4 </ul>
595 : vlad 1.2
596 : dejan 1.12 <h2>
597 :     Part 3: Optional features and e-fixes</h2>
598 :    
599 :     <h3>
600 :     Setup:</h3>
601 :     <p>Available sites:</p>
602 :     <ul>
603 :     <li>
604 : dejan 1.14 <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-update-home/optionalSite/">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/optionalSite/</a></li>
605 : dejan 1.12 </ul>
606 :     <p>The above site contains pre-built features used as part of the following
607 :     scenario steps.<br>&nbsp; </p>
608 :     <table BORDER COLS=1 WIDTH="100%" >
609 :     <tr>
610 :     <td>
611 :     <center>
612 :     <p><b><font color="#FF0000">*** PLEASE READ *** PLEASE READ *** PLEASE
613 :     READ *** PLEASE READ ***</font></b></p>
614 :     </center>
615 :     </td>
616 :     </tr>
617 :    
618 :     <tr>
619 :     <td><font color="#000000">When opening Bugzilla defects, use the Platform/Update
620 :     component. Please ALWAYS specify the failing scenario step, and include
621 :     a .zip of the &lt;workspace>/.metadata/ directory. Note that we ran out of
622 :     letters, so we are starting from A again. You need to include the part number
623 :     when specifying steps (e.g. 3.A7)</font></td>
624 :     </tr>
625 :     </table>
626 :    
627 :     <h3>
628 :     Description:</h3>
629 :     <p>The Optional Site is a simple site that contains several versions of the
630 :     'Root' feature. The feature includes another feature (XYZBogus) that in turn
631 :     includes features XYZ and Bogus. The last two features are included as optional,
632 :     which means that users can elect not to install them. Several interesting
633 :     consequences result from this capability, and this part deals with them.</p>
634 :     <p>The site also contains several e-fixes. E-fix is a feature that is designed
635 :     to patch another feature with an exact ID and version. It is used to deliver
636 :     temporary fixes between full root updates.</p>
637 :     <h2>A. Installing feature Root 1.0.0</h2>
638 :     <p>A1. Open Update Manager. Create a bookmark with the URL listed above.<br>
639 :     A2. Expand the new node and select feature Root 1.0.0. Press 'Install' button in
640 :     the Preview view.<br>
641 :     A3. Accept the license in the License page.<br>
642 :     A4. Uncheck 'XYZ 1.0.0' optional feature in the Optional Features page. Leave
643 :     'Bogus 1.0.0' feature selected.<br>
644 :     A5. Install (accept unsigned feature). Restart.<br>
645 :     A6. Verify that 'Root 1.0.0' feature has been installed and that 'XYZ 1.0.0' is
646 :     missing. <br>
647 :     A7. Toggle the view button so that disabled features are visible. Verify that
648 :     'XYZ 1.0.0' is shown and marked as '(not installed')<br>
649 :     A8. If you want to stop being warned about unsigned features, toggle the option
650 :     off in the Install/Update preferences. Verify that you are warned about the
651 :     consequences (rogue features deleting your entire hard drive and such).</p>
652 :     <h2>B. Updating Root 1.0.0 to Root 1.0.1</h2>
653 :     <p>B1. Open Update Manager. Expand 'Optional site' bookmark created in scenario
654 :     A and select 'Root 1.0.1'. Verify that Preview view shows 'Update' button. Press
655 :     it.<br>
656 :     B2. After accepting the license, verify that features 'XYZBogus' and 'Bogus' are
657 :     checked&nbsp; and grayed out in 'Optional Features' page, while 'XYZ' plug-ins is
658 :     unchecked (leave it unchecked). Install and restart.<br>
659 :     B3. Verify that we now have Root 1.0.1 installed that is still without XYZ
660 :     feature (XYZ 1.0.1 shows as 'not installed' when disabled features are shown in
661 :     the view).</p>
662 :     <h2>C. Preserving the state of the optional feature</h2>
663 :     <p>C1. Close Eclipse. Manually delete all 'com.example.*' features from the
664 :     features/ directory and all 'com.example.*' plug-ins from the plugins/
665 :     directory. Delete the '.config' directory in the .metadata directory of the
666 :     workspace (you want to preserve the bookmark).<br>
667 :     C2. Repeat scenario A but this time leave all the optional features selected.<br>
668 :     C3. Restart and open current configuration. Verify that all the features are
669 :     showing as enabled.<br>
670 :     C4. Select 'XYZ 1.0.0' feature and select 'Disable' button in the preview.
671 :     Restart.<br>
672 :     C5. Verify that 'XYZ 1.0.0' feature is now disabled in the 'Root 1.0.0'
673 :     hierarchy (you will need to make disabled features visible in the view to do
674 :     that).<br>
675 :     C6. Move to the Updates view and find Root 1.0.1 feature in 'Optional Site'
676 :     bookmark. Click on 'Update' button.<br>
677 :     C7. After accepting the license, leave all settings default and install the new
678 :     version. Restart.<br>
679 :     C8. Verify that 'Root 1.0.1' is now installed, and that 'XYZBogus 1.0.1' and
680 :     'Bogus 1.0.1' are showing in the hierarchy. Also verify that 'XYZ 1.0.1' is <b>
681 :     installed but disabled </b>(we are testing whether the original state of XYZ
682 :     1.0.0 was preserved during the update). The expected outcome is that the new
683 :     version of XYZ is installed but it remains disabled as before.</p>
684 :     <h2>D1. Installing the missing optional feature (from the originating site)</h2>
685 :     <p>D1.1. Repeat cleanup as in C1.<br>
686 :     D1.2. Repeat the scenario A.<br>
687 :     D1.3. After the restart, go back to the Updates view and select Root 1.0.0
688 :     again. Verify that the action button is visible and that the label is &quot;Change&quot;.
689 :     Press it.<br>
690 :     D1.4. When in 'Optional Features' wizard page, ensure that 'Bogus 1.0.0'
691 :     optional feature is checked and grayed out. Select 'XYZ 1.0.0' feature. Finish
692 :     the install. Restart.<br>
693 :     D1.5. Verify that we now have all the features in 'Root 1.0.0' hierarchy in the
694 :     current configuration.</p>
695 :     <h2>D2. Installing the missing optional feature (using the saved originating
696 :     site URL)</h2>
697 :     <p>D2.1. After finishing D1., delete XYZ 1.0.0 feature and XYZ 1.0.0 plug-in
698 :     manually from <b>features</b> and <b>plugins</b> directories, respectively.<br>
699 :     D2.2. After restart, open Update Manager and toggle 'Show Disabled Features'
700 :     button on the 'Configuration' view. Select 'XYZ 1.0.0' feature object (should be
701 :     shown as 'not installed').<br>
702 :     D2.3. Verify that the 'Install' button is shown in the Details view. Press it.<br>
703 :     D2.4. When the install wizard shows up, follow it until XYZ 1.0.0 plug-in is
704 :     installed. <font color="#0000FF">Cool: missing optional feature reference has a
705 :     preserved URL of the originating site that it can use to reconnect and install
706 :     it later.</font></p>
707 :     <h2>E. Discovering missing optional feature</h2>
708 :     <p>E1. Manually copy 'com.example.xyz_1.0.0' from 'features' directory and
709 :     'com.example.xyz_1.0.0' from 'plugins' directory into a temp. place. After that,
710 :     repeat cleanup as in C1.<br>
711 :     E2. Repeat the scenario A and verify that XYZ 1.0.0 is missing from the
712 :     configuration (shown as 'not installed').<br>
713 :     E3. Close Eclipse. Manually copy 'com.example.xyz_1.0.0' feature from the temp.
714 :     space into the 'features' directory and 'com.example.xyz_1.0.0' plug-in from the
715 :     temp. space into the 'plugins' directory. Start Eclipse.<br>
716 :     E4. Verify that no dialog was shown and that feature XYZ 1.0.0 was detected and
717 :     configured into the hierarchy of 'Root 1.0.0'.</p>
718 :     <h2>F. Installing missing optional features natively after updates</h2>
719 :     <p>F1. Repeat preservation + cleanup as in E1.<br>
720 :     F2. Repeat the scenario A.<br>
721 :     F3. Run the 'one-click' update (Help-&gt;Software Updates-&gt;New Updates). The wizard
722 :     should discover feature 'Root 1.0.1'. Accept the license and finish install.
723 :     Restart.<br>
724 :     F4. At this point, we should have installed Root 1.0.1 with XYZBogus 1.0.1 and
725 :     Bogus 1.0.1, but not XYZ 1.0.1 (not installed because we didn't have XYZ 1.0.0
726 :     and one-click update should only update installed software).<br>
727 :     F5. Manually copy feature XYZ 1.0.0 from the temp space and plug-in XYZ 1.0.0
728 :     from the temp space as in E3. <br>
729 :     F6. At this point, verify that XYZ 1.0.0 is present in the hierarchy of XYZ
730 :     1.0.0 but disabled because Root 1.0.0 is disabled.<br>
731 :     F7. Run the 'one-click' update again as in F3. It should discover XYZ 1.0.1
732 :     again because we now have previous version of XYZ and it can now bring it up to
733 :     1.0.1<br>
734 :     F8. Verify in the configuration that XYZ 1.0.1 is now installed and enabled.</p>
735 :     <p><font color="#0000FF">Note: as you go through the the scenarios G, H and I
736 :     that deal with e-fixes, it is recommended to increase the coverage by switching
737 :     between multiple workspaces (install couple of e-fixes, then start with a new
738 :     workspace, install some more, create a new workspace, install some more, than
739 :     switch back to the first one). Since state is stored in each workspace, that
740 :     will give Update an additional workout to reconcile its state with changes in
741 :     the file system (both partial and full reconcilers will kick in).</font></p>
742 :     <h2>G1. Cumulative patches</h2>
743 :     <p>G1.1 Repeat steps C1, C2 and C3 to install Root 1.0.0 feature hierarchy.
744 :     Verify that all Root features (including optional ones) are installed.<br>
745 :     G1.2 Expand optional site bookmark in Updates and locate folder &quot;Emergency
746 :     Fixes&quot;. Locate feature EFIX e334 1.0.0. Select it and install it.<br>
747 :     G1.3 After restart, verify that EFIX e334 has been installed and that it
748 :     includes XYZ 1.0.0.e334. The same XYZ feature should be included by Root
749 :     1.0.0-&gt;XYZ Bogus 1.0.0 (should show up arrow indicating branch update). There
750 :     should be no errors or warnings.<br>
751 :     G1.4 Expand optional site bookmark in Updates and locate folder &quot;Emergency
752 :     Fixes&quot;. Locate feature EFIX e335 1.0.0. Select it and install it. <i>Note: e335
753 :     is a cumulative fix because it fixes a problem in XYZ 1.0.0 and also includes a
754 :     fix in e334.<br>
755 :     </i>G1.5 After restart, verify that e335 has been installed and that it includes
756 :     XYZ 1.0.0.e335. The same XYZ feature should be included by Root 1.0.0-&gt;XYZ Bogus
757 :     1.0.0 (should show up arrow indicating branch update).&nbsp;<br>
758 :     G1.6 <b>The same XYZ 1.0.0.e335 should also show up as a child of EFIX e334</b>.
759 :     The interpretation is that XYZ 1.0.0.e335 also includes a fix for e334, so the
760 :     fact that the previous version has been disabled does not invalidate EFIX e334.</p>
761 :     <h2>G2. Patches that include other patches</h2>
762 :     <p>G2.1. Repeat steps C1, C2 and C3 to install Root 1.0.0 feature hierarchy.
763 :     Verify that all Root features (including optional ones) are installed.<br>
764 :     G2.2. Expand optional site bookmark in Updates and locate folder 'Emergency
765 :     Fixes'. Locate feature EFIX e452 1.0.0. Select it and install it.<br>
766 :     G2.3. After restart, verify that: EFIX e452 is installed; its child feature e388
767 :     should include Bogus Feature 1.0.0.e388. The same Bogus Feature should be
768 :     included by Root 1.0.0 hierarchy. There should be no errors or warnings.<br>
769 :     G2.4. Expand 'Saved Configurations' folder. Verify that a backup configuration
770 :     for e452 has been created (backup configurations have label in format &quot;@&lt;id_version&gt;&nbsp;
771 :     backup&quot;.</p>
772 :     <h2>H. Updating feature branches with partial patch cleanup</h2>
773 :     <p>H1. After installing patch e452 in scenario G2, search for new updates by
774 :     selecting 'Window-&gt;Updates-&gt;New Updates'. <br>
775 :     H2. When the update wizard comes up with the results, uncheck the checkbox
776 :     'Filter features included ...'. Uncheck &quot;Root 1.0.1&quot; and check &quot;XYZBogus 1.0.1&quot;
777 :     from the list of search results. <font color="#0000FF">Cool: this demonstrates
778 :     how branches in the feature hierarchy can be individually updated.</font><br>
779 :     H3. Accept the license agreement and install the feature.<br>
780 :     H4. After restart, verify that Root 1.0.0 now includes XYZBogus 1.0.1 (<font color="#0000FF">Cool:
781 :     XYZBogus 1.0.1 image should have an upward pointing arrow overlay indicating
782 :     that the feature has been updated from the original version specified in the
783 :     Root 1.0.0 manifest</font>). Also verify that e388 does not show up anywhere,
784 :     but EFIX e452 should still be present in the configuration.</p>
785 :     <p><font color="#0000FF">Note: Technically, since EFIX e452 includes EFIX e388
786 :     and since e388 is now disabled because XYZBogus 1.0.1 is updated, EFIX e452
787 :     should show error status (missing included feature). Update performs additional
788 :     computation in this case to find if e452 is really broken. The fact is that even
789 :     though the referenced feature e388 is disabled, it is a patch for XYZBogus 1.0.0
790 :     which has since been upgraded. Updates makes a (daring) assumption that a formal
791 :     update for a feature includes all the patches published for a previous version
792 :     of that feature. In this particular case, Update assumes that XYZBogus 1.0.1,
793 :     being an update to XYZBogus 1.0.0, contains all the fixes registered for
794 :     XYZBogus 1.0.0, including e388. It concludes that EFIX e452 will indirectly
795 :     satisfy its need for e388 through XYZBogus 1.0.1 code.</font></p>
796 :     <h2>I. Updating feature root with patch cleanup</h2>
797 :     <p>I1. After updating XYZBogus in scenario H, search for updates again. This
798 :     time, accept the default (Root 1.0.1) and install it.<br>
799 :     I2. After restart, verify that Root 1.0.1 is installed and that all the included
800 :     features are version 1.0.1. Also verify that there are no e-fixes left enabled
801 :     in the configuration.<br>
802 :     I3. Open file &quot;.install-log&quot; in &lt;workspace&gt;/.metadata/.config/ and verify that
803 :     it contains logs of all the activities performed in scenarios G, H and I.</p>
804 :     <h2>J. Handling cross-site version conflicts</h2>
805 :     <p>The role of this scenario is to show how cross-site conflicts are handled.
806 :     Cross-site conflicts are caused by root features in separate install sites that
807 :     include features of the same ID but different versions. Since both features will
808 :     be configured and their plug-ins contributed to the Eclipse runtime, runtime
809 :     will resolve the duplication by selecting plug-ins with the higher version.
810 :     Update warns about this 'silent' upgrade when an attempt is made to install or
811 :     update a feature that can cause such a conflict to appear.</p>
812 :     <ul>
813 : dejan 1.14 <li>Available sites: <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-update-home/extensionSite/">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/extensionSite/</a></li>
814 : dejan 1.12 </ul>
815 :     <p>J1. Repeat cleanup as in C1.<br>
816 :     J2. Select &quot;Optional Site&quot; bookmark as in A1 and install Root 1.0.0 with all the
817 :     optional features. Restart.<br>
818 :     J3. Add another bookmark called &quot;Extension Site&quot; with the URL as shown above.<br>
819 :     J4. Expand the bookmark object and select feature &quot;Root Extension 1.0.0&quot;. Press
820 :     &quot;Install&quot; button.<br>
821 :     J5. Accept the license and select both the optional features for install.<br>
822 :     J6. Do not accept the default target install site. Instead, create a new one by
823 :     pressing &quot;Add&quot; button. Choose a location outside the Eclipse product tree
824 :     (anywhere else on the disk). Press &quot;Finish&quot;. Restart.<br>
825 :     J7. Verify that the current configuration has two install sites. The first one
826 :     should contain Eclipse features and Root 1.0.0. The second one (the one you
827 :     picked in J6) should contain Root Product Extension 1.0.0. There should be no
828 :     conflicts.<br>
829 :     J8. Search for new updates by selecting &quot;Window-&gt;Updates-&gt;New Updates&quot;. You
830 :     should get two results: Root 1.0.1 and Root Extension 1.0.1. Uncheck Root 1.0.1.
831 :     Press &quot;Next&quot; and accept all other default settings until &quot;Finish&quot; is enabled.
832 :     Press Finish&quot;.<br>
833 :     J9. Verify that a warning dialog is opened explaining the conflict. The conflict
834 :     should be caused by XYZ and Bogus features that will be 1.0.0 in one site and
835 :     1.0.1 in another if the update proceeds. Answer &quot;No&quot;.<br>
836 :     J10. Return back to the first page of the wizard and select both results (Root
837 :     1.0.1 and Root Extension 1.0.1). Advance to the last page and press &quot;Finish&quot;
838 :     again. This time, there should be no conflicts because both XYZ and Bogus
839 :     features will be simultaneously updated to version 1.0.1.<br>
840 :     J11. After restart, verify that the current configuration shows no warning
841 :     overlays.</p>
842 :     <h2>I. Web-triggered updates</h2>
843 :     <p>Update Manager has a neat feature whereby it can run a Web application and
844 :     accept calls from a browser with the right URL. Tasks like presentation, search,
845 :     classification, user verification etc. can all be handled by the provider's web
846 :     site (presumably running a Web application itself). Features and plug-ins are
847 :     still in the standard update sites, but these sites are used as feature servers.
848 :     When users click on 'Download' or similar buttons or links, a URL query is
849 :     composed and sent to Eclipse with the Update Web application running. Update
850 :     servlet receives the query and initiates the install process. At this point, we
851 :     are in the familiar install wizard.</p>
852 : dejan 1.14 Available sites:&nbsp;
853 : dejan 1.12 <ul>
854 : dejan 1.14 <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-update-home/optionalSite/index.html">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/optionalSite/index.html</a>
855 : dejan 1.15 </li>
856 : dejan 1.12 </ul>
857 :     <p>I1. Repeat the cleanup as in C1.<br>
858 :     I2. Open &quot;Preferences&quot; dialog and select &quot;Install/Update-&gt;Web-triggered updates&quot;
859 :     page. Turn the web application on. When pressing &quot;OK&quot; there will be a couple of
860 :     seconds delay (starting the Tomcat server).<br>
861 :     I3. Open Update Manager and create a new site bookmark using the URL listed
862 :     above. When in the wizard, choose the non-default 'Web site' bookmark type.
863 :     Finish.<br>
864 :     I4. Double-click on the bookmark to cause the External Preview view to open
865 :     (note: this is only on Windows; on other platform, the page will open in a
866 :     standalone Web browser).<br>
867 :     I5. You should see a page with two Download buttons. Press on the Download
868 :     button for Root 1.0.0. Verify that a progress monitor dialog opens while
869 :     connecting to the feature server. Eventually, Install Wizard should show up.
870 :     Follow it to install Root 1.0.0.<br>
871 :     I6. After restart, double-click on the Web link again and click on the
872 :     'Download' button for Root 1.0.0. This time, a problem response page should show
873 :     up indicating that the requested feature is already installed.<br>
874 :     I7. Click on the 'Download' button for the feature Root 1.0.1. This one should
875 :     be treated as an update. Follow it to the end and restart.<br>
876 :     I8. Verify that the configuration shows the correct features.</p>
877 :    
878 : vlad 1.1 </body>
879 : dejan 1.12 </html>