Guiding principle: put as much in the URL as is reasonable.
Things that happen:
Worksheet:
evaluate_code(input)
- -- introspection
Edit conflict - other version: get_output(uid)
get_output(start=0) -- JSON <---> HTTP
Structure of URL: /home/ username / worksheet_num / cell_id /..
'id' : 'status' :
update_cell_input( evaluate_cell( insert_after_cell(Cell:
start - offset telling how much text we've already received -- output: {'status': ---, 'output': ---} HTTP Requests:
JSON Messages:
id Database Calls:
cell_id, input_text)