GUI build instructions

34 views
Skip to first unread message

Marisa DeMeglio

unread,
Apr 28, 2015, 8:33:57 PM4/28/15
to daisy-pip...@googlegroups.com
HI all,

These instructions are for anyone who wants to check out the development version of the GUI. It’s not polished at this early stage but your feedback is still valuable.

1. Use the following repositories:

pipeline-framework master branch
pipeline-assembly javafx branch
pipeline-gui javafx branch

plus all the usual - modules, scripts, etc.

2. Make sure you have Java 8. At least 8u40 is recommended for accessibility purposes, but if you’re not using a screenreader, an older version should be ok.

build as usual. If for some reason the GUI isn’t showing up when you run ./pipeline2 , you can try manually copying the jar into the assembly target directory:

mvn clean install && cp target/gui-1.0-SNAPSHOT.jar ../pipeline-assembly/target/pipeline2-1.9_mac/daisy-pipeline/system/framework/org.daisy.pipeline.gui-1.0-SNAPSHOT.jar

There are three known issues/known unfinished areas at this point:

1. style
2. input sequences
3. “status” field is blank on the job detail view


Thanks!
Marisa

Javier Asensio

unread,
May 5, 2015, 6:10:46 AM5/5/15
to daisy-pip...@googlegroups.com
I just run a job in the gui :D!

cheers,

Javi

Marisa

--
You received this message because you are subscribed to the Google Groups "DAISY Pipeline Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to daisy-pipeline-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jostein Austvik Jacobsen

unread,
May 27, 2015, 9:02:36 AM5/27/15
to daisy-pip...@googlegroups.com
I finally had some time to test today. It's shaping up pretty well! I have jotted down some feedback though, not sure if there are github issues for all of this or not:

  • The three-dots-menu-icon is positioned at the same place as the "Jobs" text.
  • The three-dots-menu-icon does not have a visible descriptive name, such as "More" or "Menu"
  • The menu disappears when I release the mouse button, I have to keep the mouse button pressed to show it
  • I'm not able to click any of the menu options with the mouse (the keyboard shortcuts works though)
  • Could the file dialog box open in the same folder as the previously selected file was? I have to navigate to the same folder multiple times.
  • Maybe output and temp directories could have a default location, such as in the system temp directory? Or maybe not, just an idea. At least, the file dialog for output directories should probably open in the same location as the last selected output directory from the previous job; my guess is that users keep all their result files in the same location.
  • output and temp directories are not created by default, so if I enter something like "/tmp/result" then the "result" directory must exist already or I get a "Path invalid" error.
  • in dtbook to epub3, if I don't enable text-to-speech I shouldn't need to specify a text-to-speech configuration file either but I get a path invalid error if I don't. The 'tts-config' option is not required by the script so an empty value should be allowed. It's up to the script author to validate the path to the config file if needed.
  • I'm getting a message "null" when trying to run a script, I don't know why. There's no error in the terminal and it doesn't seem like a job is created at all so I can't get the detailed log or anything.
  • I'm getting some warnings and errors in the terminal when starting ./pipeline2
    • java version detection
      • /pipeline2: 238: [: Illegal number: openjdk version "1.8.0_45-internal"
        • this line contains "$JAVA" -version 2>&1 | sed 's/java version "\(.*\)\.\(.*\)\..*"/\1\2/; 1q'. The first output line from java -version for me is openjdk version "1.8.0_45-internal". You can probably get away with "$JAVA" -version 2>&1 | sed 's/.* version "\(.*\)\.\(.*\)\..*"/\1\2/; 1q' instead (.* instead of java).
    • not sure if these are important or not:
      • OpenJDK 64-Bit Server VM warning: ignoring option PermSize=16M; support was removed in 8.0
      • OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0
    • an exception occuring a couple of times (copy/paste first occurence including a couple of lines of context before/after):
DEBUG [c.x.c.i.DynamicXProcConfigurationFactory] Adding step to registry: inline-css   @o.d.c.x.c.i.DynamicXProcConfigurationFactory:117#addStep
DEBUG [c.x.c.i.DynamicXProcConfigurationFactory] Adding step to registry: copy-resource   @o.d.c.x.c.i.DynamicXProcConfigurationFactory:117#addStep
DEBUG [c.x.c.i.DynamicXProcConfigurationFactory] Setting function registry   @o.d.c.x.c.i.DynamicXProcConfigurationFactory:194#setXPathFunctionRegistry
INFO  [ o.d.p.j.impl.DefaultJobExecutionService] Initialising number of processors to 2   @o.d.p.j.i.DefaultJobExecutionService:47#configureExecutor
JOB MANAGER: org.daisy.pipeline.job.JobManagerFactory@13a8657c
java.lang.ClassNotFoundException: com.sun.deploy.uitoolkit.impl.fx.HostServicesFactory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at com.sun.javafx.application.HostServicesDelegate.lambda$getInstance$149(HostServicesDelegate.java:52)
    at com.sun.javafx.application.HostServicesDelegate$$Lambda$66/79801030.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.HostServicesDelegate.getInstance(HostServicesDelegate.java:45)
    at javafx.application.HostServices.<init>(HostServices.java:52)
    at javafx.application.Application.getHostServices(Application.java:334)
    at org.daisy.pipeline.gui.Activator$2.run(Activator.java:63)
    at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
    at com.sun.javafx.application.PlatformImpl$$Lambda$55/382265994.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
    at com.sun.javafx.application.PlatformImpl$$Lambda$54/656526168.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at com.sun.glass.ui.gtk.GtkApplication.lambda$null$48(GtkApplication.java:139)
    at com.sun.glass.ui.gtk.GtkApplication$$Lambda$43/1431060967.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:745)
Gui run
DEBUG [   o.d.common.properties.PropertyTracker] Property tracker up   @o.d.c.properties.PropertyTracker:28#activate
DEBUG [   o.d.common.properties.PropertyTracker] property publisher factory up   @o.d.c.p.PropertyPublisherFactory:12#activate
DEBUG [   o.d.common.properties.PropertyTracker] property tracked: org.daisy.pipeline.xproc.configuration: /home/jostein/daisy-pipeline/pipeline-assembly/target/pipeline2-1.9_linux/daisy-pipeline/etc/config-calabash.xml (Provided by org.daisy.pipeline.calabash-adapter [120])   @o.d.c.properties.PropertyTracker:64#addProperty
  • Only four of the scripts showed up the first time I ran the gui. The next time I ran it all of the scripts showed up.
  • I managed to run a DAISY 2.02 Validator job.
    • It required me to input a value for the non-required option "Time Tolerance".
    • The links to the log file and the two other links (which are too long to read what they point to but I assume result and temp dirs; file:/home/jostein/daisy-pipeline/pipeline-assembly/target/pipeline2-1.9_linux/daisy-pipeline/data/jobs/555902b0-4230-483e-a794-... - the text should probably be replaced with the name of the port/option) does not do anything. Nothing happens when I click them and I can't copy them.
    • Nothing happens when I click the "Read online documentation" either btw.


Regards
Jostein

Marisa DeMeglio

unread,
May 28, 2015, 10:05:21 PM5/28/15
to daisy-pip...@googlegroups.com
Thanks! I put a lot of these in the tracker. For the “null” message that you got, which script were you trying to run? Or does it happen for several of them? Option sequences are under development, so they don’t appear in the GUI. I bet this causes problems when trying to run scripts with these sequences as inputs. Maybe that’s why you’re getting null.

I don’t know what’s going on with the menus in linux. It sounds like a javafx problem. I’ll have to see what other people do to make it work. It should just look like a normal application menu with labels and everything.

We could have user-specified default values for output and temp directories. Refresh my memory - is it clear from the script metadata which are temp and which are output?

The optional options should not be required! I don’t know what’s going on here - a bug in the script or in the GUI - but I’ll look into it.

The issue with the full list of scripts not showing up is one that I think Romain has found too. It must have something to do with the monitor lock and runLater.

Also, I noticed from the screenshots you sent that the grid layout for the new job view looks pretty bad. I’ll have to see what people are doing to get it to behave on linux.

Thanks again, this is really helpful.

Marisa

Jostein Austvik Jacobsen

unread,
May 29, 2015, 3:13:00 AM5/29/15
to daisy-pip...@googlegroups.com
No problem :).

I think I was testing the dtbook-to-epub3 script when I got the null message. And I think it occured on other scripts as well. It occured when there were only some scripts showing, so maybe it's related to the not-all-scripts-showing-issue. Will let you know if I find out more.

The script metadata declares what are temp directories and what are result directories, yes.


Jostein

Marisa DeMeglio

unread,
May 30, 2015, 11:40:40 PM5/30/15
to daisy-pip...@googlegroups.com
As far as the links not being clickable, what’s a good command to use for linux. For OSX, you just need to say “open” plus the path to the file or the website. Is there an equivalent on linux? Ideally I’d like to be able to trigger the web browser and also the file browser, depending on the type of link (documentation vs job results).

On May 27, 2015, at 6:02 AM, Jostein Austvik Jacobsen <jost...@gmail.com> wrote:

Jostein Austvik Jacobsen

unread,
May 31, 2015, 6:49:12 AM5/31/15
to daisy-pip...@googlegroups.com
`xdg-open` is the way to go nowadays on linux I think. It will open URLs in the browser, directories in the file browser, and any other file in the default application associated with that file.


Jostein
Reply all
Reply to author
Forward
0 new messages