Extended AD attributes and CLFRN0143E error message

44 views
Skip to first unread message

Norman Kamau

unread,
Nov 20, 2008, 9:28:52 PM11/20/08
to
We are using Lotus Connections (LC) TDISOL files which we copied to TDI
server. We would like to populate custom Active Directory (AD) attributes
and values in SQL Server PeopleDB database Employee table and other tables.
We get the following error message when using LC ALs.

ProcessADChanges.log file entry:
CTGDIS004I *** Finished dumping Entry
2008-11-20 16:28:38,943 ERROR
[AssemblyLine.AssemblyLines/SyncDBfromSource.1858498246] - CLFRN0143E:
ERROR: Add or update of database respository for DN CN=test15 user,<domain
DN> failed in copy_to_db due to: Invalid column name 'ext_gcPrefixFrench'..
Skipping.

Two issues:
1. 'ext_gcPrefixFrench' database column was previously mapped to an extended
attribute which is currently commented out in
map_dbrepos_to_source.properties, profiles_extensions.properties and
map_dbrepos_from_source.properties files (the latter as a precaution).
Actually, we have commented out all extended AD attributes and associated
database columns mappings using # symbols in the three files. We stopped and
restarted TDI Cloudscape using cs6.0.bat batch file from tdi-users.org and
run the AL with the same error message. It seems like the extended
attributes are still in TDI Cloudscape. Is there an easy way to clear
Cloudscape cache?

2. Before commenting out the defined extended attributes and columns, we got
similar error messages as above for different extended attributes. The
column names were being populated in database extension table except for the
one specified in the error message but without attribute values from AD. TDI
log files indicated that AL was able to get all extended attributes and
values from AD. Any ideas on how to resolve this?

Thanks,
Norman


Eddie Hartman

unread,
Nov 21, 2008, 5:18:13 AM11/21/08
to
Hi Norman,

The error message you are getting is from the SyncDBfromSource AL.
Are you sure this field name has been commented out from _all_ the
profiles_tdi files?

Have you tried to step through with the AL Debugger to see where it
fails, and if there is indeed an Attribute with this name that the AL
is trying to write out?

Note that there are a few steps you have to take if you want to
bring up SyncDBfromSource in the Debugger:

1) First, right-click and clone the AL so as not to ruin the default
version in the profiles_tdi Config. Prepending the name of
this new, cloned AL with "1_" (i.e. 1_SyncDBfromSource)
will make it appear first in the AL list.

Make all changes to this copy of the AL.

2) Since the AL Debugger cannot step across multiple ALs
when one calls another (at least, not yet... :) you will need
to add a component to set up the Attributes that would normally
by passed into SyncDBfromSource. You can do this with a
FileSystem Iterator reading from a test data file, or using the
FormEntry Connector which lets you input the test data
directly into the Config tab.

http://www.tdi-users.org/twiki/bin/view/Integrator/FormEntry

Or even more simply, just drop in an AttMap component
at the start of the Flow section and use JavaScript and
literal string values in Expression maps to set up the test
data.

3) Since the AL has Operations defined (add, modify and delete)
you cannot run it directly from the Config Editor (CE)...

...unless you go to the Operations tab and add a new one called
"Default". Note that you add an Operation, and not an AL Init
Parameter.
The presence of the "Default" Operation tells the TDI server that
it's ok to start this AL without an operation setting.

4) Since you are starting the AL with no Operation, you must
change the "get_operation" AttMap component. Simply
select the "$operation" Attribute mapping rule and change
the JavaScript code to this:

ret.value = "modify";

Or you can use "add". Whatever your test scenario is.

Once all this is done, you can now run your 1_SyncDBfromSource
AL in "Step (Paused)" mode. This starts up the AL in debug
mode so you can use the step buttons to walk thru the logic.
You can furthermore examine and even change any data carried
in the AssemblyLine, as well as calling functions and accessing
Java objects/methods.

For more on the Debugger, check out this video:

(Video #6 here)
http://www.tdi-users.org/twiki/bin/view/Integrator/LearningTDI

That should help you zoom in on what is causing the problem.

-Eddie

Eddie Hartman

unread,
Nov 22, 2008, 9:33:32 AM11/22/08
to
This is a topic hear and dear to my heart. Debugging.

It's easy to do with most AssemblyLines. But sometimes an AL is
started by another AssemblyLine, or by some other external process.
Like in the Lotus Connections TDI solution. If any of you Connections
deployers out there would like to learn how to interactively step
through
any of the pre-fab Lotus Connections AssemblyLines, please try to
follow the above intstructions and then please let me know how you
manage. I will post a new version based on this feedback.
e.g. Gotchas section based on your experience(s)

I know I push the debugger a lot, but I have seen time and time again
what happens people figure out what they can do with this interactive
data communications lab. You can really grab hold of the data and
work it with it in real-time, as you test and refine the logic of your
flow.
You change any values in order to exercise your error handling
or to drive the flow thru Branches/Loops. You can even test your
script logic by calling functions interactively. 'Nuff said.

If anybody wishes to use the TDI AL Debugger, but does not find the
video linked above helpful enough, please let me know also. It
means I need to do another video :)

Plus, if anybody else has any good Debugging tips, please share
them here.

-Eddie

> (Video #6 here)http://www.tdi-users.org/twiki/bin/view/Integrator/LearningTDI

Eddie Hartman

unread,
Nov 24, 2008, 8:01:50 AM11/24/08
to
Note also that in order to successfully open the
Connections Config in the dev tool (the CE) and
are trying to use the ibmditk batch-file/script, note
two things:

1) You have to specify the Solution Directory (soldir)
by using the -s startup argument:

ibmditk -s C:\TDISOL -c profiles_tdi.xml

The Solution Directory is where you find the
profiles_tdi.xml Config and all its support files.

Once in the CE, to check that the SolDir is correct
simply open the Properties tabs and look at the
profiles_tdi Properties. If the editor is filled with
the various parameters and settings, all is well.

2) You must disable the special run-script that
is configured for the CE in solution.properties.
Just open this file (in the SolDir) and comment
out this line by preceding it with a number sign:

#com.ibm.di.javacmd=./invjava.bat

Now you will be able to launch the Connections
AL directly from the CE, including in the Debugger.

Hope this helps,

-Eddie

On Nov 21, 11:18 am, Eddie Hartman <eddiehart...@gmail.com> wrote:

> (Video #6 here)http://www.tdi-users.org/twiki/bin/view/Integrator/LearningTDI

Eddie Hartman

unread,
Nov 27, 2008, 4:00:58 PM11/27/08
to
Reply all
Reply to author
Forward
0 new messages