Whiteboard
Terminology
- Space The actual whiteboard. Terminology inherited from spacedeck.
Overview
The whiteboard module allows participants to collaboratively edit a whiteboard (space).
A moderator has to initialize the space for a room with the initialize action.
Once initialized, every participant in a room will get an access URL to the created space via the space_url message.
A moderator can snapshot the current state of the space as a PDF document with the generate_pdf action.
The access URL to the PDF is sent to every participant in the room.
Joining the room
When joining a room, the join_success message contains the current status of the whiteboard module.
The module data has the following structure:
| Field | Type | Required | Description |
|---|---|---|---|
status | enum | yes | Either "not_initialized", "initializing", "initialized" |
url | string | when status is "initialized" | The access url to the space of the room |
{
"status": "initialized",
"url": "https://whiteboard.opentalk.eu/s/0c5a6c7-00000000-0000-0000-0000-000000000000"
}
Joined
When joining a room, the joined control event sent to all other participants does not contain module-specific data.
Commands
Overview
Initialize
The Initialize message can be sent by a moderator to initialize a new space for the room.
Once initialized, joining participants will receive the access URL via the join_success message.
Response
A SpaceUrl message with the access URL to the space is sent to every participant in the room.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
action | enum | yes | Must be "initialize". |
Example
{
"action": "initialize",
}
GeneratePdf
Allows a moderator to generate a PDF from the current state of the space.
Access to the PDF is given to all participants in the room via the PdfUrl event.
Response
A PdfUrlmessage with the access URL to the PDF document is sent to every participant in the room.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
action | enum | yes | Must be "generate_pdf". |
Example
{
"action": "generate_pdf",
}
Events
Overview
SpaceUrl
Contains the URL to the space of the room.
Is received by every participant when a moderator initialized the space.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
message | enum | yes | Is "space_url". |
url | string | yes | The URL to the space of the room |
Example
{
"message": "space_url",
"url": "https://whiteboard.opentalk.eu/s/0c5a6c7-00000000-0000-0000-0000-000000000000"
}
PdfUrl
Contains the URL to the PDF document of the space.
Is received by every participant when a moderator generates a PDF document for the space.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
message | enum | yes | Is "pdf_url". |
url | string | yes | The URL to the PDF document of the space |
Example
{
"message": "generate_pdf",
"url": "https://whiteboard.opentalk.eu/<path-to-pdf>"
}
Error
Received when something went wrong processing messages sent to the server.
Fields
| Field | Type | Always | Description |
|---|---|---|---|
message | enum | yes | Is "error" |
error | enum | yes | Exhaustive list of error strings, see table below |
| Error | Description |
|---|---|
insufficient_permissions | The requesting user has insufficient permissions for the operation |
currently_initializing | The whiteboard initialization was already issued and whiteboard is currently initializing |
initialization_failed | The whiteboard initialization failed |
already_initialized | The whiteboard is already initialized and accessible |
storage_exceeded | The requesting user has exceeded their storage |
Example
{
"message": "error",
"error": "insufficient_permissions"
}