| Existing Features |
| * can import data from .json or .csv format files |
| * can import data from del.icio.us |
| * can create and modify data programmatically |
| * can bind data to dojo.widget.Chart |
| * can bind data to dojo.widget.SortableTable |
| * can bind one data set to multiple widgets |
| * notifications: widgets are notified when data changes |
| * notification available per-item or per-resultSet |
| * can create ad-hoc attributes |
| * attributes can be loosely-typed |
| * attributes can have meta-data like type and display name |
| * half-implemented support for sorting |
| * half-implemented support for export to .json |
| * API for getting data in simple arrays |
| * API for getting ResultSets with iterators (precursor to support for something like the openrico.org live grid) |
| |
| ~~~~~~~~~~~~~~~~~~~~~~~~ |
| To-Do List |
| * be able to import data from an html <table></table> |
| * think about being able to import data from some type of XML |
| * think about integration with dojo.undo.Manager |
| * think more about how to represent the notion of different data types |
| * think about what problems we'll run into when we have a MySQL data provider |
| * in TableBindingHack, improve support for data types in the SortableTable binding |
| * deal with ids (including MySQL multi-field keys) |
| * add support for item-references: employeeItem.set('department', departmentItem); |
| * deal with Attributes as instances of Items, not just subclasses of Items |
| * unit tests for compare/sort code |
| * unit tests for everything |
| * implement item.toString('json') and item.toString('xml') |
| * implement dataProvider.newItem({name: 'foo', age: 26}) |
| * deal better with transactions |
| * add support for deleting items |
| * don't send out multiple notifications to the same observer |
| * deal with item versions |
| * prototype a Yahoo data provider -- http://developer.yahoo.net/common/json.html |
| * prototype a data provider that enforces strong typing |
| * prototype a data provider that prevents ad-hoc attributes |
| * prototype a data provider that enforces single-kind item |
| * prototype a data provider that allows for login/authentication |
| * have loosely typed result sets play nicely with widgets that expect strong typing |
| * prototype an example of spreadsheet-style formulas or derivation rules |
| * experiment with some sort of fetch() that returns only a subset of a data provider's items |
| |