1. paj
  2. tw2.core

Source

tw2.core / future.txt

tw2.core
    Label("mylabel", label_text=Markup("<a href='http://www.google.com'>Google</a>"))
    make pkg_resources a soft dependency
    csrf protection
    avoid so many subclasses being created - inplace addition of parent (but this is harder than I thought)
    detect attempts to modify a widget instance and raise exception
    params - find a neater way to break param descriptions across lines
    i18n - where to call it?
    use quotes in all exceptions, also inclue widget id?
    logging - not much to log, but tw has some useful debug info
    Support "paste.filter_app_factory" entry point
    move attr generation to display? would make some other bits easier
    rename fetch_data to view_request? (also: post_define to define?)
    capitals for name2label - ID, IP, URL
    make resource injector work correctly with pylons cacheing
    nick more unit tests from tw1, e.g. leaks
    RepeatingWidget.rwbc is a bit of a hack - any improvements? may not be a problem, rarely need to call

tw2.forms
    stop label names being post-to-able
    booleanradiobuttonlist
        instead? twf.RadioButtonTable(options=twf.BooleanOptions)
    make selection_list and selection_table support grouping
    make selection table configurable how it arranges (horiz/vert)
    named buttons
    TableForm - make TableLayout parameters accessible?
    SSF - do adding an empty row, at post_define time, when possible
    datagrid
        you can do pretty well with GridLayout and LabelField - is this necessary?
    select fields - strong validation

validation
    client-side
    inheriting required

run the w3c validator on all the widgets

widget browser
    more detail - need tabs (no ajax to start with)
        Summary / Demo Source / Parameters / Source / Template
    sphinx integration

controllers
    security
    switcher

template
    inline templates
    disable kid's doctype header on inner widgets
    only test engines that are installed
    pass config to templates
        absolute paths (e.g. genshi_abs)
        output format
        safe vars
        extra vars
        -> to do a proper job of this, I have to find out what the options are for each template engine
    template optimiser

resources
    optimisation - use Diez's work
    paste command to grab resources, for serving with a web server
    'afterwidget' as a location?

new widgets
    jquery
    popup links

dynforms
    dyndemo
    cascading
        this is where I need to think about ajax properly, which needs client validation
        There's some general things for all ajax requests
            extra - siblings (parent?) of this widget, include value in req

    look at js libs first
        filtering grid
        hiding button

    growing
        growing repeater
            putting numbers in legends
        calling a js func to initialise a widget
            need to hook this for growing
        make it not depend on customisedform

    growingtextarea
    text field with suggestion
    wymeditor?
    customisedform - save prompt
    HidingComponentMixin - has JS optimisation that should be on general resources
    Consider HidingComponent, CascadingComponent as a display-only widget


frameworks
    pylons
    tg2 - percious has done some work
    cp3
    django


sqlalchemy
    get a simple form working
    lists
    fkeyselect
    Relations
        skip cols for MTO relations
        MTO
            view - label
            edit - select / ajax

    how to update
        updating A with B
        if B is AutoField
            update A with params B has specified
        else
            update B with params A has specified and B not *** this sounds like trouble!
            ok, for now just use B, any param set to auto is taken from A

    later
        generic function
        OneToMany - list inline, with add and delete
        ManyToMany - CheckBoxList (or growing with ajax)


yui
    use percious approach for multiple lib versions
    allow multiple DataSource widgets on one page
    move script out of templates - just use PlainWidget for most of them
        this depends a lot on the growing work

    rename options? it clashes with SelectionField.options
    autocomplete: experiment with force_select
    container - dialogs, tooltips
    Menu
    Paginator
    ImageCropper
    carousel - picking images
    Resize
    YUI CSS base