Documents and DocId's
Y-Sweet uses the term documents
to describe the asset users collaborate on. This can be a whiteboard, text document, etc. To create a realtime experience, multiple users must be connected to the same document id.
It’s up to you how documents are created and authorized. For demos, we like to use a pattern that works like this:
- If the URL contains a
doc
query parameter, use that as the document id. - If the URL does not contain a
doc
query parameter, create a new document and redirect to the same URL with thedoc
query parameter set.
Because this is a common pattern for applications where documents are not private, like shared whiteboards, Y-Sweet provides two features that make it easier:
- The
getOrCreateDocAndToken
helper function, which optionally takes a document id, creates a new document if one doesn't exist, and returns a clientToken. - The
YDocProvider
component has an optionalsetQueryParam
prop, which will automatically set thedoc
query parameter in the URL bar when a new document is created. (This way, if the URL is copied and pasted, the user will end up in the same document.)