Furthermore, when you subscribe to a folder, this creates an association representing the node that you have subscribed to.
- a device is registered or de-registered
- a node subscription is created or removed
- a node is added
- a node is removed
- a node is renamed
- a node is moved
- node content is changed
If ActiveMQ is unavailable, the SkyVault 2.0 instance will become read-only and no transactions will be committed. The synchronization service consumes the events from the topic and persists them to the synchronization server PostgreSQL database. This is transactional - so if Postgres is down or unavailable, the events will remain in the ActiveMQ topic and the synchronization service will retry until the events have been successfully persisted to the database.
When a user subscribes to a node in the repository, the Desktop Sync client performs a tree-walk against the repository (using the CMIS API). The folder structure and content is synced to the Desktop Sync client device. The Desktop Sync client will then poll the synchronization service for changes every 5 minutes, by default. Changes on the device will trigger a poll of the synchronization service for changes. The synchronization service responds with a set of events that represent what has changed in that folder since the last poll request. Based on that, the client determines what changes need to be pushed to the repository, what changes need to be pulled from the repository and which content is in conflict.