{"action":"created","issue":{"url":"https://api.github.com/repos/slamdata/slamdata/issues/125","labels_url":"https://api.github.com/repos/slamdata/slamdata/issues/125/labels{/name}","comments_url":"https://api.github.com/repos/slamdata/slamdata/issues/125/comments","events_url":"https://api.github.com/repos/slamdata/slamdata/issues/125/events","html_url":"https://github.com/slamdata/slamdata/pull/125","id":80549239,"number":125,"title":"Notebook serialization","user":{"login":"garyb","id":693642,"avatar_url":"https://avatars.githubusercontent.com/u/693642?v=3","gravatar_id":"","url":"https://api.github.com/users/garyb","html_url":"https://github.com/garyb","followers_url":"https://api.github.com/users/garyb/followers","following_url":"https://api.github.com/users/garyb/following{/other_user}","gists_url":"https://api.github.com/users/garyb/gists{/gist_id}","starred_url":"https://api.github.com/users/garyb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garyb/subscriptions","organizations_url":"https://api.github.com/users/garyb/orgs","repos_url":"https://api.github.com/users/garyb/repos","events_url":"https://api.github.com/users/garyb/events{/privacy}","received_events_url":"https://api.github.com/users/garyb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-05-25T14:11:32Z","updated_at":"2015-05-26T13:52:46Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/slamdata/slamdata/pulls/125","html_url":"https://github.com/slamdata/slamdata/pull/125","diff_url":"https://github.com/slamdata/slamdata/pull/125.diff","patch_url":"https://github.com/slamdata/slamdata/pull/125.patch"},"body":"Will resolve #93, but it's not quite ready yet - I thought I'd get some feedback first.\r\n\r\nNotebooks created by exploring files don't work now, but everything else is done. I'll figure that out if we're happy with this approach (for now at least).\r\n\r\n[This](https://github.com/slamdata/slamdata/compare/93-notebook-serialization?expand=1#diff-6e8be3f6e060590a815a0d8efa0f64fdR87) specifically is what I wanted thoughts on - basically I've wrapped every event from the cells in something which triggers a re-save of the notebook. It does exactly what we want, but probably fires a bit too much right now (for instance, for every directory read when expanding a file dropdown).\r\n\r\nWithout something like this, we'll have to manually save the notebook when performing actions in the cells, which also means passing the whole notebook through to the controller for the cells, which seems like a not-great idea if we're trying to make them componenty.\r\n\r\nI guess another option would be to create a new `Input` for cells, which wraps messages in a constructor that distinguishes between UI-only `Input`s, and `Input`s that should trigger a notebook re-save, and then `saveOnCellUpdate` can switch based on that."},"comment":{"url":"https://api.github.com/repos/slamdata/slamdata/issues/comments/105532630","html_url":"https://github.com/slamdata/slamdata/pull/125#issuecomment-105532630","issue_url":"https://api.github.com/repos/slamdata/slamdata/issues/125","id":105532630,"user":{"login":"garyb","id":693642,"avatar_url":"https://avatars.githubusercontent.com/u/693642?v=3","gravatar_id":"","url":"https://api.github.com/users/garyb","html_url":"https://github.com/garyb","followers_url":"https://api.github.com/users/garyb/followers","following_url":"https://api.github.com/users/garyb/following{/other_user}","gists_url":"https://api.github.com/users/garyb/gists{/gist_id}","starred_url":"https://api.github.com/users/garyb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garyb/subscriptions","organizations_url":"https://api.github.com/users/garyb/orgs","repos_url":"https://api.github.com/users/garyb/repos","events_url":"https://api.github.com/users/garyb/events{/privacy}","received_events_url":"https://api.github.com/users/garyb/received_events","type":"User","site_admin":false},"created_at":"2015-05-26T13:52:46Z","updated_at":"2015-05-26T13:52:46Z","body":"Well, that was a nice theory, but I think for the time we have this is the more realistic approach."}}