View Issue Details

IDProjectCategoryView StatusLast Update
0017671MMW 5Install/Configpublic2024-03-14 23:05
Reporterrusty Assigned To 
PriorityurgentSeveritymajorReproducibilityalways
Status closedResolutionno change required 
Product Version5.0 
Target Version5.0.2Fixed in Version5.0.2 
Summary0017671: If MM4 and MM5 are installed, MM Portable installation imports settings from MM4
DescriptionIf the user has upgraded from MM4 to MM5 and subsequently installs MM5 portable, MM imports settings from the 'old' MM4 installation instead of from the newer MM5 installation!

Ideally it should prompt the user which database to use, but in the absence of that, it should use the database from the newer installation.

This can wait until 5.0.1.
TagsNo tags attached.
Fixed in build2530

Relationships

related to 0016176 newLudek DB Backup Improvements 
related to 0018690 closedpetr Crash when importing MM4 db (regression 5.0.2) 

Activities

rusty

2021-10-21 16:25

administrator   ~0065378

Last edited: 2021-10-21 16:27

This is likely to cause serious pain for users that haven't uninstalled/deleted an old MM4 installation.

The best approach would be if MM prompted the user what DB to use. This could also apply for backup/restore improvements. e.g. (this proposal uses existing strings except where noted):

Restore existing database? (new string)

Database | Version | Timestamp
--------------------------------------------------------------------
( ) <Path> | 4.x | <date>
(o) <Path> | 5.x | <date>
Choose... (or alternately 'Select folder...')
--------------------------------------------------------------------
 . . . . . . . . . . . . . . . . . . . . . . . [Restore] [Cancel]

---> Do you want to use the database and settings from %s ?

petr

2021-10-22 11:58

developer   ~0065418

Last edited: 2021-10-22 11:59

Problem is at this startup stage we cannot use skinned dialogs (HTML/JS/CSS) so we can use just system MessageBox and it's limited to simple text and basic buttons (OK, Yes, No, cancel ... and cannot use radio buttons in text etc.). We can implement your approach to backup/restopre. but cannot be used at startup when user is importing settings.

rusty

2021-10-22 14:03

administrator   ~0065422

Why not just use default settings at startup, and then prompt to restore the db/associated settings?

petr

2021-11-01 09:18

developer   ~0065603

To make whole implementation easier ... in case MM4 AND MM5 installation detected (for MM5 other than current folder) :

More than one MediaMonkey installations were detected.
If you want to import database and settings from MediaMonkey 4 installation, click on 'MediaMonkey 4' button.
If you want to import database and settings from MediaMonkey 5 installation, click on 'MediaMonkey 5' button.
Even when you choose 'Do not import', you can restore database later from 'Database manage' dialog (can be found in File menu).

[ MediaMonkey 4] [ MediaMonkey 5] [ Do not import ]


What do you think ?

rusty

2021-11-01 14:18

administrator   ~0065604

That solves the specific issue of importing settings from regular MM4/MM5 installations, but doesn't solve the issue generally (e.g. from portable installations, from a backup, from non-standard installations). So it's better than the current situation but not a good long-term solution.

But if this is really the only path forward atm, then we should minimize string changes for now e.g.

Restore existing database (choose source) ? (note: 'Restore existing database' and 'choose source' should be separate strings):
[MediaMonkey 5] [MediaMonkey 4] [Cancel]

OR

Restore existing database (choose source) ?
[MediaMonkey 5] [MediaMonkey 4] [Select folder...] [Cancel]

petr

2021-11-16 15:40

developer   ~0065944

Fixed .. btw we have a problem that system dialog can have only 3 buttons so there's no cancel button on import dialog.

peke

2021-11-16 23:42

developer   ~0065959

Dialog can't be closed [X] is disabled. Which should act as CANCEL (Currently only way to prevent import is to use Select Folder and then Cancel it).

After fixing that adding additional line "Close dialog if you want to cancel."

peke

2021-11-17 11:20

developer   ~0065963

Further test reveled more serious issue:
- Clicking on MM5 button it copies MM.ini and mm5.DB from existing Normal install which breaks new Portable installation (MM.ini do not contain portable section)

petr

2021-11-17 12:14

developer   ~0065965

Last edited: 2021-11-17 12:17

re 1) i've decided to use original string 'Do you want to use the database and settings from %s ?'.
       'MediaMonkey 4' and 'MediaMonkey 5' string no need to be translated.
       'or' and 'folder' words we have already translated.
I've decided to use original because we do not importing just database, but settings as well.
Based on item 2 i will not show 'or folder', but only MediaMonkey 4 or MediaMonkey 5 ... do you agree ?

 re 2) i will replace 'Select folder' by cancel and open select folder when user select MM4 or MM5.

petr

2021-11-17 12:38

developer   ~0065966

Peke, i've just checked and portable variable in copied ini is set correctly

peke

2021-11-17 13:11

developer   ~0065967

You are right it was test error, INI Text search had Match Case enabled so "isportable" search failed.

petr

2021-11-17 13:47

developer   ~0065968

Fixed

peke

2021-11-18 22:35

developer   ~0065992

Verified 2521

For me it works and looks OK, according to agreed.

Please check wordin if it is OK and close.

peke

2021-11-19 18:22

developer   ~0066004

Closing All test cases ere covered in smoke testing of 2521

No regressions were found in all possible combinations of installed versions MM4/MM5.

rusty

2021-12-20 15:19

administrator   ~0066429

I've tested this after Ludek discovered 0018690, and would like to suggest a change since the current workflow can be confusing. i.e. if a MediaMonkey 4 user attempts to upgrade, and they click [MediaMonkey 4] a dialog appears prompting them to choose a folder. Although this seemed like a good idea, in actual use it's confusing since users don't really know what they're selecting, and there are still quite a few MM4 users upgrading.

I would suggest a slight tweak for the options, show:
[MediaMonkey X] [Select folder] [Cancel]

- X is the most recent version of MediaMonkey db/settings found.
- When the user clicks [MediaMonkey X], import the data/settings directly (don't prompt to Select folder)
- When the user clicks [Select Folder] pre-navigate to the _next_ most recent db/settings found
- 'Select folder' is an existing string

rusty

2021-12-20 15:56

administrator   ~0066431

Last edited: 2021-12-20 16:02

Alternatively, we could use the following approach which eliminates the need for users to find the directory of the _next_ most recent settings/database (though I believe that the previous suggestion is simpler and meets the needs of the majority of cases which are presently upgrades from MM4).

Do you want to use the database and settings from %s
[Yes] [Select folder] [Cancel]

And clicking [Yes]
-->
Restore:
[MediaMonkey 4] [MediaMonkey 5] [Cancel]

petr

2021-12-20 16:51

developer   ~0066432

Fixed

rusty

2021-12-20 23:13

administrator   ~0066438

Tested the workflow in build 2529 and it works in a reasonably user-friendly fashion. The only issue that's a bit confusing from a usability perspective is that if the user chooses [Select Folder] and then [Cancel]s out of the 'Select folder' dialog, then instead of reverting to the initial dialog, MM proceeds to import a DB (not sure which one). This should be fixed.

peke

2021-12-21 00:31

developer   ~0066440

2529 make things more worse than earlier versions.

1. Dialog points to Importing MM4 and MM5, while only MM5 and Select folder is presented.
Suggestion is string change "Pervious installations are detected please select desired installation and confirm import folder in order to import library and settings or use Cancel to create new library. [MediaMonkey 5] [MediaMonkey 4] [Cancel]"

2. There was no additional import dialog if MM5.DB is deleted/not existent, while new library is selected.
Install 2529 portable -> Click on MediaMonkey 5 -> MM5 loads with imported library -> Close MM5 -> Delete Portable\MM5.DB -> Start MM5 -> No prompt to import (regression) -> New MM5.DB is created. Expected that Dialog is shown again
bug17671.png (6,940 bytes)   
bug17671.png (6,940 bytes)   

rusty

2021-12-21 05:19

administrator   ~0066444

Re. Peke's first point:
1. The Question should always match the button that is presented (i.e. the most recent settings/DB found). We're not able to make string changes at this point.

petr

2021-12-21 10:47

developer   ~0066445

2. when there's standard usable ini file already it expect user deleted DB as he need a clean one

petr

2021-12-21 10:49

developer   ~0066446

Fixed

peke

2021-12-21 13:44

developer   ~0066447

2. re 0017671:0066445: Not in case of portable version, especially when user previously imported settings. I guess that this needs to be tweaked a bit. Will open new bug so that we can track it separately from original issue.

rusty

2021-12-22 05:08

administrator   ~0066462

Re. 2. I agree with Petr--the functionality is designed to import the _settings_and_DB_ and would have to be changed significantly to accomodate usecases involving importaing settings only or DB only.

peke

2021-12-22 10:39

developer   ~0066463

1. Select dialog do not select folder with latest MM library as pointed by @Rusty at 0017671:0066444

3. Button [MediaMonkey 5] Never change to [MediaMonkey 4] If MediaMonkey 4 was last used and MM.DB was last modified library.

4. When Select folder is used it defaults to MediaMonkey 4 MM.DB which is OK, but user do not see it as folder selection is not focused (Video Uploaded)

peke

2021-12-22 10:39

developer   ~0066464

bug17671.mp4 (512,273 bytes)   

petr

2021-12-22 10:52

developer   ~0066465

1. select dialog should point to MM4 data folder
3. button shouldn't change if MM5 data folder with setting and DB is found
4. it is system dialog to select folder ... probably it's because it's hidden folder (appData) by default

rusty

2021-12-22 13:09

administrator   ~0066466

There are a couple of points to keep in mind:
a) The most common usecase: It's upgrading from MM4, or installing MM Portable from the most recent version of MM. The current dialog satisfies these cases well.
b) The previous version was problematic for all but the most advanced users--Most users would have no idea how to proceed when shown the 'Select folder' dialog after having chosen to upgrade from a given version of MM.

The current dialog isn't perfect--we're limited by technical issues (maximal use of 3 buttons), but given that it covers most usecases and is an improvement over 5.0.1, there's no reason to spend any more time on this.

peke

2024-03-14 23:05

developer   ~0074669

Closing, obsolete MM 2024 already handles that efficiently.