XIN Solutions
  • Home
  • About us
  • Working with us
  • Tools of the trade
  • XIN Mods
  • Contact Us

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.

 

XIN Solutions

Auckland-based software development and consultancy.

  • Mail