Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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)

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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)

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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)

Slide 14

Slide 14 text

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)

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Social Connections 15 Munich, September 16-18 2019 Demo

Slide 18

Slide 18 text

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)

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Social Connections 15 Munich, September 16-18 2019 Questions

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

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