Thread Locked This thread is locked - replies are not allowed.



Permlink Replies: 37 - Pages: 3 [ 1 2 3 | Next ] - Last Post: 10 May 23, 13:21 Last Post By: JeffTucker Threads: [ Previous | Next ]
Laza

Posts: 1,631
Registered: 6-Sep-2005
Testing the new Plain skin
Posted: 27 Apr 23, 12:10
Attachment Plain.jaskin (200.0 KB)
If you'd like to test our new minimalistic skin, download the attached jaskin file and double-click to install.

It's in the beta stage yet, so might have some bugs.

Here are the main features:
  • Using PhotoSwipe lightbox, which allows swipe and pinch gestures
  • Justified thumbnail layout
  • Google Maps
  • Photo data
  • Download button
  • Folders can be mixed with the thumbnails, placed above the thumbs, and displayed as a folder tree in the sidebar.

Let me know what you think.

Sample album

Edited by: Laza on 27 Apr 2023, 18:43

Version 0.91

Fixed:
  • ReferenceError: "imageSrcset" is not defined

New:
  • Photo data can have labels defined

Version 0.92

New:
  • New styles
  • Added video support

Edited by: Laza on 3 May 2023, 17:35
JeffTucker

Posts: 8,099
Registered: 31-Jan-2006
Re: Testing the new Plain skin
Posted: 27 Apr 23, 13:18   in response to: Laza in response to: Laza
I'm getting a crash with jAlbum 30.3b3, default Plain settings, and just a handful of images at the root level:
jAlbum 30.3.b3 system console running Groovy (Groovy Scripting Engine)
This section captures debug prints sent to System.out and System.err
The top section evaluates expressions.
Press Ctrl+E to evaluate an expression. (Evaluates selected text if selection is active)
You have access to the basic jAlbum implicit objects such as engine and window
 
Sample expressions:
Making "ab" (All)
se.datadosen.util.ScriptException: <eval>:47 ReferenceError: "imageSrcset" is not defined in index.htt at line number 95
	at se.datadosen.util.ScriptException.of(ScriptException.java:59)
	at se.datadosen.jalbum.ast.ScriptletNode.doEval(ScriptletNode.java:99)
	at se.datadosen.jalbum.ast.ASTNode.eval(ASTNode.java:50)
	at se.datadosen.jalbum.ast.GroupNode.doEval(GroupNode.java:78)
	at se.datadosen.jalbum.ast.IteratorNode.handleIteration(IteratorNode.java:109)
	at se.datadosen.jalbum.ast.IteratorNode.doEval(IteratorNode.java:97)
	at se.datadosen.jalbum.ast.ASTNode.eval(ASTNode.java:50)
	at se.datadosen.jalbum.ast.GroupNode.doEval(GroupNode.java:78)
	at se.datadosen.jalbum.ast.ASTNode.eval(ASTNode.java:50)
	at se.datadosen.jalbum.ast.IfElseNode.doEval(IfElseNode.java:74)
	at se.datadosen.jalbum.ast.ASTNode.eval(ASTNode.java:50)
	at se.datadosen.jalbum.ast.GroupNode.doEval(GroupNode.java:78)
	at se.datadosen.jalbum.ast.ASTNode.eval(ASTNode.java:50)
	at se.datadosen.jalbum.AST.eval(AST.java:75)
	at se.datadosen.jalbum.AlbumBean.makeIndexPages(AlbumBean.java:4138)
	at se.datadosen.jalbum.AlbumBean.makeAlbumForFolder(AlbumBean.java:1834)
	at se.datadosen.jalbum.AlbumBean.makeAlbum(AlbumBean.java:3673)
	at se.datadosen.jalbum.AlbumBean.smartMakeAlbum(AlbumBean.java:3533)
	at se.datadosen.jalbum.JAlbumFrame$7.run(JAlbumFrame.java:1177)
Caused by: javax.script.ScriptException: ReferenceError: "imageSrcset" is not defined in <eval> at line number 47
	at org.openjdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:463)
	at org.openjdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:447)
	at org.openjdk.nashorn.api.scripting.NashornScriptEngine$1.eval(NashornScriptEngine.java:503)
	at java.scripting/javax.script.CompiledScript.eval(Unknown Source)
	at se.datadosen.jalbum.ast.ScriptletNode.doEval(ScriptletNode.java:67)
	... 17 more
Caused by: <eval>:47 ReferenceError: "imageSrcset" is not defined
	at org.openjdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
	at org.openjdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:318)
	at org.openjdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:290)
	at org.openjdk.nashorn.internal.objects.Global.__noSuchProperty__(Global.java:1614)
	at org.openjdk.nashorn.internal.scripts.Script$20$\^eval\_.:program(<eval>:47)
	at org.openjdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:646)
	at org.openjdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:520)
	at org.openjdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:442)
	... 20 more
java.io.IOException: Skin not registered with repository
JeffTucker

Posts: 8,099
Registered: 31-Jan-2006
Re: Testing the new Plain skin
Posted: 27 Apr 23, 13:22   in response to: Laza in response to: Laza
I hope this is intended to replace Minimal, rather than being added to the bundle. Minimal has gotten to be sort of a "neither here nor there" skin, not sure of what it's supposed to be.
JeffTucker

Posts: 8,099
Registered: 31-Jan-2006
Re: Testing the new Plain skin
Posted: 27 Apr 23, 13:27   in response to: Laza in response to: Laza
This will probably come up, so I'll address it here. I see that it's got onload.bsh instead of onload.groovy. In a way, this is clinging to the past - at some stage of the game, BeanShell is going to die.

But RobM and I have done a lot of tinkering in this area, and one lesson we learned is that doing an interpreted UI with Groovy is even more miserable than doing it with BeanShell. I wouldn't wish it on my worst enemy. ;)

So, sticking with onload.bsh makes sense unless you also move to a compiled UI. I'm not sure that sticking with an interpreted UI is serving any purpose, but David still seems to harbor the illusion that users will be making their own skins, starting with a more simple skin like Minimal or Plain. I'd be astonished if that happened. These days, people expect so much sophistication from a skin, it's no longer within the grasp of the idle tinkerer.
JeffTucker

Posts: 8,099
Registered: 31-Jan-2006
Re: Testing the new Plain skin
Posted: 27 Apr 23, 13:32   in response to: Laza in response to: Laza
There's a stray init.bsh.old file kicking around in the bundle.
JeffTucker

Posts: 8,099
Registered: 31-Jan-2006
Re: Testing the new Plain skin
Posted: 27 Apr 23, 13:52   in response to: JeffTucker in response to: JeffTucker
JeffTucker wrote:
I'm getting a crash with jAlbum 30.3b3, default Plain settings, and just a handful of images at the root level....

The clue is in the error dump. It works only if I include some image variants.

(ETA: And BTW, the WebP slide image quality is truly awful. There's something very wrong in there.)
JeffTucker

Posts: 8,099
Registered: 31-Jan-2006
Re: Testing the new Plain skin
Posted: 27 Apr 23, 14:08   in response to: Laza in response to: Laza
Attachment ss010823.png (27.8 KB)
The user has no way to specify his own labels for the photo data. In some of my images, for example, the photo data include:
xmp.aux:Lens=18.0-200.0 mm f/3.5-5.6
This, of course, displays as aux:Lens. As a user, I'd want to be able to label that something like just Lens used.

It's even more important for things like Iptc.By-line, which I'd want to be able to label as something else, like maybe Photographer or, auf Deutsch, Fotograf.

ETA: It occurs to me that label choices could be accommodated without resorting to a large UI panel for metadata (like what I use in my skins). The attached screenshot illustrates the idea - a label, followed by a choice of metadata fields. Concise, and fairly obvious to a user.
Laza

Posts: 1,631
Registered: 6-Sep-2005
Re: Testing the new Plain skin
Posted: 27 Apr 23, 15:08   in response to: JeffTucker in response to: JeffTucker
Thanks, that's a good idea. So far I made a very simple routine to handle the metadata, but adding a customized label makes it much better.
Laza

Posts: 1,631
Registered: 6-Sep-2005
Re: Testing the new Plain skin
Posted: 27 Apr 23, 15:10   in response to: JeffTucker in response to: JeffTucker
Yes, I forgot about testing with no variants. And I will also have to write some code to use the variants on the thumbnails too.
JeffTucker

Posts: 8,099
Registered: 31-Jan-2006
Re: Testing the new Plain skin
Posted: 27 Apr 23, 15:24   in response to: Laza in response to: Laza
Laza wrote:
Thanks, that's a good idea. So far I made a very simple routine to handle the metadata, but adding a customized label makes it much better.

I'm almost embarrassed that neither of us thought of it before. ;)
Laza

Posts: 1,631
Registered: 6-Sep-2005
Re: Testing the new Plain skin
Posted: 27 Apr 23, 18:47   in response to: JeffTucker in response to: JeffTucker
I am certainly embarrassed I wasn't aware of this feature in your skins. ;-)
JeffTucker

Posts: 8,099
Registered: 31-Jan-2006
Re: Testing the new Plain skin
Posted: 27 Apr 23, 19:54   in response to: Laza in response to: Laza
Mine takes a lot of UI screen real estate, and doesn't allow for "or" choices in the metadata fields, but it does tend to be pretty idiot-proof.

Not sure about the best choice for a separator between "label" and "metadata field," since a colon is included in xmp fields. Maybe it's safe enough just to split on the first colon in the string. I can't think of a better separator, and a colon seems like a natural choice to a user.

The user could also choose no label, by starting with a colon:
Title: xmp.dc:title|Iptc.IIM/ObjectName
 
vs.
 
: xmp.dc:title|Iptc.IIM/ObjectName
hanso

Posts: 93
Registered: 16-Apr-2008
Re: Testing the new Plain skin
Posted: 28 Apr 23, 12:51   in response to: JeffTucker in response to: JeffTucker
Nice skin!

Probably the same error as Jeff reported, with production 30.2 now.

Stack trace for jAlbum 30.2 using skin Plain 0.91:

se.datadosen.util.ScriptException: <eval>:20 ReferenceError: "thumbboxHeight" is not defined in common.css at line number 4
at se.datadosen.util.ScriptException.of(ScriptException.java:59)
at se.datadosen.jalbum.ast.ScriptletNode.doEval(ScriptletNode.java:99)
at se.datadosen.jalbum.ast.ASTNode.eval(ASTNode.java:50)
at se.datadosen.jalbum.ast.GroupNode.doEval(GroupNode.java:78)
at se.datadosen.jalbum.ast.ASTNode.eval(ASTNode.java:50)
at se.datadosen.jalbum.AST.eval(AST.java:68)
at se.datadosen.jalbum.AlbumBean.processTemplateFile(AlbumBean.java:1537)
at se.datadosen.jalbum.AlbumBean.makeAlbumForFolder(AlbumBean.java:1775)
at se.datadosen.jalbum.AlbumBean.makeAlbum(AlbumBean.java:3655)
at se.datadosen.jalbum.AlbumBean.smartMakeAlbum(AlbumBean.java:3534)
at se.datadosen.jalbum.JAlbumFrame$7.run(JAlbumFrame.java:1177)
Caused by: javax.script.ScriptException: ReferenceError: "thumbboxHeight" is not defined in <eval> at line number 20
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:463)
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:447)
at org.openjdk.nashorn.api.scripting.NashornScriptEngine$1.eval(NashornScriptEngine.java:503)
at java.scripting/javax.script.CompiledScript.eval(Unknown Source)
at se.datadosen.jalbum.ast.ScriptletNode.doEval(ScriptletNode.java:67)
... 9 more
Caused by: <eval>:20 ReferenceError: "thumbboxHeight" is not defined
at org.openjdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
at org.openjdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:318)
at org.openjdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:290)
at org.openjdk.nashorn.internal.objects.Global.__noSuchProperty__(Global.java:1614)
at org.openjdk.nashorn.internal.scripts.Script$13$\^eval\_.:program(<eval>:20)
at org.openjdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:646)
at org.openjdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:520)
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:442)
... 12 more
JeffTucker

Posts: 8,099
Registered: 31-Jan-2006
Re: Testing the new Plain skin
Posted: 28 Apr 23, 12:59   in response to: hanso in response to: hanso
hanso wrote:
Probably the same error as Jeff reported, with production 30.2 now.

No, completely different. It's triggered if you turn off folder thumbnail processing under Settings > Images > General.

Edited by: JeffTucker on 28 Apr 2023, 07:02
RobM

Posts: 3,950
Registered: 4-Aug-2006
Re: Testing the new Plain skin
Posted: 28 Apr 23, 14:44   in response to: Laza in response to: Laza
Not had a chance to try the skin yet, but I noticed in skin properties you have
requiredJavaVersion=1.8

Isn’t it time to move to 14?
Legend
Forum admins
Helpful Answer
Correct Answer

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