When form.tt reports missing fields, it should use the label of the field
and not the name.

Phil Crow Thu May 11 12:05:59 CDT 2006
Tim suggested a Gantry notes section to be features on usegantry.org.
I like the idea and here are some notes that need writing:
    Using Gantry with a templating system
    Using Gantry with a ORM
    Using Gantry::Server to deliver a GUI app (think tentmaker)
    Using Gantry::Server as a genuine server

Phil Crow Thu Feb  2 10:55:24 CST 2006
Gantry::Utils::Model needs some more features:
    caching (but users can always override the retrieve and construct methods)
    place holders in SQL (or any SQL caching)
    has_many
        items (a method which returns a list of the associated items)
        add_to_items
        cascading update
        cascading delete

DONE:
    DBIx::Class support should:
        be converted to let DBIx::Class handle the primary keys (if possible)
        be more careful with commits

    CRUD should also have a new flag no_clean_params which if set turns off
    the default behavior of calling clean_params for you.

    AutoCRUD should undef all blank form param fields before doing edit updates.
    It does this for dates, because those caused problems with Class::DBI, but
    it should apply to all fields (except booleans).

    Based on initial user feedback we need to resolve some issues:
        The prereq list is far too long, while many modules have dependencies
        those modules may not be needed by users.  We should install them,
        but skip their tests.
            This is mostly done Class::DBI is no longer on the list.
            Template Toolkit was retained since all but the simplest samples
            in the docs rely on it.

        We need a better list of web install directories (possibly with hidden
        shortcut words for us).
            Done.  Now there is a default (which is our dev/prod dir) and
            a chance to type something.
            I'm not sure if this gives them the chance to skip install.
            We probably need a 'type space to skip' or some such.

        We need a more complete README.
            Fleshed out some.

        The auth test offered to the user is doomed to fail.
            Now they just have to have a database with the proper schema.
            This is unlikely to succeed, but at least it's more sensible.

    DBIx::Class support should:
        be converted to let DBIx::Class handle the primary keys (if possible)
        be more careful with commits

    Abstract out all references to the apache request object.  This object
    is subject to mod_perl api changes.  Further, other systems don't have
    this option.  What we need is a way to set config variables and have
    them show up in the app in an engine independent way.
        This is still not finished because there is no accessor for the
        hostname in the engines.
        Acutally, there is a base_server in each engine which performs
        this task.

    Requests for auth db conn info should fall back on regular db conn info if
    auth forms aren't defined.
        Not really tested, but the change didn't break the existing test app.

    AutoCRUD should try to call form, then fallback to _form if that fails.

    When all elements on a form are optional, you can't add or edit rows
    with AutoCRUD or CRUD.

    Missing template is not displaying its error correctly in MP13 engine
    (works in CGI).
        Headers were sent at the wrong time.  Tim fixed it.

    Fix Gantry::Utils::DB, module should not export subs
        that module was abandoned in favor of better schemes

    Fix all Auth modules

    Make it possible for different modules in the same app to use different
    template engines (think TT and plain).
        $self->content_type( 'text/plain' );  # or 'text/xml' etc.
        $self->template_disable( 1 );

    Tim's advice from OSCON: there should be more defaults.  In particular:
        when you tell Gantry where to put the templates, it should write a
        module with that path in it which init will call to postpend it to
        your root path.  If you have no custom templates, you don't need root.
        This will also allow bigtop to find the sample wrapper without being
        told where to look.

        You should be able to run bigtop in a mode where you list models
        you want to make and it generates models and controllers for them
        with trivial structure for immediate use with sqlite.

        Tentmaker should make a table and a controller whenever you enter
        a sequence.  Its controllers should be ready for auto crud including
        a form with all_fields_but id already in it and a do_main with
        the trivial fields except id.

