The actual download location of an update is contained in the update information which is typically a xml file which is hosted on a server. Every update information contains only information for exactly one extension. The most important information are the location of the update and the version of this extension.
The Extension Manager needs to get hold of the update information in order to decide if the respective extension is a valid update. For example, it only makes sense to take a version into account that is greater than the version of the already installed extension. The information where the update information is located is contained in the description.xml of each extension. In particular the children of the
<update-information> element, contain URLs which reference the update information. The Extension Manager uses these URL to download the update information and later uses the information in the update information to download the respective extension.
In case that an extension does not contain a description.xml or the description.xml does not contain the
<update-information> element, the Extension Manager uses a default location to get update information. This location is build-in, and is therefore determined by the publisher of OpenOffice.org. Currently this information is contained in the version.(ini|rc) of the the office installation.
One piece of update information only contains the information for exactly one extension. To bundle several update information one can use an XML atom feed. For example a feed could reference multiple update information, which refer all to an extension with the same Id but have different versions. It could also contain references to update information of distinct extensions (different Id). Then the Extensions Manager will pick out the information it needs.
Not only the built-in URL can reference an atom feed but also every extension.
To find a suitable update, the Extension Manager, gathers in a first step all pieces of update information which have the same identifier as one of the installed extensions. Then it determines the latest version for an extension from those update information. If the latest version is greater than the version of the corresponding installed extension, then the respective extension is offered as an update.
|Content on this page is licensed under the Public Documentation License (PDL).|