-
Notifications
You must be signed in to change notification settings - Fork 337
draft: Integrate grist databases into docs (Panographix - HackDays 2025) #1053
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
Conversation
feat(database): create database block
Feat grist connector
feat(database): push new row to grist
feat(database): edit cell in grist
Source selection revamped
…ce-in-selector ✨ allow hiding create db option
fix(database): add row sort
feat(chart): add grist keyword
|
GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
---|---|---|---|---|---|
- | - | Bearer Token | 67e29ff | src/frontend/apps/impress/src/api/gristApi.ts | View secret |
🛠 Guidelines to remediate hardcoded secrets
-
Revoke and rotate the secret.
-
If possible, rewrite git history with
git commit --amend
andgit push --force
.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
FYI, the API token detected by gitguardian was from a local grist install, this will of course be removed :) |
Hi there ! We've freed-up time from @SimonClo who will help me get this PR cleaned-up and merge-ready.
|
Hi @matts2cant The product owner in DINUM for Grist is @vviers and @jonathanperret worked both on Grist and on OIDC resource server in ProConnect. He is probably the good person to add resource server to Grist so we can create a project and read from our projects with a resource server token. Regarding the CORS issue, we should probably treat it the same way and set the CORS header in Grist responses when answering to a resource server request...? |
Nice ! Thank you for creating the PR. It would be awesome to see this merged into Docs. |
Hi @vviers, hi @jonathanperret, Hope you're both doing well. Just following up to see if you’ve had a chance to review the two blocking points we mentioned regarding our Grist integration, and to get your input on the best way forward. 1. OIDC/ProConnect token: 2. CORS issue:
From your perspective, which approach would be cleaner or more secure in the long term? Thanks again for your help! |
Yes, absolutely possible and desirable. The way forward is to implement this in grist-core (https://github.com/gristlabs/grist-core) and have this merged :) This is quite a big, security-heavy project so it might take some time to review, but I think @jonathanperret should be able to start working on this soon-ish (though you are more than welcomed to give it a whirl if you want) |
Thanks @vviers for your answer ! Regarding the CORS issue would you have an opinion on the subject ? By the way, we are closing this PR because we have split it into two new ones:
We've decided to leave aside for the moment the charts block, which still needed a lot of rework. |
Closing this PR because we split it in two :
|
Purpose
Merge the HackDays 2025 “database & charts” prototype into the public Docs repository to kick-start native data-driven capabilities (tables, charts, embeds) for civil-servant users while preserving Docs’ friendly UX.
Proposal
This PR introduces three custom blocks developed during HackDays 2025:
<DatabaseBlock>
– lets authors create a new Grist table or pick an existing one directly from the editor, then display and edit the data inline.<EmbedBlock>
– safely embeds third-party content (maps, videos, etc.) via an iframe wrapper.<ChartsBlock>
– renders configurable charts (bar, line, pie…) based on a Grist view the user selects.Behind the scenes we rely on Grist as a lightweight backend, but the UI hides the Grist complexity so that non-technical agents can stay focused on their documents.
Known limitations / next steps
GRIST_TOKEN
). We aim to fetch it via OIDC (ProConnect) before merge.<ChartsBlock>
currently supports only one simple series and lacks style options. We'll probably end-up merging only the database and embed blocks first, then do charts in another PR.Screenshot