josephg / ShareJS

Collaborative editing in any app
Other
4.97k stars 456 forks source link

JSON support status? #339

Open ryguyrg opened 10 years ago

ryguyrg commented 10 years ago

Has anyone successfully used ShareJS with JSON support? We're aiming to do OT on very large and nested JSON trees.

There's this wiki: https://github.com/share/ShareJS/wiki/JSON-Operations

Which points here: https://github.com/ottypes/docs/wiki/JSON-operations

Which points here: https://github.com/ottypes/json0

Known of these seem to indicate major issues with the JSON type support. However, there's this following line in the code which indicates JSON support is buggy: https://github.com/share/ShareJS/blob/master/lib/types/index.js#L8

Any guidance?

Thanks so much! -Ryan

dignifiedquire commented 10 years ago

Hey, we are using ShareJS JSON support in production on https://codio.com. We haven't done a lot of changes to it but some minor things that have not been merged upstream yet. You can all find them in our github repo. Basically it all works very well, the only caveat is that there is some JSON.parse and JSON.stringify going on which can be a bottleneck if trying to move larger objects ( > 2mb) as they are blocking the whole thread on the client as well as on the server. See joyent/node#7543 for a discussion and possible future improvements on this. I can also recommend to use https://github.com/codio/diffop if you need to update the objects externaly to avoid any unneeded blockage.

mattwright commented 10 years ago

I've been using the 0.6 branch with JSON and it has seemed reliable in testing, but my project isn't in production yet...

I did have one issue that I patched in the copy running on my server:

https://groups.google.com/forum/#!topic/sharejs/dnGKSOZ7rO4

-Matt

morgante commented 10 years ago

I'm using JSON with the 0.6 branch for a production CMS and it's generally been working fine. We haven't upgraded to 0.7 because that code still looks unstable.

nornagon commented 10 years ago

FWIW Lever (https://lever.co) is running the JSON OT code, based on 0.7 I believe, with a pretty huge amount of data in production. @josephg

ryguyrg commented 10 years ago

Thanks so much for all the answers everyone!

devongovett commented 10 years ago

I should mention that the new Storify editor is also running the 0.7 JSON OT code in production, with a very large amount of data as well.