Thursday 22 September 2011

WebSphere Application Server (WAS) v7 and custom Trust Association Intercepters

This from Mikkel Heisterberg ( aka Lekkim )

I've previously blogged about the goodness of Trust Association Interceptors in Websphere Application Server (WAS) and how I've used it to turn the login procedure for IBM Connections on its head. We recently started upgrading the customer I originally developed this for to IBM Connections 3.0.1 hence they needed an upgrade to WAS 7. After upgrading the WAS servers the custom TAI didn't work anymore.

Want to know more ? Well, have a read, but I'll tell you this …. he cracked it :-)

Ooops, spoilers :-)

Friday 16 September 2011

IBM WebSphere Portal and Web Content Manager Support - They're on Facebook :-)

Along with the rest of the world, IBM is now on Facebook, as per this recent newsletter: -

The IBM Lotus Support page is your Facebook connection to Lotus Support where you can keep up on new technical information, electronic support tools, Open Mic events, training or education materials, articles, mailings, and new white papers.

This is actually quite a useful conglomeration ( what a lovely word ) of support information for WP/WCM customers, and includes: -

New updates for WebSphere Portal and Web Content Manager
PM44212 Combined WP & WCM CF007
PM45036 V6.1.5.0, V6.1.5.1, V6.1.5.2 WCM CF51
PM45034 V6.1.0.3, V6.1.0.4, V6.1.0.5 WCM CF51
PM43623 V6.1.0.5 / V6.1.5.2 WP CF15
PM43618 V6.1.0.4 / V6.1.5.1 WP CF15
PM43611 V6.1.0.3 / V6.1.5.0 WP CF15

and included a link to this: -

Thursday 15 September 2011

Integrating IBM Tivoli Access Manager for e-business 6.1.1 and IBM WebSphere Portal 7.0 using virtual host junctions

Saw this on Twitter via @LotusTechInfo 

• 1 Introduction
• 1.1 Prerequisites
• 2 Integrating WebSphere Portal 7.0 and TAMeB 6.1.1
• 2.1 Integrating WebSphere Portal with a standalone TDS (LDAP)
• 2.2 Integrating and configuring WebSphere Portal with TAM and WebSEAL
• 2.3 Making protected/unprotected WebSphere Portal landing pages from WebSEAL using ACL's
• 2.4 Changing the log-out page of Portal to point to the log-out page of WebSEAL reverse proxy
• 3 Applying the concept of virtual host junction to Portal and virtual portals
• 4 Exceptional conditions
• 5 Conclusion
• 6 Resources
• 7 About the authors

Developing Multichannel Applications with IBM Web Experience Factory

Saw this on Twitter via @LotusEducation 

IBM Web Experience Factory (WEF) supercharges application development with tools and technology for creating, customizing, deploying, and maintaining portlets, widgets, and web and rich clients. This course is designed to help you develop the skills needed to create and assemble multichannel applications easily and rapidly using WEF, formerly known as WebSphere® Portlet Factory.

On Day 1 of the course, you are introduced to WEF through an overview of developing multichannel applications for desktop browsers, smartphones, and tablets, and then begin using WEF to create a simple application. More in-depth, hands-on experience is offered on Day 2 of the course, during which students create a simple, data-driven application and a desktop application. On Day 3, mobile and multichannel enhancements are explored through discussion and hands-on activities.

This course includes the following lessons:

Lesson 1: Overview of developing multichannel applications

• Introduction to Web Experience Factory tooling
• Builders and models
• Profiling technology
• Overview of themes and page navigation: desktop perspective
• Multichannel rendering

Lesson 2: Getting started with Web Experience Factory

• Creating projects
• Using builders, models, and wizards

Lesson 3: Creating a simple, data-driven application

• Choosing a pattern
• Foundational builders
• Constructing the services layer
• Constructing the user interface layer
• Accessing data
• Data page and family of modifier builders
• Data field settings builder
• Validation and error handling

Lesson 4: Creating a desktop application

• List and detail service consumer wizard
• Services builders
• Representational state transfer (REST) services
• Rich data definition and automation concepts
• Using data page to construct mobile forms
• Adding images

Lesson 5: Adding mobile enablement to your application

• Builders targeted for mobile and smart device layouts
• Pagination and smart refresh in mobile

Lesson 6: Adding mobile-specific features

• Leveraging HTML5 features, such as geolocation
• Introduction to Mobile Geolocation builder and usage
• Mobile application considerations and caching

Lesson 7: Adding multichannel behavior to your application

• Profiling technology and multichannel rendering
• Profile sets and mobile selection handler
• Profile enablement for smart device applications
• Practical, hands-on exercises are included in most lessons to ensure that students gain experience using the most important features and capabilities of WEF.

Tuesday 13 September 2011

IBM Connections - User Profile Management

This is a place-holder for a much bigger post and, most likely, a presentation and/or article that I need to write at some point.

The salient point is that the IBM Connections Profiles application is extremely powerful, and has some rather nice administration points.

Is it perfect ? Does it have ALL the features I might need ? No, not yet, but it's really rather good.

During a recent project, the team and I learned that there are a number of ways to inspect the data held in the Profiles database, and that having someone with (a) good understanding of the application and (b) a really good knowledge of IBM Tivoli Directory Integrator is absolutely crucial.

Armed with this key person on the team, there's not much that can't be done.

For me, getting our ITDI guru to write an Assembly Line that would dump the Profiles database to a CSV file was immensely powerful, as we could see immediately changes that we were making using the out-of-the-box admin tools.

This Wiki article: -

is also essential, as it references commands such as: -
  • ProfilesService.inactivateUser(String user_email_addr)
  • ProfilesService.activateUserByUserId(String user_external_id, <updated_properties_list>)
  • ProfilesService.updateUserByUserId(String userID, <updated_properties_list>)
etc. all of which allow one to make dynamic changes to user profiles, either one-by-one or, more importantly, en masse.

The crucial thing is to have a REALLY GOOD KNOWLEDGE of the Profiles DB, and understand the differences between: -

  • guid - this is keyed against the underlying user directory e.g. IBM Tivoli Directory Server, Microsoft Active Directory AND will need to be updated IF one moves from one LDAP to another
  • key - this is the external handle that one can use to display the profile via the web browser using a URL such as
  • userid - this is the internal handle on the profile that one needs to know in order to make best use of the ProfilesService commands referenced above

It's also worth noting that the userid changes under-the-covers IF a major change is made to the Profile e.g. moving from one LDAP to another.

That's all for now, but I do want to write this up more fully, as it's been an extremely enjoyable learning curve over the last couple of weeks.

Bottom line - if you don't have good TDI skills on your project,  GET THEM if you want to do anything slightly out-of-the-ordinary ….

IBM Connections 3.0.1 CR3 fixes released

Stuart has blogged this but I thought it was worth a re-post as we've been waiting for a while for some of these fixes.
  • August 2011 mobile update
Fix Central has aggregated them together here ( my query is for Linux, but you can work it out ! ).

As Stuart says "If you haven't updated your Connections 3.0.1 environment yet, this might be a set to consider…"

Monday 5 September 2011

IBM Tivoli Directory Integrator - A Miscellany

Just pulling together a list of links for a colleague looking at ITDI and LDAP, so thought I'd write them down here for future reference: -

TDIing out loud 

Thanks to those who contributed the source from whence these came …..

Visual Studio Code - Wow 🙀

Why did I not know that I can merely hit [cmd] [p]  to bring up a search box allowing me to search my project e.g. a repo cloned from GitHub...