Confirmed users
228
edits
(Adding information to mention isOSUpdate, and its purpose) |
|||
(19 intermediate revisions by 6 users not shown) | |||
Line 11: | Line 11: | ||
<updates> | <updates> | ||
<update type="minor" version="1.0.4" | <update type="minor" version="1.0.4" extensionVersion="1.0.4" | ||
detailsURL="http://www.foo.com/1.0.4/whatsnew.html"> | detailsURL="http://www.foo.com/1.0.4/whatsnew.html" isOSUpdate="true"> | ||
<patch type="partial" | <patch type="partial" URL="http://www.foo.com/1.0.4-partial.mar" | ||
hashFunction="" hashValue="" size=""/> | |||
<patch type="complete" | <patch type="complete" URL="http://www.foo.com/1.0.4-complete.mar" | ||
hashFunction="" hashValue="" size=""/> | |||
</update> | </update> | ||
.. | .. | ||
<update type="major" version="1.1.2" | <update type="major" version="1.1.2" extensionVersion="1.1.2" | ||
detailsURL="http://www.foo.com/1.1.2/whatsnew.html"> | detailsURL="http://www.foo.com/1.1.2/whatsnew.html" isOSUpdate="true"> | ||
<patch type="complete" | <patch type="complete" URL="http://www.foo.com/1.1.2-complete.mar" | ||
hashFunction="" hashValue="" size=""/> | |||
</update> | </update> | ||
</updates> | </updates> | ||
Line 36: | Line 36: | ||
<table> | <table> | ||
<tr><td valign="top">'''type'''</td><td><code>major</code> or <code>minor</code>. Major updates are for major application number revs, minor for security releases or incremental updates.</td></tr> | <tr><td valign="top">'''type'''</td><td><code>major</code> or <code>minor</code>. Major updates are for major application number revs, minor for security releases or incremental updates. ('''Note:''' client side support for major updates is new to the MOZILLA_1_8_BRANCH.)</td></tr> | ||
<tr><td valign="top">'''version'''</td><td>A string in FVF format advertising the version of this application update.</td></tr> | <tr><td valign="top">'''version'''</td><td>A string in FVF format advertising the version of this application update.</td></tr> | ||
<tr><td valign="top">'''extensionVersion'''</td><td>A string in FVF format advertising the version of the extension API that this application update supplies</td></tr> | <tr><td valign="top">'''extensionVersion'''</td><td>A string in FVF format advertising the version of the extension API that this application update supplies. If it is "less" than the current version of your app, the update will not be considered available.</td></tr> | ||
<tr><td valign="top">'''detailsURL'''</td><td>A URL string to a web page with more information about the specified update. | <tr><td valign="top">'''detailsURL'''</td><td>A URL string to a web page with more information about the specified update. For minor releases, this URL appears as a link (with text like "View more information about this update") in the UI shown to the user when they are presented with the option to upgrade. '''New for MOZILLA_1_8_BRANCH:''' For major releases, this URL is loaded "in line" in the UI shown to the user when they are presented with the option to upgrade. See [[Software_Update:HowToTestMajorUpdateUI]] for how to test this.</td></tr> | ||
<tr><td valign="top">'''licenseURL'''</td><td>A URL string to a web page with additional license terms that need to be accepted before the update can be installed (optional, do NOT provide it if this is going to be empty)</td></tr> | <tr><td valign="top">'''licenseURL'''</td><td>'''New for MOZILLA_1_8_BRANCH:''' A URL string to a web page with additional license terms that need to be accepted before the update can be installed (optional, do NOT provide it if this is going to be empty). '''Note:''' this attribute is only heeded for major releases. For minor releases, this attribute is ignored by the client. For major releases, this URL is loaded "in line" in the UI shown to the user when they are presented with the option to upgrade. See [[Software_Update:HowToTestMajorUpdateUI]] for how to test this.</td></tr> | ||
<tr><td valign="top">'''isSecurityUpdate'''</td><td><code>true</code> for security updates, to present a scarier warning to users, <code>false</code> if the update is not a security update</td></tr> | <tr><td valign="top">'''<strike>isSecurityUpdate</strike>'''</td><td><strike><code>true</code> for security updates, to present a scarier warning to users, <code>false</code> if the update is not a security update.</strike> '''Note:''' The client is not and has not heeded this boolean value, and AUS has never set it. [https://bugzilla.mozilla.org/show_bug.cgi?id=329729#c75 See bug #329729 for details.]</td></tr> | ||
<tr><td valign="top">'''buildID'''</td><td>The BuildID of the build being offered</td></tr> | <tr><td valign="top">'''buildID'''</td><td>The BuildID of the build being offered</td></tr> | ||
<tr><td valign="top">'''isOSUpdate'''</td><td>Needed to specify that the update is to be applied as a recovery update, with the phone rebooting into recovery mode and applying the update correctly.</td></tr> | |||
</table> | </table> | ||
'''Important Note:''' The schemes for the URL strings specified by the <code>licenseURL</code> and <code>detailsURL</code> attributes must be <code>http</code> or <code>https</code>. For security concerns, the web pages pointed to by the <code>licenseURL</code> and <code>detailsURL</code> 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. | |||
If specified, the <code>licenseURL</code> must successfully load "in line" before the user can agree to it. The user must agree to it in order to proceed with the upgrade. (If the <code>licenseURL</code> fails to load, the user will be unable to agree to it, and therefore unable to upgrade.) '''Note:''' if the <code>licenseURL</code> attribute does not change between major releases, the user will end up agreeing to the same license twice. [https://bugzilla.mozilla.org/show_bug.cgi?id=348389#c44 See bug #348389 for details.] | |||
'''New for MOZILLA_1_8_BRANCH:''' If an updates.xml files contains information about both a minor and a major upgrade, the end user will only see the minor updates. For major updates, the user will see an additional "Never" button in order to decline automatic reminders updates (using the hidden app.update.never.<version> pref to persist this decision). The user can manually "Check for Upgrades..." to get a major update that was previously declined. | |||
Within an <code>update</code> element there must be at least one and no more than two <code>patch</code> elements. The <code>patch</code> element describes a patch file that lives on a remote server that must be downloaded and applied to the application to update it to that version. They describe either binary differences between versions of the application (partial patches), or complete updates that replace and remove files as necessary. The attributes for <code>patch</code> are as follows: | Within an <code>update</code> element there must be at least one and no more than two <code>patch</code> elements. The <code>patch</code> element describes a patch file that lives on a remote server that must be downloaded and applied to the application to update it to that version. They describe either binary differences between versions of the application (partial patches), or complete updates that replace and remove files as necessary. The attributes for <code>patch</code> are as follows: | ||
Line 49: | Line 56: | ||
<table> | <table> | ||
<tr><td valign="top">'''type'''</td><td><code>partial</code> or <code>complete</code>, depending on the patch. </td></tr> | <tr><td valign="top">'''type'''</td><td><code>partial</code> or <code>complete</code>, depending on the patch. </td></tr> | ||
<tr><td valign="top">''' | <tr><td valign="top">'''URL'''</td><td>A URL to the remote patch file.</td></tr> | ||
<tr><td valign="top">'''hashFunction'''</td><td>The name of the hash function to execute to verify the integrity of the patch.</td></tr> | <tr><td valign="top">'''hashFunction'''</td><td>The name of the hash function to execute to verify the integrity of the patch.</td></tr> | ||
<tr><td valign="top">'''hashValue'''</td><td>The server-generated hash generated for the file. If the client generated value does not match this, the integrity check fails after download.</td></tr> | <tr><td valign="top">'''hashValue'''</td><td>The server-generated hash generated for the file. If the client generated value does not match this, the integrity check fails after download.</td></tr> | ||
<tr><td valign="top">'''size'''</td><td>The size of the update, in bytes.</td></tr> | <tr><td valign="top">'''size'''</td><td>The size of the update, in bytes.</td></tr> | ||
</table> | </table> | ||
'''Important Note:''' The schemes for the <code>URL</code> attribute must be <code>http</code> or <code>https</code>. | |||
== Additional Client Metadata == | == Additional Client Metadata == |