WebSphere Portal / Communitypages VMM Adapter integration

There is a pretty nice integration between WebSphere Portal and IBM Connections available, which grants access to Portalpages depending on community membership of associated communities (community pages)
Here are the steps I used to activate the VMM adapter integration between IBM Connections & WebSphere Portal 8 / 8.5.

Prerequisites

Check greenhouse for the latest IBM Connections portlets:
https://greenhouse.lotus.com/plugins/plugincatalog.nsf/assetDetails.xsp?action=openDocument&documentId=55AFF4A1D3D54DF185257CD3006014A4

The installation of the IBM Connections portlets will not be described here. Basically it is a paa file that needs to be installed using the solution installer. Several other configuration steps are necessary.

 

Installation

1. Generate the VMM Jars

Here you have to decide, if you installed a…

  • “Cross-cell” deployment (IBM Connections and IBM WebSphere Portal under different deployment managers) –> use -DICdeploymentType=cross-cell below
  • “Single-cell” deployment (IBM Connections and IBM WebSphere Portal under the same deployment managers) –> use -DICdeploymentType=single-cell below
/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh action-setup-SNPortletsVMM-jars -DICdeploymentType=YOUR_CHOICE_FROM_ABOVE

2. Copy the generated files from:

  • for a cross-cell scenario, you will only see jar files listed in the deployment folder (/opt/IBM/Websphere/wp-profile/paa/SNPortlets/components/SNPortletsVMM/shared/WAS/lib) copy to AppServer/lib/ext.
  • for a single cell scenario, you will see jars and a vmm folder. Copy both the jars and the vmm folder (/opt/IBM/WebSphere/wp-profile/paa/SNPortlets/components/SNPortletsVMM/shared/WAS/lib) to the AppServer/lib/ext folder

to /opt/IBM/WebSphere/AppServer/lib/ext ON EACH NODE
Note: For Portal 8, do not copy commons-httpclient-3.1.jar

3. ONLY IF YOU USE SAML: Customize SAML config ON CONNECTIONS ONLY (create an exception for request-url!=/communities/dsx;request-url!=/profiles/dsx) otherwise VMM will not work

4. Restart the cell

5. Check and verify the jars

/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh verify-SNPortletsVMM-setup -DWasPassword=xxx

Check this source for output description:
http://www-10.lotus.com/ldd/lcwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Portlets+for+Portal+8.5#action=openDocument&res_title=Deploying_libraries_for_the_IBM_Connections_portlets_ip85&content=pdcontent

6. Configure the portlets for the usage with VMM

  • FOR DOMINO SERVERS:

Stop the Portalserver

Configure the portlets

/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh configure-SNPortletsVMM -DICpersonCorrelationAttribute=dominounid -DICpersonCorrelationAttributeType=uniqueId -DICpersonCorrelationAttributeSyntax=octetString -DICcommunityRdnAttribute=cn -DICmaxSearchResults=120 -DICldapTypeTDS=false -DICrunAsAdmin=false -DICpumaFilterClassname=com.ibm.connections.vmm.adapter.filter.VMMPrincipalFilter -DICpumaFilterPosition=120 -DWasPassword=xxx -DPortalAdminPwd=xxx

Configure the VMM respoitory

/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh wp-create-cur -DWasPassword=xxx -Dfederated.cur.id=connections -Dfederated.cur.adapterClassName=com.ibm.ws.wim.adapter.connections.ConnectionsAdapter -Dfederated.cur.isExtIdUnique=true -Dfederated.cur.supportExternalName=false -Dfederated.cur.supportPaging=false -Dfederated.cur.supportSorting=false -Dfederated.cur.supportTransactions=false -Dfederated.cur.baseDN=o=connections

Tell the WAS to use o=connections as group repository (REPEAT THIS FOR ALL REPOSITORIES THAT ARE IN USE)

/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh wp-update-group-repository-relationship -DWasPassword=xxx -Drepository.id=YOURLDAPID -Drepository.forgroups=connections
  • FOR TDS SERVERS:

Stop the Portalserver

Configure the portlets

/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh configure-SNPortletsVMM -DICpersonCorrelationAttribute=ibm-entryUuid -DICpersonCorrelationAttributeType=uniqueId -DICcommunityRdnAttribute=cn -DICmaxSearchResults=120 -DICldapTypeTDS=true -DICrunAsAdmin=false -DICpumaFilterClassname=com.ibm.connections.vmm.adapter.filter.VMMPrincipalFilter -DICpumaFilterPosition=120 -DWasPassword=xxx -DPortalAdminPwd=xxx

Configure the VMM respoitory

/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh wp-create-cur -DWasPassword=xxx -Dfederated.cur.id=connections -Dfederated.cur.adapterClassName=com.ibm.ws.wim.adapter.connections.ConnectionsAdapter -Dfederated.cur.isExtIdUnique=true -Dfederated.cur.supportExternalName=false -Dfederated.cur.supportPaging=false -Dfederated.cur.supportSorting=false -Dfederated.cur.supportTransactions=false -Dfederated.cur.baseDN=o=connections

Tell the WAS to use o=connections as group repository (REPEAT THIS FOR ALL REPOSITORIES THAT ARE IN USE)

/opt/IBM/WebSphere/wp_profile/ConfigEngine/ConfigEngine.sh wp-update-group-repository-relationship -DWasPassword=xxx -Drepository.id=YOURLDAPID -Drepository.forgroups=connections

7. Restart the whole Cell

8. Test the implementation
E.g. you should see the community names in the “manage Groups” part of the ISC

9. A hint for testing
If you create a new portlal page and associate this with a community and start testing, it may take up to 10 minutes that changes to membership between portal and IBM Connections are reflected (cause of LDAP caching)

10. As a result, I can login the portal and see a page that is linked with a community. I automatically get access because I`m member of the community 😉

  • I`m member of the community:

 

  • I have access to the linked portal page

Leave a Reply

Your email address will not be published. Required fields are marked *