Skip to content
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

Dashboard Compiler & Publisher #383

Open
domoritz opened this issue May 23, 2024 · 4 comments
Open

Dashboard Compiler & Publisher #383

domoritz opened this issue May 23, 2024 · 4 comments
Labels
projects Project ideas for Mosaic

Comments

@domoritz
Copy link
Member

Given a Mosaic YAML/JSON specification (and possibly additional data source information), analyze the spec and produce a standalone dashboard web application. The compiler should analyze the data sources and convert them for rapid loading within a WASM-based DuckDB deployment. The compiler should also raise warnings or exit with an error if the dataset is too big to export to a standalone web-based deployment. The compilation process might also consider data cube indexing, for example by precomputing cube tables and adding them to DuckDB upon dashboard initialization. The compiler might also suggest dashboard modifications when helpful, for example by rewriting a selection to use single resolution if cube computation will be too costly at runtime. A dashboard publishing tool like Observable Framework might be one way to then deploy the results.

@domoritz domoritz added the projects Project ideas for Mosaic label May 23, 2024
@jheer
Copy link
Member

jheer commented May 23, 2024

I've started some initial work on this, so if others are interested in pitching in please get in touch. Or, just "thumbs up" vote on the entry above if this is something you'd like to see supported.

@nicosuave
Copy link

I'm interested in helping

@alexkreidler
Copy link

alexkreidler commented Sep 20, 2024

I built a tool to edit and live-preview Mosaic specs in your browser: https://mosaic-playground.netlify.app/. It doesn't generate a static site, but I've been using it to create Mosaic JSON specs that I then put in an Observable Framework markdown file.

I'd love some feedback and would also be open to contribute it to Mosaic: https://github.com/alexkreidler/mosaic-playground

It would be awesome to have a way to pre-bake data for initial views (#506), or an option to render Mosaic to a non-interactive static SVG that can be used in a static site generator like in this Observable Framework example.

Thank you for your awesome work! I'm excited to see what everyone is cooking up for this issue!

@jheer
Copy link
Member

jheer commented Sep 20, 2024

Wow, this looks great @alexkreidler! Thanks for developing and sharing this.

I'd definitely be interested in folding some variant of this into the Mosaic project proper (e.g., as a new package within the monorepo). In terms of constructive feedback, it would be nice to include support for YAML and for JSON schema auto-complete. I also notice a rather aggressive stream of red error notifications in the midst of normal typing in the editor.

FWIW, I also plan to further develop both pre-baked data and server-side SVG rendering, but need to clear a number of other obligations off my plate before diving into those. In any case, thanks again for sharing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
projects Project ideas for Mosaic
Projects
None yet
Development

No branches or pull requests

4 participants