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

Reply via email to