{% extends "../base.html" %}
{% block page_title %}To-do List for OpenRecord{% endblock %}
{% block corpus %}
To-do list
soon:
add support for attributes of type number -- let user change column type in Grid view
during an import, add Attributes for any new columns
have the NotebookAPI consume JSON, and look at using dojox.rpc.Service and/or dojox.rpc.JsonRPC
----- (later) -----
in item.py, get the locale.format() working, so that 13063441 displays as 13,063,441
make it less brittle:
use the "version_number" property on models.Notebook, and have every .put() be wrapped in a transaction that gets the version number, checks to make sure it hasn't changed since the page was last loaded, and then increment it
----- (later) -----
test site in: IE, Firefox, Chrome, Safari -- write a crib sheet that says what to check for
add more unit tests (using GAEUnit)
cleaner UI:
make the table/grid automatically be a good size given the actual number of rows and columns
let users resize the table/grid by dragging on a corner -- save the new size
save all table/grid layout info -- column order, column width, column sort, grid size
create right-click context menus to let people do things like deleting items/sections/pages
...
font sizes are too big in IE -- fix our CSS so that IE font
sizes are similar to the sizes in Firefox, Safari, and Chrome --
http://www.zeldman.com/2006/10/27/ie7showandtell/
when you click the "Create Page" button, have it ask for a page name right in the same page, without going to a separate form page
make the trashcan icon bigger, and have it look like a trashcan
add functionality:
add support for attributes with types other than text (number, date, url, photo, etc.)
----- (later) -----
let people edit cells in table-view, and add rows, and add and remove columns
let people re-order the items in a section
add simple export features
save old versions of items when users make edits
provide UI to see old versions of items
replace ItemFileReadStore with JsonRestStore or our own custom datastore
let people move a section to a different page
let people copy things: pages, sections, items
in the navbar, let people use cntl-dnd to copy a page
move this to-do list into a Notebook
in List view, have a toggle icon to let people see an item-detail inspector, displayed as a block before the next line item
longer term functionality:
provide an RSS feed of all changes
use comet to provide real-time multi-user UI updates (consider Dojo Persevere)
provide pages that give json-format versions of individual data items
cleaner internals:
use db.run_in_transaction() routinely
clean up code in TempHackStore involving args.name vs. args.Name
----- (later) -----
use the dijit templatePath and templateCssPath features to
put HTML and CSS in templates: http://article.gmane.org/gmane.comp.web.dojo.user/33133
and http://www.taubler.com/articles/article_Create_a_Custom_Javascript_AJAX_Widget_with_Dojo?id=5
start adding python doc comments
rationalize css class names and id names
rationalize screen.css
once App Engine bundles Django 1.0, start using the |escapejs filter and delete our own homegrown hack code
look at using Persevere or CouchDB (PersevereStore or CouchDBRestStore)
at some point, consider making a Dojo custom build to improve performance
(see Dojo Toolbox),
but keep in mind the 1000 file limit issue (see
Route 183 post)