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

Customizing your TDI assembly line

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.

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

    View Slide

  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
    [email protected]
    twitter.com/martdj
    nl.linkedin.com/in/martdj
    blog.martdj.nl

    View Slide

  3. Social Connections 15 Munich, September 16-18 2019
    Life beyond Connections
    Climbing
    Musicals

    View Slide

  4. Social Connections 15 Munich, September 16-18 2019
    PLATINUM SPONSOR
    PLATINUM SPONSORS
    GOLD SPONSORS
    SILVER SPONSORS
    BRONZE SPONSORS SPEEDSPONSORING BEER SPONSOR

    View Slide

  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

    View Slide

  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

    View Slide

  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)

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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)

    View Slide

  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

    View Slide

  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)

    View Slide

  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)

    View Slide

  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

    View Slide

  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

    View Slide

  17. Social Connections 15 Munich, September 16-18 2019
    Demo

    View Slide

  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)

    View Slide

  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

    View Slide

  20. Social Connections 15 Munich, September 16-18 2019
    Questions

    View Slide

  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

    View Slide

  22. View Slide

  23. Social Connections 15 Munich, September 16-18 2019
    PLATINUM SPONSOR
    PLATINUM SPONSORS
    GOLD SPONSORS
    SILVER SPONSORS
    BRONZE SPONSORS SPEEDSPONSORING BEER SPONSOR

    View Slide