Software Update:HowToTestMajorUpdateUI

From MozillaWiki
Jump to: navigation, search

Here's the quick and dirty way to test Major Update UI, specifically the detailsURL attribute and the licenseURL attributes (specified at Software_Update:updates.xml_Format).

Step 1: create a "fake" updates.xml file on your local machine

A "fake" updates.xml file looks like this:

<?xml version="1.0"?>
<updates>
  <update type="major" version="3.0" extensionVersion="3.0" buildID="2006030713" licenseURL="http://www.mozilla.com/test/sample-eula.html" detailsURL="http://www.mozilla.com/test/sample-details.html">
    <patch type="complete" URL="https://bugzilla.mozilla.org/attachment.cgi?id=242833" hashFunction="SHA1" hashValue="a3ab33bc0dcabd86050013826da8e3a11ab691b2" size="54"/>
  </update>
</updates>

Important Note https://bugzilla.mozilla.org/attachment.cgi?id=242833 is a special, 54 byte, empty mar that does nothing to your build if you install it. So use this when testing the UI.

Important Note the update licenseURL and detailsURL attributes and the patch URL attribute need to be http:// or https:// urls, and can not be file:// urls.

Step 2: configure your prefs to point at the "fake" update.xml file

use about:config and create a string pref named app.update.url.override and set the value to the file url for "fake" update.xml file, for example file:///C:/Documents%20and%20Settings/mozilla/Desktop/update.xml

Step 3: check for updates

Use "Help | Check for Updates..." and you should get the Major Update UI for this "fake" update that you created.

Step 4: make sure your content works

For security concerns, the web pages pointed to by the licenseURL and detailsURL attributes will be unable to execute Javascript, prompt for auth, execute plugins, or have subframes. (Meta redirects and images are allowed.) Additionally, any links in the page should have target=_blank, so that they will be parented in a new browser window, and not in XUL browser with in the software update UI.