Pentaho Sakai Integration
This page describes how to integrate Pentaho 1.7 into Sakai as a linktool application. This work was originally created and described by John Ellis at rSmart, but the original instructions were lost when confluence moved to a different hosting environment.
- Apply patches and configuratiion describe in SAK-14868 and SAK-14870.
- Add Pentaho host server's IP address to list of allowed webservice servers in sakai.properties:
Pentaho 1.7 modifications
- Install the Pentaho Reporting BI Platform on your localhost or production server: http://reporting.pentaho.org/
- Install the Report Designer and Design Studio on your desktop computer: http://reporting.pentaho.org/
- Checkout Sakai pentaho contrib provider from https://source.sakaiproject.org/contrib/rsmart/pentaho. Compile and deploy to ./jboss/server/default/deploy/pentaho.war/WEB-INF/lib/
- Modify Pentaho BI Platform as described in https://source.sakaiproject.org/contrib/rsmart/pentaho/setup.txt
Creating a report
- Use the Report Designer Wizard to create your initial report layout
- Use the Design Studio (Eclipse) to add sakai sesssion variables (type of "session"):
- sakai.panel: The location within the frames that the iframe is. Mostly "main"
- sakai.site: The id of the site the tool was in.
- sakai.serverurl: The server url as configured in sakai.properties
- sakai.siteType: The type of the site the tool is on (ie. portfolio, course, etc)
- sakai.sign: The signature generated by the link tool. This is mostly used internally.
- sakai.time: Timestamp of the initial call from the link tool.
- sakai.internaluser: Internal sakai user id of the current user.
- sakai.placement: Placement of the link tool.
- sakai.user: The EID of the user. This is also the id that the user will be authenticated as in Pentaho.
- sakai.sessionId: The session id for the current webservices session. This can be used in future webservices calls.
- sakai.role: The role of the user in the current site.
(These notes need to be updated for the latest version of Pentaho).