Skip to content

Areas of Multigraph That Still Need to be Implemented

embeepea edited this page Dec 11, 2012 · 1 revision
  • html embedding support
  • implement min/max for individual renderer drivers
  • automatically generating API documentation from source code(student)

general

  • error reporting/recovery
  • proper insertion of default values
    • general function to insert static defaults
    • handler code to process rule based defaults
    • proper implementation of passing functions to defaultsTo (see core/plotarea.js)
  • find location for enums
    • allowed(YES & NO)
      • needed for pan & zoom
    • frame(PLOT & PADDING)
      • needed for legend & img
  • abstract text model
  • clean up code to use consistent spacings, quotes, etc
  • figure out how to deal with fonts
    • font type, family, size
    • consistency across all types of text

jermaine

  • event emitter?
  • proper implementation of passing functions to defaultsTo (see core/plotarea.js)
  • create static methods in jermaine
    • attach functions to models themselves

src

  • core
    • array_data:
      • fully implement error reporting
      • textToDataValuesArray should be moved to Data model2
    • axis:
      • remove commented out redundant code
      • fully implement pan/zoom
    • axis_title:
      • properly implement this
        • implement proper type checking for its types
        • add render method
    • binding:
      • properly implement this
        • implement proper type checking for its types
    • datatips & datatips_variable:
      • properly implement this
        • implement proper type checking for its types
        • add whatever methods are needed to provide proper functionality
    • filter & filter_option:
      • properly implement this
        • implement proper type checking for its types
        • add whatever methods are needed to provide proper functionality
    • graph_title:
      • properly implement this
        • implement proper type checking for its types
        • add whatever methods are needed to provide proper functionality
    • grid:
      • properly implement this
        • implement proper type checking for its types
        • add render method implementation
    • plot:
      • renderer.setUpMissing call needs to be improved
        • possibly use parent pointers
    • renderers:
      • implement more renderers
        • barerror
        • lineerror
        • point?
        • band
        • rangebar
    • service_data:
      • implement RESTful data service
  • events
    • jquery:
      • implement touch events
  • math
    • RGBColor:
      • add more color names to parser
  • utility_functions
    • parsing-functions:
      • re-write most of these functions
        • insert Defaults
        • getDefaultValuesFromXSD should actually parse the XSD
    • validation-functions:
      • rewrite/remove most of these functions
  • parser
    • jquery
      • better handle attributes not being set in the mugl
      • implement appropriate rule based default values
        • or implement second parser, which takes the parsed mugl and inserts defaults where properties are missing, based on rules
        • Error reporting will be difficult to properly implement
        • possibly use a pre-processing parser which does validates rule based errors. Then type errors will be handled by the core parser. The post-processing parser would insert rule based defaults. Put this on the backburner so we can get a working build sooner.

Implement more rigorous graphics tests

  • Set up suite of graphics tests which fully test the various graphical and mugl features of multigraph
    • dashboard graphs(15 of them)
    • need to also test features not in dashboard graphs
      • legend
      • RESTful data service
      • titles

Figure out the top level API

  • process by which end user will call and implement multigraph
    • simple call for user to embed multigraph in HTML page
    • call for users to dynamically insert graphs in larger applications
  • unify call for createGraph
    • have default to try and figure out what driver set to use
    • can override with a well-defined, standardized parameter

Packaging

  • have driver specific packages to save on filesize
    • WebGL version or canvas version, etc
  • possibly not include serialization code

Documentation

  • User guide needs to be updated
  • Multigraph.org site needs to be updated to be brought back upto date
    • scrapped and re-factored in Drupal 7

Demonstration

  • Set up one or several web pages which are using this new version of multigraph
  • Go through process of setting up graphs like end users will
  • Litmus test applications
    • Marks Home weather station
    • FCAV time series graph
    • other?

Jasmine code coverage

  • write more tests
  • look into code coverage analysis tools for JS

Priorities


NCDC Wishlist

  • Implement 'loading' wheel for async requests
    • Only allow one loading wheel at a time
  • impose some limit on async requests
    • one option is for hard limit of 5 async requests
      • turn off pan and zoom beyond this region until the async requests return
    • have a fixed minimum range for async requests
  • 'Annotation' renderer
    • allows for highlighting regions of graphs
      • indicate regions where data is missing
      • indicate regions where data is loading
    • have optional text in the region
    • supports extra service-side special values which indicate different conditions
  • buttons for zooming and panning
    • change mouse icon to a 'hand'
    • google maps type buttons for zooming
    • image gallery-esque buttons for panning
  • scroll wheel support for zooming
Clone this wiki locally