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 https://w3.ibm.com/connections/profiles/html/profileView.do?key=9bd96659-504f-4433-af15-4ab4dfd4863c&lang=en
  • 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 ….

2 comments:

Daniel Silva said...

Any recommendations on where to get TDI Skills?

Thanks!
Dan

Dave Hay said...

@Daniel - there are plenty of resources available online, including some about which I've previously blogged: -

IBM Tivoli Directory Integrator - A Miscellany

New Redpiece - IBM Lotus Domino Integration using IBM Tivoli Directory Integrator

You can also find training on the IBM Training site here.

Finally, IBM can provide you with skilled and experienced TDI professionals, as can many of our Business Partners.

Hope this helps.

Dave

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...