platform-update-home/doc/Test Scenarios/eclipse update 3.0.html
Parent Directory
|
Revision Log
Revision 1.13 -
(download)
(as text)
(annotate)
Tue Aug 26 20:54:01 2003 UTC (6 years, 3 months ago) by dbirsan
Branch: MAIN
Changes since 1.12: +2 -2 lines
Tue Aug 26 20:54:01 2003 UTC (6 years, 3 months ago) by dbirsan
Branch: MAIN
Changes since 1.12: +2 -2 lines
*** empty log message ***
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> </head> <body> <h1> Scenario: Updating Eclipse Install Using Eclipse Update 3.0</h1> Last Updated: <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%A, %B %d, %Y" startspan -->Tuesday, August 26, 2003<!--webbot bot="Timestamp" endspan i-CheckSum="36838" --><p> <i>Note: This is the draft of the new test scenarios that are based on 2.1 version but take into account redesigned Eclipse Update user interface. Some of the old functionality may not be available in the new UI, making some scenarios obsolete. These scenarios will be clearly marked as such.</i></p> <h3> Objectives:</h3> The objective of these scenarios is to illustrate the Eclipse Update 3.0 function through simple end-to-end use cases. The scenarios are divided into two parts.<ul> <li> Part-1 exercises updating of Eclipse itself from a test site containing Eclipse builds repackaged as downloadable features. The Eclipse feature structure is a reasonable representation of a non-trivial product. It contains a primary feature (the platform) and a number of other features ( jdt, pde, etc) and is nested.</li> <li> Part-2 uses an example "product" to go through the various steps of updating and extending it using both the Eclipse Update, as well as native installation (using .zip file containing features and plug-ins that can be extracted directly into the file system)</li> <li> Part-3 uses an even simpler feature hierarchy to go through more advanced capabilities that include optional features and emergency fixes.</li> </ul> <h2> Part 1: Updating Eclipse - "One Click" Update</h2> <h3> Setup:</h3> Available sites:<ul> <li> <a href="http://download.eclipse.org/updates/">http://update.eclipse.org/testUpdates/</a></li> </ul> <table BORDER COLS=1 WIDTH="100%" > <tr> <td> <center><b><font color="#FF0000">*** PLEASE READ *** PLEASE READ *** PLEASE READ *** PLEASE READ ***</font></b></center> </td> </tr> <tr> <td><font color="#000000">As part of this scenario you will be downloading and installing various versions of the Eclipse components into the running Eclipse. The update site is populated with features that have their version numbers modified as part of the build process. They are generally of the form 3.0.0.QUALIFIER, where the qualifier differs build to build. Note, however, that when you install base Eclipse (.zip downloaded from eclipse.org), all of its features and plug-ins only use 3 part version identifiers (generally 3.0.0). So all the 3.0.0.Q updates in fact appear more recent that the build you are running, even though they may in fact be an older build. Note, that when you update the Eclipse components from the update site and restart you may in fact now be running </font><font color="#FF0000">DIFFERENT CODE THAN WHAT YOU STARTED WITH</font><font color="#000000">. So it is really important that you start each of the test scenario steps with a <b>clean install of eclipse</b>. </font><font color="#FF0000">It is suggested that you always use a second install of Eclipse running with a different workspace (than what you use to do development) to actually run through these scenarios.</font><p><font color="#000000">When opening Bugzilla defects, use the Platform/Update component. Please ALWAYS specify the failing scenario step, and include a .zip of the eclipse/.config/ directory</font></td> </tr> </table> <h3> Steps:</h3> <ul> <li> Install second copy of Eclipse to run these scenarios ... do not use your development copy of Eclipse for this.</li> <li> either use the default workspace created by the second Eclipse copy, or specify (-data) a new workspace for these scenarios</li> </ul> <h4> A. Startup new Eclipse</h4> <ul> <li> A.1. startup Eclipse. On the initial startup you should see the splash come up, be taken down down, and come up again before it is finally taken down before the Workbench appears. This is due to Eclipse restart when new features are detected on startup.</li> <li> A.2 go to <b>Help>About</b> and click [Feature Details] and [Plug-in Details] to see more details of what is actually running. Note the baseline version of the various items (most will be 3.0.0)</li> <li> A.3. go to <b>Help> Software Updates> Manage Configuration...</b> and verify that the features corresponding to the baseline install appear in the "Eclipse Platform" root node.</li> </ul> <h4> <font color="#FF00FF">B. Save baseline configuration [cannot be done in the new UI]</font></h4> <ul> <li> <font color="#FF00FF">B.1. in "Configuration" view, expand "Configuration History"</font></li> <li> <font color="#FF00FF">B.2. select the current configuration (at this point it should be the only one)</font></li> <li> <font color="#FF00FF">B.3. popup menu, Save</font></li> <li> <font color="#FF00FF">B.4. expand "Saved Configurations"</font></li> <li> <font color="#FF00FF">B.5. select the configuration you have just saved</font></li> <li> <font color="#FF00FF">B.6. popup, Properties, change name to "Baseline"</font></li> <li> <font color="#FF00FF">B.7 close Update Manager</font></li> </ul> <h4> C. "One Click" update</h4> <ul> <li> C.0. NOTE: you must be connected to the network with access to www.eclipse.org to perform this step. You will be downloading a full Eclipse SDK drop as part of this step. So you should have a reasonably fast network connection for this step. In addition, since 'official' Eclipse update site contains only final releases, we must redirect update search to pick up integration builds from the test update site. To do so, open <b>Window>Preferences>Install/Update>Automatic Updates</b> and paste the following URL into the address mappings entry:<br> <br> <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-update-home/policy.xml">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/policy.xml</a><br> </li> <li> C.1. select <b>Help>Software Updates>Find and Install...</b></li> <li> C.2. Make sure that 'Search for updates of the currently installed features' radio button is selected (the default)</li> <li> C.3. wait while eclipse is searching for new updates</li> <li> C.3. the search results page should display a new version of eclipse SDK pre-selected</li> <li> C.3.1. accept any license agreements</li> <li> C.4. click [Finish] and proceed to install the update. When you see feature verification dialog, click [Install].</li> <li> C.5. when you complete the installation, you'll be prompted to restart. Select [Yes] to restart the platform.</li> <li> C.6. workbench should restart automatically</li><ul> <li> <b>PLEASE NOTE</b>: at this point you are no longer executing the update manager code you started with, but rather are running a version of the update manager that was contained in the update (along with the rest of the platform plug-ins). Depending on what the update site contained at that point (changes build to build) the platform may not even restart, and you may need to reinstall eclipse to continue. Report defects for this (to make sure there is not actually a legitimate problem) but please be clear that you failed in step C.6.</li> </ul> <li> C.7. go to Help> About> [Plug-In Details] and [Feature Details] to verify you are running new version of the platform (the versions for the items will be 3.0.0.<qualifier>)</li> <li> C.8. Go to Help> Software Updates>Manage Configuration , expand the tree and verify you now recognize the new version of the platform that was updated</li> </ul> <h4> D. Restoring Original Configuration</h4> <ul> <li> D.1. Select <b>Help>Software Updates> Manage Configuration...</b> to open the configuration manager window.</li> <li> D.2 Select the current configuration object (the root node) and choose 'Revert to previous' (alternatively, select the link with the same name from the list of tasks on the right).</li> <li> D.3. When the wizard opens, a list of past configurations should show up (sorted by date in descending order). The previous configuration (first from the top) will be pre-selected.</li> <li> D.4. press [Finish]</li> <li> D.5. A message about required workbench restart will open. Accept it.</li> <li> D.6. workbench should restart automatically. Open Configuration Manager again. <font color="#FF00FF">[note: we should investigate if we can remember the state and do this automatically]</font></li> <li> D.7. expand the root node and verify all configured features are the baseline feature versions (generally 3.0.0)</li> <li> D.8. click "Show Disabled Features" button in the toolbar of the Configuration Manager. Observe the updated version as disabled.</li> <li> D.9. go to <b>Help>About</b> dialog, [Plug-In Details] and verify you are in fact running the baseline plug-ins (all 3.0.0, except for the "special cases" like Xerces, Ant, Lucene, Tomcat, JUnit, etc)</li> <li> D.10. shut down the workbench</li> </ul> <h2> Part 2: Alphabet Soup</h2> <h3> Setup:</h3> Available sites: <ul> <li> <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/3.0/site/index.html">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/3.0/site/</a></li> </ul> The above site contains pre-built features used as part of the following scenario steps. It also includes several .zip files (containing features and plug-ins) that are used to simulate native installer steps.<br> <table BORDER COLS=1 WIDTH="100%" > <tr> <td> <center><b><font color="#FF0000">*** PLEASE READ *** PLEASE READ *** PLEASE READ *** PLEASE READ ***</font></b></center> </td> </tr> <tr> <td><font color="#000000">When opening Bugzilla defects, use the Platform/Update component. Please ALWAYS specify the failing scenario step, and include a .zip of the <workspace>/.metadata/ directory</font></td> </tr> </table> <h3> Description:</h3> The Alphabet Soup is a simple application packaged as an Eclipse product, plus several extensions. The application installs a tool button, and a menu ("Alphabet Soup") that can be used to query the content of the "soup bowl" and interact with the individual installed "letters" (each letter in the bowl corresponds to a separate plug-in) <ul> <li> base product is a nested feature, my.alphabet, containing two sub-features with base sets of "letters"</li> <li> 3 extension features containing additional "letters" (plug-ins). The features have a dependency relationship as follows:</li> <ul> <li> "round letters" extension pack requires the base to be installed</li> <li> "straight letters" extension pack requires "round letters" extension pack to be installed</li> <li> "numbers" extension pack requires both "round letters" extension pack and "straight letters" extension pack to be installed</li> </ul> </ul> Just follow the steps and you'll get the idea.<h3> Steps:</h3> <ul> <li> Install second copy of Eclipse to run these scenarios ... do not use your development copy of Eclipse for this.</li> <li> either use the default workspace created by the second Eclipse copy, or specify (-data) a new workspace for these scenarios</li> </ul> <h4> O. Completing the install</h4> <ul> <li> O.1. after you have installed baseline eclipse, unzip the Alphabet Soup product features from <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/3.0/site/native/my.alphabet_1.0.0.zip">my.alphabet_1.0.0.zip</a> into the eclipse/ installation directory. The unzip should overwrite the install.ini file that is packaged with Eclipse (sets the Alphabet Soup feature as the primary feature). The product feature .zips can be found in <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/3.0/site/native/">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/3.0/site/native/</a></li> <li> O.2. start eclipse .... after "Completing the install ..." the platform restarts as "Alphabet Soup" application (own Welcome, About)</li> <li> O.3. Click on the "Alphabet Soup" button in the tool bar ... you should have letters A, B, C and E (all 1.0.0) in your bowl.</li> <li> O.4. Go to the "Alphabet Soup" menu and verify you can interact with each letter (one action per letter on the menu)</li> <li> O.5. Open Help> Software Updates>Manage Configuration ...</li> <li> O.6. Expand "Alphabet Soup". Verify "Alphabet Soup 1.0.0" is configured, and it contains 2 sub-features (Round and Straight letters)</li> <li> O.7. click on each of the features and view more details about each feature (double-click for Properties, follow 'More Info...' hyperlink etc.).</li> <li> O.8. select "Alphabet Soup 1.0.0" and press [Disable]. You should be notified that you cannot disable the primary feature (if this is not the case, [Cancel] the disable action and report a defect).</li> </ul> <h4> P. Updating the primary feature using the installation wizard</h4> <ul> <li> P.1. Open <b>Help>Software Updates>Find and Install...</b>. Select 'Search for new features to install'. Check "Alphabet Soup Update Site" from the list and expand it. Uncheck all categories except "Alphabet Soup". Press 'Next'.</li> <li> P.2. When the search is over, you should see three versions Alphabet Soup: 1.0.1, 1.1.0 and 2.0.0.</li> <li> P.3. Select "Alphabet Soup 1.0.1" and press 'Next'. Go through the install wizard accepting defaults.</li> <li> P.4. Restart the workbench when prompted. Open Configuration Manager.</li> <li> P.5. Expand "Alphabet Soup" .... verify you now have Alphabet Soup 1.0.1 installed and configured.</li> <li> P.6. Click the "Show disabled features" filter button .... should see both versions (one enabled, the other disabled (icon with red "stop" overlay))</li> <li> P.7. click the "Alphabet Soup" tool button ... should show new versions of the base letters (1.0.1). The actions on "Alphabet Soup" menu should also indicate we are running the new version.</li> <li> P.8. shut down the workbench</li> </ul> <h4> Q. Updating the primary feature using "native" install (.zip)</h4> <ul> <li> Q.1. unzip the Alphabet Soup product features from <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/3.0/site/native/my.alphabet_1.1.0.zip">my.alphabet_1.1.0.zip</a> into the eclipse/ installation directory (look into the features/ or plugins/ subdirectory to verify you see new 1.1.0 versions)</li> <li> Q.2. start Eclipse (a.k.a. Alphabet Soup). You'll see the splash coming up twice as the platform is updating the configuration. Workbench will come up, with a dialog informing you have changes. Click [OK] to open the update manager change dialog.</li> <li> Q.3. check the change (so it is applied) and press [Finish]</li> <li> Q.4. restart the workbench when prompted</li> <li> Q.5. click the "Alphabet Soup" tool button and trigger "Alphabet Soup" menu action to see you have the new version (1.1.0) of the "soup bowl and letters"</li> <li> Q.6. Open Configuration Manager expand "Alphabet Soup". Should see Alphabet Soup 1.1.0 enabled, and the other 2 disabled (click the "Show disabled features").</li> </ul> <h4> <font color="#000000">R. Adding an extension using the update manager</font></h4> <ul> <li> <font color="#000000">R.1. </font>Open <b>Help>Software Updates>New Updates</b>. Select 'Search for new features to install'. Check "Alphabet Soup Update Site" from the list and expand it. Uncheck all categories except "Alphabet Soup Fun Pack - Round Letters". Press 'Next'.</li> <li> <font color="#000000">R.2. check "Alphabet Soup Round Letters Extension Pack 1.0.0" and press [Next]. Accept defaults in wizard and [Finish]. Restart workbench when prompted.</font></li> <li> <font color="#000000">R.3. click of the "Alphabet Soup" tool button and interact with "Alphabet Soup" menu to see new round letters (D and G). <b>Note:</b> may need to go to Window> Customize Perspective...> Other and select the action sets for the new letters</font></li> <li> <font color="#000000">R.4. open Configuration Manager and verify the new feature is showing as configured.</font></li> <li> <font color="#000000">R.5. close the Configuration Manager and shut down the workbench</font></li> </ul> <h4> <font color="#000000">S. Adding an extension using "native" install (.zip) and link file</font></h4> <ul> <li> <font color="#000000">S.0. <b>Note</b>: the first 3 steps will typically be performed by a native installer. Since you are simulating these steps you need to do this manually.</font></li> <li> <font color="#000000">S.1. Set up a new install directory somewhere in your file system. Create eclipse/ subdirectory under it. U</font>nzip the Alphabet Soup Straight Letters extension from <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/3.0/site/native/my.alphabet.more.straight.letters_1.0.0.zip">my.alphabet.more.straight.letters_1.0.0.zip</a> into the eclipse/ subdirectory. You should end up with</li> <ul> <li> <some new install directory>/</li> <br> eclipse/ <br> features/ <br> plugins/</ul> <li> S.2. In the original eclipse install (the one that contains the platform and Alphabet Soup), create a new directory called "links" as a peer to features/ and plugins/. You should end up with</li> <ul> <li> <eclipse platform install directory>/</li> <br> eclipse/ <br> links/ <br> features/ <br> plugins/</ul> <li>S.3. within the links/ subdirectory, create a file called my.alphabet.link and add a single line into it</li> <br> <br> <font face="Courier New"> <font size="2">path=<some new install directory> </font></font> <p><b>Note</b>: the path should be an absolute path using local file system syntax. The .link file is loaded as a Java properties file, so on Windows you need to double up the back-slashes (e.g. path=c:\\temp\\install) </li> <li> S.4. start eclipse (Alphabet Soup). You'll see the splash coming up twice as the platform is updating the configuration. Workbench will come up, with a dialog informing you have changes. Click [OK] to open the Pending Changes dialog.</li> <li> S.5. check the change (so it is applied) and press [Finish]</li> <li> S.6. restart the workbench when prompted</li> <li> S.7. click the "Alphabet Soup" tool button and trigger "Alphabet Soup" menu action to see you have the new letters.</li> <br><b>Note</b>: may need to go to Window> Customize Perspective...> Other and select the new letters to get the menu actions to become visible <br><b>Note</b>: if you are following all the steps in the scenario, the base letters (A, B, C, E) should be at 1.1.0, and the extensions (D, G) (F, H) at 1.0.0 <li> S.8. Open Configuration Manager and expand "Alphabet Soup". You should see a new site representing the extension install (different icon), and it should contain the extension feature you've installed.</li> <li> S.9. Click on the new extension, and disable it in the Preview view. After restart, verify that all the features and plug-ins from the extension are missing. Enable it and verify that they are back after the restart.</li> </ul> <h4> <font color="#FF00FF">T. Installing another extension using the update manager (with environment filtering) [this cannot be done with the new UI]</font></h4> <ul> <li> <font color="#FF00FF">T.1. expand "Sites to Visit", "Alphabet Soup Update Site", "Alphabet Soup Fun Pack - Numbers"</font></li> <li> <font color="#FF00FF">T.2. The Numbers extension specifies an OS in its feature definition. The update site contains features for Win and Linux. On those two platforms you should see a list of features designated for than platform. On other platforms you are out of luck ... you don't get to play with numbers (skip the rest of this step)</font></li> <li> <font color="#FF00FF">T.3. uncheck the "Show matching features only" filter .... should now see all the features for both platforms. Check the filter back again.</font></li> <li> <font color="#FF00FF">T.4. select "Alphabet Soup Numbers Extension Pack for <OS>1.0.1" and click [Install]. Accept defaults in wizard. In the location selection page ensure the extension location created in steps S is not offered as a choice. Press [Finish]. Restart workbench when prompted.</font></li> <li> <font color="#FF00FF">T.5. click of the "Alphabet Soup" tool button and interact with "Alphabet Soup" menu to see new numbers (3 and 5). <b>Note:</b> may need to go to Window> Customize Perspective...> Other and select the action sets for the new numbers</font></li> <li> <font color="#FF00FF">T.6. expand Current Configuration and verify the new feature is showing as configured in the original install site</font></li> <li> <font color="#FF00FF">T.7. close the update manager and shut down the workbench</font></li> </ul> <h4> <font color="#000000">"Free-form" testing</font></h4> <ul> <li> <font color="#000000">the above scenarios describe a path through the update support. Run through it once as described. There is lot's of opportunity to do thing in different order, click on other buttons, try other features in the UI. Go ahead an explore. Remember, is you see something that does not work, is not correct, or is not what you'd expected, open Bugzilla defects in the platform/update component. Please ALWAYS specify the steps leading up to the failure, and include a .zip of the <workspace>/.metadata/ directory</font></li> </ul> <h2> Part 3: Optional features and e-fixes</h2> <h3> Setup:</h3> <p>Available sites:</p> <ul> <li> <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> </ul> <p>The above site contains pre-built features used as part of the following scenario steps.<br> </p> <table BORDER COLS=1 WIDTH="100%" > <tr> <td> <center> <p><b><font color="#FF0000">*** PLEASE READ *** PLEASE READ *** PLEASE READ *** PLEASE READ ***</font></b></p> </center> </td> </tr> <tr> <td><font color="#000000">When opening Bugzilla defects, use the Platform/Update component. Please ALWAYS specify the failing scenario step, and include a .zip of the <workspace>/.metadata/ directory. Note that we ran out of letters, so we are starting from A again. You need to include the part number when specifying steps (e.g. 3.A7)</font></td> </tr> </table> <h3> Description:</h3> <p>The Optional Site is a simple site that contains several versions of the 'Root' feature. The feature includes another feature (XYZBogus) that in turn includes features XYZ and Bogus. The last two features are included as optional, which means that users can elect not to install them. Several interesting consequences result from this capability, and this part deals with them.</p> <p>The site also contains several e-fixes. E-fix is a feature that is designed to patch another feature with an exact ID and version. It is used to deliver temporary fixes between full root updates.</p> <h2>A. Installing feature Root 1.0.0</h2> <p>A1. Open New Updates wizard. Select 'Search for new features to install'. Press [Add Update Site...] and paste the URL listed above under 'Available Sites:' (also choose some name).<br> A2. Check the newly created site and press [Next]. Check the feature Root 1.0.0 from the list of results. Press [Next].<br> A3. Accept the license in the License page.<br> A4. Uncheck 'XYZ 1.0.0' optional feature in the Optional Features page. Leave 'Bogus 1.0.0' feature selected.<br> A5. Install (accept unsigned feature). Restart.<br> A6. Using Configuration Manager, verify that 'Root 1.0.0' feature has been installed and that 'XYZ 1.0.0' is missing.<br> A7. Verify that 'XYZ 1.0.0' is shown and marked as '(not installed')<br> A8. If you want to stop being warned about unsigned features, toggle the option off in the Install/Update preferences. Verify that you are warned about the consequences (rogue features deleting your entire hard drive and such).</p> <h2>B. Updating Root 1.0.0 to Root 1.0.1</h2> <p>B1. Open New Updates wizard. Select 'Search for new features to install'. Check 'Optional site' created in A1. Press [Next]. Verify that 'Root 1.0.0' is not present (should be filtered out since it is already installed). Check 'Root 1.0.1'. Press [Next].<br> B2. After accepting the license, verify that features 'XYZBogus' and 'Bogus' are checked and grayed out in 'Optional Features' page, while 'XYZ' plug-ins is unchecked (leave it unchecked). Install and restart.<br> B3. Using Configuration Manager, verify that we now have Root 1.0.1 installed that is still without XYZ feature (XYZ 1.0.1 shows as 'not installed').</p> <h2>C. Preserving the state of the optional feature</h2> <p>C1. Close Eclipse. Manually delete all 'com.example.*' features from the features/ directory and all 'com.example.*' plug-ins from the plugins/ directory. Delete the '.config' directory in the .metadata directory of the workspace (you want to preserve the bookmark).<br> C2. Repeat scenario A but this time leave all the optional features selected.<br> C3. Restart and open current configuration. Verify that all the features are showing as enabled.<br> C4. Select 'XYZ 1.0.0' feature and select 'Disable' button in the preview. Restart.<br> C5. Verify that 'XYZ 1.0.0' feature is now disabled in the 'Root 1.0.0' hierarchy (you will need to make disabled features visible in the view to do that).<br> C6. Open the New Updates wizard, press [Next], [Next], find Root 1.0.1 feature, press [Next].<br> C7. After accepting the license, leave all settings default and install the new version. Restart.<br> C8. Verify that 'Root 1.0.1' is now installed, and that 'XYZBogus 1.0.1' and 'Bogus 1.0.1' are showing in the hierarchy. Also verify that 'XYZ 1.0.1' is <b> installed but disabled </b>(we are testing whether the original state of XYZ 1.0.0 was preserved during the update). The expected outcome is that the new version of XYZ is installed but it remains disabled as before.</p> <h2><font color="#FF00FF">D1. Installing the missing optional feature (from the originating site) [cannot be done in the new UI]</font></h2> <p><font color="#FF00FF">D1.1. Repeat cleanup as in C1.<br> D1.2. Repeat the scenario A.<br> D1.3. After the restart, go back to the Updates view and select Root 1.0.0 again. Verify that the action button is visible and that the label is "Change". Press it.<br> D1.4. When in 'Optional Features' wizard page, ensure that 'Bogus 1.0.0' optional feature is checked and grayed out. Select 'XYZ 1.0.0' feature. Finish the install. Restart.<br> D1.5. Verify that we now have all the features in 'Root 1.0.0' hierarchy in the current configuration.</font></p> <h2>D2. Installing the missing optional feature (using the saved originating site URL)</h2> <p><font color="#FF00FF">D2.1. After finishing D1., delete XYZ 1.0.0 feature and XYZ 1.0.0 plug-in manually from <b>features</b> and <b>plugins</b> directories, respectively.<br> </font>D2.1(new) Perform D1.1 and D1.2 steps to install Root 1.0.0 without XYZ 1.0.0.<br> D2.2. After restart, open Configuration Manager. Select 'XYZ 1.0.0' feature object (should be shown as 'not installed').<br> D2.3. Verify that the 'Install from originating server' hyperlink is shown in the list of tasks on the right. Select it.<br> D2.4. When the install wizard shows up, follow it until XYZ 1.0.0 plug-in is installed. <font color="#0000FF">Cool: missing optional feature reference has a preserved URL of the originating site that it can use to reconnect and install it later.</font></p> <p><font color="#FF0000">Bug #38273:</font> <font color="#0000FF"> <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38273">[new UI] Part 3,D2.3: 'Install from originating server' does not work</a></font></p> <h2>E. Discovering missing optional feature</h2> <p>E1. Manually copy 'com.example.xyz_1.0.0' from 'features' directory and 'com.example.xyz_1.0.0' from 'plugins' directory into a temp. place. After that, repeat cleanup as in C1.<br> E2. Repeat the scenario A and verify that XYZ 1.0.0 is missing from the configuration (shown as 'not installed').<br> E3. Close Eclipse. Manually copy 'com.example.xyz_1.0.0' feature from the temp. space into the 'features' directory and 'com.example.xyz_1.0.0' plug-in from the temp. space into the 'plugins' directory. Start Eclipse.<br> E4. Verify that no dialog was shown and that feature XYZ 1.0.0 was detected and configured into the hierarchy of 'Root 1.0.0'.</p> <h2>F. Installing missing optional features natively after updates</h2> <p>F1. Repeat preservation + cleanup as in E1.<br> F2. Repeat the scenario A.<br> F3. Open the 'New Updates' wizard and select 'Search for updates of the currently installed features'. The wizard should discover feature 'Root 1.0.1' plus some e-fixes. Check Root 1.0.1 only and press [Next]. Accept the license and finish install. Restart.<br> F4. At this point, we should have installed Root 1.0.1 with XYZBogus 1.0.1 and Bogus 1.0.1, but not XYZ 1.0.1.<br> F5. Manually copy feature XYZ 1.0.0 from the temp space and plug-in XYZ 1.0.0 from the temp space as in E3. <br> F6. At this point, verify that XYZ 1.0.0 is present in the hierarchy of XYZ 1.0.0 but disabled because Root 1.0.0 is disabled.<br> F7. Run the 'one-click' update again as in F3. It should discover Root 1.0.1 again because we now have previous version of XYZ and it can now bring it up to 1.0.1. Reinstall Root 1.0.1 and restart.<br> F8. Verify in the configuration that XYZ 1.0.1 is now installed and enabled.</p> <p><font color="#0000FF">Note: as you go through the the scenarios G, H and I that deal with e-fixes, it is recommended to increase the coverage by switching between multiple workspaces (install couple of e-fixes, then start with a new workspace, install some more, create a new workspace, install some more, than switch back to the first one). Since state is stored in each workspace, that will give Update an additional workout to reconcile its state with changes in the file system (both partial and full reconcilers will kick in).</font></p> <h2>G1. Cumulative patches</h2> <p>G1.1 Repeat steps C1, C2 and C3 to install Root 1.0.0 feature hierarchy. Verify that all Root features (including optional ones) are installed.<br> G1.2 Open New Updates and search for updates for installed features. A number of e-fixes should show up. Locate feature EFIX e334 1.0.0. Make sure it is the only feature checked and press [Next]. Install it by accepting all the defaults.<br> G1.3 After restart, use Configuration Manager to verify that EFIX e334 has been installed and that it includes XYZ 1.0.0.e334. The same XYZ feature should be included by Root 1.0.0->XYZ Bogus 1.0.0 (should show up arrow indicating branch update). There should be no errors or warnings.<br> G1.4 Repeat G1.2. This time, EFIX e334 should not show up. Locate feature EFIX e335 1.0.0. Uncheck all other features, check it and install it. <i>Note: e335 is a cumulative fix because it fixes a problem in XYZ 1.0.0 and also includes a fix in e334.<br> </i>G1.5 After restart, use Configuration Manager to verify that e335 has been installed and that it includes XYZ 1.0.0.e335. The same XYZ feature should be included by Root 1.0.0->XYZ Bogus 1.0.0 (should show up arrow indicating branch update). <br> G1.6 <b>The same XYZ 1.0.0.e335 should also show up as a child of EFIX e334</b>. The interpretation is that XYZ 1.0.0.e335 also includes a fix for e334, so the fact that the previous version has been disabled does not invalidate EFIX e334.</p> <h2>G2. Patches that include other patches</h2> <p>G2.1. Repeat steps C1, C2 and C3 to install Root 1.0.0 feature hierarchy. Verify that all Root features (including optional ones) are installed.<br> G2.2. Search for updates to installed features using New Updates wizard. Locate feature EFIX e452 1.0.0. Uncheck all other features, check it and install it.<br> G2.3. After restart, verify that: EFIX e452 is installed; its child feature e388 should include Bogus Feature 1.0.0.e388. The same Bogus Feature should be included by Root 1.0.0 hierarchy. There should be no errors or warnings.<br> <font color="#FF00FF">G2.4. Expand 'Saved Configurations' folder. Verify that a backup configuration for e452 has been created (backup configurations have label in format "@<id_version> backup". [This cannot be done in the new UI]</font></p> <h2>H. Updating feature branches with partial patch cleanup</h2> <p>H1. After installing patch e452 in scenario G2, search for new updates by selecting 'Window->Updates->New Updates' (ensure that the first radio button is selected). <br> H2. When the search finishes, uncheck the checkbox 'Filter features included ...'. Uncheck "Root 1.0.1" and check "XYZBogus 1.0.1" from the list of search results. <font color="#0000FF">Cool: this demonstrates how branches in the feature hierarchy can be individually updated.</font><br> H3. Accept the license agreement and install the feature.<br> H4. After restart, verify that Root 1.0.0 now includes XYZBogus 1.0.1 (<font color="#0000FF">Cool: XYZBogus 1.0.1 image should have an upward pointing arrow overlay indicating that the feature has been updated from the original version specified in the Root 1.0.0 manifest</font>). Also verify that e388 does not show up anywhere, but EFIX e452 should still be present in the configuration.</p> <p><font color="#0000FF">Note: Technically, since EFIX e452 includes EFIX e388 and since e388 is now disabled because XYZBogus 1.0.1 is updated, EFIX e452 should show error status (missing included feature). Update performs additional computation in this case to find if e452 is really broken. The fact is that even though the referenced feature e388 is disabled, it is a patch for XYZBogus 1.0.0 which has since been upgraded. Updates makes a (daring) assumption that a formal update for a feature includes all the patches published for a previous version of that feature. In this particular case, Update assumes that XYZBogus 1.0.1, being an update to XYZBogus 1.0.0, contains all the fixes registered for XYZBogus 1.0.0, including e388. It concludes that EFIX e452 will indirectly satisfy its need for e388 through XYZBogus 1.0.1 code.</font></p> <p><font color="#FF0000">Bug #3840:</font> <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38340">[new UI] Part3,H4: EFIX e452 is not configured properly</a></p> <h2>I. Updating feature root with patch cleanup</h2> <p>I1. After updating XYZBogus in scenario H, search for updates again. This time, choose Root 1.0.1 and install it.<br> I2. After restart, verify that Root 1.0.1 is installed and that all the included features are version 1.0.1. Also verify that there are no e-fixes left enabled in the configuration.<br> I3. Open file ".install-log" in <workspace>/.metadata/.config/ and verify that it contains logs of all the activities performed in scenarios G, H and I.</p> <h2>J. Handling cross-site version conflicts</h2> <p>The role of this scenario is to show how cross-site conflicts are handled. Cross-site conflicts are caused by root features in separate install sites that include features of the same ID but different versions. Since both features will be configured and their plug-ins contributed to the Eclipse runtime, runtime will resolve the duplication by selecting plug-ins with the higher version. Update warns about this 'silent' upgrade when an attempt is made to install or update a feature that can cause such a conflict to appear.</p> <ul> <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> </ul> <p>J1. Repeat cleanup as in C1.<br> J2. Select "Optional Site" bookmark as in A1 and install Root 1.0.0 with all the optional features. Restart.<br> J3. Add another bookmark called "Extension Site" with the URL as shown above.<br> J4. Expand the bookmark object and select feature "Root Extension 1.0.0". Press "Install" button.<br> J5. Accept the license and select both the optional features for install.<br> J6. Do not accept the default target install site. Instead, create a new one by pressing "Add" button. Choose a location outside the Eclipse product tree (anywhere else on the disk). Press "Finish". Restart.<br> J7. Verify that the current configuration has two install sites. The first one should contain Eclipse features and Root 1.0.0. The second one (the one you picked in J6) should contain Root Product Extension 1.0.0. There should be no conflicts.<br> J8. Search for new updates by selecting "Window->Updates->New Updates". You should get two results: Root 1.0.1 and Root Extension 1.0.1. Uncheck Root 1.0.1. Press "Next" and accept all other default settings until "Finish" is enabled. Press Finish".<br> J9. Verify that a warning dialog is opened explaining the conflict. The conflict should be caused by XYZ and Bogus features that will be 1.0.0 in one site and 1.0.1 in another if the update proceeds. Answer "No".<br> J10. Return back to the first page of the wizard and select both results (Root 1.0.1 and Root Extension 1.0.1). Advance to the last page and press "Finish" again. This time, there should be no conflicts because both XYZ and Bogus features will be simultaneously updated to version 1.0.1.<br> J11. After restart, verify that the current configuration shows no warning overlays.</p> <h2><font color="#FF00FF">[The following steps don't work in the new UI]</font></h2> <h2><font color="#FF00FF">K. Web-triggered updates</font></h2> <p><font color="#FF00FF">Update Manager has a neat feature whereby it can run a Web application and accept calls from a browser with the right URL. Tasks like presentation, search, classification, user verification etc. can all be handled by the provider's web site (presumably running a Web application itself). Features and plug-ins are still in the standard update sites, but these sites are used as feature servers. When users click on 'Download' or similar buttons or links, a URL query is composed and sent to Eclipse with the Update Web application running. Update servlet receives the query and initiates the install process. At this point, we are in the familiar install wizard.</font></p> <font color="#FF00FF">Available sites: </font> <ul> <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-update-home/optionalSite/index.html"> <font color="#FF00FF">http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/optionalSite/index.html</font></a><font color="#FF00FF"> </font> </li> </ul> <p><font color="#FF00FF">K1. Repeat the cleanup as in Part 3,C1.<br> K2. Open "Preferences" dialog and select "Install/Update->Web-triggered updates" page. Turn the web application on. When pressing "OK" there will be a couple of seconds delay (starting the Tomcat server).<br> K3. Open Update Manager and create a new site bookmark using the URL listed above. When in the wizard, choose the non-default 'Web site' bookmark type. Finish.<br> K4. Double-click on the bookmark to cause the External Preview view to open (note: this is only on Windows; on other platform, the page will open in a standalone Web browser).<br> K5. You should see a page with two Download buttons. Press on the Download button for Root 1.0.0. Verify that a progress monitor dialog opens while connecting to the feature server. Eventually, Install Wizard should show up. Follow it to install Root 1.0.0.<br> K6. After restart, double-click on the Web link again and click on the 'Download' button for Root 1.0.0. This time, a problem response page should show up indicating that the requested feature is already installed.<br> K7. Click on the 'Download' button for the feature Root 1.0.1. This one should be treated as an update. Follow it to the end and restart.<br> K8. Verify that the configuration shows the correct features.</font></p> <h2><font color="#FF00FF">L. Updates view clipboard operations</font></h2> <p><font color="#FF00FF">L1. The following objects in the Updates view support clipboard operations: site bookmarks, folders and searches. Spend some time creating new bookmarks, folders and searches, and rearranging them using both clipboard (cut/copy/paste) and direct manipulation (drag and drop) methods.</font></p> </body> </html>
| help@eclipse.org | ViewVC Help |
| Powered by ViewVC 1.0.3 |
