Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2011-01-12 20:38:41
Size: 37
Editor: GeoffEhrman
Comment:
Revision 15 as of 2011-01-12 21:22:05
Size: 966
Editor: GeoffEhrman
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
* increase_worksheet_state_number() Guiding principle: put as much in the URL as is reasonable.

== Things that happen: ==
=== Worksheet: ===
  * evaluate code

      -- introspection

  * create cells

  * delete cells

  * join cells

  * split cells

  * promote/demote cells in a cell heirarchy

=== Cell: ===
  * change input

  * evaluate

  * get_output(''start''=0)

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

      -- output:
            --'status'

            --'output'

  * update metadata: hide, lock...

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'')

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

Things that happen:

Worksheet:

  • evaluate code
    • -- introspection
  • create cells
  • delete cells
  • join cells
  • split cells
  • promote/demote cells in a cell heirarchy

Cell:

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

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

      • --'status' --'output'
  • update metadata: hide, lock...

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)