-
-
Notifications
You must be signed in to change notification settings - Fork 10
Code
The code has been commented throughout to indicate detailed issues that could, otherwise, cause general logic errors...particularly with the JavaScript code.
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.
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.
Here are some tips on testing and debugging...
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.
Use the built-in Developer Tools in your perferred browser.
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