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