Automatic handling of different preference file versions

Issue #407 new
Robert Leach created an issue

USE CASE: WHAT DO YOU WANT TO DO?

Install and run a new version of TreeView without the need to manually reset preferences from an incompatible old version of treeview.

STEPS TO REPRODUCE AN ISSUE (OR TRIGGER A NEW FEATURE)

  1. Run TreeView version alpha02
  2. If you've previously used alpha03, reset the preferences
  3. Quit
  4. Run TreeView version alpha03

CURRENT BEHAVIOR

Display and behavior problems can occur when a newer treeview version is run which uses an old version of the application settings/preferences.

EXPECTED BEHAVIOR

Opening a new version of TreeView should ideally import and convert old preference versions to update them, but minimally automatically reset the preferences so that the user does not have to encounter issues and then do it manually. It may also be preferable to keep the preferences files separate for different TreeView versions so that a user can go back to an older version and still have their old settings.

DEVELOPERS ONLY SECTION

SUGGESTED CHANGE (Pseudocode optional)

  1. [OPTIONAL] Allow different versions of TreeView to maintain their own independent preferences files so that a user can go back to their older app without having lost their old settings. (This option is useful only if newer versions require the user to reset their preferences.)
  2. When a new version of treeview is run and its required preference version is greater than the detected existing preferences, present the user with a dialog saying that they must reset their preferences to run the newer version or else allow them to cancel if they're concerned about losing their prefs.
  3. [IDEAL/OPTIONAL] When a new version of treeview is run and its required preference version is greater than the detected existing preferences, import/convert the old preferences to the newer version without informing the user.
  4. [IDEAL/OPTIONAL] When an old version of treeview is run and its required preference version is less than the detected existing preferences, warn the user in a dialog that they must either use the newer version because the preferences are incompatible or give them the option to reset the preferences (without import).

FILES AFFECTED (where the changes will be implemented) - developers only

unknown

LEVEL OF EFFORT - developers only

major

COMMENTS

Comments (3)

  1. Robert Leach reporter

    Anytime we change the preferences, we should write a conversion routine from the previous version to the most up to date version.

  2. Log in to comment