platform-update-home/doc/Test Scenarios/eclipse update.html
Parent Directory
|
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 <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.<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> |
| 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 <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> |
| 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> |
| 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 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> |
| 473 : | vlad | 1.2 | into the eclipse/ subdirectory. You should end up with</li> |
| 474 : | |||
| 475 : | <ul> | ||
| 476 : | <li> | ||
| 477 : | vlad | 1.3 | <some new install directory>/</li> |
| 478 : | |||
| 479 : | <br> eclipse/ | ||
| 480 : | <br> | ||
| 481 : | features/ | ||
| 482 : | <br> | ||
| 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 | <eclipse platform install directory>/</li> |
| 493 : | |||
| 494 : | <br> eclipse/ | ||
| 495 : | <br> | ||
| 496 : | links/ | ||
| 497 : | <br> features/ | ||
| 498 : | <br> | ||
| 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 |
| 502 : | and add a single line into it</li> <br> | ||
| 503 : | <br> | ||
| 504 : | <font face="Courier New"> <font size="2">path=<some new | ||
| 505 : | install directory> </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 <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 <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> </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 <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 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 "Change". | ||
| 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->Software Updates->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 "Emergency | ||
| 746 : | Fixes". 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->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 "Emergency | ||
| 752 : | Fixes". 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->XYZ Bogus | ||
| 757 : | 1.0.0 (should show up arrow indicating branch update). <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 "@<id_version> | ||
| 771 : | backup".</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->Updates->New Updates'. <br> | ||
| 775 : | H2. When the update wizard comes up with the results, uncheck the checkbox | ||
| 776 : | 'Filter features included ...'. Uncheck "Root 1.0.1" and check "XYZBogus 1.0.1" | ||
| 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 ".install-log" in <workspace>/.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 "Optional Site" bookmark as in A1 and install Root 1.0.0 with all the | ||
| 817 : | optional features. Restart.<br> | ||
| 818 : | J3. Add another bookmark called "Extension Site" with the URL as shown above.<br> | ||
| 819 : | J4. Expand the bookmark object and select feature "Root Extension 1.0.0". Press | ||
| 820 : | "Install" 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 "Add" button. Choose a location outside the Eclipse product tree | ||
| 824 : | (anywhere else on the disk). Press "Finish". 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 "Window->Updates->New Updates". You | ||
| 830 : | should get two results: Root 1.0.1 and Root Extension 1.0.1. Uncheck Root 1.0.1. | ||
| 831 : | Press "Next" and accept all other default settings until "Finish" is enabled. | ||
| 832 : | Press Finish".<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 "No".<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 "Finish" | ||
| 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: |
| 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 "Preferences" dialog and select "Install/Update->Web-triggered updates" | ||
| 859 : | page. Turn the web application on. When pressing "OK" 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> |
| help@eclipse.org | ViewVC Help |
| Powered by ViewVC 1.0.3 |
