Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:release:3.09_release_notes [2019/02/04 16:17]
anupama [PDF plugin restructuring and the NEW PDFv2Plugin]
en:release:3.09_release_notes [2019/04/19 21:50] (current)
anupama [GLI Java Web Start application (replacement for GLI Applet) - Additional Steps]
Line 62: Line 62:
   * on unix (linux and mac) systems you need to have sudo permissions   * on unix (linux and mac) systems you need to have sudo permissions
   * on windows, you probably need admin rights   * on windows, you probably need admin rights
-  * ensure nothing is running on port 80 when you're ready to set up https certification your GS3 +  * ensure nothing is running on port 80 when you're ready to set up https certification ​for your GS3 
  
 Steps: Steps:
Line 68: Line 68:
      * set ''​tomcat.server''​ to the //primary// hostname/​domain name that you want your Greenstone3 to run as and which is to be registered in your certificate. This would be the host name of your machine.      * set ''​tomcat.server''​ to the //primary// hostname/​domain name that you want your Greenstone3 to run as and which is to be registered in your certificate. This would be the host name of your machine.
      * set a value for ''​keystore.pass''​.\\ This will be the password on your final certificate used by tomcat.      * set a value for ''​keystore.pass''​.\\ This will be the password on your final certificate used by tomcat.
-     * Ensure ''​server.protocols''​ contains ''​https''​.\\ The ''​server.protocols''​ property is a comma-separated list that indicates which protocols are to be supported by your Greenstone 3 server. This property can be set to one of ''​http''​''​https''​''​http,​ https'' ​or ''​https,​ http''​The first in the list becomes the default protocol used for previewing with the GS3 server application,​ ''​gs3-server''​.+     * Ensure ''​server.protocols''​ contains ''​https''​.\\ The ''​server.protocols''​ property is a comma-separated list that indicates which protocols are to be supported by your Greenstone 3 server. This property can be set to one of  
 +        * ''​http''​ 
 +        * ''​https''​ 
 +        * ''​http,​https''​ 
 +        * ''​https,​http''​\\ The first in the list becomes the default protocol used for previewing with the GS3 server application,​ ''​gs3-server''​.
      * By default ''​tomcat.port.https''​ is set to 8443. Ensure this port is not already in use, otherwise change it to a port value that's not in use.      * By default ''​tomcat.port.https''​ is set to 8443. Ensure this port is not already in use, otherwise change it to a port value that's not in use.
   - Make sure you have read and agree with the [[https://​letsencrypt.org/​documents/​LE-SA-v1.2-November-15-2017.pdf|Let'​s Encrypt Subscriber Agreement]]   - Make sure you have read and agree with the [[https://​letsencrypt.org/​documents/​LE-SA-v1.2-November-15-2017.pdf|Let'​s Encrypt Subscriber Agreement]]
Line 74: Line 78:
 source ./​gs3-setup.sh source ./​gs3-setup.sh
 ant setup-https-cert ant setup-https-cert
-</​code>​\\ You'll be asked for an **email** that Let's Encrypt can optionally communicate to you on, as well as **any additional domain names** you want in the //same// certificate (additional domains are **untested**),​ and whether you **agree** with the Let's Encrypt Subscriber Agreement.\\ On linux or mac, you may be asked to provide ​your sudo password to run a server on port 80. (On Mac and windows, GS3 uses [[https://​zerossl.com/​usage.html|ZeroSSL]] to get Let's Encrypt to issue certificates,​ which will result in GS3's own tomcat server to be run on port 80 during certificate issuance. On Linux, we use //​Let'​s Encrypt//'​s own certbot-auto script for the certification process, and have it set to run a standalone temporary server on port 80.)+</​code>​\\ You'll be asked for an **email** that Let's Encrypt can optionally communicate to you on, as well as **any additional domain names** you want in the //same// certificate (additional domains are **untested**),​ and whether you **agree** with the Let's Encrypt Subscriber Agreement.\\ ​**On linux or mac, you may be asked to enter your sudo password** to briefly ​run a server on port 80. **Note:​** ​On Mac and windows, GS3 uses the **//third party//​** ​[[https://​zerossl.com/​usage.html|ZeroSSL]] to get Let's Encrypt to issue certificates,​ which will result in GS3's own tomcat server to be run on port 80 during certificate issuance. On Linux, we use //​Let'​s Encrypt//'​s own certbot-auto script for the certification process, and have it set to run a standalone temporary server on port 80.
   - Once the setup-https-cert ant target has finished, you can start your web GS3 server by either running the gs3-server application or by running "ant start" from the terminal.   - Once the setup-https-cert ant target has finished, you can start your web GS3 server by either running the gs3-server application or by running "ant start" from the terminal.
-  - If you ran the gs3-server application,​ press the Enter Library button to open your DL home page. If you ran ''​ant start''​ from the command line, then open a browser manually. Point your browser to ''​https:​%%//​%%<​tomcat.server>:<​tomcat.port.https>/​greenstone3/​library'',​ adjusting the tomcat.server and tomcat.port.https values as per what you set for thse properties in your GS3 installation folder'​s toplevel ''​build.properties''​ file.+  - If you ran the gs3-server application,​ press the Enter Library button to open your DL home page. If you ran ''​ant start''​ from the command line, then open a browser manually. Point your browser to ''​https:​%%//​%%<​tomcat.server>:<​tomcat.port.https>/​greenstone3/​library'',​ adjusting the tomcat.server and tomcat.port.https values as per what you set for these properties in your GS3 installation folder'​s toplevel ''​build.properties''​ file.\\ //**BE AWARE:​**//​ 
 +     * when visiting your digital library over http**s**, remember to prefix htt**ps** to the address and use the htt**ps** port defined with ''​tomcat.port.https'',​ and do not use ''​localhost''​ but the actual domain you registered which is defined in the ''​tomcat.server''​ property you set. 
 +     * If you've also turned on http support alongside https, then to visit your DL over regular http, return the URL to having the htt**p** prefix and remember to change the port number to what's defined for htt**p** in property ''​tomcat.port.http''​. For http URLs, you can use the domain name set in ''​tomcat.server''​ too, or try either of ''​localhost''​ or ''​127.0.0.1''​ denoting the local host machine.
   - Once your https home page has loaded, confirm that your certificate is properly installed by looking for a green padlock next to the address bar. (Depending on your browser, you can click the padlock to get more information on the certificate issuer.)   - Once your https home page has loaded, confirm that your certificate is properly installed by looking for a green padlock next to the address bar. (Depending on your browser, you can click the padlock to get more information on the certificate issuer.)
  
Line 168: Line 174:
 2. Make the Greenstone "​collect"​ directory, located in web/​sites/​localsite,​ writeable by the webserver user. 2. Make the Greenstone "​collect"​ directory, located in web/​sites/​localsite,​ writeable by the webserver user.
  
-On Unix, use //chmod//.+On Unix, you would do 
 +<​code>​chmod -R a+w /path/to/​your/​GS3/​web/​sites/​localsite/collect</code>
  
 On Windows, run in a DOS prompt: On Windows, run in a DOS prompt:
Line 231: Line 238:
  
 ===GLI Java Web Start application (replacement for GLI Applet) - Additional Steps=== ===GLI Java Web Start application (replacement for GLI Applet) - Additional Steps===
-Many browsers have stopped supporting Java applets, ​while Microsoft'​s Internet Explorer, and perhaps Microsoft Edge, still support ​it. For this reason, 3.09's GLI is now no longer provided as an applet, but has been converted into a Java Web Start application.+**You will need a Java Development Kit (JDK) v 7 or 8 installed for this.** 
 + 
 +Many browsers have stopped supporting Java applets ​including Microsoft Edgethough ​Microsoft'​s Internet Explorer still supported ​it. For this reason, 3.09's GLI is now no longer provided as an applet, but has been converted into a Java Web Start application.
  
 Instructions for using the GLI Java Web Start, which works over the JNLP protocol, are below. Instructions for using the GLI Java Web Start, which works over the JNLP protocol, are below.
  
   - First follow the instructions above for [[http://​wiki.greenstone.org/​doku.php?​id=en:​release:​3.09_release_notes#​setting_up_a_remote_greenstone_3_server | setting up the Remote GS Server]]   - First follow the instructions above for [[http://​wiki.greenstone.org/​doku.php?​id=en:​release:​3.09_release_notes#​setting_up_a_remote_greenstone_3_server | setting up the Remote GS Server]]
-  - Next, generate the SignedGatherer.jar:+  - Next, generate the SignedGatherer.jar ​as follows. Be aware that to run the ''​jarsigner''​ utilities, you will need a JDK installed.
       * Use a terminal to go into the Greenstone "​gli"​ directory, then run <​code> ​   keytool -genkey -alias privateKey -keystore appletstore -storepass greenstone</​code>​ Enter the appropriate details for your organization. When it asks to enter the key password for <​privateKey>,​ choose your own password or hit Enter to use "​greenstone"​.       * Use a terminal to go into the Greenstone "​gli"​ directory, then run <​code> ​   keytool -genkey -alias privateKey -keystore appletstore -storepass greenstone</​code>​ Enter the appropriate details for your organization. When it asks to enter the key password for <​privateKey>,​ choose your own password or hit Enter to use "​greenstone"​.
-      * Next, run <​code> ​   jarsigner -keystore appletstore -signedjar SignedGatherer.jar GLI.jar privateKey</​code>​ +      * Next, run <​code> ​   ​/​PATH/​TO/​YOUR/​JDK_INSTALLED_FOLDER/​bin/​jarsigner -keystore appletstore -signedjar SignedGatherer.jar GLI.jar privateKey</​code>​ 
-When it prompts, enter the password you used above.+When it prompts, enter the password you used above (''​greenstone''​).
   - Move the created ''​SignedGatherer.jar''​ file from the ''​gli''​ directory into GS3's ''​web/​applet''​ subdirectory.   - Move the created ''​SignedGatherer.jar''​ file from the ''​gli''​ directory into GS3's ''​web/​applet''​ subdirectory.
   - You need to associate JNLP files with Java Web Start (''​jre/​bin/​javaws''​).   - You need to associate JNLP files with Java Web Start (''​jre/​bin/​javaws''​).
       * On Windows, create the association in the usual way: when you first access the GLI Web Start application through Greenstone, a JNLP file called "​GLIappWebStart.jnlp"​ will be offered for launching or download. If JavaWS is not already the default application to open JNLP files with, rightclick on the downloaded GLIappWebStart.jnlp file and choose ''​Launch/​Open with ...''​. Browse to your Greenstone3'​s ''​packages/​jre/​bin/​javaws.exe''​ or any installed Java's ''​jre/​bin/​javaws.exe''​ to use Java's Web Start application as the launcher.       * On Windows, create the association in the usual way: when you first access the GLI Web Start application through Greenstone, a JNLP file called "​GLIappWebStart.jnlp"​ will be offered for launching or download. If JavaWS is not already the default application to open JNLP files with, rightclick on the downloaded GLIappWebStart.jnlp file and choose ''​Launch/​Open with ...''​. Browse to your Greenstone3'​s ''​packages/​jre/​bin/​javaws.exe''​ or any installed Java's ''​jre/​bin/​javaws.exe''​ to use Java's Web Start application as the launcher.
-      * For Linux, create a file with ''​.desktop''​ extension (e.g. "​javawebstart.desktop"​) containing the following and save this file into ''​~/​.local/​share/​applications'':​\\ <​code>#​ This file makes Ubuntu associate .jnlp files with Java Web Start (javaws)+      ​* On Mac, .jnlp files may already be associated with the Java Web Start application for launching JNLP files (Java web start applications). Otherwise, see page 3 of http://​online.unm.edu/​help/​learn/​faculty/​tools/​web-conferencing/​common/​web-conferencing-pdf-files/​jnlp-file-association.pdf for instructions on creating the file association for this. Once the file association between the Java Web Start application and .jnlp files has been made, you can just double-click on the ''​GLIappWebStart.jnlp''​ file you downloaded.  
 +      ​* For Linux, create a file with ''​.desktop''​ extension (e.g. "​javawebstart.desktop"​) containing the following, **edit the path to javaws**, ​and save this file into ''​~/​.local/​share/​applications'':​\\ <​code>#​ This file makes Ubuntu associate .jnlp files with Java Web Start (javaws)
 # This file should be adjusted and then copied into ~/​.local/​share/​applications # This file should be adjusted and then copied into ~/​.local/​share/​applications
 # as a file with .desktop extension, e.g. javawebstart.desktop # as a file with .desktop extension, e.g. javawebstart.desktop
Line 251: Line 261:
 Name=Java 7 Web Start Name=Java 7 Web Start
 Comment=Java 7 Web Start Comment=Java 7 Web Start
-Exec=/home/​greenstone/​Desktop/​linux/​jre/bin/javaws %u+Exec=/EDIT-THIS-PATH-TO-YOUR-JAVA-JRE/bin/javaws %u
 Terminal=false Terminal=false
 Type=Application Type=Application
Line 258: Line 268:
 MimeType=application/​x-java-jnlp-file;​ MimeType=application/​x-java-jnlp-file;​
 </​code>​ </​code>​
-  - Launch the Java Control Panel by running ''​jre/​bin/​javacpl.exe''​ on Windows or ''​jre/​bin/​ControlPanel''​ on Linux. (GS3 binaries now include a JRE in the ''​packages''​ folder if you want to use the bundled JRE.) In the Java Control Panel, 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. Remember, to be accessible to the outside world, the host can't be "​localhost",​ but would be the hostname of your machine or public IP. +  - Launch the Java Control Panel by running ''​jre/​bin/​javacpl.exe''​ on Windowsor ''​jre/​bin/​jcontrol'' ​(formerly jre/​bin/​ControlPanel) ​on Linux or follow the instructions at https://​www.java.com/​en/​download/​help/​mac_controlpanel.xml for mac. (GS3 binaries now include a JRE in the ''​packages''​ folder if you want to use the bundled JRE.) In the Java Control Panel, 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 //http:%%//%%host:​port// ​(or //​https:​%%//​%%host:​HTTPS-port//​ if you've [[http://​wiki.greenstone.org/​doku.php?​id=en:​release:​3.09_release_notes#​setting_up_your_greenstone_to_run_over_https|set up https support]]) ​that the GS3 will run on. Remember, to be accessible to the outside world, the host can't be "​localhost",​ but would be the hostname of your machine or public IP. Click OK to exit the Java Control Panel with your changes in effect
-  - Once the GS3 code is compiled upstart up the GS3 web server and visit your DL library home page, ''​http://​[hostname]:​8383/​greenstone3/​library''​. +  - Make the GLI link on the home page active: Open web/​interfaces/​default/​transform/​pages/​home.xsl for editingfind the line <​code>​ 
-  - Since you have set up the JNLP file association in a previous step, you can now click on the "The Librarian Interface"​ link and your browser should offer to save or launch a file called ''​GLIapplet.jnlp''​. If the browser is able to successfully launch ​it, Java Web Start will be used to run the GLI application indicated by the JNLP file. If launching through the browser is not possible, then choose to save the JNLP file. It will download the file to a temporary user area (like C:​\Users\<​user>​\AppData\Local\Temp on windows). And then you can rightclick on the downloaded GLIappWebStart.jnlp file, to launch it with the Java Web Start program you already associated with this file type. +<​!--<​gslib:​libraryInterfaceLink/><​br/><​br/>​-->​ 
-  - After authorising ​the GLI to run, the JNLP version of the GLI Applet will eventually run and behave like the usual client-GLI (and like the old GLI applet) from this point onward. ​ +</​code>​ and remove the comments. i.e. change it to <​code>​ 
- +<​gslib:​libraryInterfaceLink/><​br/><​br/>​ 
 +</​code>​ Save the changes and close the file. 
 +  - (Re)Start ​the GS3 web server and visit your DL library home page, ''​http://​[hostname]:​8383/​greenstone3/​library''​. 
 +  - Since you have set up the JNLP file association in a previous step, you can now click on the "The Librarian Interface"​ link and your browser should offer to save or launch a file called ''​GLIappWebStart.jnlp''​. Click ''​Open With''​ and in the dropdown box beside it, one of the launcher applications,​ at least on Windows, should be the "​Java(TM) Web Start Launcher"​ application (javaws.exe) that you associated with .jnlp file extensions. Choose that application as the launcher. If the browser is able to successfully launch ​''​GLIappWebStart.jnlp''​then Java Web Start will be used to run the GLI application indicated by the JNLP file. If launching through the browser is not possible, for example, if the launcher application is not listed, as may happen on Linux machines, then choose to save the JNLP file. It will download the file to a temporary user area (like C:​\Users\<​user>​\AppData\Local\Temp on windows). And then you can rightclick on the downloaded GLIappWebStart.jnlp file, to launch it with the Java Web Start program you already associated with this file type. This way should work on both Linux and Windows
 +  - You will need to **authorise** ​the GLI to run. After that, the JNLP version of the GLI Applet will eventually run and behave like the usual client-GLI (and like the old GLI applet) from this point onward: starting with providing your account username and password on Greenstone that you created when setting up the remote GS3 server. You may also be asked for your proxy authentication details if set up for behind a proxy.
 === Converting a GS2 collection to GS3 when working with a remote GS3 server === === Converting a GS2 collection to GS3 when working with a remote GS3 server ===
 The new Format Conversion Wizard to convert GS2 format statements to GS3 format statements (see [[en:​user:​gs2_to_gs3 |this page]]) only appears when you're working with GLI, not client-GLI. The client-GLI for GS3 will only perform the most basic initial step in the conversion process, which is to preserve the GS2 format statements in inactive XML tags in the new collection'​s collectionConfig.xml. The new Format Conversion Wizard to convert GS2 format statements to GS3 format statements (see [[en:​user:​gs2_to_gs3 |this page]]) only appears when you're working with GLI, not client-GLI. The client-GLI for GS3 will only perform the most basic initial step in the conversion process, which is to preserve the GS2 format statements in inactive XML tags in the new collection'​s collectionConfig.xml.
Line 278: Line 291:
   * Better way to run processes from GLI will avoid some occasional and unexpected errors when GLI runs perl scripts   * Better way to run processes from GLI will avoid some occasional and unexpected errors when GLI runs perl scripts
   * Bug fixes to file locking issues on Windows when using Lucene as indexer   * Bug fixes to file locking issues on Windows when using Lucene as indexer
-  * Patch to SOLR extension to circumvent SIGPIPE errors on large collections+  ​* **SOLR updates and bugfixes:**  
 +    ​* Patch to SOLR extension to circumvent SIGPIPE errors on large collections 
 +    * fixed bug where multiple metadata values for a single field were concatenated into a single facet term 
 +    * fixed some/all search handling 
 +    * Russian morphology analyzer replaced by more efficient version. 
 +    * Added russian morphology analyzer configuration into solr-jdbm-demo collection 
 +    * Standard SOLR highlighter replaced with the faster FastVectorHighlighter
   * Patches to perl code upgrading perl syntax to work with newer versions of perl   * Patches to perl code upgrading perl syntax to work with newer versions of perl
 +  * GLI updates:
 +    * The GLI Applet has been converted to a Java WebStart Application. Java Web Start not supported from Java 9 or onwards. To use the JRE bundled with your Greenstone, ensure no custom installed System Java is in the environment.
 +    * GEMS can now launch in languages other than English
 ===== IMPORTANT information ===== ===== IMPORTANT information =====
  
Line 428: Line 450:
 ===== Updated Translations ===== ===== Updated Translations =====
  
-Thanks to the following people for new and updated translations since 3.09:+Thanks to the following people for new and updated translations since 3.08:
  
 +  *Lavji Zala for Gujarati translations