-
Notifications
You must be signed in to change notification settings - Fork 74
Project Structure and Builds
-
corePrimary support for Brunel Visualization -
dataThe Brunel Visualization data processing engine -
etcExamples and supporting utilities -
libDependent .jars -
serviceA basic web service to provide Brunel Visualization output -
pythonIntegration of Brunel Visualization for Jupyter -
RIntegration of Brunel Visualization for Jupyter (R) -
scalaAllows Brunel Visualization to consume data from a Spark DataFrame -
spark-kernelIntegration of Brunel Visualization for Jupyter (Toree) -
gallerySource code for the Brunel online app
For direct Java integrations, see: SampleApp for creating D3 output, and WebDisplay as an example using these. BrunelService also contains a usage example.
- Install Gradle.
gradle build
This will build all Java (including the '.war' file), run all tests, create Javadocs, collect all required Javascript and place all of this into /brunel/out
For any non-Java integration, Brunel provides a service with a REST API that interprets the Brunel Visualization
language and generates the required Javascript to display the visualization in a web browser. Any app server that
supports JAX-RS should work. Simply deploy the brunel .war file. Both [Apache TomEE w/JAX-RS] (http://tomee.apache.org/apache-tomee.html) and IBM Liberty are known to work. Instructions for setting up Brunel Visualization using TomEE for a development environment are below. We are working on improving and generalizing this.
- Install [Apache TomEE w/JAX-RS] (http://tomee.apache.org/apache-tomee.html)
- Set local environment variables:
BRUNEL_SERVER=http://localhost:8080/brunel-service
TOMCAT_HOME=[root dir of TomEE]
Now, Gradle can be used to deploy Brunel to TomEE and start the web server:
gradle cargoRunLocal
To confirm it is working, try calling the service:
http://localhost:8080/brunel-service/brunel/interpret/d3?brunel_src=data('http%3A%2F%2Fbrunel.mybluemix.net%2Fsample_data%2FBGG%2520Top%25202000%2520Games.csv')%20chord%20x(categories)%20y(playerage)%20color(playerage)%20size(%23count)%20tooltip(%23all)&width=575&height=575
- Explore the docs to learn more
- Run
VisualTestslocated in/etcto view a few Brunel syntax test examples - Try out
BrunelPadlocated in/etc - See the
/python,/R, and/spark-kernelfolders for instructions on how to use Brunel with Jupyter - For Java integrations, explore the javadocs generated by the Gradle build in
/out
Brunel uses a mix of static, translated and generated Javascript.
- Non-translated JS/CSS for Brunel is in
/core. These are expected to be edited by developers. - The translated
BrunelData.jsis created during the build of thedataproject. Do not edit this file. -
VisualTests.java(in/etc) will copy the JS/CSS upon execution so they are in the expected locations - Builds for
/servicewill copy the JS/CSS in the correct locations for the .war file. Additionally, the taskcopyWebFilescopies the JS/CSS in the expected place for execution directly from the src. - Builds for
/python, will copy the JS/CSS into a folder that also contains JS that is specific for the Jupyter integration