Echo Plugin - a sample plugin for the BIServer

Intro

This guide will help you build and install the Echo plugin on your Pentaho BI Platform. The Echo plugin demonstrates many of the capabilities of Pentaho BIServer plugins, described in BIServer plugins (and developer doc'd in Developing Plugins). The plugin serves no useful purpose other than to show you how to leverage the extension points the plugin layer affords you. Echo plugin simply generates html and other content over HTTP from it's various extensions. In particular, the Echo plugin includes:

  1. Registration of a new file type "echo" so it appears and can be managed in PUC. This file doesn't contain any contents, it merely shows how you can introduce a new type and operate on it in PUC. Executing it takes you to a home page that shows the services exposed by the echo plugin.
  2. An Echo BI Component (using new IAction API), which generates a simple html message
  3. An Echo web service, that returns a simple machine message (demonstrating the JAX-RS/REST extension)
  4. An Echo servlet, that returns a simple HTML message (demonstrating the HttpServlet extension)

Both the web service and the servlet demonstrate the best practice of delegating the real work to an IAction (EchoAction). By keeping the business logic encapsulated in an IAction you gain benefits such as the ability to schedule (coming soon in Sugar BIServer) and run in an Action Sequence (which you can presently do in trunk BIServer)

This guide and the Echo plugin may be useful to you if you are looking to write your own BI Platform plugin or if you are just interested in understanding how a plugin could serve a need that you may have.

Subfloor auto project creation script

The subfloor framework, which Pentaho uses to build all new plugin projects, now has a nifty project creator script that can get you started with a skeleton plugin project quickly. Read more here.

Prerequisites

The Echo plugin is an example of the features of the BI Platform plugin architecture, which exists in Pentaho BI Platform trunk build. For earlier builds that work with BIServer 3.5,3.6, and 3.7 see the section in this doc on compatibility. Due to the influx of features into the plugin layer, it is recommended that you use the latest version available to you when installing the Echo plugin.

You must download and install the latest BIServer from the Pentaho Hudson CI Server.
Windows users, download the zip, *nix use the tar.gz

The instructions for installing the Echo plugin that follow assume that you have an installed and runnable BI Server.

You can download the source for this sample plugin at svn://source.pentaho.org/svnroot/platform-plugins/echo-plugin/trunk. This source will also be required for the instructions below.

Instructions

To deploy the Echo plugin you have two options, A) build and deploy from source or B) install from the echo-plugin zip

A)  The following are instructions for how to get the Echo plugin source, build it, and deploy the plugin to your local BI Platform installation:

  1. Checkout the source from svn://source.pentaho.org/svnroot/platform-plugins/echo-plugin/trunk
  2. open build.properties in the echo-plugin dir and edit the "pentaho.dir" path to point to your Pentaho platform install directory
  3. run "ant" to build the plugin, then "ant install" to deploy it to your platform install
  4. start (or restart) your BI Server

B) Below are the instructions for how to install a preconstructed echo plugin zip package:

  1. Download the latest Echo plugin zip package
  2. unzip the echo-plugin-*.zip in your BI Platform system solutions folder. Typically this will be <pentaho.dir>/pentaho-solutions/system
  3. start (or restart) your BI Server

Results

The "install" ant task should have unzipped your plugin contents to <pentaho.dir>/pentaho-solutions/system/echo-plugin. You should check that a lib and resources dir are present there. This confirms that the plugin was installed correctly.

Once the plugin is installed, you can view the various extensions of the plugin.

In PUC, double-click (execute) the new .echo solution file at BI Developer Examples/EchoPlugin/home.echo. This page shows you what services are available through the EchoPlugin

In the BI Developer Examples/EchoPlugin folder of the PUC solution browswer, you will also see an action sequence called "Echo". This action sequence has only one action definition, and that is to execute the EchoComponent. The EchoComponent is a Java Bean class that drives a Action (new lightweight BI Component). The EchoComponent's only job is to return a string, which you will see if you double click or run the Echo action sequence.

Following the Source

If you want to understand how the plugin interacts with the BIServer, take a look at plugin.xml and plugin.spring.xml in the package-res folder of the echo-plugin project source. These are the config files that are discovered and used by the BIServer to understand in what way it should interact with a plugin.

Compatibility with Older BIServers

This doc applies only to the latest edition of the EchoPlugin which works against an unreleased Pentaho BIServer currently being developed on the trunk and slated for the "Sugar" release.

If you are running BIServer 3.6-3.7, you need an older version of the EchoPlugin. EchoPlugin for 3.6-3.7

If you are running BIServer 3.5, you need an older version of the EchoPlugin. EchoPlugin for 3.5

Sources for the EchoPlugin version can be found here:

  • trunk svn://source.pentaho.org/svnroot/platform-plugins/echo-plugin/trunk
  • 3.x.x svn://source.pentaho.org/svnroot/platform-plugins/echo-plugin/tags/3.x

Related Items