Opened 5 years ago

Last modified 5 years ago

#949 new defect

After 3.09 release

Reported by: ak19 Owned by: nobody
Priority: moderate Milestone:
Component: Greenstone3 Runtime Severity: major
Keywords: Cc:

Description

  1. In collectionConfig.xml: add support for ServiceRack element attribute servlet-scope="OAIMessageRouter,..." ("all" by default if no servlet-scope specified). And then use it for OAIPMH ServiceRack with servlet-scope="OAIMessageRouter".

Then merge OAIPMH.java's configure() and configureOAI().

  1. Support metamode="replaceall" in modmetadata cgiaction, which will not print a warning and replace all meta with new value unlike when no metapos and prevmetaval provided with metamode=override.

Fix calling functions.

  1. Also in modmetadata cgiaction: Maybe rename "override" to "replace" since override has a different meaning in metadata.xml to what it now has in doc.xml/archives.

Fix calling functions.

  1. In documentedit_scripts(_util).js: replace saved state with current state AFTER building is successful or at least set archives metadata is successful? Ask permission first.

At present, editInitStates = currentStates and map_editor.savedOverlays = map_editor.overlays takes place just before set-archives-meta and rebuild() actually happens. That means if either goes wrong (particularly set-archives-meta is of importance here), then there's no way to attempt to resave the changes.

Change History (8)

comment:1 by ak19, 5 years ago

  1. In javascript-global-functions.js
  • confirm that callMetadataServer() is never called outside the file
  • if so, rename to "_callMetadataServer()"
  • make it take another compulsory param: onErrorResponseFunction

(and rename responseFunction here to onSuccessResponseFunction)

if compulsory param is null onErrorResponseFunction, proceed as usual to print to console.log, else call the function parameter (onErrorResponseFunction).

  • make all callers of callMetadataServer() take a final optional parameter onErrorResponseFunction.

Test for its existence (https://stackoverflow.com/questions/5113374/javascript-check-if-variable-exists-is-defined-initialized/35504698) else default its value to null if(typeof onErrorResponseFunction === 'undefined') onErrorResponseFunction = null;

Finally, in all callers of callMetadataServer, pass this onErrorResponseFunction param as the pre-opts argument to callMetadataServer().

comment:2 by ak19, 5 years ago

  1. Phind applet to Java web start application. See how GLI Applet was done. As Dr Bainbridge warned, it will now run in its own window rather than run within the browser.

comment:3 by ak19, 5 years ago

  1. Tutorial for Zeddy's map-editor and its features.

comment:5 by ak19, 5 years ago

Item 5 was completed in tandem with 4, included with the same commit revisions listed.

comment:6 by ak19, 5 years ago

On Linux at least, the bundled JRE version 7.x complains of missing permissions in Java Web Start version of GLI application before failing to start the GLI web start app.

But using the the JRE of the JDK 8 I installed on the linux got past this issue. Consider releasing subsequent versions of Greenstone 3 with JRE 8 bundled?

comment:7 by ak19, 5 years ago

Client-GLI and/or Java Web Start checklist from Kathy:

  1. Running check-installation, I get FEDORA_HOME and VERSION printed out. even though I don't use fedora. Should I?
  • Based on default settings in build.properties: fedora.home=#${basedir}/ext/fedora3

I get

FEDORA_HOME: /Scratch/kjdon/testing/3.09/#/Scratch/kjdon/testing/3.09/ext/fedora3

If I comment out the whole line, then I get: FEDORA_HOME: /Scratch/kjdon/testing/3.09/${fedora.home}

And if I have an empty value, I get

FEDORA_HOME:

What should it be doing? And should it be printing them out anyway if we are not using fedora??

  • when I run

localhost:8989/greenstone3/cgi-bin/gliserver.pl?cmd=get-site-names&un=admin&pw=admin

it says error: no site specified. But thats weird as you are asking for site names so how do you know what to put???

  1. shall we rename gli4gs3.xsl? eg to webgli.xsl? and I think it should go into pages folder as all the other pageaction ones live there...

comment:8 by ak19, 5 years ago

Consider if item 6 is cancelled: Java Web Start has become deprecated and removed from Java 9 to 11 onwards. Dr Nichols has found this alternative:

http://mail.openjdk.java.net/pipermail/discuss/2017-November/004589.html

Think of moving not just Phind, but more important GLI applet turned web start app in this direction if it's at all possible.

Note: See TracTickets for help on using tickets.