Wednesday, 30 September 2009

Wednesday, 23 September 2009

Using Sametime Links within a simple portlet

Whilst helping a colleague prepare for a Portal demo, we had one final hurdle to climb; how to enable Sametime awareness for a generic user e.g. Customer Services Rep, without needing to deploy the normal Sametime Contact List or Who Is Here portlets.

I knew this was possible, and think I'd actually done it in the past - however, I couldn't find any notes or blog postings, so had to start again.

Having previously set up Portal and Sametime integration, it was a relatively simple matter - I chose to use the Q&D approach of creating a JavaServer Page (JSP) file, and then rendering it on the portal page using the out-of-the-box Blurb portlet.

This is the portlet that IBM uses throughout WebSphere Portal to present simple messages, including the "Welcome to WebSphere Portal" portlet that has been deployed in WebSphere Portal for the past few releases.

To achieve this, I created a file called sametime.jsp and deployed it in the Blurb portlet's JSP directory: -

\IBM\WebSphere\wp_profile\installedApps\starg\PA_Blurb.ear\Blurb.war\jsp\html\en

Here's the source of sametime.jsp: -

<html>
<head>
<link rel="stylesheet" href="http://stargate.uk.ibm.com/sametime/stlinks/stlinks.css" type="text/css" />
<script type="text/javascript" src="http://stargate.uk.ibm.com/sametime/stlinks/stlinks.js">
</script>
<script type="text/javascript" >
setSTLinksURL('http://stargate.uk.ibm.com/sametime/stlinks/', 'en');
STHost = 'stargate.uk.ibm.com';
writeSTLinksApplet('ibm','',false);
</script>
</head>
<body>
<script type="text/javascript">
writeSametimeLink('CN=domadmin,O=ibm', 'Portal Admin', false, 'icon:yes;');
</script>
</body>
</html>

As you can see, we're using JavaScript tags to specify the Sametime server ( in order to get both the Cascading Style Sheet and JavaScript code for the Sametime Links API, as well as to actually connect to Sametime ).

The value specified in the writeSTLinksApplet() call sets the domain from which the outgoing Sametime chat will be displayed e.g. when clicking on the Sametime link, a chat session will be opened up FROM ibm/Guest.

Finally, the value specified in the writeSametimeLink() call sets the Sametime user to whom we want to send the ST message - in our demo, this will a user such as Customer Services Rep or something similar.

Make sense ?

I have to admit that I borrowed much of the above JS coding from Daniele Vistali's most excellent blog post here: -

WSADMIN saved my metaphorical bacon

We hit a problem earlier today where, due to some weirdness caused by a LTPA token export (?), the WAS server underlying Lotus Quickr Services for WebSphere Portal ( WebSphere_Portal ) failed to start.

Worse still, we also were not able to start the server1 instance, meaning that we couldn't get back into the admin. console to resolve the problem

Thankfully, this Technote got me out of the hot water: -


In essence, you simply disable security for WAS: -
  • cd $WAS_HOME/bin
  • Run: -
wsadmin -conntype NONE
  • Wait until wsadmin responds

  • Issue the securityoff command (no space between security and off)

  • Issue the exit command.
Job done. We were then able to start server1 and resolve the security problem ( we actually ended up re-running the ConfigWizard script to re-enable LDAP security ).

Friday, 18 September 2009

WebSphere Portal and Lotus Web Content Management performance tuning guides and supplemental content

More useful WP / WCM knowledge: -

"...This technote provides abstracts and links to WebSphere Portal performance tuning guides. Best Practice is to starting with the Tuning Guide(s) provided for your release. The IBM performance test teams develop the tuning guides and they are based on performance testing and analysis. 
Then, refer to the supplemental information provided in developerWorks articles, articles published on the WebSphere Portal Family wiki, and other resources noted in the Additional resources section of this technote..."


All brought to you by me, thanks to the power of Twitter :-) and the number 73

Support Content Highlight for WebSphere Portal/WCM (September 2009)

A useful consolidated set of support documents etc. for Portal / WCM, now available online here: -

"....This document contains links to technical support documents for IBM WebSphere Portal that are frequently requested or identified by IBM as valuable for the time period covered by this notification. This is key information to help you derive the most value from your software licenses, find answers to common questions, and work through current issues that might affect your environment..."

Learning WebSphere Portal Family Products

A good range of self-study WP learning links here: -



Sweet, like a caramel latte

Thursday, 17 September 2009

Preventing WCM from generating sessions when content is accessed anonymously

Earlier today, I had a call from a friend who was trying to work out why he was seeing 000s of sessions created on his Portal/WCM delivery server when content was being accessed anonymously, via the WCM servlet, using the URL /wps/wcm/connect ( as opposed to /wps/wcm/myconnect ).

As I started to dig into the problem, he called me back and confirmed that he'd resolved it by creating a new Custom Property, public.session=false, for the WP_NavigatorService.

He's done a far better job of explaining it here: -


Ironically, I was on my way to the same solution, albeit from a slightly different direction - I found this: -


which refers to the same Custom Property.

Note to self - Firefox and local connections

 Whilst trying to hit my NAS from Firefox on my Mac, I kept seeing errors such as:- Unable to connect Firefox can’t establish a connection t...