-------------------------- README -------------------------- Java Web Start version of GLI applet using our new JNLP file 1. Follow the instructions at http://wiki.greenstone.org/doku.php?id=en:release:3.08_release_notes#setting_up_a_remote_greenstone_3_server for setting up the Remote GS Server and the GLI applet. This will have generated SignedGatherer.jar in the gli folder. 2. Move the SignedGatherer.jar into GS3's web/applet folder. Edit GLIapplet.jnlp if necessary. 3. Need to associate JNLP files with Java Web Start (jre/bin/javaws). On Windows, create the association in the usual way. For Linux, create a file with .desktop extension (e.g. javawebstart.desktop) containing the content a little further below. Then put the *.desktop file into ~/.local/share/applications 4. Launch the Java Control Panel (jre/bin/javacpl.exe on Windows, ./.../jre/bin/ControlPanel on Linux). Go to the Security tab, set Security level to "High" if not already set. Click Edit Site List, and then press Add to add the host:port that the GS3 will run on. 5. Once the GS3 code is compiled up, start up the GS3 web server and visit http://localhost:8383/greenstone3/library?a=p&sa=gli4gs3 In the current version of the code, the GLI applet will load if the browser still supports applets. Otherwise, the fallback text will appear and provide a link to the GLIapplet.jnlp file. Since you should have set up the jnlp file association in step 3 above, you can now click on the GLIapplet.jnlp link and it should first download the jnlp file to a temporary user area (C:\Users\\AppData\Local\Temp on windows) and then Java Web Start will be used to launch this JNLP file. 6. After authorising the GLI to run, the JNLP version of the GLI Applet will eventually run and behave like the usual client-GLI/GLI applet from this point onward. -------------------------- FILE: javawebstart.desktop -------------------------- # This file makes Ubuntu associate .jnlp files with Java Web Start (javaws) # This file should be adjusted and then copied into ~/.local/share/applications # as a file with .desktop extension, e.g. javawebstart.desktop # https://askubuntu.com/questions/235861/how-to-associate-jnlp-file-with-javaws [Desktop Entry] Encoding=UTF-8 Name=Java 7 Web Start Comment=Java 7 Web Start Exec=/home/greenstone/Desktop/linux/jre/bin/javaws %u Terminal=false Type=Application Icon=javaws Categories=Application;Network; MimeType=application/x-java-jnlp-file; -------------------------- LINKS -------------------------- Reading on Java Web Start and Java Native Launch protocol (JNLP). The relationship between Java Web Start and JNLP: https://docs.oracle.com/cd/E84882_01/otn/pdf/E84699_01.pdf "Java Web Start is a technology that builds on the file association facilities of browsers through the use of Java Native Launch Protocol." Google search: Migrate Java 1.9 webstart https://docs.oracle.com/javase/9/whatsnew/toc.htm https://docs.oracle.com/javase/9/deploy/migrating-java-applets-jnlp.htm section "Migrating an Existing Java Applet" https://docs.oracle.com/javase/9/deploy/self-contained-application-packaging.htm http://www.oracle.com/technetwork/java/javase/migratingfromapplets-2872444.pdf https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/applet_dev_guide.html https://dzone.com/articles/java-web-start-jnlp-hello https://docs.oracle.com/javase/tutorial/uiswing/examples/misc/index.html https://bugs.openjdk.java.net/browse/JDK-8178799 https://www.v3.co.uk/v3-uk/news/2443810/oracle-signals-the-end-of-java-applet-support-for-browsers https://schneide.wordpress.com/2016/10/11/the-migration-path-for-java-applets/ https://docs.oracle.com/javase/9/deploy/jnlp-file-syntax.htm https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/embeddingJNLPFileInWebPage.html https://stackoverflow.com/questions/7313317/jnlp-as-a-applet-in-html-page https://stackoverflow.com/questions/17338711/jarsigner-manifest-permissions https://stackoverflow.com/questions/19659134/how-do-i-fix-missing-codebase-permissions-and-application-name-manifest-attri https://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#codebase https://docs.oracle.com/javase/tutorial/deployment/jar/modman.html https://docs.oracle.com/javase/tutorial/deployment/jar/build.html https://stackoverflow.com/questions/18907695/ioexception-invalid-header-field-when-creating-jar-file-with-manifest https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#JARManifest https://community.oracle.com/thread/1536875?start=0 https://stackoverflow.com/questions/1199211/java-webstart-with-parameters https://stackoverflow.com/questions/14116640/how-to-use-jnlp-to-pass-command-line-arguments-to-the-application