
Outstanding tasks
-----------------

+ Include all the names of Google's Visualization Gadgets in 
  GadgetAliases.GOOGLE_GADGETS mapping.

+ Fix MIME types returned by MoinMoin (text/x.moin.wiki) and reStructuredText 
  (text/restructured, test/x-rst) encoders.

- Test GViz providers for VCS (`svn` + `git` ? + `mtn`).

- Find the root cause for missing changes in revisions `1`, `3` and 
  `8` (e.g. lack of support in TracMercurial for `copy` events?)

- Add `limit` parameter for history methods in VersionControlRPC.

- Implement data source provider for Ticket->Query

- Implement `create`, `update`, and `delete` methods in ReportRPC

- Add an option in GViz milestones in order to only show data about 
  active milestones.

- Cache the requests and optimize the request/response cycle by using 
  the `reqId` parameter.

- Implement various gadget border providers.

- Allow people to upload and use their own image and CSS borders in
  gadgets.

- Ensure that pictures submitted for image-based gadget borders have 
  the proper dimensions.

- Implement local gadget borders with the help of Trac Resources.

- Implement preview capabilities for gadgets and borders.

- Implement navigation to Trac Gadgets area.

- Implement context navigation contributors to Trac Gadgets area.

- Add support for CSS-based and external (HTTP) gadget borders.

- Separate GVizSystem and GVizModule ?

- Write tests for the different features included in the plugin.

- Add labels to the data sources. bah!

- Include formatted values for dates in JSON result.

- Fix the issue with selecting changed tickets since timestamp.

- Ensure that columns are always arranged in the same order (i.e. use 
  ordered dicts)

- Optimize the calls to TracRPC's Method objects by preventing 
  them from building lists out of generators.

- GViz API QL: Allow to select the columns to be returned, their 
  order, and labels.

- GViz API QL: Add support for limitting the number of returned rows, 
  as well as skipping a given number of first rows.

- GViz API QL: Add tasks to support `from`, `where`, `group by`, 
  `pivot`, `order by`, `format` and `options` clauses.

- Add support for retrieving table data in reStructuredText (rst) 
  format.

- Allow data source providers to control the details needed to handle 
  queries.

- Put exception types in a separate module.

- Allow to provide documentation to describe dynamic columns (i.e. 
  those columns that appear in data tables only when some run-time 
  conditions are met e.g. ticket custom fields in 
  `ticket.GVizTicketReport`).

- Use Trac i18n for strings displayed to clients.

- Execute reports defined using URLs to saved custom queries.

- Provide default border images for gadgets.

- Add a page to view the images in a gadget border (i.e. preview).

- Add a page to list available borders.

