Exhibit 2.3 Alpha Release

This is to announce an alpha release of an update to the Exhibit 2 codebase, one that will eventually become Exhibit version 2.3. As Exhibit 3 matures we aim to shift our developments efforts there, but for the time being the greater maturity of E2 makes it a better testbed for these updates. This release fixes a number of bugs and also offers additional functionality; we'd like to see how that functionality gets used in order to understand what is important to incorporate into E3.

These changes are all live on http://trunk.simile-widgets.org/exhibit/api, so all you need to do to try them is link to that API instead of api.simile-widgets.org Please do so, and provide feedback on what is working and what isn't.

As is usual, we're behind on documentation. We'll add to the documentation wiki, if someone doesn't beat us to it (hint, hint).

Major changes are listed below.

Improvements to data import

We've added and fixed importers for several data formats. The new example loaders.html in the examples directory shows some of the new import features
  1. Data (in all formats) can be directly embedded in the html document (improves portability & search). You can specify the data location using a link tag that contains a fragment identifier (<link rel=exhibit/data href="#data"/>) or using a new ex:role="data" attribute in the tag that wraps the data.
  2. Rewrote the XML importer, and an example using it to build an exhibit from the youtube API. Documentation can be found on the wiki.
  3. Rewrote the TSV/CSV importer, and an example showing its use.
  4. import from HTML tables in-document or fetched from elsewhere (mime type text/html)
  5. We've separated data import functionality into two parts, "get" and "parse". In a link tag you can provide either or both ex:getter and ex:parser attributes that specify a javascript function to respectively get and parse a data file. By default, ex:getter is a standard http get of the url, while ex:parser uses the exhibit jsonp parser.

Map extension improvements:

  1. Updated map extension to use gmaps v3
  2. In v3, google maps api key is no longer required
  3. Updated map extension to makes its own icons in canvas, avoiding calls to the painter service when possible. So maps will continue to work when painter is down, and should be faster
  4. on initial display, ex:autoposition will center the map on displayed data, so you don't need to specify a center or zoom level
  5. Fixed a bug that was making duplicate map legends when you flipped between views

WYSIWYG Data editing

Simon Morris has created a "data edit extension" for WYSIWYG editing of data where you see it in an exhibit. You incorporate it just like the other extensions, by adding a link to it after the exhibit script:
	
	  <script src="http://trunk.simile-widgets.org/exhibit/api/extensions/data-editor/data-editor-extension.js"></script>
	
      
The extension supports data editing but does not solve the persistence problem (we didn't want to commit to any one persistence mechanism, and supporting all of them was too much effort). If you want to persist the edits, you will need to write code that will push changes back to your data repository.

Logging

We are interested in gathering data about how readers interact with exhibit. To support this, we have added an (opt-in) logging feature. This feature will allow us to gather data about users' interactions with exhibits. The logger reports exhibit interactions, such as switching between views and making facet selections. No other information is gathered.

If you have found exhibit useful, enabling this feature would be an easy way for you to contribute something useful back to us. To enable it, just add "?log=true" as a parameter on the end of the exhibit script url, e.g.

	
	  <script src="http://trunk.simile-widgets.org/exhibit/api/exhibit-api.js?log=true" type="text/javascript"></script>
	   
      
We would certainly appreciate your enabling this feature to help us gather data. We also intend to provide a set provides "analytics" for your own site (accessible only to you) that will show you which facets are being used and values are being selected in them.

Miscellaneous new features

  1. The "label" property is now optional: items without a label get one generated
  2. Table-row sorting is now "stable" (it preserves previous sort orders to the extent possible)

Invisible/logistical enhancements

  1. Assorted fixes of IE incompatibilities
  2. Updated SimileAjax to use simile-widgets instead of simile.mit.edu as a source for some of its files
  3. Upgrade to jquery 1.7, and fetch from cdn instead of bundling w/exhibit