RNUG Lotus User Group (www.vlaad.lv)

IBM Tivoli Directory Integrator Change Detection Connector usage hint

Vladislav Tatarincev  27 May 2015 13:51:03
My clients use IBM TDI, to integrate Domino with other system, like Active Directory. As we all know there is a entitlement for TDI use if are current IBM Domino client.

In IBM Tivoli Directory Integrator Domino Change Detector connector allow to detect which users/groups has been added/modified/deleted.
Domino Change Detection documentation mentions, that you have to set date, when connector is finished, and read information when connector starts. This is done so that Connector reads only info from last successfull sync.
Please keep in mind, that TDI AL may run, network can be down, or  IBM Domino is down for maintenance.

If you put these scripts from documentation in Prolog/Epilog than YOUR Assembly line will loose some data.
Imagine, server is down.
so you should add more more hook, if server is DOWN then NOT to set last sync time, IF server is UP and connection is OK, then Yes we can set Last_Successful Sync time .

keep this in mind.






==================
Accessing the Connector synchronization state

While the Connector is offline you can access the "since" datetime that will be used on the next Connector run. This datetime is stored in the User Property Store.

This is how you can get the datetime value for the next synchronization:

var syncTime = system.getPersistentObject("dcd_sync");
var sinceDateTimeAttribute = syncTime.getAttribute("SYNC_TIME");
var sinceDateTime = sinceDateTimeAttribute.getValue(0);
if (sinceDateTime.getClass().getName().equals("java.util.Date")) {
main.logmsg("Start date: " + sinceDateTime);
}
else {
main.logmsg("Start date: Start Of Data");
}
"dcd_sync" is the value specified by the Iterator Store Key Connector parameter.

This is how you can set a start datetime for the next synchronization:

var syncTime = system.newEntry();
syncTime.setAttribute("SYNC_TIME", new java.util.Date()); //current time
syncTime.setAttribute("SYNC_CHECK_DOCS", new java.lang.Boolean("false"));
system.setPersistentObject("dcd_sync", syncTime);
Filtering entries

Archives