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:
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.
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.
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.
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:
B) Below are the instructions for how to install a preconstructed echo plugin zip package:
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
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.
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.
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: