With the release of TB 68.2.0 it is anticipated that the upgrade switch
will soon be flipped and users on the Release channel using 60.9.0 will
automatically receive it. Following today's announcement of SOGo 4.1.0
and SOGo Connector extension 68.0.0 I thought I would spend the day
testing upgrade scenarios.
The summary is that I have yet to achieve a workable upgrade solution
but would like to share what I have tried in the hope that others can
benefit from it and that many minds can find the answer...?
Test platform: Windows 10 32-bit and Ubuntu 18.04LTS 64-bit (no
differences experienced)
All tests began with TB 60.9.0 using SOGo Connector 60.0.2 and
Integrator 60.0.2 configured for our site and able to successfully pull
extension updates from an Apache web server via updates.php over a
secure connection with a Let's Encrypt certificate.
My first test was to customise the new all-in-one SOGo connector 68.0.0
for our site and update install.rdf to include support for TB 60:
<em:targetApplication>
<Description>
<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
<em:minVersion>60.0</em:minVersion>
<em:maxVersion>68.*</em:maxVersion>
</Description>
</em:targetApplication>
I then pushed this via update.php to the TB 60.9.0 installation, where
it was accepted and loaded. However testing found than new calendar and
contact entries were not pushed to the SOGo server and the extension did
not appear to function. I have no idea if this is the intended
behaviour and whether any backwards compatibility is expected?
My thinking was that if this worked the old SOGo Integrator 60.0.2 would
be disabled during the TB 68.2.0 upgrade and the new SOGo Connector
68.0.0 would take over its functionality. This proved to be true as
when I manually forced the TB 60 -> 68 upgrade everything started
working again.
I then approached the problem from the other direction and wondered if I
could get the SOGo Integrator 60.0.2 working on TB 68 for long enough to
hit updates.php on our server and pull the new SOGo Connector 68.0.0
from it. To make the SOGo Integrator 60.0.2 compatible I needed to add
a manifest.json file to its root (and bump the version in install.rdf so
that I could "upgrade" existing TB 60 installations):
{
"manifest_version": 2,
"applications": {
"gecko": {
"id": "[email protected]",
"strict_min_version": "68.0"
}
},
"name": "Inverse SOGo Integrator",
"description": "A SOGo integration plugin for Thunderbird and Lightning",
"version": "60.0.3.001",
"legacy": {
"type": "xul"
}
}
The extension updated fine in TB 60.9.0 and I then proceeded to upgrade
to TB 68.2.0. Sadly, although the SOGo Integrator is left enabled and
appears to be compatible, it made no attempt to contact our web server
and post to updates.php to grab the new SOGo Connector 68.0.0.
I have spent a couple of hours reading about making legacy extension
compatible with TB 68 and it appears this is probably not the route to
take. Does anyone have any other ideas of how to prepare for this
upgrade? How will Inverse achieve it? I really want to avoid having to
physically visit lots of machines to install a new extension. Sadly
adding extensions (and cleaning up the old, redundant SOGo Integrator)
is not something I can expect non-technical end-users to realistically
achieve.
--
Ian McMichael
• E-Mail: [email protected]
• Phone: +44-(0)7703-192837
--
[email protected]
https://inverse.ca/sogo/lists