XIN MODS ADMIN PANELS
Extends Bloomreach XM with easy to use XIN Mods Admin Panels.
XIN Mods makes it easier to integrate external tools into the CMS by offering a number of easy to use integration points:
- Adding buttons to the document toolbar
- Adding a plugin to the dashboard
- Adding an administrator panel
- Adding a reporting panel
What follows is a description of the configuration structures required to create these extension points. Once you have set them up, you can easily create a package to their paths that will allow you to reimport them when you desire.
TOOLBAR PLUGIN
Adding a button to the toolbar of the default workflow can be as easy as following the steps below. Go into the CMS's console and navigate to the path below and add a new node with the following structure:
- /hippo:configuration/hippo:workflows/default/handle/frontend:renderer
Structure:
toolbar-option1/ jcr:primaryType = frontend:plugin wicket.id = ${item} plugin.class = nz.xinsolutions.extensions.XinInjectionToolbarPlugin # Where to go if the menu item is clicked action = http://url/to/go/to?path={path} # If specified, will show in submenu with that title submenu = SubMenuName title = Label on button icon = enumeration string from Icon class (default: GEAR) publishedOnly = true|false # Only show the option sometimes types[] = xinmods:product
Find a list of possible values for the icon field here.
CONTENT PROPERTIES
The remaining extension points have a common approach to injecting content. Assume the different plugin types below all share these properties.
html = 'HTML to render' js = 'Javascript to write on the page' headCSS[] = one or more urls to stylesheets (will be rendered in <head/>) headJS[] = one or more urls to javascripts (will be rendered in <head/>)
DASHBOARD PLUGIN
To add a widget to the dashboard add a node here: /hippo:configuration/hippo:frontend/cms/cms-dashshortcuts
Using the content properties described above create a node as follows:
jcr:primaryType = frontend:plugin plugin.class = nz.xinsolutions.extensions.XinInjectionPlugin
ADMIN PANEL
To add an administration panel add a node here: /hippo:configuration/hippo:frontend/cms/cms-admin
Using the content properties described above create a node as follows:
jcr:primaryType = frontend:plugin plugin.class = nz.xinsolutions.extensions.XinInjectionAdminPanelDefinition title = Title of admin panel help = Description of admin panel icon = URL to icon for admin panel
REPORTING PANEL
To add a reporting panel add two nodes here: /hippo:configuration/hippo:frontend/cms/hippo-reports
First of all a report definition node (eg. my-new-report) -- it does not need any of the injection properties:
jcr:primaryType = frontend:plugin plugin.class = nz.xinsolutions.extensions.XinInjectionReportDefinition service.id = service.report.my-new-report title = Title of reporting panel help = Description of reporting panel icon = URL to icon for reporting panel
Secondly a report panel plugin node (eg. my-new-report-plugin) -- this one contains the injection properties.
jcr:primaryType = frontend:plugin plugin.class = nz.xinsolutions.extensions.nz.xinsolutions.extensions.XinInjectionReportPlugin wicket.id = service.report.my-new-report html = <something to inject> js = headJS = headCSS =
Go back to the overview to discover more functions of XIN Mods.