Code changes necessary for Open-Xchange App Suite

This page describes changes in the Open-Xchange Server code base which affect custom OSGI bundles interacting with our core bundles. This is important if you have custom plugins for your Open-Xchange Server systems which you are maintaining yourself.

If Open-Xchange has built and is maintaining custom packages for you, please check with your contact person at Open-Xchange when updated packages will be available.

Backend Improvements

Please see the page Backend Improvements v6.22 for an overview of improvements to the Open-Xchange architecture.

Make sure to check the section about the new exception framework, many custom bundles use this and need to be changed to work with v6.22 and later.

Authentication plugins

Custom authentication bundles must now implement an additional method to handle Autologin (if desired).

For this, just add

@Override
public Authenticated handleAutoLoginInfo(LoginInfo loginInfo) throws OXException {
     throw LoginExceptionCodes.NOT_SUPPORTED.create(MyAuthentication.class.getName());
}


In addition, you need to return an Authenticated in handleLoginInfo(). This can be done by adding the implementation class as inner class like this:

[...]
   private static final class AuthenticatedImpl implements Authenticated {

       private final String[] splitted;

       protected AuthenticatedImpl(String[] splitted) {
           this.splitted = splitted;
       }

       @Override
       public String getContextInfo() {
           return splitted[0];
       }

       @Override
       public String getUserInfo() {
           return splitted[1];
       }
   }
[...]