<fzZzy> slyphon: dashboard.py puts freeform.configure in the DOM;
        freeform.configure looks at the IResource.original for something that
        implements a TypedInterface

<slyphon> fzZzy: i'm going to spend the next hour trying to figure out what
                 that sentence means
<slyphon> ;)

<fzZzy> slyphon: if you look at components.wsv you will see:

<fzZzy> quotient.web.dashboard.AccountConfiguration
        quotient.grabbers.GrabberPowerup    
        twisted.web.resource.IResource

<fzZzy> slyphon: that means that when the AccountConfiguration page is
                 renderered, the thing that gets passed to freeform.configure is a
                 GrabberPowerup

<slyphon> ah

<fzZzy> slyphon: if you look at grabbers.GrabberPowerup you will see that it
                 implements a TypedInterface

<fzZzy> IGrabberAdder

<fzZzy> If you look at IGrabberAdder (which is a formless.TypedInterface) you
        will see where freeform.configure gets all the information it needs to get in
        order to render that page

<fzZzy> component registration file

<slyphon> ah

<fzZzy> adapter, original, interface

<slyphon> oh, that's the new format

<exarkun> aspect oriented internet!

<fzZzy> when you have an instance of original and you want to adapt it to
        interface, use adapter

<slyphon> i haven't used adapters much yet

<fzZzy> you will

<slyphon> i had that feeling :-)

---------------------------------------------

<slyphon> fzZzy: "context" is the dom? in context.locate(formless.IConfigurable) ?

<fzZzy> context keeps track of where stuff was in the dom, yes

* slyphon nods

<fzZzy> it is not the dom itself

<fzZzy>	slyphon: yes, a new context object is built for each
                level of the dom, and they are chained together

<fzZzy>	functions can save stuff and get stuff out of the context

<slyphon>	right right

<slyphon>	it's beginning to come back
---------------------------------------------

