View Full Version : customize DashBoard

05-05-2006, 11:37 PM
Hi All,
Can yiu please help me the step to customize Dashboard,charts and the administration of Portal.

05-16-2006, 10:30 AM
I'm interested in this too, though I have just started looking at. But to customize the dashboard that is currently there, depending on your install. Assuming PCI, pentaho-samples, samples, dashboard...

Perhaps some of the guru's from the pentaho team might be able to lend a hand.

I have also been looking at understanding the jboss portal that they are using.

It's probably not much help but it's my 2cents.


05-16-2006, 11:02 AM
Assuming you're using the PCI, have you tried using google? Look for

JBoss Portal Customization

05-17-2006, 10:02 AM

Yep that's what I have been doing to start my understanding of the JBOSS portal as well as actually looking at the JBOSS portal doc on JBOSS's website. So it looks like i"m on the right track... oh yeah.. too bad this keeps getting put on the back burner but it wont when I get there and need to do it for the deployment which should be later this week,



05-26-2006, 05:33 PM
I figured I would come back here and report what I have discovered about customizing the dashboard or anypart of the jboss portal.

BTW I'm using SDK 1.1.6

First off you will need to create you xaction, filters, reports, widgets, etc. that you are going to use in the dashboard.

Then you need to read the session and filter documentation from the download links.

Now your ready to start the process.

you'll need to define your portlet in SDK/pentaho/server/pentaho/WEB-INF/portlet.xml

then you'll need to create and instance of it through the portal so do the following:

Log into the portal with admin/admin then hover over the Portals link were you'll see two other option pop up you'll want to select the 'default'

the default might look a bit different so set the Portal theme to /pentaho-portal-layout and it'll look better.

Click the 'management' link in the pages portlet above where you set the theme at.

you'll get the management Portlet in the center now with three links
"Portal" "Instances" "Portlet"

you'll want to select the portlet link
now find you defined portlet and click it
something will now appear on the far right whith a button "Create Instance" Enter a name into the Text Box like myPortletInstance and click the creat button.

Now you have created your instance of the portlet if your portlet was not in the list you defined something wrong and you'll need to go back and redefine it.

now that the instance is made you can view it under "Instances"
It's id would be myPortletInstance and you can permissions for it here for the different roles defined.

So now it'e runnng and you have an instance of it. The fun part is placing it on a portal page.

Select "Portal"
Dill down to "[07]Dashboard" and you'll see it already has 5 portlets defined in it which you can distory by selecting and clicking destroy. Click the Dashboard and you'll get some interesting looking stuff on the far right.

Here you need to select the Instance of the portlet you create in the drop down box and enter a name for it in the text box then under the part of the page you want it to appear click the "Create instance" button under it.

B>I>N>G>O your on your way to customzing the dashboard.
you'll need to read the suggested reading to understand how to get the portlets talking to each other.

So to sum this up.
1. create what you are going to use as a portlet
2. define portlet in the portlet.xml file by web.xml
3. start/restart server/App
4. create instance in admin panel of portal under "portlet"
5. set permission for portlet in "instances"
6. add portlet to portal page in "portal"

That should help people get sort of understanding of how t customize the dashboard/portal.

It's really not too tough. See other portlet examples in the portlet.xml file for more properties as well.

This is just a start not a finite guide, but it should help.

Have a nice day and please drive through,


PS to the pentaho guys or ANYone that has already done the such please add comments about missed steps, details and comments.

05-30-2006, 09:54 PM
Using the SDK

with quite abit more digging into the dashboard seen I came to discover answers to some questions as well as found more questions.

First of which is where do the files that get compiled to create the pentaho-object.xml file in the jboss-portal.sar/pentaho-portets.war/WEB-INF/????????????

this is why when you make changes to the portal pages and then reload the application the changes are gone. b/c that file is reloaded and redefines the portal pages back to default.

Some of the other things I discover in regrads to building a dashboard in Jboss portal. Is that the "filter" is used to store variables in session based on user interaction that are used in the jfreereport-reports-test1, headcount_actual, and headcount_variance for it's xaction inputs that come from session.

the widget grid defined in the portlet.xml uses budgets.widgetgrid.xml and binds to the widget budgetvariance.dial.xml to it so it know's how to repersent the info from headcount_variance. Also defined in the portlet.xml is the drill-url which is used to fwd to the pivot table.

the PieChart-Example portlet defined in the portlet.xml uses the budgets.piechart.xml to define how it handles the info from headcount_actual and is linked to a drill-url to fwd to the pivot table via that definition.

and jfreereport-reports-test1 gets it's drill-url from the report definition file (check out the advanced reporting guide) to fwd to the pivot table.

the bit that is confusing is that where each portlet get's it's info from.

I think this might help other to understand how complex getting the bashboard to actual interact with pentaho using jboss portal.

So to sum it up you'll need to define your portlets in portlet.xml and then add drill-urls and dial binds approperiately to your charts and widgets. These charts and widgets are based off of information gerentated from the xactions output variables that the chart and widget is defined to used. then to get reports into the mix you'll need to add a name for the element URL-Field and it's supporting functions. Then Define the layout of the portal page in pentaho-object.xml.

I probably left out some steps but this should help someone get on their way to building a interactive dashboard.

One more question is when I try to define my filter and place it in the portal page it doesn't show anything just a blank portlet, what could cause this? This could be b/c it was not fully implemented at the time.

I hope this helps someone, b/c it helped me get a better understand of what was going on.


P.S. I used bold to draw attention to my question b/c the probably would easily get over looked. Applogies if it offened anyone.

05-30-2006, 10:10 PM
Hi guzaldon,

Steps provided by you is of great help, I could customize portal pages into existing portal with the help of same.

I also have few questions.

1) How to create a new portal in JBoss Portal Server?
2) When I add a new portlet instance portal page, in works fine till I restart pentaho demo. When I restrat pentaho demo, changes made are getting lost.
3) I am new to Portlets, if somebody can suggest steps to create portlets and deploy it in JBoss server, it would be of great help.

I am in the process of working on creating new portlets and using it in portal page. I will keep all you guys posted on porgress.

guzaldon, I think both of us are going in the same direction and can help each other, let us keep in touch.


05-30-2006, 10:36 PM

well to answer your first question. You'll need to check out the jboss portal documentation for all the steps and it's only about 60 some pages to read. They also go into building a theme and the such.

you 2nd question was answered in my last post.

First of which is where do the files that get compiled to create the pentaho-object.xml file in the

this is why when you make changes to the portal pages and then reload the application the changes
are gone. b/c that file is reloaded and redefines the portal pages back to default.

but to add the full path it's SKD/Preconfigured-install/server/default/deploy/jboss-portal.sar/pentaho-portets.war/WEB-INF/

your 3rd question was kind of answered, but the steps to creating the portlets depend on what they will be used for. the jboss portal documentation helps to out line the standards that are implemented in the extension classes that Pentaho uses.

I hope that helps.

It's good to hear that my efforts haven't gone in vain and please report back with your learnings. I'm sure there are many other out there trying to the same thing specialy with all the activity the pentaho project is recieving.

May the force be with you,


05-31-2006, 11:21 AM
I'm having a problem getting all of my filter to show up.

I can get the first part to show up but not the second.

Attached are the filter and the rule's it uses. The Store shows up but the Category doesn't.

Any suggestions would be very much appriciated,


Nic http://forums.pentaho.org/archived_att/files/filter.tar.gz

05-31-2006, 11:47 AM
This is what get printed out on the console window when I hit the dashboard. I would except that 2 of the SQLDatCompents would be ran. and that might indicate that something might be broken in the second rule?

03:32:58,140 INFO [STDOUT] start
03:32:58,146 INFO [STDOUT] 0
03:32:58,147 INFO [STDOUT] end
03:32:58,755 INFO [STDOUT] org.pentaho.plugin.sql.SQLDataComponent@1577af7

Just some thoughts. Though I have tryied to make the two rules identical except for the SQLquery of course.



05-31-2006, 12:23 PM
Did try and brake the Category.rule.xml that the filter is suppose to use. and I changed to path from portal to port and I got an error so It must be reading it.

Maybe I got a stupid speeling error some where woudln't be the first tiem. :-) That's when a 3rd set of eyes really pays off b/c I already have glasses..


05-31-2006, 12:31 PM
Yeah as I expected there should be two SQL data components that should be shown as INFO.

The issue was that I had a null my table.

Boy it does seems to cause a lot of unexpected results when pentaho encounters a null.



06-02-2006, 12:00 PM
One problem that I encounted is once the filter was running and and I had the portlets set up. THe other portlets were not getting the session info that the filter was supose to be setting.

I had to work around this by creating a rule that created the empty session variables, and add that to the system-action in the pentaho.xml that's in samples/system.

Then magicaly it worked.

I just gotta finish up configing my pie chart portlet and add the drill-url links to fwd to the pivot table and bang, I'm in the money.

I hope this helps you out, it took me pulling my hair out and chipping a tooth to relize I needed some empy session variables for my filter to populate.


06-09-2006, 07:01 PM
Hi Nic,

You mentioned a suggested reading list....what should I read? Do you have any helpful docs or links that can get me started?



06-12-2006, 09:20 AM
some helpfull readies would be the jboss protal doc is a good place to begin. I'm working on a doc to help people with this issue. the main step that I would suggest looking at are as follows:

system action that put stuff into session (session and goble filters doc from pentaho)
defining portlets (jboss portal doc)
defining portals (jboss portal doc)
using the management system in the admin-default section of the portal
charts (pentaho doc)
advanced reporting doc (pentaho)
and looking at the example dashboard. and keep in mind that even though some of the variables they use are named the same they are not the same scope.

a quick outline.

create a rule to create empty session variables to be used later (and if you want populate them)
create a filter that uses 1+ rules and corrisponding portlet
create a widget grid and corrisponding portlet and define the drill-url for the widgets
create a pie chart and corrisponding portlet with a defined drill-url for the pie pieces
create a summary report and corrisponding portlet add a function to the report to url-name as they did in the example you can copy and paste function and support function (it's the last expression in the first function and the 2nd function) to createt the "drill-url"

portlets are defined in the portlet.xml
portals and instances for the portlets are defined in the pentaho-object.xml.

that should help you get going.

Like I said I'm working on a doc to help people do this more easily but I need to get some other things taken care of so that I have time to do it.


10-31-2006, 04:29 PM
Nic explains why a new portal page wasn't saved which is good to know, but how do I save a new portal page so that when I restart Pentaho, it is still there?

11-14-2006, 04:16 AM

I am trying to create new dashboard based on sampledashboard given.

For this I have followed following steps:

1) Copied dashboard from samples into my sample's dir. Modified dashboard link and properties with my new dashboard name say mydash.

2) Modified web.xml to have mappings for mydash. I have copied mappings for sampledashboard and have same entries for mydash. There are two entries which has package org.apache.jsp.jsp.SampleDashboard_jsp.

3) Copied SampleDashboard.jsp as mydash.jsp and modified links in it to point mydash.jsp instead of sampledashboard.jsp.

4) Restarted server. It fails with following exception.
deployer: MBeanProxyExt[jboss.web:service=WebServer]
status: Deployment FAILED reason: java.lang.ClassNotFoundException: org.apache.jsp.jsp.In

Can you help me to solve this problem and have my dashboard working?

From forum, I got to know that I need to map java_home to jdk instead of jre which I have done. I have jdk 1.5 and pentaho 1.2RC3 PCI version.
I tried to use precompile.xml in jboss dir but it also gives me error for
[javac] D:\\Pentaho\\pentaho-demo\\jboss\\server\\default\\deploy\\jbossweb-tomcat55.sar\\ROOT.w
ar\\WEB-INF\\src\\org\\apache\\jsp\\index_jsp.java:7: cannot access org.apache.jasper.runtime.Http
[javac] bad class file: D:\\Pentaho\\pentaho-demo\\jboss\\server\\default\\deploy\\jbossweb-tom
[javac] class file has wrong version 48.0, should be 47.0
[javac] Please remove or make sure it appears in the correct subdirectory of the classpa
[javac] public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
[javac] ^
[javac] 1 error

Do u have idea on how I can create my own dashboard? Am I doing wrong steps? I am not doing anything new but just say renaming sampledashboard to start with new name. I don't know weather jdk1.5 is the problem.

Thanks for help in advance.

Pranav Shah

11-16-2006, 06:51 AM
Maybe, you fin this useful:


Just avoid mapping any precompiled class, (map only the url and the file) and it works. It's very easy.


11-16-2006, 08:04 PM

It has worked. Now I can have my jsp's working :).

In future, I would like to have my jsp as pre-compiled and for that I need to use precompile.xml ant script given with PCI. Problem may be with JDK version. But right now my problem is solved with new jsp so its ok. Thanks a lot for pointing right solution.

Pranav Shah