dbis-uibk / relax

RelaX - a relational algebra calculator
http://dbis-uibk.github.io/relax/
MIT License
285 stars 98 forks source link

Relax API support (new features + bug fix) #148

Open rlaiola opened 3 years ago

rlaiola commented 3 years ago

Reference issues

  1. Relax API makes use of React JS, a UI framework, to load data asynchronously on a single page application. Although this approach may work for debugging purposes, it does not favor integration with third-party applications/systems (the returned page does not include the data);
  2. In spite of the URL arguments (:source, :id, :filename and :index), on load Relax API always makes use of the first local group (local/uibk/local/0);

What does this implement/fix?

  1. Adds support to load groups synchronously. This way a third-party application will be able to process the returned page accordingly (it will include the data!);
  2. Adds logic to set the proper :source, :id, :filename and :index when loading Relax API single page application;

How to test this PR?

Test it live at https://rlaiola.github.io/relax/.

Other Comments

Feel free to suggest other approaches to address the reported issues/features, I'm not really a React JS expert. Moreover, I think that Relax API should be modified to return data only (instead of a web page). Not sure about the best way to do that, but I'm developing a workaround to address that.

rlaiola commented 3 years ago

In this project you can find my solution for transforming Relax Query API into an actual REST API: https://github.com/rlaiola/relax-api