Differences between revisions 1 and 20 (spanning 19 versions)
Revision 1 as of 2011-01-12 20:38:41
Size: 37
Editor: GeoffEhrman
Comment:
Revision 20 as of 2011-01-12 21:30:22
Size: 1063
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(''input'')

      -- introspection

      -- interacts

  *get_output(''uid'')

  * create cells

  * delete cells

  * join cells

  * split cells

  * promote/demote cells in a cell heirarchy

  * publish

  * share

  * delete

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

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
  • publish
  • share
  • delete

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