Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Customizing your TDI assembly line

51982cdf3a85b94124c5dd02ff03318d?s=47 LetsConnect
September 16, 2019

Customizing your TDI assembly line

Tivoli Directory Integrator is an integral part of a Connections on premises installation. If all your profile information is available in a single LDAP directory, configuring your assembly line is easy and can be done without any programming skills or even opening the TDI editor. When you need to combine information from multiple sources however, you’ll need to customise the standard assemblyline and you’ll probably find that the learning curve to do so is quite steep.x000D Based on a practical case of an assemblyline that I recently customised for a large customer, this session will walk you through the TDI interface and the default IBM Connections assembyline and show you how to combine information from multiple sources in your IBM Connections profiles with the goal to make the learning curve considerably less steep.

51982cdf3a85b94124c5dd02ff03318d?s=128

LetsConnect

September 16, 2019
Tweet

More Decks by LetsConnect

Other Decks in Technology

Transcript

  1. Customising your TDI Assembly line Martijn de Jong, e-office @martdj

  2. Social Connections 15 Munich, September 16-18 2019 Who am I?

    • M.Sc. Electrical Engineering at the University of Delft, The Netherlands • Psychology & Ergonomics at the University of Stellenbosch, South Africa • Worked with IBM Domino in development, administration and as an instructor since 2000 • Worked with IBM Connections since 2012 with 2 of top 3 largest accounts in the Netherlands • Working for e-office since September ☺ Martijn de Jong martijn.de.jong@e-office.com twitter.com/martdj nl.linkedin.com/in/martdj blog.martdj.nl
  3. Social Connections 15 Munich, September 16-18 2019 Life beyond Connections

    Climbing Musicals
  4. Social Connections 15 Munich, September 16-18 2019 PLATINUM SPONSOR PLATINUM

    SPONSORS GOLD SPONSORS SILVER SPONSORS BRONZE SPONSORS SPEEDSPONSORING BEER SPONSOR
  5. Social Connections 15 Munich, September 16-18 2019 Not Covered •

    How to configure TDI • See official documentation: https://www.ibm.com/support/knowledgecenter/en/SSYGQH_6.0.0/admin/install/t_prof_install_tdi.html • How to add extension attributes • See the presentation by Wannes Rams and Klaus Bild: https://www.slideshare.net/kbild/show301-make-your-ibm-connections-deployment-your-own-customize-it
  6. Social Connections 15 Munich, September 16-18 2019 Agenda • Why

    customise • Considerations before customising • TDI terminology • What I customised • How to customise • Demo • Caveats • Resources
  7. Social Connections 15 Munich, September 16-18 2019 Default Assemblyline LDAP

    Directory (Domino, AD, etc) Configuration Files: • profiles_tdi.properties • map_dbrepos_from_source.properties • map_dbrepos_to_source.properties • LotusConnections-config/*.xml SQL (DB2, Oracle, MS SQL)
  8. Social Connections 15 Munich, September 16-18 2019 My case LDAP

    Directory Novell e-directory SQL (DB2, Oracle, MS SQL) 2nd LDAP Directory Active Directory Configuration Files: • profiles_tdi.properties • map_dbrepos_from_source.properties • map_dbrepos_to_source.properties • LotusConnections-config/*.xml • Extra properties file
  9. Social Connections 15 Munich, September 16-18 2019 My case LDAP

    Directory Novell e-directory Configuration Files: • profiles_tdi.properties • map_dbrepos_from_source.properties • map_dbrepos_to_source.properties • LotusConnections-config/*.xml • Extra properties file SQL (DB2, Oracle, MS SQL) 2nd LDAP Directory Active Directory
  10. Social Connections 15 Munich, September 16-18 2019 Considerations before customising

    • The default assembly line is maintained by IBM/HCL • Any changes have to be easily repeatable • Limit your changes to specific insertion points • Document them really well • If your changes don’t fit into this model, put them in a separate assembly line
  11. Social Connections 15 Munich, September 16-18 2019 TDI Terminology •

    Connector – Connects to a source outside TDI to Add, Delete, Update or Lookup entries or to iterate a directory or create a delta • Entry - All the Attributes that make up a single unit of data • Work entry • Conn(ector) entry • Other entries (current, error, operation)
  12. Social Connections 15 Munich, September 16-18 2019 TDI Terminology (2)

    • Attribute map – Data flows between conn entries and work entries • Input map • Output map
  13. Social Connections 15 Munich, September 16-18 2019 Customised workflow LDAP

    Directory Novell e-directory 2nd LDAP Directory Active Directory Work entry SQL Entry Add: conn.sAMAccount Name conn.DN If (lookupError) { system.skipEntry } else { If (work.mail==“” & conn.mail != “”) {work.mail=conn.mail } else {system.skipEntry}} Check if visitingAddress exists in DB. If not, fill it from either office address or postal address SQL (DB2, Oracle, MS SQL)
  14. Social Connections 15 Munich, September 16-18 2019 Customised workflow LDAP

    Directory Novell e-directory 2nd LDAP Directory Active Directory Work entry SQL Entry Add: conn.sAMAccount Name conn.DN If (lookupError) { system.skipEntry } else { If (work.mail==“” & conn.mail != “”) {work.mail=conn.mail } else {system.skipEntry}} Check if visitingAddress exists in DB. If not, fill it from either office address or postal address SQL (DB2, Oracle, MS SQL)
  15. Social Connections 15 Munich, September 16-18 2019 How to customise

    • 5 phases of sync_all_dns • Phase 1 - hash Profiles database • Phase 2 - hash source (LDAP) • Phase 3 - compare values • Phase 4 - delete • Phase 5 - add / update Source: https://www.ibm.com/support/knowledgecenter/en/SSYGQH_6.0.0/admin/admin/c_admin_profiles_sync_ldap_understanding.html
  16. Social Connections 15 Munich, September 16-18 2019 How to customise

    (2) • TDI uses an iterator to iterate through the source • We want this iterator to take along our 2nd source
  17. Social Connections 15 Munich, September 16-18 2019 Demo

  18. Social Connections 15 Munich, September 16-18 2019 Caveats • Debugging

    single entry via “normal way” (via collect_dns) doesn’t work • This does work: source_ldap_required_dn_regex=^.*uid=TD48TV|uid=WS27QJ.*$ perform_deletion_or_inactivate_for_sync=false (extremely important!!) • Can’t use LDAP timestamp (unless you know both LDAPs change if the 2nd LDAP gets a change)
  19. Social Connections 15 Munich, September 16-18 2019 Resources • IBM

    Tivoli Directory Integrator Users Group http://www.tdi-users.org/foswiki/Integrator/WebHome • Guides • Getting started https://www.ibm.com/support/knowledgecenter/SSCQGF_7.1.1/com.ibm.IB MDI.doc_7.1.1/gettingstarted.pdf • User’s guide https://www.ibm.com/support/knowledgecenter/SSCQGF_7.1.1/com.ibm.IB MDI.doc_7.1.1/usersguide.pdf • Reference guide https://www.ibm.com/support/knowledgecenter/SSCQGF_7.1.1/com.ibm.IB MDI.doc_7.1.1/referenceguide.pdf
  20. Social Connections 15 Munich, September 16-18 2019 Questions

  21. Social Connections 15 Munich, September 16-18 2019 Support • Check

    out my blog! https://blog.martdj.nl • Find me on the openntf slack space at connections-on-prem https://openntf.slack.com
  22. None
  23. Social Connections 15 Munich, September 16-18 2019 PLATINUM SPONSOR PLATINUM

    SPONSORS GOLD SPONSORS SILVER SPONSORS BRONZE SPONSORS SPEEDSPONSORING BEER SPONSOR