Friday, 3 August 2012

IBM Connections 3 - Manually populating the Profiles database - who needs wizards anyway ?

With apologies to JRR Tolkien and JK Rowling

Having previously unpacked the Connections Wizards TAR file ( IBM_Connection301_Wzd_zLinux_CZVR1ML.tar ), I wanted to quickly set up the IBM Tivoli Directory Integrator (ITDI) Assembly Line needed to populate the Profiles database, without running the Wizard.

The main reason for this is that there's always a time when you can't run a GUI, especially if your client only provides you with a SSH terminal session.

I'd already installed ITDI 7.0.0.5 as mentioned previously, into /opt/IBM/TDI/V7.0, so the rest was relatively easy: -

Create the tdisol directory by copying it from the unTAR'd Wizard

$ cd /opt/IBM/TDI/V7.0/
$ mkdir tdisol_BLUEPAGES
$ cd tdisol_BLUEPAGES/
$ cp -R /tmp/Wizards/Wizards/TDIPopulation/TDISOL/linux .

Backup and update the profile_tdi.properties file

$ cd linux
cp profiles_tdi.properties profiles_tdi.properties.original
$ vi profiles_tdi.properties 

with the following changes: -

source_ldap_user_login=uid=user87272h,c=gb,ou=bluepages,o=ibm.com
{protect}-source_ldap_user_password=Passw0rd
source_ldap_search_base=o=ibm.com
source_ldap_search_filter=&(uid=*)(objectclass=inetOrgPerson))

dbrepos_jdbc_url=jdbc:db2://localhost:60000/peopledb
{protect}-dbrepos_password=Passw0rd


Note that I'm using IBM's internal BluePages corporate directory as my LDAP, rather than installing a local copy of Domino, Tivoli Directory Server, Active Directory etc.

Also note that the two passwords are marked for encoding via the {protect} attribute, as described in a previous post here. Therefore, next time I check the profiles_tdi.properties file, I should find: -

{protect}-source_ldap_user_password={encr}89ae788e9f88bbc8877a7729e99ac9d990ea
{protect}-dbrepos_password={encr}88ea998ef88bb277ac98eef877bb7724928e8988ae

PS Alex Lang has written an excellent article on using BluePages with WebSphere Portal 7 here.

Create and populate the collect.dns file

$ cd /opt/IBM/TDI/V7.0/tdisol_BLUEPAGES/linux
$ vi collect.dns

uid=user87272h,c=gb,ou=bluepages,o=ibm.com

Populate the Profiles database

cd /opt/IBM/TDI/V7.0/tdisol_BLUEPAGES/linux
./populate_from_dn_file.sh 

CTGDKD024I Remote API successfully started on port:1099, bound to:'SessionFactory'. SSL and Client Authentication are enabled.
Platform: 'Generic'
CLFRN0027I: After iteration, success records is 1, duplicate records 0, failure records is 0, last successful entry is uid=user87272h,c=gb,ou=bluepages,o=ibm.com

And, bang, the job is done :-)

With thanks to the IC301 Wiki article - Manually populating the Profiles database - for inspiration.

No comments:

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="{...