Skip to content

3.0.0

Choose a tag to compare

@pekam pekam released this 21 Jan 11:12
· 557 commits to main since this release
cd9acf0

Configuration API and License Events

When running in production mode, Collaboration Engine now needs to be configured using a configuration object with a handler for license events: with these events, you'll know when it's time to renew the license.

This is a new feature introduced to be notified of events occurring during the license lifecycle, e.g. when the license is expired or when the end-user quota has entered the grace period. The handler can then be used for example to forward these events via e-mail or to a monitoring application to be alerted about the current status of the license.

The configuration object should be set in a VaadinServiceInitListener, e.g.

@SpringComponent
public class MyVaadinInitListener implements VaadinServiceInitListener {
    
    @Override
    public void serviceInit(ServiceInitEvent serviceEvent) {
        VaadinService service = serviceEvent.getSource();

        LicenseEventHandler licenseEventHandler = licenseEvent -> {
            // handle the event
        };

        CollaborationEngineConfiguration configuration = new CollaborationEngineConfiguration(licenseEventHandler);
        CollaborationEngine.configure(service, configuration);
    }
}

This is a breaking change because it's now mandatory to set the configuration in production mode.

Other Noteworthy Changes Since 2.0

  • Collaboration Engine now has a requestAccess method that can be used to check if the user has access (i.e. there is quota for the user and the license isn't expired) and act accordingly, e.g. enabling/disabling collaboration features in the UI.
  • CollaborationAvatarGroup now shows the current user avatar even when quota is exceeded or license has expired.
  • CollaborationBinder now works as a normal Binder when quota is exceeded or license has expired.
  • Fix OSGi compatibility
  • Fix field highlight (indicator of focused user with CollaborationBinder) when user ids contain spaces or some special characters (e.g. '@' when using email address as the id)