<fzZzy> slyphon: some traffic comes over port 80. HTTPProtocol figures out what
it is. It makes a Request instance, and passes it to Site.getResourceForRequest

<fzZzy> the thing that comes back from getResourceForRequest gets .render(request) called on it
<fzZzy> and that's it

<slyphon> fzZzy: so how does quotient handle magic numbers?

<fzZzy> slyphon: storeIDs in the url you mean?

<fzZzy> first QuotientSite checks to see if there are some "special" segments
in the url which will short circuit the normal Site lookup process

<fzZzy> if not, then it just calls Site.getResourceForRequest, which calls
getChild on the root resource, and then tail recursively for each path segment

<exarkun> tail recursion!

<slyphon> "tail recursively?"

<slyphon> as in looks for an isLeaf resource?

<fzZzy> slyphon: it's just the normal twisted.web resource lookup procedure

<fzZzy> an isLeaf, or a resource for the last path segment

<slyphon> ah
<slyphon> so, how is context used, when and why?

<fzZzy> slyphon: well, first you have to find a Resource
<fzZzy> with nevow, that's usually renderer.Renderer
<fzZzy> renderer.Renderer gets called
<fzZzy> and it creates a context, locates the dom, and serializes it

<slyphon> what is the context of a dom?
<slyphon> what does it *do*

<fzZzy> what is the sound of one hand clapping?

<slyphon> fzZzy: :-)

<fzZzy> slyphon: there's one context object for each level of the dom (aka
<one><two><three /></two></one>)

<fzZzy> it remembers stuff

<slyphon> ah okay
<slyphon> so what is the purpose of "remember"
<slyphon> in the context of a context

<fzZzy> well, if you remember something at <two>, you can .locate it from inside the context of two or three
<fzZzy> but not one


