AUS:Manual

Revision as of 08:02, 24 January 2007 by Morgamic (talk | contribs)

« back to AUS main page

Overview

The Application Update Service (AUS) refers to the part of Software Update that tells clients:

  • if they have an update
  • information about that update if it exists

In general, the transaction looks like:

  • Software Update checks app.update.url, passing information about itself
  • AUS responds with a properly formed XML document
  • Software Update processes that XML document and performs the appropriate task

The general workflow is illustrated below:  

Client Settings

Every client passes information to AUS through query string variables. This section breaks down each of these variables and explains its relation to the update service.

As an example, see the app.update.url value taken from Firefox 2.0.0.1 (split up to be readable):

https://aus2.mozilla.org/update
/2
/%PRODUCT%
/%VERSION%
/%BUILD_ID%
/%BUILD_TARGET%
/%LOCALE%
/%CHANNEL%
/%OS_VERSION%
/update.xml

Incoming URIs

A request from an actual Firefox 2.0.0.1 client on an Intel Mac would look like this:

https://aus2.mozilla.org/update
/2
/Firefox
/2.0.0.2pre
/2007012207
/Darwin_Universal-gcc3
/en-US
/nightly
/Darwin%208.8.1
/update.xml

This URI is processed by Apache, which rewrites it to a PHP script that is responsible for finding update information based on passed client information. It then proceeds down the workflow illustrated above.

Update Version

/2

Update version was created during the infancy of AUS 2 in order to allow for inevitable changes in:

  • the order or format of app.update.url pref
  • future additional client information that may need to be processed
  • other changes to the point-of-entry for Software Update

Initially, as one might expect, this was 0. 0 was never used in production. For reference, 0 URL looked like:

https://aus2.mozilla.org/update
/0
/%PRODUCT%
/%VERSION%
/%BUILD_ID%
/%BUILD_TARGET%
/%LOCALE%
/update.xml

1 was used in production up until Firefox 2.0. Here is an example:

https://aus2.mozilla.org/update
/1
/%PRODUCT%
/%VERSION%
/%BUILD_ID%
/%BUILD_TARGET%
/%LOCALE%
/%CHANNEL%
/update.xml

2 is in use for Firefox 2.0 and above until another iteration is required. Here is an example:

https://aus2.mozilla.org/update
/2
/%PRODUCT%
/%VERSION%
/%BUILD_ID%
/%BUILD_TARGET%
/%LOCALE%
/%CHANNEL%
/%OS_VERSION%
/update.xml

Product

Version

Platform

Build

Locale

Channel

AUS Use Cases

Releases

Partner Releases

Nightly Updates

Build Sources

File structure

When each source is used

Build Snippets

Old Schema

New Schema