joemccann/dillinger — pull request #197 by johntyree (2014-05-30 14:49:25+00:00)
Title: WIP: Real-time collaborative editing

This isn't ready for primetime yet, but I'm putting it up here for comments. I've been a "web-developer" for about 18 hours total so feel free to complain about best practices / style / etc.

# Dillinger + ShareJS.

- Redirects to a random hash appended to urls like `dillinger.io/fYurP`. You can invite someone else to your session by sharing your unique url.

### The Good:
- Real-time updates are pretty smooth and everything appears to "just work"
- You can load a document from a plugin, edit it with someone else, then save again without allowing others access to your secrets.

### The Bad:
- `ShareJS` works via a central server so this isn't 'web-scale'. Alternatives might include Mozilla's `TogetherJS`, but it hasn't been investigated.
- I don't see any way to know how many concurrent users there are.

### Unfinished:
- [ ] Only the dropbox plugin has been adapted to redirect properly
- [ ] There is no way to turn off collaboration
- [ ] The UI needs a little help
- [ ] Clean up meandering commit history