cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

NetBeansMajorVersionUpgrade

Contents

NetBeans IDE/NetBeans platform applications upgrade

This page describes a few possible ways of resolving the NetBeans IDE/platform applications upgrade issue. See also AutoupdateSupportsMajorReleaseUpgrade.

New major version notification

Overview

In brief, this functionality boils down to the necessity of automatic and background downloading the file with information about the latest (stable) NetBeans IDE release. In case the latest release version differs from the current IDE version, show the message to the user about that fact and open the page in the browser, where the user can download the new version of IDE.

Implementations details

From the technical standpoint, that can be solved e.g. in the following way:

  • Add functionality to the autoupdate.ui which will be capable of :
  • version
  • message to show (maybe with the download and/or release info URLs)
  • ...
  • check the current platform/IDE version with the one from the downloaded file, and, if it differs, show the message with ability to open the URLs by clicking on them

Pros and Cons

Pros:

  • Easy to implement
  • Suitable for any NB platform applications
  • Lightweight

Cons:

  • User still has to do manual download, installation, and settings/plugins/etc import and previous version uninstallation.
  • Not clear how to handle "bundle" downloads (e.g. Java EE Tools bundle, NetBeans/JDK bundle, JavaFX bundle) and package distributions (deb, rpm, ips).
    Have special "latest version" URL for each bundle?

New distribution download, installation and exporting information from the previous version

Overview

In brief, this solution takes into account the information about current platform version, modules installed, and the distributions with the new NB version available.
After collecting all the information, the most suitable distribution is downloaded and installed silently. Then the modules, existing in the current applications and missing in the new distribution, are identified and are imported to the new IDE and then checked for updates. Then the "old" version is removed (by uninstaller or by "rm -rf").

Implementation details

TBD.

Pros and Cons

Pros:

  • Transparent for the user i.e. easy-to-use

Cons:

  • Strong dependency between AU and installer.
  • Need to take into account the fact that not all NBs are installed using the NB installer: it can be other NB bundles (EE/JDK/...), or Linux packages, or OpenSolaris/IPS, or zips, or whatever)
  • Not applicable for other NB platform-based applications though this funcitonality is also very often requested by those applications developers.

Platform "direct" upgrade support

Overview

This possibility means that all important IDE parts (autoupdate/platform/launchers/cluster system/etc) are enhanced to support "direct" upgrade from one major version to another. This method also affects the installer/packages/... since they should be able to identify and handle the fact that the folder structure has been significantly changed.

Implementation details

Pros and Cons