Real time collaboration
Several users can work in the same project and the same project version at the same time. The application keeps a live connection to the server, so changes made by one user reach the others without a page reload, and the people currently working with you are visible in the interface header.
Who else is here
The header shows an avatar for every other user working in the same context — your own avatar is not shown there. Each user is assigned a colour, which is used both for their avatar and for the cells they are editing.
- Up to three avatars are shown side by side; the avatar carries the first letter of the user's name, and hovering over it shows the full name
- When more users are present, the remaining ones are collapsed into a +N marker; hovering over it lists their names
- The list updates as users connect and disconnect
What is updated live
Notifications and updates are delivered at three scopes, and you only receive those of the context you are in:
| Scope | What you are notified about |
|---|---|
| Company | Projects of your company being created, edited, cloned, and deleted |
| Project | The global version being changed, versions being created and deleted |
| Version | Changes to the RMD of the version you have open: cell values, added and deleted rows, and cell discussions |
When you switch to another project or another version, the application disconnects from the previous scopes and subscribes to the new ones. This way you only receive notifications that concern what you are looking at, and information does not leak between projects.
Most events arrive as a short notification naming the user who performed the action, which makes it visible who changed what. Lists are refreshed on their own, so the projects list, the version list, and the object lists stay current without a reload.
Editing the same data at the same time
The RMD spreadsheet is edited collaboratively:
- A cell that another user is editing is outlined in that user's colour, so it is visible where someone else is working before you start typing there
- A value saved by one user appears in the other users' tables in place
- Rows added by one user appear for everyone; rows deleted by one user disappear for everyone
- A new discussion and its messages appear in real time
Fact tables and the data model canvas work differently: your changes there stay local until you save them. If you try to switch the project or the version with unsaved changes, the application asks whether to save or discard them first.
When the context disappears under you
| Event | What happens |
|---|---|
| Another user deletes the project you have open | You get the notification "User … has deleted your active project. Please choose another project or create a new project" and are moved to the state with no active project |
| Another user deletes the version you have open | You are told that the version was deleted by another user and its data is no longer available, and you are switched to the global version |
| Another user makes a different version global | You get the notification "User … changed global project version to …" and the version list is refreshed |
| Your access to the project is revoked | The next time you open a project page, an error notification is shown and you are returned to the projects list |
Long operations
Cloning a project runs in the background, so you can keep working while it is in progress:
- Starting the operation shows the notification "Cloning of project … started"
- When it finishes, the notification "Cloning of project … completed successfully. Do you want to switch to this project?" appears with a Switch project button
- If the operation fails, the notification "Cloning of project … could not be completed" is shown
The results of SQL script execution are also delivered over the live connection, so a long query keeps running while you move around the application.