New feature: Automatic update of extensions

We have implemented some long-awaited improvements in the Extensions Manager in Slicer-5.0.3. Most importantly extensions can be updated automatically and bookmarks can be used for convenient reinstallation of a list of extensions across different Slicer versions, computers, or users.

See a half-minute demo video here and details below:

New features

  • Extension update check and installation: Makes it easy for users to keep installed extensions up-to-date.
    • User can check for available updates and install those updates manually (by a single click) or enable automatic updates.
    • If extension updates are available (but automatic installation of updates is disabled) then a notification marker is displayed over the Extensions Manager toolbar icon and the user can install updates by
  • Bookmarked (favorite) extensions: Users can bookmark their frequently used extensions for easier installation.
    • Bookmarked extensions are shared between all installed Slicer versions, which makes it easy to reinstall the same extensions on different Slicer versions.
    • List of bookmarks can be edited as simple text. This makes it easy to transfer favorite extensions between computers or install a set of extensions at training events.

Usability improvements

  • Multiple extension package files can be installed at once.
  • The “manage” and “restore” tabs are merged into a single tab where user can install/uninstall/update/restore.
  • Dependent extensions are installed automatically by default, to simplify extension installation.
    Manual installation (user confirmation) can be enabled in extensions settings.
  • All dependent extensions (even indirect dependencies) are determined at once before asking the user to install them, saving several extra clicks for some extensions.
  • More extension metadata is displayed. Extension version and update time (when the package was built) is displayed for the installed extension and for the latest available updates (if any).

Performance and stability improvements

  • Extensions Manager is displayed immediately. The user does not need to wait for any downloads.
    Previously, hundreds of requests were submitted to query all necessary extension
    metadata, which caused slowdowns and crashes. Now all metadata can be downloaded in
    batch (in 4 requests), very robustly, in 1-2 seconds, and cached in a json file
    (such as Slicer 5.0.3\NA-MIC\Extensions-30893\ExtensionsMetadataFromServer.json)
    All data is reloaded immediately from cache or downloaded asynchronously.
  • Extensions server website can be opened in the default web browser. This makes it easier to
    download extensions for offline installation from file or when firewall or proxy settings prevent
    the extensions manager from working.
  • Bookmarked extensions can be installed without the “Install Extensions” tab, which may be useful in cases where firewalls or proxy servers prevent access to the Extensions Catalog website.
  • Close/restart button is not enabled until batch processing (install all/update all extension) are completed.
  • Fixed display of icons of many extensions: icons that were hosted on servers with 301-redirect are now displayed correctly.