Uploaded image for project: 'Nuxeo Drive '
  1. Nuxeo Drive
  2. NXDRIVE-1284

Set all required server versions for the auto-updater

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 3.1.1
    • Fix Version/s: 3.1.2
    • Component/s: Application update
    • Tags:
    • Sprint:
      nxDrive 10.3.3, nxDrive 10.3.7
    • Story Points:
      3

      Description

      As of now we are only checking for the minimum version of all supported servers, eg 7.10-HF11. But this is not good enough because we cannot set minimum required version for 8.10 nor 9.10.

      Current syntax of the versions.yml file setting:

      3.1.0:
          min: '7.10'
          ...
      

      The fix is to add a list of versions for each and every supported server versions such as:

      4.0.0:
          min_all:
              '7.10': '7.10-HF35'
              '8.10': '8.10-HF34'
              '9.10': '9.10-HF3'
              '10.3': '10.3-SNAPSHOT'
          ...
      

      Implementation Details

      We are introducing new keys, min_all and max_all, in informations set for each and every version. This will allow to not break the update from old versions (3.0.7, 3.1.0 and 3.1.1) that do not know them and will only check for min and max keys.

      Another way to prevent incompatibilities between Drive and the server is to disable the update if the server version is unknown (ie when the user is not authenticated).

      Update Flow

      We will release a 3.1.2 version with those new keys and the mecanism to handle them. A min value of 7.10-HF11 will be set.
      We will then release the 4.0.0 version with the backported mecanism and set a min value of 10.10.
      Moreover both versions will have the right min_all key.

      Doing this will force any version to first upgrade to 3.1.2 and then upgrade to a higher version if needed:

      • 3.0.7 > 3.1.2 > 4.0.0
      • 3.1.0 (or 3.1.1) > 3.1.2 > 4.0.0

      Finally, starting with version 4.0.0, the update process will act as usual: 4.0.0 > 4.0.1.

      Using this flow will allow to handle and prevent an update from 3.1.0 to 4.0.0 when the required server version is not met. In some cases, Drive may become totally unusable if the user is not yet authenticated.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 week, 1 hour
                  1w 1h