This is a meta-issue tracking the overall idea that VizHub 3 should be a useful self-hostable open source product.
Why would anyone want to self-host this? What features does it need to make self-hosting actually useful?
Use cases:
An individual who is already self-hosting a WordPress blog might want to embed self hosted interactive visualizations in it.
A non-profit that is already self-hosting a live updating data API might want to start producing self-hosted visualizations that leverage that API.
A design consulting firm that is already doing data visualization projects for clients might want to streamline their internal developent and collaboration workflows.
A large enterprise that already has a vast collection of self-hosted enterprise products might want to introduce a tool into the mix that enables their workforce to produce and maintain interactive visualization products, both internally and externally facing.
An educational institution that already offers a course on interactive graphics might want to use a self-hosted tool for students to do their assignments and staff can grade them.
An online newspaper wants to start producing interactive visual artifacts for embedded use in their digital publication.
Features that would make the product more useful:
Drag & Drop Files
Currently in VizHub 2 there is a size limit of 2MB when forking a viz, and the best practice is to load data from GitHub Gists. In VizHub 3, I'd like to establish the best practice as putting the data inside the viz. To this end, adding the ability to drag & drop text-based data files into (and out of?) the VizHub editor seems like a good move.
Use cases:
A student has downloaded a CSV file from a government Web site and wants to visualize it in VizHub. She can drag & drop the CSV file into the viz to have it automatically populate a new file with the same name as the original file.
A design contractor receives a JSON file from a client and wants to visualize it in VizHub. He can drag & drop the file into a private viz.
An employee is responsible for keeping a viz up to date with the latest data downloaded from an external site. She can set a weekly reminder to download the latest and drag & drop it into the viz, replacing the previous version of the data.
API & Command Line Tool
With a secure API and command line tool, developers would be able to update the content of a viz or download a viz.
Use cases:
An organization wants to update data in a viz from an upstream data source daily, using an automated CRON job or similar.
Import from Viz
It would be amazing to be able to import modules and data files from other vizzes. When the upstream dependencies update, the downstream viz can also be made to update in real time in conjunction with the proposed hot reloading feature. This feature depends on having custom URLs for vizzes. Similar to @rollup/plugin-dsv.
Use cases:
A student wants to create a new visualization by leveraging an existing visualization module and changing the dataset used. She can import the visualization module from another viz and configure it to use the new data.
An NGO that has 10 public facing visualizations of the latest Covid data wants to be able to easily update the data for all visualizations at once. Their team can import the data from another viz so that when the data is updated, all the visualizations that use it are automatically updated in real time.
This is a meta-issue tracking the overall idea that VizHub 3 should be a useful self-hostable open source product.
Why would anyone want to self-host this? What features does it need to make self-hosting actually useful?
Use cases:
Features that would make the product more useful:
Drag & Drop Files
Currently in VizHub 2 there is a size limit of 2MB when forking a viz, and the best practice is to load data from GitHub Gists. In VizHub 3, I'd like to establish the best practice as putting the data inside the viz. To this end, adding the ability to drag & drop text-based data files into (and out of?) the VizHub editor seems like a good move.
Use cases:
API & Command Line Tool
With a secure API and command line tool, developers would be able to update the content of a viz or download a viz.
Use cases:
Import from Viz
It would be amazing to be able to import modules and data files from other vizzes. When the upstream dependencies update, the downstream viz can also be made to update in real time in conjunction with the proposed hot reloading feature. This feature depends on having custom URLs for vizzes. Similar to @rollup/plugin-dsv.
Use cases: