[RFC/Experimental] Server-side Search & DataTables Integration#39
[RFC/Experimental] Server-side Search & DataTables Integration#39mattiabonzi wants to merge 6 commits intolance-format:mainfrom
Conversation
|
@gordonmurray would love to hear your thoughts on this. As I mentioned, this is experimental and will need more work to be stable, but I believe it could leads to a better user experience overall. |
|
Hey @mattiabonzi, thanks for putting this together. The search and filtering need is real, and I can see the use case for this. That said, I think this moves in a different direction from where the project is headed. The core goal is to stay a lightweight, zero-setup viewer: mount a folder, open a browser, browse your data.
I think filtering and search would be a genuinely useful addition, but ideally as something lighter: client-side sorting and filtering on the current page without new backend dependencies. Issue #30 covers column sorting as a starting point, and that could evolve from there. If you're interested in contributing toward that lighter approach, I'd welcome it. And if you want to discuss a server-side search direction, opening an issue first to talk through the design would be a good next step. Thanks again for the effort here, I hope this makes sense? |
|
@gordonmurray Totally makes sense. I figured I'd share it since I’d already written the code for my own project, but I completely understand the intention of the project. Thanks for the feedback, closing the PR now! |
Names the load-bearing design constraints that shape the project so that proposals touching them can be discussed against a written baseline rather than reconstructed in each thread. Covers: - Vanilla JS with no build step - GET-only, stateless API - No metadata database - No in-app authentication - Read-only access Also adds a short "proposing changes" section pointing to prior design discussions (lance-format#5, lance-format#29, lance-format#39) and a minimal development workflow snippet. Fixes lance-format#42
…ts (#43) Names the load-bearing design constraints that shape the project so that proposals touching them can be discussed against a written baseline rather than reconstructed in each thread. Covers: - Vanilla JS with no build step - GET-only, stateless API - No metadata database - No in-app authentication - Read-only access Also adds a short "proposing changes" section pointing to prior design discussions (#5, #29, #39) and a minimal development workflow snippet. Fixes #42
This PR is a significant architectural experiment that replaces the static HTML table with jQuery DataTables and implements server-side processing. Previously, the app had no filtering capabilities; this change introduces global search, column ordering, and complex querying.
Key Changes:
Breaking Changes:
The backend logic has been largely rewritten. Specifically, the standard
/rowsendpoint is superseded by a new/datatablesPOST endpoint to handle the structured query payloads from the frontend.Current Limitations:
This is an experimental build and requires further stabilization:
Feedback & Testing Request:
I am looking for feedback on whether this DataTables-driven direction aligns with the project goals. If you feel this aligns with the project, it would be great if you could provide or point me to a diverse test dataset containing a wide variety of supported field types (e.g., nested structs, different vector dimensions, and timestamps) to ensure the DuckDB-to-Arrow serialization is seamless.
Please let me know if you would like me to proceed with these changes. If this is not interesting for the project, I will just delete the PR. I've made this cause i currently need a way to filter my own dataset while developing.