Skip to content
AtesComp edited this page Apr 5, 2022 · 8 revisions

Documentation

The code has been commented throughout to indicate detailed issues that could, otherwise, cause general logic errors...particularly with the JavaScript code.

JavaScript Classes

The JavaScript code uses classes to manage all the pertinent functionality. However, the code relies on base OpenRefine code for several feature concerning widget popups. A class extension technique has been used to manage the matching non-class OpenRefine code.

Client Server Calls

In several instances, client JavaScript code was duplicating server Java code. Since the Java code is inherently more stable than the JavaScript code (JavaScript has, in general, a brittle code base where changes may affect the code drastically due to un-tracked dependencies and the lack of type tracking by the various IDEs--linters help).

Therefore, the client favors server calls to fulfill this functionality. In general, this requires synchronous interaction and is managed by "async" and "await" on the client-side code.

Developer Testing and Debugging

Here are some tips on testing and debugging...

Java

Tinker with the "RDFTransform.verbose" and "RDFTransform.debug" configurations settings for RDT Transform to get plenty 'o feedback. Generally, setting the debug configuration to "true" will do the trick.

Javascript

Use the built-in Developer Tools in your perferred browser.

HTML Web Pages

If you need to test or debug the HTML web pages, you'll need to set up a "server".

Change directories to project's website source: cd rdf-transform/website

Start the simple python HTTP server: python3 -m http.server

Load the "index.html" file in a browser. You may need to adjust your browser security setting to allow LocalHost access to local files. That issues is beyond this documentation. http://localhost:8000

Clone this wiki locally