Doing a automatic upgrade of thunderbird 3.x to 10.x
- When you do a normal upgrade of thunderbird from version 3.1.x to 10.x, this disables all sogo extensions
- Due to this, you will then have to manually install the TB 10 integrator and then everything works as previously
Doing the integrator update automatically
- It is possible to tell TB where to get updated versions of the integrator
- You need to do these 4 steps to get a working upgrade path
1. Create a new version of the integrator for TB v3.1.x
- Take for example the TB 3.1 extension, version 109
- Unzip it and modify the install.rdf file to look like this:
<?xml version="1.0"?>
<!DOCTYPE RDF>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#"
xmlns:NC="http://home.netscape.com/NC-rdf#">
<Description about="rdf:#$Iwquq2"
em:id="{3550f703-e582-4d05-9a08-453d09bdfdc6}"
em:minVersion="3.0"
em:maxVersion="3.1.*" />
<!-- em:optionsURL="chrome://sogo-integrator/content/general/preferences.xul" -->
<Description about="urn:mozilla:install-manifest"
em:name="Inverse SOGo Integrator"
em:id="sogo-integrator@inverse.ca"
em:version="3.109a"
em:description="A SOGo integration plugin for Thunderbird and Lightning"
em:iconURL="chrome://sogo-integrator/skin/sogo.png"
em:creator="Inverse <support@inverse.ca>"
em:developer="Inverse <support@inverse.ca>">
<em:targetApplication resource="rdf:#$Iwquq2"/>
<em:updateURL>https://sogo.company.com/plugins/tbupdate.php</em:updateURL>
</Description>
</RDF> - You need to modify the em:version
And add the <em:updateURL>.....</em:updateURL> with the correct url to your server
You must specify a https URL here, otherwise upgrades will not work
It's possible to get upgrades working with http , but you will then have to work with signatures. Look here for more details
- After making the modifications add the file back to the .xpi file
2. Push this new version via the normal integrator upgrade path (update.php)
- Just push this new 3.109a version like all other versions to the TB 3.1x clients
3. Create a php script to return the update description with the correct location to download the V10 integrator
<?php
header("Content-type: text/xml; charset=utf-8");
echo ('<?xml version="1.0"?>' . "\n");
?>
<r:RDF xmlns:r="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.mozilla.org/2004/em-rdf#">
<r:Description about="urn:mozilla:extension:sogo-integrator@inverse.ca">
<updates>
<r:Seq>
<r:li>
<r:Description>
<version>10.0</version>
<targetApplication>
<r:Description>
<id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</id>
<minVersion>10.0</minVersion>
<maxVersion>10.*</maxVersion>
<updateLink>https://sogo.company.com/downloads/extensions/sogo-integrator-10.0-company.xpi</updateLink>
</r:Description>
</targetApplication>
</r:Description>
</r:li>
</r:Seq>
</updates>
</r:Description>
</r:RDF>You have to put this file in the location you defined as the update url, for example https://sogo.company.com/plugins/tbupdate.php
It's also possible to convert it into a static file, the extension must then be sure that the content type is returned as text/xml for the rdf file (See why
4. Finally do a manual update of TB 3.1.x to TB 10 ESR
- When you did every correctly, then on first launch of TB 10 you will see a dialog similar to this one
