525
edits
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
Update Service | The Update Service: | ||
* checks for updates to the application on a background timer | |||
* provides a means for the user to check for updates to the application | |||
* provide a set of controls for determining update behavior | |||
The Update Check | = The Update Check = | ||
# generate update service URL | |||
# determine if updates are available | |||
# determine action | |||
# download patches | |||
# verify patches | |||
# install patches | |||
= Update Service URL = | |||
The Service URL needs to incorporate data in these dimensions so as to reduce the complexity of the processing on the client side: | |||
* app name | |||
* app locale | |||
* app version | |||
* app buildid (for distinguishing between nightlies on a "tester" build stream for example) | |||
* app buildtarget | |||
e.g. | e.g. | ||
<tt>/firefox/1.0.3.20050414/i586-pc-msvc/en-US/update.xml</tt> | |||
The Updates File | =The Updates File= | ||
update.xml is an XML file that tells about available updates. It is formatted | update.xml is an XML file that tells about available updates. It is formatted | ||
like this: | like this: | ||
<tt><pre> | |||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
| Line 48: | Line 48: | ||
</update> | </update> | ||
</updates> | </updates> | ||
</pre></tt> | |||
The application should provide a preference setting that can be set to hold | The application should provide a preference setting that can be set to hold | ||
| Line 84: | Line 85: | ||
The update.xml file for the 1.1.1 user might look something like this: | The update.xml file for the 1.1.1 user might look something like this: | ||
<tt><pre> | |||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
| Line 106: | Line 108: | ||
</update> | </update> | ||
</updates> | </updates> | ||
</pre></tt> | |||
And for the 1.1.4 user like so: | And for the 1.1.4 user like so: | ||
<tt><pre> | |||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
| Line 123: | Line 128: | ||
</update> | </update> | ||
</updates> | </updates> | ||
</pre></tt> | |||
So the user of 1.1.1 will have the 1.1.2, 1.1.3, and 1.1.4 patches | So the user of 1.1.1 will have the 1.1.2, 1.1.3, and 1.1.4 patches | ||
| Line 131: | Line 138: | ||
This implies that the database that manages all of this version information | This implies that the database that manages all of this version information | ||
has to know that some updates can only apply to certain version (ranges). | has to know that some updates can only apply to certain version (ranges). | ||
edits