Skip to content
Frank Rosner edited this page May 6, 2015 · 31 revisions

Developer Guide

Development Environment

The following list contains recommendations for a convenient DDS development environment:

  • POSIX oriented operating system (Mac OS X, Linux, ...)
  • git
  • Scala
  • SBT
  • Intellij + Scala plugin
  • Chrome (especially the developer tools)
  • Python + jsbeautifier (in case you want to automatically format your JavaScript code)

You do not have to use the stuff mentioned there but then things might not be as smooth as they could be :suspect:.

Development Cycle

  1. Grab an issue (talk to @FRosner for suggestions)
  2. Create an issue branch (git checkout -b issue/<issueNo>)
  3. Develop your feature there
  4. Rebase against master often (you can push a new branch for each rebase, e.g. issue/1337-2, issue/1337-3 etc.)
  5. Once you are done, drop a message in the issue mentioning @FRosner and requesting a review (maybe create a pull request as well)
  6. React to the reviewer comments and go back to 3. if needed
  7. Wait for the branch to be merged

Adding DDS Visualizations

In order to add new visualizations to DDS, you have to do three major steps:

  1. Provide a custom implementation of a Servable that stores the data to visualize [Scala]
  2. Write one or multiple DDS core functions that send your Servable to the web server [Scala]
  3. Tell main.js how to draw that servable [JavaScript]
  4. Extend Visualization prototype and implement the draw and clean-up methods
  5. Populate your custom visualization object inside main.js with the transmitted data from the servable

Clone this wiki locally