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

Adds a web server to VisTrails, to serve content for web cells #969

Open
wants to merge 25 commits into
base: master
from

Conversation

Projects
None yet
2 participants
@remram44
Copy link
Member

commented Dec 4, 2014

To be able to support web-based visualization frameworks (like d3 or bokeh), VisTrails could serve files from a web server (both the app (html+javascript) and data (csv, json, ...)).

Of course packages need a way to register themselves so they can send data from the HTTP server (simple files, autogenerated/streamed content, xhr/websockets, proxy, ...). As a first step we probably only want to serve static files but we definitely need this to be extensible.

  • Web server in VisTrails (missing weakref magic)
  • Generic WebSite module
  • Module configuration widget
    • direct entry editor on branch web-server_/textedit
    • hides editor when hitting "save"
  • D3 specific module
  • D3 examples

@remram44 remram44 self-assigned this Dec 4, 2014

@remram44 remram44 added this to the version 2.2 milestone Dec 4, 2014

@remram44

This comment has been minimized.

Copy link
Member Author

commented Dec 8, 2014

Ok, I added some of the d3.js examples to examples/web/

force-directed

chord

population-pyramid

@dakoop

This comment has been minimized.

Copy link
Member

commented Dec 8, 2014

Cool! When trying this out, I was a bit confused by the "/index.html", "/matrix.csv" port naming, but I figured out what was going on. I see why you want to have the user control which files need to be accessible from the local web server in the general case. However, I wonder if we have specialized versions (e.g. D3WebSite) and just default a data.csv/tsv/json file as the input port whether this would catch a large number of basic use cases. If a user knows that their D3 code should assume all data lives in a "data.csv" (or for multiple files, "data\d.csv"), they can write their html accordingly. Similarly, we could default index.html as the main display page and style.css as the css filename? Clearly, the existing examples would require an override, but it seems like some default rules might reduce the confusion of the WebSite module configuration.

@remram44

This comment has been minimized.

Copy link
Member Author

commented Dec 8, 2014

I see why you want to have the user control which files need to be accessible from the local web server in the general case. However, I wonder if we have specialized versions (e.g. D3WebSite) and just default a data.csv/tsv/json file as the input port [...]

Yes indeed, I only have a general module from which any file can be served, we'll definitely want to specialize that.

I know the labels are confusing right now, but you can add both File ports ("Add an input port") and a file that would be entered directly ("Enter a file") through an editor widget (like that of MplSource or PythonSource) that is currently missing.

A D3 version of that would probably only have an editor for the HTML, with D3 pre-imported, and would accept Table input(s).

@remram44 remram44 modified the milestone: version 2.2 Mar 26, 2015

@remram44 remram44 force-pushed the web-server branch from 525be27 to f8f674b Jul 8, 2015

@remram44 remram44 added this to the version 2.2 milestone Oct 5, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.