Access Keys:
Skip to content (Access Key - 0)

CDF Portlet integration

Dejan Gambin provided a howto for portlet integration in CDF.

Here are the steps I have done in order to support CDF in portal environment using IFramePorlet (IFrame Portlet allows for a user-defined IFrame URL).

1) I started with downloading IFramePortlet from here:

http://anonsvn.jboss.org/repos/portl...amePortlet.zip

2) After unpacking, I have done some modifications to IFramePortlet

a) iframe.jsp -

The part of code added is:

<script type="text/javascript">

function getElement(aID)
{
return (document.getElementById) ?
document.getElementById(aID) : document.all[aID];
}

function getIFrameDocument(aID){
var rv = null;
var frame=getElement(aID);
// if contentDocument exists, W3C compliant (e.g. Mozilla)

if (frame.contentDocument)
rv = frame.contentDocument;
else // bad IE

rv = document.frames[aID].document;
return rv;
}

function adjustMyFrameHeight()
{
var frame = getElement("myFrame");
var frameDoc = getIFrameDocument("myFrame");
frame.height = frameDoc.body.offsetHeight;
}
</script>
  • I have modified the "<iframe>" part by adding id and onloada function. Like this:
<iframe id="myFrame" src="<%= request.getAttribute("iframeurl") %>" width="<%= request.getAttribute("iframewidth") %>" onload="adjustMyFrameHeight()" frameborder="0">
Your browser does not support iframes
</iframe>
  • I have also removed the part that enables opening the iframe in a new window, I don't need it

b) iFramePortlet.java

  • I have modified the defaultURL and set:

private static final String defaultURL = "http://localhost:8080/pentaho/Dashboards"; (you can replace localhost with another URL if needed)

  • I have also done some modifications to enable setting height in percentage, but it is not needed for this solution to work

c) portlet.xml - I have modified this file to disable Porlet EDIT mode because I don't need it to be editable. I have just removed the line:

<portlet-mode>EDIT</portlet-mode>

I think that's all. I built IFramePorlet.war using "ant deploy24" and put it in jboss/server/default/deploy folder.

After starting the server, there is IFramePortletInstance, IFrame page and IFramePortletWindow added.

If I missed something, please feel free to ask


This documentation is maintained by the Pentaho community, and members are encouraged to create new pages in the appropriate spaces, or edit existing pages that need to be corrected or updated.

Please do not leave comments on Wiki pages asking for help. They will be deleted. Use the forums instead.

Adaptavist Theme Builder Powered by Atlassian Confluence