Rhizosphere

Links

read through the Code
try the Prototype
Home‎ > ‎Documentation‎ > ‎

Developer Docs

This page will hopefully evolve into a comprehensive developer documentation, but this is not the case yet.

Introductory articles:

Files

In addition to the jQuery library, Rhizosphere is composed of the following files:
  • rhizo.js : base infrastructure, such as utility functions for Javascript namespacing.
  • rhizo.log.js : logging functions
  • rhizo.base.js : this is the core file. It contains the definition of a Rhizosphere project and orchestrates all the other pieces
  • rhizo.ui.js : ui related stuff. Initialization of droppable capabilities, hiding and displaying parts of the UI, performance tuning
  • rhizo.meta.js : definitions for all the supported types, filters and metamodels
  • rhizo.meta.extra.js : additional filters, generally less used than the ones in rhizo.meta.js
  • rhizo.layout.js, rhizo.layout.tree.js : layout engines definitions
  • rhizo.model.js : model extensions ( basically all draggable functionality ).
  • rhizo.model.loader.js : model loaders. Defines strategies for loading models from different datasources ( plain js files, Google spreadsheets, etc ... )
  • rhizo.gviz.js : integration with the Google Visualization APIs
  • rhizo.autorender.js : the AutoRenderer, the js component that automatically creates a visualization for models. Uses color coding and informations cloud concepts.

Available Filters

(this section needs further explanation)
  • STRING
  • NUMBER
  • DATE
  • RANGE
  • BOOLEAN
  • CATEGORY : warning. It requires min / max
  • these are contained in the extra package:
    • DECIMAL : requires a precision parameter. Defaults to 2 digits after the decimal point.
    • DECIMALRANGE : requires a precision parameter. Defaults to 2 digits after the decimal point.
    • LOGARITHMRANGE : requires a precision parameter. Defaults to 2 digits after the decimal point.

Available Layouts

(this section needs further explanation)
  • NoLayout
  • FlowLayout
  • ScrambleLayout
  • BucketLayout
  • TreeLayout

Samples

The following sample files are provided with Rhizosphere :
  • sample/people.js : basic example. Contains a data model definitions with simple attributes and simple rendering, nothing too fancy. Less than 100 elements in the model.
  • sample/books.js : a slightly more complex version for a fictional book store. Less than 100 elements in the model.
  • sample/many.js : a stress test to verify Rhizosphere capabilities in handling hundreds or thousands of elements. 1000 elements in the model.
  • sample/autorender.js : explains the AutoRenderer capabilities. Less than 100 elements in the model.
  • sample/usa.js : shows the USA states and major cities. Demonstrates endless panning and the tree layout. Approx. 150 elements in the model.
Rhizosphere can also digest any ( reasonably formatted ) Google Spreadsheet.

Runtime configuration options

When creating a new rhizo.Project, you can pass an options object to configure the runtime behavior of Rhizosphere. The allowed keys and values are:
  • autoSize : whether Rhizosphere will automatically change its layout ( either mini or normal ) depending on the available screen estate. Affects the miniRender option.
    • Possible values: set / unset. Default: unset.
  • miniLayout : whether Rhizosphere should render in mini mode, maximizing the usage of the available screen estate.
    • Possible values: true / false. Default: false.
    • Note: this option was called miniRender in previous versions of Rhizosphere (up to r150 ). You may need to update your code.
  • selectfilter : the jQuery selector that identifies selectable items. Affects the performance for selecting/unselecting items. It is strongly recommended to always define this option to match the selectable items as close as possible.
    • Possible values: any string. Default: ':visible'
  • noAnims: disable all animations to improve performance.
    • Possible values: true / false. Default: false.
  • arDefaults: an option currently used by the gviz loader when using the AutoRenderer option, to declare that the AutoRender should apply its defaults in locating the master, size and color when the following options are not specified.
  • arMaster: an option currently used by the gviz loader when using the AutoRenderer option, to declare which gviz column represents the 'master' field in the AutoRenderer rendering.
  • arSize: an option currently used by the gviz loader when using the AutoRenderer option, to declare which gviz column will be used for the 'size' auto scaling.
  • arColor: an option currently used by the gviz loader when using the AutoRenderer option, to declare which gviz column will be used for the 'color' auto painting.
  • arNumFields: an option currently used by the gviz loader when using the AutoRenderer option, to declare how many fields should be displayed by the AutoRenderer.