Synchronization Message Flow
Backbone sends different messages internally to synchronize issues and control some additional functionality. The messages described in this article relate to synchronizations created over email or file exchange mainly, only the synchronization messages are also valid for the other configuration types (server/data center, to cloud, local).
Messages at the creation of a synchronization
During the setup of a synchronization using the email or file exchange method, Backbone will exchange the following messages to establish a secure connection between both projects.
Action | Master Status | Slave Status | |
---|---|---|---|
1 | A user creates a master configuration - and downloads a handshake file. This handshake file contains the information how to connect to this configuration as well as the public encryption key for it. | HANDSHAKE | |
2 | A user creates the corresponding slave configuration with the handshake file. | HANDSHAKE | HANDSHAKE |
3 | The Backbone slave sends back a Handshake message via the configured communication channel (file/email) which contains the analogue information to the handshake from the master. | HANDSHAKE | HANDSHAKE |
4 | The Backbone master receives the Handshake message and initiates a connection test by sending a Ping message to the slave. | HANDSHAKE | HANDSHAKE |
5 | The Backbone slave receives the Ping message and replies with a Ping message itself. | HANDSHAKE | STOPPED |
6 | The Backbone master receives the Ping message. The synchronization has finished its connection test and is ready to be configured. | STOPPED | STOPPED |
Messages at configuration updates
In order to keep the configuration using email or file exchange in sync, Backbone uses these messages:
Action | Master Status | Slave Status | |
---|---|---|---|
1 | Backbone has been configured previously and is running. | RUNNING | RUNNING |
2 | A user updates the Backbone configuration at the master side. | WAITING FOR SLAVE | RUNNING |
3 | The Backbone master sends a Configuration message to the slave. | WAITING FOR SLAVE | UPDATE REQUIRED |
4 | A user updates the the Backbone configuration at the slave side. | WAITING FOR SLAVE | RUNNING |
5 | The Backbone slave sends a Configuration Updated message to the master. | RUNNING | RUNNING |
The table above is also valid for a stopped synchronization. All status which show running would be stopped instead.
Messages at issue synchronizations
Please note that the status in this table relates to the synchronization status of the single issue as you can see it in the issue panel.
1 | An issue has been synchronized with Backbone earlier. | UP TO DATE | UP TO DATE |
2 | A user updates an issue (on the master side) which is synchronized with Backbone. | UP TO DATE | UP TO DATE |
3 | The Backbone master sends an Issue message to the slave. | PENDING | UP TO DATE |
4 | The Backbone slave processes the message and responds with a Confirmation message. Depending if the synchronization was successful or not, the slave issue synchronization status will be updated. | PENDING | UP TO DATE/ ERROR |
5 | The Backbone master receives the Confirmation message and displays its content in the sync info panel. Depending if the synchronization was successful or not, the master issue synchronization status will be updated. | UP TO DATE/ ERROR | UP TO DATE/ ERROR |