Essentials Plugin Back-End - BloomReach Experience - Open Source CMS

This article covers a Hippo CMS version 11. There's an updated version available that covers our most recent release.

04-07-2016

Essentials Plugin Back-End

The Dashboard plugin's back-end is available to the Essentials Dashboard as soon as the plugin JAR has been included in the Essentials web application. The JAR can include whatever the plugin needs, but it will have to hook into the Dashboard somehow.

Currently, the Essentials Plugin SDK has two important hooks:

  1. REST resources
  2. Installation packages

REST Resources

The most versatile way to hook your plugin into the Dashboard is to implement one or more JAX-RS REST resources, with which the plugin's front-end can communicate. You'd typically do so by extending

org.onehippo.cms7.essentials.dashboard.rest.BaseResource

provided by the plugin SDK. When you specify the resource's class name in the plugin descriptor's restClasses list, the Dashboard will instantiate and dynamically mount the resource at URL

http://localhost:8080/essentials/rest/dynamic/<resource-path>

where <resource-path> is provided by the @Path annotation of your resource class, for example:

import javax.ws.rs.Path;

@Path("/beanwriter/")
public class BeanWriterResource extends BaseResource {
   ...

Plugin Setup

The installation process of a plugin has an optional set-up phase. A plugin signals to the Dashboard whether or not it has a set-up phase through its descriptor. If a plugin has a set-up phase, the set-up must be completed before the Dashboard considers the plugin fully installed.

Typically, the set-up phase takes care of setting up document types, HST configuration and project Java classes. The actions required during a typical set-up phase have been abstracted and implemented as Instructions in the Plugin SDK. The plugin JAR typically provides all required resources, along with a packageFile, referred to by the plugin descriptor, to take advantage of the plugin SDK's generalized set-up procedure.

If the plugin's set-up requirements are not covered by the SDK, the plugin can implement additional instructions, or it can implement a completely customized set-up phase.

For inspiration, check the instructions XML file of existing Dashboard plugins. You can find them under src/main/resources (identified by the plugin descriptor's packageFile field).

 

 

 

 

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?