Outline: ( 15-17 chapters plus up to 4 appendices )

Part I. Quick Start Tutorial ( 4 chapters, 5 if you count the tour ) x
    Chapter Installation                                      (install) x
    Chapter A Simple Exmaple: Address Book                    (simpleex) x
    Chapter Deployment                                        (deploy) x
        Moving to mod_perl
        Moving to Gantry::Conf
    Chapter Testing                                           (runtests) x

Part II. Case Studies ( 3 chapters, more if you can think of other cases )
    Chapter Contact Us (showing Gantry not as MVC but as C)   (contactus) x
    Chapter Billing App                                       (billingapp) x
    Chapter Job Ads App (easily integrated with jobs.perl.org)(jobadsapp) b
        needs CRUD to manage change log (but modify date
        handled via AutoCRUD)
        basic auth
        special connector for skill2join table:
            an AJAX bit in the Job module

Part III. Gantry Reference ( 4 chapters, 5 if we add Gantry::Conf )  x
    [ Chapter How Gantry works - overview                       (gantrytour) ]
    Chapter Full AutoCRUD and CRUD docs                       (fullcrud) x
        controlling redirections
        cleansing data
        bailing out
    [ Chapter Gantry and Basic Authentication                   (basicauth)
        auth is in the Job Ads chapter above                                ]
    Chapter Plugins                                           (plugins) x
        implementing a plugin (which does or does not mixin)
        controlling plugin loading
    Chapter Site Object API                                   (site)  x
        Let's twist this so it describes what engines provide rather
        than pretending the user wants to write one.
        engine API
        template engine API
    Chapter Adding support for your ORM                      (orms)  x
        Gantry's connection scheme
        Helping AutoCRUD

    Gantry::Conf providers etc.?

Part IV. Bigtop Reference ( 5-6 chapters ) x
    Chapter Available Backends                               (backends)    x
    Chapter Tentmaker Reference                              (tentref)     x
    Chapter Bigtop Syntax?                                   (bigsyntax)   ?
    Chapter Parsing Background                               (parsing)     x
    Chapter Bigtop's AST                                     (bigtopast)   x
    Chapter Writing an SQL backend                           (backendanat) x
        first walk through the deparser, since it is complete then do SQLite:
            being careful of namespace collisions
            telling tentmaker what you make
            registering your keywords

Appendices: ( 4 )
    Gantry Errors                   (gantryerr)
    Bigtop Errors                   (bigtoperr)
    only one of these is distinct:
        Bigtop Syntax                   (bigsyntax)
        Bigtop Grammar (annotated)      (grammar)
    I'm now opposed to including the grammar, since discussions of it are in
    part IV and it is shipped in the dist for the interested, making it a
    waste of paper.
    Further, I think the tentref serves as a complete tour of syntax, omitting
    only controller level configs and table level data statements.  Those
    could easily be put into a section at the end of tentref chapter.

Case Studies:
    Address Book/Business Contact Database (for quick start)
    Billing App (similar to Tim's)
    Hiring App
    Doc App (similar to Malcolm)
    Contact us
        (no database, just email address which is an alias putting
        recipients into a database for our app would duplicate what IT
        had already done with that alias)

Points:
    Easy with tentmaker
    Controllable CRUD
    Easy to add controllers and code to them
    Conf is easy with Gantry::Conf
    Deploying multiple instances
    Sharing conf between apps
    Switchable from:
        CGI to mod_perl
        one ORM to another
    Gantry Stays out of the way when not needed:
        Auth is personal, but Gantry can help if you use our data model
        Models aren't always useful
            no database needed (think mac registrar for digeo)
            database exists, we need a single tiny select perhaps via slow ODBC
        Not everyone likes templates (some like the old CGI style)
        Session management is well handled by many other tools pick one
            like Apache::Session

Extra:
    Internals:
        Bigtop:
            writing a backend
                basics of parsing
                Bigtop's grammar (in an appendix)
                the mixin scheme (and how to avoid collisions)
