Differences between revisions 3 and 24 (spanning 21 versions)
Revision 3 as of 2011-01-12 20:42:12
Size: 192
Editor: GeoffEhrman
Comment:
Revision 24 as of 2011-01-12 21:40:44
Size: 1144
Editor: GeoffEhrman
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Guiding principle: put as much in the URL as is reasonable.

== Things that happen: ==
=== Notebook: ===
  * download worksheets

  * add users


=== Worksheet: ===
  * evaluate_code(''input'')
      * introspection
      * interacts

  *get_output(''uid'')

  * create cells

  * delete cells

  * join cells

  * split cells

  * promote/demote cells in a cell heirarchy

  * publish

  * share

  * delete

  * user ping

  * get text representation, html representation

=== Cell: ===
  * change input

  * evaluate

  * get_output(''start''=0)

      -- ''start'' - offset telling how much text we've already received



  * update metadata: hide, lock, cell priority...
Line 3: Line 52:
==HTTP Requests:== == HTTP Requests: ==
Structure of URL:
Line 5: Line 55:
==JSON Messages:== /home/ ''username'' / ''worksheet_num'' / ''cell_id'' /..
Line 7: Line 57:
 * ../update
Line 8: Line 59:
==Database Calls:== == JSON Messages: ==
 * 'id' : ''id''

 * 'status' : '' 'success' '' or '' 'failure' ''

== Database Calls: ==
Line 11: Line 67:
 * update_cell_input(cell_id, input_text)  * update_cell_input(''cell_id'', ''input_text'')
Line 13: Line 69:
 * evaluate_cell()  * evaluate_cell(''cell_id'')

 * insert_after_cell(''cell_id'')

Guiding principle: put as much in the URL as is reasonable.

Things that happen:

Notebook:

  • download worksheets
  • add users

Worksheet:

  • evaluate_code(input)

    • introspection
    • interacts
  • get_output(uid)

  • create cells
  • delete cells
  • join cells
  • split cells
  • promote/demote cells in a cell heirarchy
  • publish
  • share
  • delete
  • user ping
  • get text representation, html representation

Cell:

  • change input
  • evaluate
  • get_output(start=0)

    • -- start - offset telling how much text we've already received

  • update metadata: hide, lock, cell priority...

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)