In order to use the Calyxo Panels component, it must be somehow integrated into the application's controller. This is achieved by the use of plugins.

In either environment, the plugins modify the controller's dispatch behavior: before the controller dispatches a request to a specified path (through a forward or include), the plugin checks, if that path is the name of a toplevel panel definition. If so, it causes the controller to dispatch to the panel's associated template, instead. Otherwise, the request is dispatched to the specified path, as usual.

Furthermore, the plugins register the Calyxo Panels accessors.