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


Permlink Replies: 26 - Pages: 2 [ 1 2 | Next ] - Last Post: 14 Feb 23, 16:11 Last Post By: davidekholm
ctwist

Posts: 443
Registered: 27-Sep-2003
Skin style files are not always copied
Posted: 9 Feb 23, 21:16
 
  Click to reply to this thread Reply
Some skin style files are not always copied to the album.

This bug was introduced in jAlbum 28. It still affects 30.

This is easy to reproduce in Minimal:
  • Create "styles\dark\folder.jpg" and "styles\light\folder.jpg".
  • Set the style to dark and make the album. "res\folder.jpg" is created. Verify that this is from the current style.
  • Repeat with style set to light. Now try dark again.
The album's folder.jpg is not always replaced when the style changes. It seems that jAlbum does not replace a newer file. Of course a date check should not be applied if the style has changed.

Edited by: ctwist on 9 Feb 2023, 15:22

Another feature of this bug:
  • If I copy an old image to "res\styles\light\folder.png", the newer "res\folder.png" is copied to the output res folder.
  • The style's file should be copied, instead of a skin file of the same name.
JeffTucker

Posts: 8,222
Registered: 31-Jan-2006
Re: Skin style files are not always copied
Posted: 9 Feb 23, 21:29   in response to: ctwist in response to: ctwist
 
  Click to reply to this thread Reply
I knew this rang a bell:

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

In short, in a misguided attempt to achieve "efficiency" (fractions of a second on a build time), David broke something that had been working perfectly for well over a decade. Now, you need a clumsy skin property that says, in effect, "Do this right, instead of lousing it up." :(

David, how about just throwing in the towel, and restoring the very simple, very effective former behavior? Is that really too much to ask?
RobM

Posts: 3,842
Registered: 4-Aug-2006
Re: Skin style files are not always copied
Posted: 9 Feb 23, 21:52   in response to: JeffTucker in response to: JeffTucker
 
  Click to reply to this thread Reply
JeffTucker wrote:
I knew this rang a bell:

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

In short, in a misguided attempt to achieve "efficiency" (fractions of a second on a build time), David broke something that had been working perfectly for well over a decade. Now, you need a clumsy skin property that says, in effect, "Do this right, instead of lousing it up." :(

David, how about just throwing in the towel, and restoring the very simple, very effective former behavior? Is that really too much to ask?

I'd vote to keep the option, but the default behaviour should be no change to how it used to work and skins opting for the res folder not being deleted.
JeffTucker

Posts: 8,222
Registered: 31-Jan-2006
Re: Skin style files are not always copied
Posted: 9 Feb 23, 22:00   in response to: RobM in response to: RobM
 
  Click to reply to this thread Reply
RobM wrote:
I'd vote to keep the option, but the default behaviour should be no change to how it used to work and skins opting for the res folder not being deleted.

I like that. :)
davidekholm

Posts: 3,480
Registered: 18-Oct-2002
Re: Skin style files are not always copied
Posted: 9 Feb 23, 22:23   in response to: RobM in response to: RobM
 
  Click to reply to this thread Reply
Remember that skin authors can set the skin property cleanResFolder to true. This will fix this. I'll update Minimal.
JeffTucker

Posts: 8,222
Registered: 31-Jan-2006
Re: Skin style files are not always copied
Posted: 9 Feb 23, 22:26   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
Are you going to fix all the "legacy" skins that might get screwed up by this?
ctwist

Posts: 443
Registered: 27-Sep-2003
Re: Skin style files are not always copied
Posted: 9 Feb 23, 23:17   in response to: JeffTucker in response to: JeffTucker
 
  Click to reply to this thread Reply
Should cleanResFolder default to "true"?
JeffTucker

Posts: 8,222
Registered: 31-Jan-2006
Re: Skin style files are not always copied
Posted: 9 Feb 23, 23:20   in response to: ctwist in response to: ctwist
 
  Click to reply to this thread Reply
It should, but it doesn't.
ctwist

Posts: 443
Registered: 27-Sep-2003
Re: Skin style files are not always copied
Posted: 10 Feb 23, 00:26   in response to: JeffTucker in response to: JeffTucker
 
  Click to reply to this thread Reply
What I meant was:
If cleanResFolder defaults to "true", wouldn't this ensure that legacy skins are not affected? If a diligent skin developer wants to achieve maximum performance, he can change it to "false".
JeffTucker

Posts: 8,222
Registered: 31-Jan-2006
Re: Skin style files are not always copied
Posted: 10 Feb 23, 00:31   in response to: ctwist in response to: ctwist
 
  Click to reply to this thread Reply
Exactly. That's what RobM is suggesting - let it default to true so that no skin gets broken. A developer who wants to pick up those extra fractions of a second of build time could set it himself, and live with the consequences.
ctwist

Posts: 443
Registered: 27-Sep-2003
Re: Skin style files are not always copied
Posted: 10 Feb 23, 00:47   in response to: ctwist in response to: ctwist
 
  Click to reply to this thread Reply
If I set cleanResFolder to true in Minimal, this also fixes the second problem that I mentioned, in the addendum to my original post.

Actually, I didn't expect that.
JeffTucker

Posts: 8,222
Registered: 31-Jan-2006
Re: Skin style files are not always copied
Posted: 10 Feb 23, 00:54   in response to: ctwist in response to: ctwist
 
  Click to reply to this thread Reply
Yeah, I wasn't sure about that part of it, but guessed that it was a manifestation of the same underlying dopiness. ;)
davidekholm

Posts: 3,480
Registered: 18-Oct-2002
Re: Skin style files are not always copied
Posted: 13 Feb 23, 12:42   in response to: JeffTucker in response to: JeffTucker
 
  Click to reply to this thread Reply
It turned out that I can fix this issue easily without sacrificing performance for repeated album makes. Instead of cleaning up old res files, and thereby triggering the copying of new files when switching skins only, I also do this when switching styles.

Just do a core update to v30.0.1
JeffTucker

Posts: 8,222
Registered: 31-Jan-2006
Re: Skin style files are not always copied
Posted: 13 Feb 23, 14:12   in response to: davidekholm in response to: davidekholm
 
  Click to reply to this thread Reply
In my skins, the contents of res can change completely without ever changing the style. Different settings - fat vs. skinny icons, different navigation choices, inclusion of a timed slideshow, the list is endless - will produce a different set of res contents. Even the types of objects in the project can change it. For example, no MP3's? No "music" icon.

I've been doing this kind of highly-selective res contents routine in my skins going all the way back to the Matrix days. My objective has always been to include in res only the things that are actually needed for this particular album, without all the clutter. Other skin developers make other choices, obviously, like copying everything in the skin's res folder, whether they're needed or not.

ETA: Want to get a feel for how extensive it is? Choose Jupiter and open the skin directory. Take a look at res - those are the only things that are always copied to the output. Take a look at resopt (res optional) - those are the things that might be in the output. Take a look at iconSVG's - more things that may or may not be in the output.
davidekholm

Posts: 3,480
Registered: 18-Oct-2002
Re: Skin style files are not always copied
Posted: 13 Feb 23, 16:24   in response to: JeffTucker in response to: JeffTucker
 
  Click to reply to this thread Reply
If that's a general pattern Jeff, then we should change the default for that "cleanResFolder" property to "true", but I think and hope that the few skins that has the behavior your explain can simply set it to true manually.
Legend
Forum admins
Helpful Answer
Correct Answer

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