XIN Mods makes it easier to integrate external tools into the CMS by offering a number of easy to use integration points:
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.
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:
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.
The remaining extension points have a common approach to injecting content. Assume the different plugin types below all share these properties.
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:
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:
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:
Secondly a report panel plugin node (eg. my-new-report-plugin) -- this one contains the injection properties.