Guiding principle: put as much in the URL as is reasonable.
Things that happen:
Worksheet:
- introspection
- create cells
- delete cells
- join cells
- split
- hide cells
Cell:
- change input
- evaluate
- get_output('start'=0)
- -- 'start' - offset telling how much text we've already received -- output:
- --'status' --'output'
- -- 'start' - offset telling how much text we've already received -- output:
JSON <---> HTTP
HTTP Requests:
Structure of URL:
/home/ username / worksheet_num / cell_id /..
- ../update
JSON Messages:
'id' : id
'status' : 'success' or 'failure'
Database Calls:
- increase_worksheet_state_number()
update_cell_input(cell_id, input_text)
evaluate_cell(cell_id)
insert_after_cell(cell_id)