Wednesday, 30 June 2010

IBM Lotus Quickr Places Catalog portlet

Whilst looking for something completely different, I noticed that a new Quickr
Places Catalog portlet has been uploaded to the Portal Business Solutions
Catalog here: -

https://greenhouse.lotus.com/plugins/plugincatalog.nsf/assetDetails.xsp?action=editDocument&documentId=99776EF896B6BB0A8525774D006FCD07

<snip>
The places catalog portlet facilitates the integration of WebSphere Portal and
Lotus Quickr. The portlet displays a catalog of places from a remote Lotus
Quickr server. It replaces the existing "My Places" portlet, and provides
enhanced capabilites for discovering places:

1. Tag cloud navigation
2. Filtering by place owner
3. Sorting by title/last update
4. Full-text search for place title, description or tags
</snip>

It only supports Lotus Quickr 8.5, but it's definitely worth a look ....

Tuesday, 29 June 2010

TW09GB Tivoli Directory Integrator Training @ IBM Staines - 19-21 July 2010

Fancy an introduction or update on TDI ? If so, get yourself down to IBM Staines next month ( well, July is still NEXT month, for the next 24 hours or so ), and spend three days in the company of this most excellent of products, known as "Blue Glue" by those with some experience of it.

TDI is relevant whether you're using Lotus Domino, Lotus Connections, Tivoli Identity Manager or a multitude of other things where user directories, registries, profiles databases, personnel systems etc. need to talk to one another.

For more information, please visit: -

http://www-03.ibm.com/services/learning/ites.wss/gb/en?pageType=course_description&courseCode=TW09GB&state=&city=Staines+%26%2340%3BNr+Heathrow%26%2341%3B+Middx&facility=500008275

Be there, or be perhaps less well informed :-)

Monday, 28 June 2010

WebSphere Portlet Factory Version Next - Beta now available

I had a briefing from the Product Manager, Jason Cornell, on the plans for the next release of WebSphere Portlet Factory, which is just out in beta: -

• Expanded support for the latest, advanced Dojo toolkit User Interface widgets and controls enabling delivery of exceptional web experiences
• New theme support for creating applications with enhanced, dynamic interactivity by eliminating page flicker with intelligent User Interface refresh capabilities
• New compelling User Interface capabilities with new features designed to generate exceptional applications by default for providing superior user experiences
• New automation features enabling fast, simple construction of fully functional applications from relational databases in seconds
• New and enhanced visual application development features for easy, intuitive and faster application construction
• Improved remote development and deployment support for remote servers running on-premise or in the cloud enabling faster and less costly application delivery
• Better integration with IBM WebSphere Portal themes providing centralized control of portal site and application look and feel
• New support for IBM ILOG JViews charting components for delivering the most advanced data visualizations


There's also a presentation here: -


which provides more depth on this beta.

I've downloaded it this afternoon, and it'll be installed onto the Ubuntu 10.04 environment that I'm building on my Thinkpad ( now up to 8 GB, w00t ) tomorrow.

I'm using WPF in most of my projects now, and am continuing to evangelise it to all and sundry, both here on my blog, and face-to-face with my prospects.

It's a rapid application development tool with bite, that's really aimed at helping developers creating rich applications, using the latest standards and technologies, whilst encouraging good practice in terms of model-driven development, service orientation, absrtaction, separate of layers ( UI, data, service etc. ).

I'm enthused - I'd encourage you to get the beta, and be equally enthused ...

DO IT, DO IT NOW

Thursday, 24 June 2010

Webcast: What's new in Lotus Quickr 8.5 for WebSphere Portal - 30 June 2010

You are invited to join panelists from Development and Support for a Webcast about the new features and functionality of IBM Lotus Quickr 8.5 for WebSphere Portal. The Webcast will be held on Wednesday, June 30, 2010, at 10:00 a.m. EDT (14:00 GMT). A Webcast consists of a slide presentation followed by a Q&A session. This session will be recorded; a link to the recording will be added to this document.

Date

Wednesday 30 June 2010

Time

10:00 Eastern Daylight Time / 14:00 Greenwich Mean Time / 15:00 British Summer Time

URL

http://www-01.ibm.com/support/docview.wss?uid=swg21434118

Wednesday, 23 June 2010

More tales from the front-line - Ephox EditLive! Rich Text Editor failing to load in WCM 6.1.0.3

Environment

Red Hat Enterprise Linux 5.5
WebSphere Application Server Network Deployment 6.1.0.27
Java pxi32devifx-20090811 (SR10 +IZ56666+IZ56751)
WebSphere Portal / Lotus Web Content Management 6.1.0.3 ( plus PM02927 / PM13199 / PK84963 / PM02565 )

Deployed as a two-node cluster, managed by a separate Deployment Manager, with a pair of front-end web servers ( IBM HTTP Server 6.1.0.29 )

In addition, context root of portal has been changed from /wps/portal to /london/portal via the ConfigEngine modify-servlet-path command, as per: -

http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1/index.jsp?topic=/com.ibm.wp.ent.doc_v615/welcome_main.html

Overview

Ephox EditLive! Rich Text Editor (RTE) does not render when using WCM in a clustered environment - assumption is (a) that clustering has caused this exception or (b) that changing the default context root for the portal from /wps/portal to /london/portal.

Recreation Steps ( using Firebug 1.5.4 plugin within Firefox 3.6.3 to trap )

- Configure WCM Authoring Portlet to use EditLive as default editor, by setting Extended Editor under Rich Text Options
- Edit a piece of web content that has a Rich Text element within it
- Firebug throws up the Script exception: -

editlivebaseurl is not defined @ Line 658

>From the source of the page: -

<script language="Javascript" type="text/javascript" src="/wps/PA_WCM_Authoring_UI/wps/ephox/res/editlivebaseurl.js"></script>

it appears that Ephox is attempting to load the following JavaScript file: -

/wps/PA_WCM_Authoring_UI/wps/ephox/res/editlivebaseurl.js

which implies that the JS is available within the WCM Authoring application.

However, there is only one instance of this JS file on disk: -

/opt/IBM/WebSphere/wp_profile/installedApps/cellnameCell01/EphoxEditLive.ear/EphoxEditLive.war/res/editlivebaseurl.js

This is referenced in the EditLive JSP: -

/opt/IBM/WebSphere/wp_profile/installedApps/cellnameCell01/EphoxEditLive.ear/EphoxEditLive.war/jsp/html/EditLiveJavaEditor.jsp

<%-- used to load the portal Base URL in a way that is picked up by webseal --%>
<script language="Javascript" type="text/javascript" src="<%= portletResponse.encodeURI(getServletContext().getAttribute("directory") + "/res/editlivebaseurl.js") %>"></script>

Circumvention

Use absolute URL to JavaScript: -

http://portal.uk.ibm.com:10040/wps/ephox/res/editlivebaseurl.js

as JS is in DIFFERENT enterprise application ( EphoxEditLive ) and corresponding web application ( EphoxEditLive.war ) to WCM authoring ( PA_WCM_Authoring_UI  and ilwwcm-authoring.war respectively )

- Backup EditLiveJavaEditor.jsp
- Edit EditLiveJavaEditor.jsp
- Comment out: -

<%-- used to load the portal Base URL in a way that is picked up by webseal --%>
<script language="Javascript" type="text/javascript" src="<%= portletResponse.encodeURI(getServletContext().getAttribute("directory") + "/res/editlivebaseurl.js") %>"></script>

- Insert: -

<script language="JavaScript" type="text/javascript" src="http://portal.uk.ibm.com:10040/wps/ephox/res/editlivebaseurl.js")></script>

Alternatively, use an absolute URL to the web server(s) sitting in front of the portal cluster e.g.

<script language="JavaScript" type="text/javascript" src="http://webserver.uk.ibm.com/wps/ephox/res/editlivebaseurl.js")></script>

having checked that the Ephox web application, EphoxEditLive.war, is mapped to the HTTP servers as well as to the cluster.

Having made the above amendment to the EditLiveJavaEditor.jsp file ( on BOTH nodes within the cluster ), it's then necessary to restart the cluster having, for good measure, cleared down the temp and wstemp directories: -

rm -Rf /opt/IBM/WebSphere/wp_profile/wstemp/*
rm -Rf /opt/IBM/WebSphere/wp_profile/temp/*

to remove any compiled versions of edited JSP.

Once the cluster is restarted, the EditLive RTE now works as expected.

The circumvention does the trick - in the meantime, I've raised a PMR with IBM Support ...

Thanks be to Adrian Sutton of Ephox for his timely support, both via Twitter (!) and the telephone

Forms Based Authentication and WebSphere Portal together

As promisedpromised my Aussie colleague, Adam Brown, has kindly blogged his experiences with SearchBlox and WebSphere Portal here: -

Form Based Authentication for WebSphere Portal

Cheers, Adam, that's another beer I owe you ...

Deploying the Unified Task List portlet into a WebSphere Portal 6.1.0.4 cluster

This morning, I was able to successfully deploy the Unified Task List portlet to my WebSphere Portal 6.1.0.4 vertical cluster running on WebSphere Application Server 7.0.0.9.

I used the following install-utl.sh file: -

echo Licensed Materials - Property of IBM
echo IBM Industry Templates for WebSphere Portal
echo \(c\)Copyright IBM Corp. 2009.  All rights reserved.

echo Batch file to install the  industry template Unified Task List \(UTL\)  framework to WebSphere portal server

echo Edit the following variables with settings that reflect the machine set up:

echo usage variables:
set assemblyRoot=/home/hayd/Downloads/runtime/PortalAcceleratorUtl
set installPath=/opt/IBM/WebSphere/PortalServer/
set profilePath=/opt/IBM/WebSphere/wp_profile/
set wasUserName=wasadmin
set wasUserPassword=wasadm1n
set hostName=localhost
set soapPort=8879

export assemblyRoot=/home/hayd/Downloads/runtime/PortalAcceleratorUtl
export installPath=/opt/IBM/WebSphere/PortalServer/
export profilePath=/opt/IBM/WebSphere/wp_profile/
export wasUserName=wasadmin
export wasUserPassword=wasadm1n
export hostName=localhost
export soapPort=8879

set -o monitor
echo Registering utl framework components with the ConfigEngine.
$profilePath/ConfigEngine/ConfigEngine.sh -install -assemblyRoot $assemblyRoot -installPath $installPath -user $wasUserName$ -pwd $wasUserPassword -hostname $hostName$ -port $soapPort -offeringName PortalServer -assemblyName PortalAcceleratorUtl -expandBinaries true

echo Deploying the industry template utl framework
$profilePath/ConfigEngine/ConfigEngine.sh deploy-portlets -DComponentList=utl-common -propertyfile $assemblyRoot/utl.properties   

( this is provided with the portlet, in the runtimes directory )

with the following utl.properties: -

# Licensed Materials - Property of IBM
# IBM Industry Templates for WebSphere Portal
# (c) Copyright IBM Corp. 2009.  All rights reserved.


#Global properties file for the PortalAcceleratorUtl assembly
#
#users will need to set the values of the properties below
# to mirror the settings for their system
##

# Installation settings
#

General settings
serverName=WebSphere_Portal
nodeName=dmhw500
cellName=dmhw500Cell01
profile_dir=/opt/IBM/WebSphere6/wp_profile

( this again is provided with the portlet in the runtimes/PortalAcceleratorUtl directory )

but I also validated the installation using the following two ConfigEngine.sh scripts: -

/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh -install -assemblyRoot /home/hayd/Downloads/runtime/PortalAcceleratorUtl -installPath /opt/IBM/WebSphere/PortalServer -user wasadmin -pwd wasadm1n -hostname localhost -port 8879 -offeringName PortalServer -assemblyName PortalAcceratorUtl -expandBinaries true

/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh deploy-portlets -DComponentList=utl-common -propertyfile /home/hayd/Downloads/runtime/PortalAcceleratorUtl/utl.properties

I had the Deployment Manager, Node Agent and Portal cluster running.

It's also worth mentioning that I had previously set the parameters WasPassword and PortalAdminPwd in ConfigEngine/properties/wkplc.properties, to avoid me having to pass it into the script using the -D parameter.

Looking at the two ConfigEngine commands, the first one registers the UTL application with the ConfigEngine, which involves updating this file: -

/opt/IBM/WebSphere/wp_profile/ConfigEngine/registry.xml

with lines such as: -

...
<assembly xmi:id="Assembly_1277279131674" assemblyName="PortalAcceleratorUtl" installLocation="/opt/IBM/WebSphere/PortalServer/PortalAcceleratorUtl" lastModified="06/23/2010" version="6.1.0.0">
      <component xmi:id="Component_1277279131757" compName="accelerators.utl" installLocation="/opt/IBM/WebSphere/PortalServer/PortalAcceleratorUtl/accelerators.utl" version="6.1.0.0">
      <component xmi:id="Component_1277279131802" compName="utl-common" installLocation="/opt/IBM/WebSphere/PortalServer/PortalAcceleratorUtl/utl-common" version="6.1.0.0">
...

( I ran the command grep -i utl against the file to generate the above extract )

The second ConfigEngine command then deploys the portlets, referencing the utl.properties file, which references the node, cell and profile.

Once the second command had been successfully run, I can see the installed application, deployed at the Cell level, via the following path: -

/opt/IBM/WebSphere/wp_profile/installedApps/dmhw500Cell01/PA_WPF.ear/com.ibm.utl.war/

It was necessary to stop/start the application via the Deployment Manager, as it only appeared to automatically start on one out of two instances. Once started, I was able to add the Unified Task List portlet to a page,and have it render - I see an "Unknown Error" message, but I'm guessing that this relates to the fact that I don't have an instance of WebSphere Process Server available to talk to.

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...