The minimum version is:
def submit_data(skicall): return
This function is called when a responder wishes to submit data for processing in some manner. This function typically should populate the skicall.page_data dictionary, usually with widgfields as keys, and values to insert into the fields.
This framework often refers to the key tuple (widgetname,fieldname) as a widgfield.
Using the skiadmin facility a responder is chosen from a list of responders by yourself, and added to this site like any other page. Each responder has a different functionality. Certain responders call this submit_data function. Typically a client web browser would make a call to a responder, which (after start_call is called) would set any received form data into the skicall.call_data dictionary, and then call your submit_data function. Responders generally are set with a target ident - generally the ident of a template page, which will have its widgets populated by any data you set in the skicall.page_data dictionary.
The responder calling this function will specify what it wants returned from submit_data in its documentation.
Most responders require 'None' to be returned, but, for example, the LogIn responder requires a session string.
It is possible for one responder to pass the call to another, therefore submit_data could be called multiple times within a single call. Your function can inspect skicall.ident_list which is the list of such responder idents called - the first item being the responder ident called by the user, the last entry being the responder ident that called submit_data.
Each ident in the list is a tuple of the form ('projname', pagenumber).
skicall.submit_list is a list of strings which may be submitted by the responder calling this function.
They are optionally used for your convenience, and set when you add a responder to the project.
skicall.submit_dict is a dictionary which may be submitted by the responder calling this function.
The submit_dict contents depends on the responder, and are documented for each responder type in the skiadmin pages.
skicall.call_data is a dictionary which you can populate with your own data during the progress of the call. If you wish to clear it, use skicall.call_data.clear().
Typically a responder would be used to pass submitted form data into this call_data dictionary prior to this function being called.
On returning from this function the call will be passed to the responder's target page, which could typically be a template page (in which case your end_call function will be called next) or it could be another responder. If required a GoTo exception could be raised to jump elsewhere, or a FailPage exception could be raised to jump to the responders failure page with an error message.