ShowTable of Contents
In this article I am going to cover how to configure your IBM WebSphere Portal V7 Server and XPage application so that you can surface XPages as IWidgets in IBM Websphere Portal V7. I will also show how to wire the XPage portlets together so that they can publish and subscribe to events. Using the following steps it allows you to take any XPage application and surface it in your Portal page.
Prerequisites
You will need to have installed IBM Websphere Portal 7.0.0.1 or 7.0.0.2
You will need to have IBM Domino 853FP1
Set-up
If your server is running, shut it down. Open the proxy-config.xml file which is used to allow you to connect to different hosts.
The file is normally located here in a windows based system->
C:\IBM\WebSphere\PortalServer\base\wp.proxy.config\installableApps\wp.proxy.config.ear\wp.proxy.config.war\WEB-INF\proxy-config.xml
For each server that you wish to communicate with you need to add the following. So in this case, our XPage application is located on the "
http://yourDominoServer/*" server.
<proxy:policy url="http://yourDominoServer/*" acf="none" basic-auth-support="true">
<proxy:actions>
<proxy:method>GET</proxy:method>
<proxy:method>HEAD</proxy:method>
<proxy:method>POST</proxy:method>
<proxy:method>DELETE</proxy:method>
<proxy:method>PUT</proxy:method>
</proxy:actions>
<proxy:cookies>
<proxy:cookie>LtpaToken</proxy:cookie>
<proxy:cookie>LtpaToken2</proxy:cookie>
</proxy:cookies>
<proxy:headers>
<proxy:header>User-Agent</proxy:header>
<proxy:header>Accept*</proxy:header>
<proxy:header>Content*</proxy:header>
<proxy:header>Authorization*</proxy:header>
<proxy:header>X-Method-Override</proxy:header>
<proxy:header>Set-Cookie</proxy:header>
<proxy:header>If-Modified-Since</proxy:header>
<proxy:header>If-None-Match</proxy:header>
<proxy:header>X-Server</proxy:header>
<proxy:header>X-Update-Nonce</proxy:header>
<proxy:header>X-Requested-With</proxy:header>
<proxy:header>com.ibm.lotus.openajax.virtualhost</proxy:header>
<proxy:header>com.ibm.lotus.openajax.virtualport</proxy:header>
</proxy:headers>
</proxy:policy>
I have allowed all types of requests but you could restrict requests as per the parameters above.
For more on the proxy-config.xml file see this
link
Restart your portal server
Creating XPage Component in your NSF
In your XPage application, you will need to create a component which contains the information which is used as the basis to create the IWidget definition. You will find a description of how to create a component in a related xpages article
here
For registering your IWidget, you need to add the url to the XPages iWidget. This will be the name of the component from the database with the iWidget suffix from your Domino server - i.e. the Domino Server name plus the Domino Application NSF name plus the name of the Component plus IWidget. For example, http://yourDominoServer/yourApp.nsf/yourComponentName.iwidget
And from the XPages Demo App we are going to use the 'xpagesDemoAppViewColumnPublish' component which will become -
http://yourDominoServer/xpages.nsf/xpagesDemoAppViewColumnPublish.IWidget
You can verify that this iWidget url is correct by verifying it on a blank browser page
If the iWidget URL
fails you should get something like this returned...
Registering XPage IWidget
Now that you have an IWidget URL that you can point to. You just need to run the following command to install it, a full list of properties for the "register-iwidget-definition" command are described
here
C:\IBM\WebSphere\wp_profile\ConfigEngine>ConfigEngine.bat register-iwidget-definition -DPortletUniqueName="UniqueName" -DIWidgetDefinition=http://yourserver.com/sample.nsf/sample.iwidget -DPortalAdminPwd=portalPassword-D
WasPassword=wasPassword
Adding your XPage IWidget Portlet to a page
1. Go to Actions ->Edit Page
You will see this action bar appear, click Customize
2. Click All and choose the XPages IWidget portlet you have added by clicking on the +. Here we will add all the xpages demo portlets
3. Click "Save & Exit"
Your XPage IWidget Portlets should appear like below
Wiring your XPage Portlets
Next we will wire our portlets together. Sending information about a country when it is selected.
To do this we need to go back to "Actions->Edit Page"
Next click on the top right hand side of the portlet and a drop down menu will appear. Click "Edit Wiring"
A new dialog will appear, click "Settings" and choose "Consider payload type only for match of sources and targets"
Next choose "pubCountry1" as the content to send. Then choose XPages Receive Country widget as the widget to wire. There should be only one action available to wire which is "recCountry".
Click "Done" and also "Save & Exit"
Click on a country in the view and you will see the information is passed from one widget to another.
