Admin: Deploy as a servlet - HiromuHota/pentaho-kettle GitHub Wiki

Overview

This will demonstrate how to deploy webSpoon as one of the servlets of the pentaho webapp within the Pentaho Server (aka BI server). The entry point for webSpoon would be http://localhost:8080/pentaho/spoon.

Caution!: Please do NOT follow the following procedures for the production environment because some of the jar files are to be deleted.

Caution!!: Pentaho User Console (PUC) does not work as expected.

Who wants to choose this deployment option?

  • I want to manage only a single Tomcat (the one in the Pentaho Server)
  • I don't necessarily have to scale-out webSpoon
  • I want to use plugins in webSpoon

How to deploy

Replace SWT/JFace with RAP/RWT version

rm pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/jface-3.3.0-I20070606-0010.jar
rm pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/org.eclipse.swt.gtk.linux.x86_64-4.6.jar
cp org.eclipse.rap.filedialog_3.1.1.YYYYMMDD-XXXX.jar pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/
cp org.eclipse.rap.jface_3.1.1.YYYYMMDD-XXXX.jar pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/
cp org.eclipse.rap.rwt_3.1.1.YYYYMMDD-XXXX.jar pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/

Replace with patched libraries

cp pentaho-xul-swt-7.0.0.0-25.jar pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/
cp kettle-ui-swt-7.0.0.0-25.jar pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/

Edit the bottom part of pentaho-server/tomcat/webapps/pentaho/WEB-INF/web.xml as follows:

    <error-page>
        <error-code>500</error-code>
        <location>/unavailable.html</location>
    </error-page>

  <context-param>
    <param-name>org.eclipse.rap.applicationConfiguration</param-name>
    <param-value>org.pentaho.di.ui.spoon.WebSpoon</param-value>
  </context-param>

  <context-param>
    <param-name>Standalone</param-name>
    <param-value>false</param-value>
  </context-param>

  <listener>
    <listener-class>org.pentaho.di.ui.spoon.WebSpoonServletContextListener</listener-class>
  </listener>

  <servlet>
    <servlet-name>Spoon</servlet-name>
    <servlet-class>org.eclipse.rap.rwt.engine.RWTServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>Spoon</servlet-name>
    <url-pattern>/spoon</url-pattern>
  </servlet-mapping>
  
</web-app>

Additionally, you may want to place English under pentaho-server/tomcat/webapps/pentaho/docs for the welcome page.

Spoon-specific plugins

Currently, Spoon-specific plugins such as pdi-marketplace, repositories-plugin are not available. The author is trying to figure out how to enable them.

⚠️ **GitHub.com Fallback** ⚠️