AUS:Manual: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 17: Line 17:
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.
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, we will use the following URL taken from Firefox 2.0.0.1 (split up to be readable):
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
  https://aus2.mozilla.org/update
Line 30: Line 30:
  /update.xml
  /update.xml


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


Line 43: Line 44:
  /update.xml
  /update.xml


= Incoming URIs =
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 ==
== Product ==
== Version ==
== Version ==

Revision as of 07:56, 24 January 2007

« 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: Aus.jpg

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

Build Sources

File structure

When each source is used

Build Snippets

Old Schema

New Schema