New features of the Thunderbird connector

We recently implemented a bunch of new features for the Mozilla Thunderbird connector for OBM:

# Proactive Synchronization

This feature's primary goal is to provide a "near real-time" view of OBM calendars in Lightning.
This is achieved with two major improvements:

* A background synchronization is triggered when an event is created/updated/removed from an OBM calendar in Lightning.
* A background synchronization is triggered when a notification email is received in Thunderbird.

### A typical use case:

1. _usera_ creates a new event in his OBM calendar, inviting _userb_. As soon as he validates the creation of the event, a background synchronization occurs and the event is created on the server. A notification email is sent to _userb_.
2. _userb_ receives the email and a background synchronization is triggered. His calendar is refreshed and the event appears.
3. _userb_ accepts the event with the **Accept** button in the notification email. A background synchronization occurs and the event is modified on the server. A notification email is sent to _usera_.
4. The calendar of _usera_ is updated as soon as the notification email is received by his Thunderbird client.

The cool part is that neither _usera_ nor _userb_ has clicked on the **Synchronize** button!

A new configuration setting has been added for this feature in _Preferences_ > _OBM_ > _Synchronization_, as shown below:

![ProactiveAndDelay](/media/images/screenshots/ProactiveAndDelay.png "Proactive Synchronization Settings")

# Delay for the initial synchronization

In some organizations, a lot of people starts their work day at the very same time. When they come in, they start their Thunderbird clients and if they have _"Synchronize when application starts"_ option checked, the OBM connector triggers a synchronization. This might cause a slowdown of obm-sync server(s) as an effect of the massive HTTP traffic coming from the Thunderbird clients.
To workaround this, a new option has been added in _Preferences_ > _OBM_ > _Synchronization_, as shown in the image above. This _"maximum delay"_, if configured, will allow the initial synchronization to be delayed for some time, computed randomly between 0 and the configured value. If set on all Thunderbird clients, this will have the direct effect of spreading the load and avoid "peaks" on obm-sync server(s).

# Automatic removal of notification emails once processed

The last feature is a small enhancement but may be helpful in some cases. A user can now decide to trash (or permanently delete) notification emails as soon as he/she processes them. _Process_ here means "use the blue bar to accept/decline/update/delete the associated event".
New options have been added to _Preferences_ > _OBM_, as shown below:

![Imip+](/media/images/screenshots/Imip+ "Imip")Highsnobiety Sneakers