Collaboration
Inspire supports real-time collaboration, allowing multiple users to work on content simultaneously, communicate, and share resources efficiently.
Real-Time Editing
Multiple users can edit the same scene simultaneously in the Designer:
- Presence indicators — See who else is viewing or editing the scene. Avatar icons appear in the toolbar.
- Live cursors — Other users’ cursors are visible on the canvas in real time, each with a name label and unique colour.
- Element locking — When a user selects an element, it is soft-locked to prevent conflicting edits. Other users see a lock indicator on that element.
- Instant sync — Changes made by any user appear on all other users’ screens within milliseconds.
Chat
Inspire includes built-in user-to-user messaging:
- Direct messages — Send messages to any user in your tenant
- Context-aware — Chat is available within the Designer, so you can discuss content while editing
- Notifications — Unread message indicators appear in the navigation bar
Sharing and Permissions
Control who can access and edit your content using Inspire’s three-layer permission model:
Roles
| Role | Capabilities |
|---|---|
| Admin | Full system access across all tenants |
| TenantAdmin | Full access to all features and settings within a tenant |
| Designer | Create and edit content, manage data sources |
| Operator | Manage endpoints, devices, and scheduling |
| Viewer | View content and dashboards (read-only) |
Visibility Groups
Content can be scoped to visibility groups. Users only see content assigned to their groups. This is useful for multi-department or multi-brand environments.
Sharing
Individual scenes, components, and data sources can be shared with specific users:
- View — User can see the item but not edit
- Edit — User can view and modify the item
- Full Control — User can edit, share, and delete the item
Element Locks
Within a scene, individual elements can be locked to prevent specific users or roles from editing them. This protects critical content while allowing other elements to be freely edited.
Element locks persist across sessions. Only users with the same or higher role level can unlock a locked element.
Element-Level Permissions
The editableBy system provides per-element access control within the Designer. Each element can optionally specify who is permitted to edit it using a flexible prefixed format.
Permission types
- User (
user:{userId}) — Lock to a specific user account - Role (
role:{roleName}) — Lock to anyone with a given role (e.g.role:Designer,role:TenantAdmin) - Group (
group:{groupId}) — Lock to anyone in a specific visibility group (e.g. only the Marketing group can edit a zone)
These can be combined freely. For example, an element with ["user:abc", "role:Operator"] is editable by user abc and anyone with the Operator role.
How it works
- No restriction (default): When
editableByis empty or undefined, any user with Designer access can edit the element. - Restricted: When
editableBycontains one or more entries, only users matching at least one entry can move, resize, or modify the element’s properties. - Visual indicators: Locked elements show a red lock icon on the canvas. The sidebar displays a “locked” message when a restricted element is selected by a non-permitted user.
Setting element permissions
- Select an element in the Designer
- Open the Access section in the sidebar (requires the
ELEMENT_PERMISSIONSentitlement) - Click Lock to me to restrict editing to your user account
- Use Add role… to restrict editing to users with a specific role
- Use Remove to remove individual entries, or Clear restrictions to make the element editable by everyone again
Each entry displays a colour-coded type badge (User, Role, or Group) for easy identification.
Element permissions are stored as part of the content document JSON (editableBy field on each element). They are enforced client-side in the Designer and do not require a separate database entity. All entries must use a prefix (user:, role:, or group:) — unprefixed values are ignored.
Activity Feed
The activity feed (accessible from the sidebar) shows recent actions across your tenant:
- Scene published
- Content edited
- Data source updated
- Device status changes
- User logins
Filter by user, content type, or date range to find specific activities.