This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 29 - Pages: 2 [ 1 2 | Next ] - Last Post: 21-Mar-2018 00:46 Last Post By: jGromit
jGromit

Posts: 8,619
Registered: 31-Jan-2006
Updating a skin with an open project
Posted: 17-Jan-2017 23:32
 
  Click to reply to this thread Reply
This: http://jalbum.net/forum/thread.jspa?threadID=52213

This keeps happening, over and over and over and over again. Frankly, I'm tired of responding to users' posts about it.

The jAlbum core simply should not allow a skin to be installed while there's an open project. Forget about trying to make it work correctly. Just put up a dialog that says, "To install a skin, the album project must be closed. Should I save it?" Then close the project and proceed with the skin installation.
MarkE

Posts: 107
Registered: 24-Apr-2006
Re: Updating a skin with an open project
Posted: 18-Jan-2017 00:10   in response to: jGromit in response to: jGromit
 
  Click to reply to this thread Reply
jGromit wrote:

The jAlbum core simply should not allow a skin to be installed while there's an open project.

I've been reading this thread for weeks now (it feels). I can't see what the problem is, Dave, why not implement the above? What are you trying to avoid?
jGromit

Posts: 8,619
Registered: 31-Jan-2006
Re: Updating a skin with an open project
Posted: 18-Jan-2017 01:07   in response to: MarkE in response to: MarkE
 
  Click to reply to this thread Reply
A riot is an ugly thing.... and I think that it is about time that we had one!!

davidekholm

Posts: 3,849
Registered: 18-Oct-2002
Re: Updating a skin with an open project
Posted: 18-Jan-2017 18:55   in response to: MarkE in response to: MarkE
 
  Click to reply to this thread Reply
So, the root problem is that, upon skin update, the default settings gets loaded when the skin is loaded after skin installation? I guess one can either skip reloading the skin or ensure that the project settings are respected. Isn't the latter preferred?
jGromit

Posts: 8,619
Registered: 31-Jan-2006
Re: Updating a skin with an open project
Posted: 18-Jan-2017 20:25   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
davidekholm wrote:
So, the root problem is that, upon skin update, the default settings gets loaded when the skin is loaded after skin installation? I guess one can either skip reloading the skin or ensure that the project settings are respected. Isn't the latter preferred?

I wish it were that simple. What we keep seeing are situations in which some of the project settings are respected, but others are overridden by skin defaults. Had one just a couple of days ago in the Matrix forum - the custom background files were still there, but some of the custom colors got clobbered. It seems to happen with the more complex skin UI's, like Turtle and Matrix, which are doing a lot of cross-checking and resetting of things - lots of StateMonitor()'s, for example.

And I suspect that things get even worse when the user has the integrated browser active, since a change can alter the output before the user even knows what's happened.

What would be preferred would be if the project were closed, with its settings safely stashed away, before a skin change or update is installed.

Yes, this makes things less convenient for someone who's experimenting with different skins, but having an existing project screwed up, representing a lot of work in some cases, is too high a price to pay in order to avoid some minor inconvenience. Want to experiment with skins? Fine. Create a test project with one skin. Install a new skin (which closes the test project). Reopen the test project, switch to the newly-installed skin. Not a big deal.

And as I've said before, one of the most dangerous situations occurs when a user has a project open with SkinA, happens to be looking around on the jAlbum site, and decides to install SkinB. Now the open project is using SkinB. If he saves the project, he's lost his SkinA settings. You and I know that there's a backup project file sitting there, but the last time I tried to steer a user to it, she just got more and more confused (should jAlbum be running, or not, etc., etc.).
Laza

Posts: 2,559
Registered: 6-Sep-2005
Re: Updating a skin with an open project
Posted: 19-Jan-2017 11:23   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
davidekholm wrote:
So, the root problem is that, upon skin update, the default settings gets loaded when the skin is loaded after skin installation? I guess one can either skip reloading the skin or ensure that the project settings are respected. Isn't the latter preferred?
No, it's worse. The settings got reset but not to the skin's defaults - that would result in a usable album - but to zero values, which makes the album look completely broken. The colors all get #000000, the Strings empty, the combo boxes are set to their first value, as far as I saw.
davidekholm

Posts: 3,849
Registered: 18-Oct-2002
Re: Updating a skin with an open project
Posted: 23-Jan-2017 15:57   in response to: Laza in response to: Laza
 
  Click to reply to this thread Reply
Laza wrote:
davidekholm wrote:
So, the root problem is that, upon skin update, the default settings gets loaded when the skin is loaded after skin installation? I guess one can either skip reloading the skin or ensure that the project settings are respected. Isn't the latter preferred?
No, it's worse. The settings got reset but not to the skin's defaults - that would result in a usable album - but to zero values, which makes the album look completely broken. The colors all get #000000, the Strings empty, the combo boxes are set to their first value, as far as I saw.

Awful, but how do I reproduce these problems (any of them)? When I update Turtle for instance, even with keeping the embedded preview active, my custom settings are respected.
Laza

Posts: 2,559
Registered: 6-Sep-2005
Re: Updating a skin with an open project
Posted: 24-Jan-2017 11:40   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
I tried but could not reproduce the error. Hopefully it's gone. :) Anyway, I'll ask more details from users if this happens again.
davidekholm

Posts: 3,849
Registered: 18-Oct-2002
Re: Updating a skin with an open project
Posted: 24-Jan-2017 12:58   in response to: Laza in response to: Laza
 
  Click to reply to this thread Reply
Please do
jGromit

Posts: 8,619
Registered: 31-Jan-2006
Re: Updating a skin with an open project
Posted: 24-Jan-2017 14:08   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
The most recent report of it was just a week ago - see the link in the first post.

I can't reproduce this, either, but it happens to someone at least once a month (that we know about). Trying to get more detail from the users is usually pointless. There's no error message - just screwed up project settings. The common element is that they just did a skin update, and always (apparently) with an open project.

We tell them not to do this, but the core program prompts them to do exactly the wrong thing. They open an older project, there's a notification that there's a new skin version available, with a handy "update" link. So that's what they do. Then they're in trouble.

You don't change the spark plugs in an engine that's running. You don't install a new jAlbum core without doing a restart.

I'm sorry, but I'm tired of this. I simply don't understand why the core program doesn't just do the safe thing, and close any open project if the core is about to do a skin update. This seems so obvious to me. I don't get why you keep fighting against this.
davidekholm

Posts: 3,849
Registered: 18-Oct-2002
Re: Updating a skin with an open project
Posted: 24-Jan-2017 14:33   in response to: jGromit in response to: jGromit
 
  Click to reply to this thread Reply
I'd much rather fix the root of the problem than working around it. If we close the currently open project, we'd need to prompt the user about saving changes first (another decision) and after the skin update, the user needs to reopen the project again - two more steps that should really be unnecessary. I'm not saying we eventually go that path, but I still want to nail the root of this problem. It may be the cause of other problems too.

Was the last reporter using jAlbum 13.9?
jGromit

Posts: 8,619
Registered: 31-Jan-2006
Re: Updating a skin with an open project
Posted: 24-Jan-2017 14:46   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
davidekholm wrote:
... two more steps that should really be unnecessary.

Unlike the many, many steps that are needed to get out of trouble when it happens? I'll take the two extra steps. They're simple and obvious to anyone who uses a PC. These folks all very accustomed to having to shut down an application in order to update it. This is hardly some weird ritual.

And those two steps could be reduced to one, or even zero:

  • The core is about to update the skin. Is there an open project?
  • If yes, close it, and remember that a project was open. If a "save" isn't needed, there's no prompt.
  • Install the skin.
  • If there was an open project (remember?), reopen it (in effect, do a CTRL-1).

If the core isn't already doing that internally, whatever it's doing isn't good enough. A new skin version may have new variables, new defaults. More to the point, it may also have a routine for correcting variables from a prior version, something that has to be applied when a project is loaded. If the project isn't being closed and reopened, that routine may not be working.

And needless to say, while all of this is happening, all user inputs must be locked out.

Was the last reporter using jAlbum 13.9?
Don't know, but when you take a user to whom this has happened, and start peppering him or her with questions - did you do this, did you do that? - he or she just gets more and more upset.
jGromit

Posts: 8,619
Registered: 31-Jan-2006
Re: Updating a skin with an open project
Posted: 24-Jan-2017 14:48   in response to: jGromit in response to: jGromit
 
  Click to reply to this thread Reply
And here's a user who had just updated jAlbum to the latest version: http://jalbum.net/forum/thread.jspa?threadID=52208

I think you can see that further interrogation of that user would not have been very helpful - there's just no telling what she did, or in what sequence.
davidekholm

Posts: 3,849
Registered: 18-Oct-2002
Re: Updating a skin with an open project
Posted: 24-Jan-2017 17:51   in response to: jGromit in response to: jGromit
 
  Click to reply to this thread Reply
jGromit wrote:
And here's a user who had just updated jAlbum to the latest version: http://jalbum.net/forum/thread.jspa?threadID=52208

I think you can see that further interrogation of that user would not have been very helpful - there's just no telling what she did, or in what sequence.


I'm putting the highest priority onto fixing this issue now. I spotted that black triangle in the lower-right corner. I suspect that relates to the problems. Somehow the initialization of the UI has been stopped by a nullpointer exception for instance. I was able to trigger a nullpointer exception in JAlphaColorSelector.setColor where null was being passed as color. This happened with Matrix once I was playing with updating from older to the current Matrix version. I've fixed that issue now. I'm going to inspect some crash logs to see if this is a common problem.
jGromit

Posts: 8,619
Registered: 31-Jan-2006
Re: Updating a skin with an open project
Posted: 24-Jan-2017 17:56   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
davidekholm wrote:
I was able to trigger a nullpointer exception in JAlphaColorSelector.setColor where null was being passed as color.

I used to see that one frequently after a skin update, but haven't seen it in many, many months now. I'm surprised you were able to trigger it.
Legend
Forum admins
Helpful Answer
Correct Answer

Point your RSS reader here for a feed of the latest messages in all forums