The Sage Notebook Server: A Technical Overview
This document gives a technical overview of the new Sage Notebook server, including how it responds to user requests, delegates tasks, etc. See #6983 for instructions on trying out the new server.
All access goes through guard.py.
locateChild checks authentication.
If the user is authenticated, locateResource is called to get the appropriate page.
locateResource, in turn, uses the LoginSystem class in avatars.py to get the appropriate resource.
LoginSystem calls the appropriate function in twist.py.
Which would be AdminTopLevel, UserTopLevel, FailedTopLevel, or AnonymousTopLevel, depending on the user type.
The *TopLevel resources generate child resources based on their childFactory methods.
- Each resource represents a segment of the URL.
Thus '/' is the TopLevel resource, and '/home/' is mapped to the Worksheets resource, etc.
The tree is traversed until a leaf is reached, then the leaf's render method is called.