Guiding principle: put as much in the URL as is reasonable.
Things that happen:
Worksheet:
evaluate_code(input)
- -- introspection -- interacts
get_output(uid)
- create cells
- delete cells
- join cells
- split cells
- promote/demote cells in a cell heirarchy
Cell:
- change input
- evaluate
get_output(start=0)
--
JSON <---> HTTP
HTTP Requests:
Structure of URL:
/home/ username / worksheet_num / cell_id /..
'id' : 'status' :
update_cell_input( evaluate_cell( insert_after_cell(JSON Messages:
id Database Calls:
cell_id, input_text)