neo4j-labs / neodash

NeoDash - a Dashboard Builder for Neo4j
https://neo4j.com/labs/neodash/
Apache License 2.0
411 stars 136 forks source link

[WIP] Query API first steps #897

Open OskarDamkjaer opened 4 months ago

OskarDamkjaer commented 4 months ago

What we did, commit by commit

inline use-neo4j

Copy pasted the use-neo4j library and removed everything we weren't using neodash.

bump the driver

Bumped the driver to 5.12.0 and re-did some of the reverted compat changes

use new driver

We removed the driver dependency completely and copy pasted in the experimental driver with Query API support that @bigmontz from the drivers team has made. We checked out the 5.x-experimental-http-scheme branch, installed dependencies, ran the build command and then copied the standalone file packages/neo4j-driver-lite/lib/browser/neo4j-lite-web.esm.js and then updated the import paths. In the future we'd not need to do this, we'd depend on the code via npm

proof of concept

We hardcoded the protocol to be HTTP. We tried using the new driver and got it to work o.k. for some data types. We ran into a couple of limitations:

inject HTTP driver experimental package

Replace inlined driver-lite with npm package

Migrate to elementId

For testing the query api with a real database, we downloaded neo4j 5.19.0 and set server.http_enabled_modules=BROWSER,QUERY_API_ENDPOINTS,TRANSACTIONAL_ENDPOINTS in the neo4j.conf file.

Still to todo on the neodash side

sonarcloud[bot] commented 3 months ago

Quality Gate Failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint