Sometimes you have to take a step back to move forward.
We know that a lot of developers have been asking for a better support for custom configuration views for plug-ins in COYO. Furthermore, the current approach to react to changes in COYO's edit mode is not working properly. We have thus decided to change the way plug-ins can implement custom configuration views. But first let's take a look at the problems with the current approach:
- Inconsistent implementation: Due to technical reasons, the messages COYO sends to plug-ins about changes in the edit view are not implemented in a consistent way. Thus, COYO sometimes fails to provide the correct messages. This leads to errors on the plug-in side, since plug-ins cannot react properly to those changes.
- Inconsistent concept: Plug-ins are treated just like widgets in COYO. They can be displayed in the exact same locations and are created the same way. However, native widgets are usually configured within a dedicated configuration modal whereas plug-ins are configured inline.
- Missing validation: Plug-ins used to retrieve messages in the edit view and were expected to react accordingly. But what if the user saves the edit view while the plug-in configuration is in an invalid state? The plug-in does not have any possibilities to abort the save request or to tell COYO about the errors.
- Backend requirements: It was not possible to create a custom edit view without providing a back end to store the configuration data.
This list can be continued even further, but you already get the gist of it: The approach was not ideal. That's why we returned to the concept phase and rethought our approach. A lot of feedback has been taken into account and we hope that you like the new approach, which is described here:
It follows the exact same principles you already know from creating a plug-in view. This makes it very easy to understand and implement. if a custom
configUrl property is defined in the plug-in manifest file, COYO will render the configuration view in an iFrame that is placed inside the settings modal of your plug-in. The plug-in adapter provides an easy way to communicate to COYO and perform or abort save actions. So now, you can implement your very own configuration screen without the need of any plug-in back end. COYO takes care of storing the data.
Please note that COYO implements the new concept as of version 37.x and fully removes the support for the old approach in the same version. You need to take action to be able to configure your plug-in.