-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add submit menu to send data to server #7
base: master
Are you sure you want to change the base?
Conversation
…ntend to backend in a fixed time interval. Edited CMakeLists.txt to only capitalize the first character of CMAKE_BUILD_TYPE. Ensured semicolon consistency in script.js.
into one total progress, displays current stage to the user.
(in the future) .geojson file data to the server.
Thank you for that! I was wondering how we could achieve consistency between the query editor in your menu and the QLever UI, in particular regarding autocompletion and syntax highlighting. I think as a first step it should be easy to use a full resizable text box for query editing, and add some syntax highlight. But we also need a button "Edit in QLeverUI" which redirects to the QLeverUI filled with the query. I think the GeoJSON upload functionality is an extremely useful idea. Do you have a plan how to build this in the backend? I expect the easiest way would be to just add the possibility to fill a
Ha, we seem to have fixed this bug independently on the same day (8359721) :) I spent an entire day searching for the root cause of the corresponding segfault... it occured on non-debug builds on my machine when compiled with clang, but I wasn't able to reproduce / locate it in |
I'm sorry to hear we both wasted a lot of time on this ^^' Funnily for me it only occured when using the Edit:
Yes, my idea was to URI encode the content of the .geojson file, send the encoded data to the server which then parses the data and then fill the |
parsing, added md5.h for future work.
…RQLCache, Split Requestor into GeoJSONRequestor and SPARQLRequestor.
…into submit-menu
to match the QLever UI, organized leaflet map layers
Fixed incompability of Points and Lines in GeoJson, Fixed Frontend map event callback added for every loadMap resulting in requests with wrong sessionIds
Fixed a few smaller errors and improved error handling a little.
Thanks! I did some preparation for merging this into master, in particular I merged master (which now includes the updated loading bar) into @Grandro, can you check whether this branch works as expected? If you find anything and want to fix it, please fork https://github.com/ad-freiburg/qlever-petrimaps/tree/Grandro-submit-menu and start from there. I also noticed that the GeoJSON upload does not support multigeometries and polygons with holes yet. Are you aware of this problem? |
Yes, these are the ones I meant. The existing SPARQL-GeometryCache implements these as follows: multigeometries are stored consecutively in the underlying array, and only the first has a "standard" QLever-ID. The following multigeometries have a special placeholder-ID, so if e.g. geometry 345434 is requested, a lookup is made in the array holding all jump marks into the points array, and if the next entry after this entry has such a placeholder QLever-ID, it is also used to construct the return geometry, and so on. You also have such an array in your GeoJSONGeomCache class which currently only holds the jump offset into the points vector, so I think all you have to do is to store pairs {offset, type}, where type is either 0 (normal), or 1 (continuation multi geometry) and handle this in the places where you build output geometries. |
I am not sure if I understand your explanation correctly. To my understanding the current implementation with the example of a
I have pushed a commit that implements 2), if you want me to change it to 1) instead it would be helpful for me if you could provide variable names for already existing datastructures that you are referring to. |
This PR adds a basic submit menu GUI to send data to the server. This lets the frontend be functionable without having to specify all necessary parameters in the URL and is more user-friendly. In case all parameters are properly specified, the menu won't show up until manually requested by a dedicated button at the top. It is not possible to send data while a request is already being processed. The tab to send GeoJSON data is not functionable yet.
I restructured
index.html
and introduced the export button look as the default look of a button.I also changed the third argument when calling
curl_easy_getinfo
withCURLINFO_RESPONSE_CODE
to be of datatypelong
instead ofint
because the docs suggest this change and it fixed a segment fault for me when using theDebug
build variant of CMake.