{"action":"created","issue":{"url":"https://api.github.com/repos/meteor/guide/issues/16","labels_url":"https://api.github.com/repos/meteor/guide/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/meteor/guide/issues/16/comments","events_url":"https://api.github.com/repos/meteor/guide/issues/16/events","html_url":"https://github.com/meteor/guide/pull/16","id":110354837,"number":16,"title":"Meteor apps in offline mode","user":{"login":"brajt","id":4461349,"avatar_url":"https://avatars.githubusercontent.com/u/4461349?v=3","gravatar_id":"","url":"https://api.github.com/users/brajt","html_url":"https://github.com/brajt","followers_url":"https://api.github.com/users/brajt/followers","following_url":"https://api.github.com/users/brajt/following{/other_user}","gists_url":"https://api.github.com/users/brajt/gists{/gist_id}","starred_url":"https://api.github.com/users/brajt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brajt/subscriptions","organizations_url":"https://api.github.com/users/brajt/orgs","repos_url":"https://api.github.com/users/brajt/repos","events_url":"https://api.github.com/users/brajt/events{/privacy}","received_events_url":"https://api.github.com/users/brajt/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/meteor/guide/labels/discussion","name":"discussion","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":13,"created_at":"2015-10-08T01:35:11Z","updated_at":"2015-11-06T08:58:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/meteor/guide/pulls/16","html_url":"https://github.com/meteor/guide/pull/16","diff_url":"https://github.com/meteor/guide/pull/16.diff","patch_url":"https://github.com/meteor/guide/pull/16.patch"},"body":"It would be great to have some official guidelines on how to prepare Meteor apps to work with data in offline mode and push the changes to main database after the Internet connection is established. It's an important use case especially for apps frequently used in phones.\n<a href='#crh-start'></a><a href='#crh-data-%7B%22processed%22%3A%20%5B%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146389480%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146390734%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146392691%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146392823%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146392930%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146393116%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146393516%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146393732%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146394007%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146420035%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-147471337%22%2C%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-154081037%22%5D%2C%20%22comments%22%3A%20%7B%22General%20Comment%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/meteor/guide/pull/16%23issuecomment-146389480%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22%40brajt%3A%20Thank%20you%20for%20submitting%20a%20pull%20request%21%20%20%20%20%20%20%20%20%20%20%20Before%20we%20can%20merge%20it%2C%20%20%20%20%20%20%20%20%20%20%20you%27ll%20need%20to%20sign%20the%20Meteor%20Contributor%20Agreement%20here%3A%20%20%20%20%20%20%20%20%20%20%20https%3A//contribute.meteor.com/%22%2C%20%22created_at%22%3A%20%222015-10-08T01%3A35%3A12Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/4250050%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/meteor-bot%22%7D%7D%2C%20%7B%22body%22%3A%20%22This%20is%20actually%20a%20bit%20of%20a%20pain%20point%20with%20Meteor%20right%20now%20-%20it%27s%20not%20quite%20designed%20to%20work%20seamlessly%20across%20long%20reconnects.%20A%20fair%20number%20of%20people%20have%20been%20asking%20for%20better%20answers%20about%20this%20topic%20though%20in%20my%20memory.%5Cr%5Cn%5Cr%5CnI%20imagine%20the%20closest%20solution%20right%20now%20would%20be%20something%20like%20GroundDB%3F%20https%3A//atmospherejs.com/ground/db%5Cr%5Cn%5Cr%5CnMaybe%20we%20can%20get%20the%20authors%20on%20here%20to%20see%20what%20they%20think%20-%20%40raix%20%40urossmolnik%2C%20do%20you%20think%20GroundDB%20meets%20this%20requirement%20well%3F%20Is%20it%20something%20we%20should%20include%20in%20the%20guide%3F%20Are%20you%20guys%20using%20it%20in%20production%3F%22%2C%20%22created_at%22%3A%20%222015-10-08T01%3A47%3A27Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/448783%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/stubailo%22%7D%7D%2C%20%7B%22body%22%3A%20%22In%20my%20case%20it%27s%20rather%20%5C%22I%20plan%20to%5C%22%20than%20%5C%22I%20do%5C%22.%20It%27s%20a%20crucial%20functionality%20for%20the%20app%20I%27m%20writing%2C%20but%20development%20of%20it%20is%20not%20at%20the%20stage%20when%20I%27d%20worry%20about%20this%20matter%20yet.%20I%20was%20just%20inspired%20by%20the%20recent%20%5Bdiscussion%20on%20forums%5D%28https%3A//forums.meteor.com/t/is-grounddb-the-right-solution-for-me/10947%29%20and%20thought%20it%20would%20be%20great%20to%20have%20this%20topic%20touched%20by%20the%20Meteor%20Guide.%20However%2C%20if%20you%20decide%20it%27s%20not%20important%20enough%2C%20it%27s%20fine%20for%20me.%22%2C%20%22created_at%22%3A%20%222015-10-08T02%3A00%3A23Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/4461349%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/brajt%22%7D%7D%2C%20%7B%22body%22%3A%20%22Can%20you%20elaborate%20more%20on%20what%20functionality%20you%20want%20in%20your%20app%20exactly%3F%20The%20best%20thing%20we%20can%20do%20to%20get%20some%20information%20in%20the%20guide%20is%20to%20get%20a%20lot%20of%20really%20specific%20data%20so%20that%20we%20aren%27t%20writing%20about%20something%20people%20don%27t%20actually%20need.%22%2C%20%22created_at%22%3A%20%222015-10-08T02%3A01%3A42Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/448783%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/stubailo%22%7D%7D%2C%20%7B%22body%22%3A%20%22I%20suspect%20the%20answer%20is%20rather%20than%20%5C%22we%20don%27t%20think%20it%27s%20important%5C%22%2C%20rather%20%5C%22we%20don%27t%20have%20anything%20definitive%20to%20say%5C%22.%20I%27m%20not%20sure%20we%20want%20guides%20that%20are%20less%20than%20definitive%20on%20a%20topic%20%40stubailo%3F%22%2C%20%22created_at%22%3A%20%222015-10-08T02%3A02%3A35Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/132554%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/tmeasday%22%7D%7D%2C%20%7B%22body%22%3A%20%22I%20feel%20like%20if%20there%20is%20a%20very%20important%20topic%20where%20we%20don%27t%20have%20anything%20to%20say%2C%20we%20should%20figure%20out%20what%20to%20say%2C%20no%3F%20Or%20do%20you%20mean%20that%20there%20won%27t%20be%20a%20one-size-fits-all%20solution%20for%20offline%20data%3F%22%2C%20%22created_at%22%3A%20%222015-10-08T02%3A04%3A03Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/448783%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/stubailo%22%7D%7D%2C%20%7B%22body%22%3A%20%22What%20I%20mean%20is%20that%20a%20%27guide%27%20that%27s%20just%20a%20collection%20of%20ideas%20and%20%5C%22try%20this%20package%2C%20it%20does%20some%20of%20what%20you%20need%5C%22%20isn%27t%20that%20helpful.%20I%20think%20that%20kind%20of%20experimentation%20is%20best%20left%20to%20community%20efforts%20like%20the%20Meteorpedia.%5Cr%5Cn%5Cr%5CnNot%20to%20say%20we%20shouldn%27t%20have%20a%20open%20PR/issue/md%20file%20that%27s%20like%20%5C%22we%20need%20a%20better%20story%20for%20offline%20mode%2C%20we%20need%20to%20fill%20in%20these%20blanks%20somehow%2C%20hint%20hint%20community%5C%22%20--%20I%20just%20don%27t%20think%20we%27d%20publish%20it%20yet.%22%2C%20%22created_at%22%3A%20%222015-10-08T02%3A08%3A08Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/132554%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/tmeasday%22%7D%7D%2C%20%7B%22body%22%3A%20%22I%20think%20you%27re%20right.%20Let%27s%20keep%20this%20open%20a%20while%20and%20see%20if%20anything%20comes%20out%20of%20it.%22%2C%20%22created_at%22%3A%20%222015-10-08T02%3A10%3A10Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/448783%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/stubailo%22%7D%7D%2C%20%7B%22body%22%3A%20%22In%20my%20case%20it%27s%20a%20simple%20%5C%22%2Abe%20able%20to%20read%20and%20edit%20text%20documents%20%28creative%20writing%29%20in%20offline%20mode%20without%20the%20need%20to%20export%20them%20outside%20of%20the%20application%2A%5C%22.%20So%20as%20it%27s%20not%20a%20complicated%20case%2C%20I%27m%20pretty%20sure%20one%20of%20already%20existing%20solutions%20like%20GroundDB%20will%20do%20a%20good%20job%20here.%20%5Cr%5Cn%5Cr%5CnI%20agree%20that%20if%20there%27s%20no%20official%20thought%20on%20the%20topic%20yet%2C%20there%27s%20no%20point%20to%20write%20about%20it%20in%20the%20guide.%20Then%2C%20just%20%2B1%20from%20me%20for%20a%20better%20story%20in%20Meteor%20for%20offline%20mode.%20%3A%29%22%2C%20%22created_at%22%3A%20%222015-10-08T02%3A13%3A16Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/4461349%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/brajt%22%7D%7D%2C%20%7B%22body%22%3A%20%22I%27m%20rewriting%20Ground%3Adb%20at%20the%20moment%2C%20we%20are%20using%20it%20in%20prod.%20Its%20not%20just%20about%20offline%20support%2C%20its%20also%20a%20way%20to%20scale.%20Eg.%20Resuming%20a%20session%20instead%20of%20sending%20all%20the%20data%20to%20each%20time%20-%20something%20to%20come.%22%2C%20%22created_at%22%3A%20%222015-10-08T04%3A58%3A08Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/1136718%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/raix%22%7D%7D%2C%20%7B%22body%22%3A%20%22OK%20let%20me%20know%20when%20there%20are%20developments%21%22%2C%20%22created_at%22%3A%20%222015-10-12T17%3A37%3A42Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/448783%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/stubailo%22%7D%7D%2C%20%7B%22body%22%3A%20%22I%20saw%20some%20demos%20sampling%20offline%20implementation.%5Cr%5Cn%5Cr%5CnWhile%20i%20haven%27t%20seen%20really%20good%20production%20cases/material%20about%20the%20subject%2C%20maybe%20a%20basic%20guidance%20can%20be%20done%20with%20the%20resources%20today%20available.%5Cr%5Cn%5Cr%5CnA%20warning%20that%20a%20more%20advanced%20usage%20like%20%27sync%20conflict%20resolution%27%20is%20yet%20maturing%20in%20the%20community%20should%20be%20explicit%20too.%5Cr%5Cn%5Cr%5CnGood%20news%20%40raix%20sounds%20relieving%20you%20are%20looking%20at%20this%20feature%20improvement.%22%2C%20%22created_at%22%3A%20%222015-11-05T14%3A48%3A18Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/2953025%3Fv%3D3%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/fabiodr%22%7D%7D%5D%2C%20%22title%22%3A%20%22General%20Comment%22%7D%7D%7D'></a>\n<a href='https://www.codereviewhub.com/'><img src='http://www.codereviewhub.com/site/github-bar.png' height=40></a>\n- [ ] <a href='#crh-comment-General Comment'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/meteor/guide/pull/16#issuecomment-146389480'>General Comment</a></b>\n- <a href='https://github.com/meteor-bot'><img border=0 src='https://avatars.githubusercontent.com/u/4250050?v=3' height=16 width=16'></a> @brajt: Thank you for submitting a pull request!           Before we can merge it,           you'll need to sign the Meteor Contributor Agreement here:           https://contribute.meteor.com/\n- <a href='https://github.com/stubailo'><img border=0 src='https://avatars.githubusercontent.com/u/448783?v=3' height=16 width=16'></a> This is actually a bit of a pain point with Meteor right now - it's not quite designed to work seamlessly across long reconnects. A fair number of people have been asking for better answers about this topic though in my memory.\nI imagine the closest solution right now would be something like GroundDB? https://atmospherejs.com/ground/db\nMaybe we can get the authors on here to see what they think - @raix @urossmolnik, do you think GroundDB meets this requirement well? Is it something we should include in the guide? Are you guys using it in production?\n- <a href='https://github.com/brajt'><img border=0 src='https://avatars.githubusercontent.com/u/4461349?v=3' height=16 width=16'></a> In my case it's rather \"I plan to\" than \"I do\". It's a crucial functionality for the app I'm writing, but development of it is not at the stage when I'd worry about this matter yet. I was just inspired by the recent [discussion on forums](https://forums.meteor.com/t/is-grounddb-the-right-solution-for-me/10947) and thought it would be great to have this topic touched by the Meteor Guide. However, if you decide it's not important enough, it's fine for me.\n- <a href='https://github.com/stubailo'><img border=0 src='https://avatars.githubusercontent.com/u/448783?v=3' height=16 width=16'></a> Can you elaborate more on what functionality you want in your app exactly? The best thing we can do to get some information in the guide is to get a lot of really specific data so that we aren't writing about something people don't actually need.\n- <a href='https://github.com/tmeasday'><img border=0 src='https://avatars.githubusercontent.com/u/132554?v=3' height=16 width=16'></a> I suspect the answer is rather than \"we don't think it's important\", rather \"we don't have anything definitive to say\". I'm not sure we want guides that are less than definitive on a topic @stubailo?\n- <a href='https://github.com/stubailo'><img border=0 src='https://avatars.githubusercontent.com/u/448783?v=3' height=16 width=16'></a> I feel like if there is a very important topic where we don't have anything to say, we should figure out what to say, no? Or do you mean that there won't be a one-size-fits-all solution for offline data?\n- <a href='https://github.com/tmeasday'><img border=0 src='https://avatars.githubusercontent.com/u/132554?v=3' height=16 width=16'></a> What I mean is that a 'guide' that's just a collection of ideas and \"try this package, it does some of what you need\" isn't that helpful. I think that kind of experimentation is best left to community efforts like the Meteorpedia.\nNot to say we shouldn't have a open PR/issue/md file that's like \"we need a better story for offline mode, we need to fill in these blanks somehow, hint hint community\" -- I just don't think we'd publish it yet.\n- <a href='https://github.com/stubailo'><img border=0 src='https://avatars.githubusercontent.com/u/448783?v=3' height=16 width=16'></a> I think you're right. Let's keep this open a while and see if anything comes out of it.\n- <a href='https://github.com/brajt'><img border=0 src='https://avatars.githubusercontent.com/u/4461349?v=3' height=16 width=16'></a> In my case it's a simple \"*be able to read and edit text documents (creative writing) in offline mode without the need to export them outside of the application*\". So as it's not a complicated case, I'm pretty sure one of already existing solutions like GroundDB will do a good job here.\nI agree that if there's no official thought on the topic yet, there's no point to write about it in the guide. Then, just +1 from me for a better story in Meteor for offline mode. :)\n- <a href='https://github.com/raix'><img border=0 src='https://avatars.githubusercontent.com/u/1136718?v=3' height=16 width=16'></a> I'm rewriting Ground:db at the moment, we are using it in prod. Its not just about offline support, its also a way to scale. Eg. Resuming a session instead of sending all the data to each time - something to come.\n- <a href='https://github.com/stubailo'><img border=0 src='https://avatars.githubusercontent.com/u/448783?v=3' height=16 width=16'></a> OK let me know when there are developments!\n- <a href='https://github.com/fabiodr'><img border=0 src='https://avatars.githubusercontent.com/u/2953025?v=3' height=16 width=16'></a> I saw some demos sampling offline implementation.\nWhile i haven't seen really good production cases/material about the subject, maybe a basic guidance can be done with the resources today available.\nA warning that a more advanced usage like 'sync conflict resolution' is yet maturing in the community should be explicit too.\nGood news @raix sounds relieving you are looking at this feature improvement.\n\n\n<a href='https://www.codereviewhub.com/meteor/guide/pull/16?mark_as_completed=1'><img src='http://www.codereviewhub.com/site/github-mark-as-completed.png' height=26></a>&nbsp;<a href='https://www.codereviewhub.com/meteor/guide/pull/16?approve=1'><img src='http://www.codereviewhub.com/site/github-approve.png' height=26></a>&nbsp;<a href='https://github.com/meteor/guide/pull/16'><img src='http://www.codereviewhub.com/site/github-refresh.png' height=26></a>\n<a href='#crh-end'></a>"},"comment":{"url":"https://api.github.com/repos/meteor/guide/issues/comments/154348470","html_url":"https://github.com/meteor/guide/pull/16#issuecomment-154348470","issue_url":"https://api.github.com/repos/meteor/guide/issues/16","id":154348470,"user":{"login":"raix","id":1136718,"avatar_url":"https://avatars.githubusercontent.com/u/1136718?v=3","gravatar_id":"","url":"https://api.github.com/users/raix","html_url":"https://github.com/raix","followers_url":"https://api.github.com/users/raix/followers","following_url":"https://api.github.com/users/raix/following{/other_user}","gists_url":"https://api.github.com/users/raix/gists{/gist_id}","starred_url":"https://api.github.com/users/raix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/raix/subscriptions","organizations_url":"https://api.github.com/users/raix/orgs","repos_url":"https://api.github.com/users/raix/repos","events_url":"https://api.github.com/users/raix/events{/privacy}","received_events_url":"https://api.github.com/users/raix/received_events","type":"User","site_admin":false},"created_at":"2015-11-06T08:58:29Z","updated_at":"2015-11-06T08:58:29Z","body":"@fabiodr yeah, I'm planning some time for it in december if time and @jperl allows it\r\n@stubailo can we sync up some time and talk about \"resumable\" subscriptions sometime? - I know the code was semi in there but was removed by @glasser in a cleanup - It would be valuable to have a way of resuming subscriptions and only sending the actual updates, but kinda hard to do atm without rewriting / hacking core."}}