Differences between revisions 14 and 24 (spanning 10 versions)
Revision 14 as of 2011-01-12 21:21:29
Size: 940
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 4: Line 4:
=== Notebook: ===
  * download worksheets

  * add users

Line 5: Line 11:
  * introspection   * evaluate_code(''input'')
      * introspection
      * interacts

  *get_output(''uid'')
Line 17: Line 27:
  * publish

  * share

  * delete

  * user ping

  * get text representation, html representation
Line 26: Line 46:
      -- output:
            --'status'
Line 29: Line 47:
            --'output'
Line 31: Line 48:
  * update metadata: hide, lock...   * update metadata: hide, lock, cell priority...

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)