The previous chapter demonstrates how to add more functionality to Opinio. But sometimes functionality in the administration module must be changed to best suit your needs. For this reason, the plugin interfaces have been developed and added to the plugin architecture. Now a plugin can "overwrite" some parts of default Opinio code.
To do this the plugin must implement an interface defining the plugin behavior. All existing interfaces can be found in the package com.objectplanet.survey.plugin.interfaces. More interfaces will be added in the upcoming versions.
For example, LoginPlugin implements login functionality, which will be used instead of default login procedure. Then it must implement ILogin interface. This example is included in the distribution. Refer to the ILogin api for more details.
public class LoginPlugin extends Plugin implements ILogin {
Attention: The plugin will be automatically registered in the system on web-server start-up. Only one plugin for each interface can exist. If there are more than one plugin, it's impossible to say which of the existing plugins will be used.