The minimum version is:
def start_call(called_ident, skicall): return called_ident
When a call is received by the server, this function is called.
called_ident is normally the ident of the page being called, it is a tuple ('myprojname', pagenumber) - with 'myprojname' being the project name, and pagenumber being the unique integer page number.
skicall is the call object described here.
This function should normally return the called_ident value.
If any tests you set here, which could include testing received cookie values, are ok, then the returned called_ident would normally be the called_ident given in the argument which is that of the page being called.
If None is returned, the 'URL NOT FOUND' page will be automatically returned to the client.
If you wish to handle the call via another page, return an ident, label or url of a page to jump to. You could, for example use this feature to direct the call to a log in page.
An ident is a tuple of (projectname, pagenumber) - each page is given a unique pagenumber as it is created in the admin session.
A label is a string, optionally set in the admin session, which references a page or URL, a convenient label which can be used instead of page idents.
A url would not normally be used for a page within the project, but could be used to direct to an external site.
If the called_ident returned is that of a responder page, then depending on the responder, (or sequence of responders) further function calls may be made to the submit_data function. If called_ident is not a responder (for example a template page) then the function end_call will be called next.
No un-caught exception should be raised in this function - if any are, the Server error page will be displayed.