Weave Milestone 1.9 released

New data transforms, improved performance, improved usability
Added by Andy Dufilie almost 3 years ago

Weave Milestone 1.9 has been released. Here are some of the recent changes:

Faster startup time has been achieved by delaying the creation of control panels for visualization tools until the user clicks the gear button.

New data transforms for restructuring data in the Weave client.
  • Partitioned Table - Filters by column values to create disjoint sets of records
  • Grouped Data Transform - Aggregates data, grouping records by values from a column.
  • Foreign Data Mapping - Uses a foreign key column to create a mapping of keys from one table to data in another table.
Template session states for quickly populating a set of visualizations with a new data file.
  • Preliminary support has been added for template session states. There is a new item under the Session menu for converting a session state into a template. This will remove all data sources and reset all attribute selections. When a new data file is loaded as a data source, the visualization attributes will be populated with columns from that data file.
New visualizations.
  • Simplified Table Tool - Much faster than the old table tool, which is now called "Advanced Table Tool."
  • Parallel Coordinates - A common way to visualize high-dimensional data.
Interface simplifications.
  • The Data menu now has menu items for directly adding new data sources, which are organized into meaningful groups: Files, Servers, and Data Transforms.
  • The Tools menu now lists the basic tools first and the more obscure ones in a sub-menu.
  • Visualizations can now be created directly from the Data Source Manager's browser, which will populate the tool's attributes with columns from the active category in the data browser.
  • Adding custom layers to a tool now takes less clicks, since layers can be added from a drop-down menu instead of a separate popup window.
  • Improved CSV Data Source editor including custom delimiter support when pasting in delimited text.
JavaScript API improvements.
  • New WeavePath function: setColumn(), which greatly simplifies JavaScript code that configures column objects in Weave.
  • Function pointers can now be passed between Weave and JavaScript (See example below).
  • WeavePath objects can now be passed to Weave functions as if they were pointers to the session state objects they reference (See example below).
  • Session state objects returned from Weave functions are now converted into corresponding WeavePath objects.
  • Example:
    // linking the zoom of two map tools
    var subpath = ['children', 'visualization', 'plotManager', 'zoomBounds'];
    var zb1 = weave.path('MapTool').push(subpath);
    var zb2 = weave.path('MapTool2').push(subpath);
    // Function pointers can be passed between Weave and JavaScript
    var linkSessionState = weave.path().getValue('WeaveAPI.SessionManager.linkSessionState');
    // WeavePath objects are automatically replaced with their corresponding ILinkableObjects when calling Weave code.
    linkSessionState(zb1, zb2);