Share and edit documents in real-time. Lightweight and modular alternative to shareJS.
Share and edit documents in real-time.
- Silent reconnect: Whether the server goes down or the connection drops dead, it doesn't matter. Once the connection is re-established prism will sync everything and you'll be fine.
npm install prism.io and
component install marcelklehr/prism.io (I intend to add a plain, browserified version)
var server = require'http'createServerappprism = require'prism.io'serverserverlisten80
var prism = require'prism.io'prismconnectdocument: windowlocationpathname // or something elseeditor: documentquerySelector'.content' // Any contenteditable element or the body of an wysiwyg editor's iframe
Possible options are:
editor: An editor adapter
server: The server address. Default:
document: A string containing the identifier of the document to access
Takes any block and inline html element except for inputs.
Takes an input element like a
<textarea> or an
- Wrap changesets in edits to dry up edit transformations
- MESSAGE QUEUE! Once you start doing async stuff, you have multiple half-digested maessages -- bad thing. And a prefect race condition.
- Investigate on webRTC's DataChannel (client-side peer-to-peer communication)
- Otherwise make it scale without pain (for the admin, of course! This is gonna be an ordeal for the programmer...)
- Perhaps remove socket.io as a dep and make people add their own transport layer
- Sync the dom directly, instead of innerHTML? -- check how meteor guys do it.. perhaps use https://github.com/tomhuda/metamorph.js
- multiple connections on one page
Submit an issue. Really!