⇤ ← Revision 1 as of 2009-09-28 09:12:26
1103
Comment: Copied timdumol's outline from #sage-devel.
|
1134
Trivial.
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= The Sage Notebook Server = | = The Sage Notebook Server: A Technical Overview = |
Line 3: | Line 3: |
This document gives an overview of the new Sage Notebook server, including how it responds to user requests, delegates tasks, etc. See [[http://trac.sagemath.org/sage_trac/ticket/6983 | #6983]] for instructions on trying out the new server. | This document gives a technical overview of the new Sage Notebook server, including how it responds to user requests, delegates tasks, etc. See [[http://trac.sagemath.org/sage_trac/ticket/6983 | #6983]] for instructions on trying out the new server. |
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.