#{extends '../../main.html'/}# #{set title:'Controllers'/}# #{set tab:'management'/}# #{renderTagArgs '../docHome.html'/}#
Welcome to a pluggable plugin...lol. Go figure. Well, the reason is in testing, you generally want to disable all plugins so the backend is a plugin in itself. The Backend Plugin is targeted for production use so you can have a backend with an IT login such that you can manage the server with other backend plugins.
This plugin serves two purposes:
Some plugins are public and show up in the menu system without logging in. Other plugins are secure and will require you to login before they show up in the menus
Now, some backend plugins are only plugged into the DevelopmentServer for development while others are for production use. The full list of plugins and their intentions is found here:
#{renderTagArgs 'listBackendPlugins.html'/}#This Backend Plugin creates yet another extension point that only exists if the backend plugin is installed. If so, yet again, just like webpieces extension points, you use a guice multibinder to wire into this plugin like so:
*[Multibinder backendBinder = Multibinder.newSetBinder(binder(), BackendGuiDescriptor.class);
backendBinder.addBinding().to(InstallSslCertGuiDescriptor.class);]*
This gives this plugin just enough information to wire in the menu system which in this case adds the InstallSsl Plugin to the menus