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


Permlink Replies: 6 - Pages: 1 - Last Post: 10 Nov 25, 16:53 Last Post By: davidekholm Threads: [ Previous | Next ]
JeffTucker

Posts: 8,007
Registered: 31-Jan-2006
Multi-maker check for new variables
Posted: 8 Nov 25, 15:19
 
  Click to reply to this thread Reply
This crops up from time to time, and could use a fix.

If a skin introduces a new variable, but a user tries to rebuild an existing album using the multi-maker, the build usually crashes because the variable is undefined. The user has to open each project in the app with the new skin version and save it, before it can be fed to the multi-maker.

When building an album with the multi-maker, it should check the variables against the skin's SkinModel.java contents, and apply the default setting for any missing variable. I don't have any sense of how much of a performance hit this might incur.

The tougher case is the one in which the skin, when loading an older project, applies its own logic to choose the new value for a variable. For example, "if this old Boolean was true, choose "whatever" for the new combobox." Taking care of that situation would require virtually mimicking the UI loading. I suspect that would really slow things down, so it might not be worth the effort.

(BTW, why is headless-settings.jap still present in the bundled skins? I don't provide it for any of my skins - it seems to be redundant. And what happens if it conflicts with the entries in SkinModel.java? Probably should be retired.)
davidekholm

Posts: 3,798
Registered: 18-Oct-2002
Re: Multi-maker check for new variables
Posted: 8 Nov 25, 17:53   in response to: JeffTucker in response to: JeffTucker
 
  Click to reply to this thread Reply
Yes, it should probably be retired. SkinModel is a more robust mechanism as it provides the correct data type as well. So I'm not applying the skin model within the MultiMaker?
JeffTucker

Posts: 8,007
Registered: 31-Jan-2006
Re: Multi-maker check for new variables
Posted: 8 Nov 25, 18:49   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
davidekholm wrote:
Yes, it should probably be retired. SkinModel is a more robust mechanism as it provides the correct data type as well.

If you decide to retire it, don't forget Tools > Skin developer > Prepare for online and console use.

So I'm not applying the skin model within the MultiMaker?

I don't think so, and it would explain posts like this:

https://jalbum.net/forum/thread.jspa?threadID=60743

It's not clear to me if this involves the MultiMaker or the command line. Before the MultiMaker existed, I seem to recall running into it from the command line. I can do some experimenting later....
JeffTucker

Posts: 8,007
Registered: 31-Jan-2006
Re: Multi-maker check for new variables
Posted: 8 Nov 25, 20:36   in response to: JeffTucker in response to: JeffTucker
 
  Click to reply to this thread Reply
Stop the presses!

I just spent some time trying to trigger a crash, by deleting some key skin variables from a project file, then feeding the project to the MultiMaker and the command line. No problems - in both cases it picked up the needed defaults from SkinModel.java.

The crash in Animatics, I believe, was caused the fact that the variable in question isn't listed in SkinModel.java. Hey, presto, it fails.

More testing later, but I think we can provisionally mark this one, "answered."
JeffTucker

Posts: 8,007
Registered: 31-Jan-2006
Re: Multi-maker check for new variables
Posted: 10 Nov 25, 13:48   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
davidekholm wrote:
Yes, it [headless-settings.jap] should probably be retired. SkinModel is a more robust mechanism as it provides the correct data type as well.

Tempting. It should certainly be removed from the Tools menu, at least.

Only three of the current skins have interpreted UI's - Classic Aligned 2, Minimal, and Zigzag.

Zigzag has a SkinModel.java file, so that one can be ignored.

CA2 doesn't have a headless-settings.jap file or a SkinModel.java, so that one can be ignored, as well.

Minimal has only headless-settings.jap, but that skin should be moved to legacy, anyway.

There are still a lot of users who stubbornly stick to obsolete skins. But if headless-settings.jap were ignored, the settings would be retrieved from the regular jalbum-settings.jap when using MultiMaker or the command line, so I don't think there's a case for retaining it in the core.
JeffTucker

Posts: 8,007
Registered: 31-Jan-2006
Re: Multi-maker check for new variables
Posted: 10 Nov 25, 13:50   in response to: JeffTucker in response to: JeffTucker
 
  Click to reply to this thread Reply
I can't induce a crash, so this thread can be put to sleep. Maybe retire headless-settings.jap, but otherwise, nothing to see here. Move along.... :)
davidekholm

Posts: 3,798
Registered: 18-Oct-2002
Re: Multi-maker check for new variables
Posted: 10 Nov 25, 16:53   in response to: JeffTucker in response to: JeffTucker
 
  Click to reply to this thread Reply
Thanks for your investigations Jeff!
Legend
Forum admins
Helpful Answer
Correct Answer

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