Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
DD Tuple Processor with Multiple DBs
aputnam
I am using a Tuple Processor to modify my tuple at deploy time. As part of this modification I am adding fields to the tuple which are then accessed by my dbschema and deployed to my db.
I am attempting to add an additional database to my deployment by adding a new <database> element to my dd config file destination area. The behavior is not what I expected. This is what I see happening:
The data to the first destination is correct
The data to the second destination is incorrect.
It appears that the Tuple Processor is called twice, once for each destination. When it is called for the second destination, it acts on the modified tuple result from the first call. Essentially it is acting as if I have modified the source. I would have thought that the Tuple Processor would only be called once and then the result duplicated across destinations.
Is this behavior expected or is this a bug?
Find more posts tagged with
Comments
Migrateduser
Can you attach your config file?
How are you calling the 2nd database? From what I recall, you can only have one database element within a destinations tag (at least the DTD indicates that). Are you using exec-deployments to chain deployments together?
Mariam
aputnam
I am using exec-deployments to chain deployments together. I am trying to avoid duplicating deployment definitions for every added database.
Here is the section of my deployment:
<deployment name="DEV-GLOBAL_VALUES-FILELIST">
<source>
<xml-source area="$vpath"
area-type="ts-filesystem"
xml-type="interwoven"
options="wide,full">
<path filelist="$vpath/logs/$global_values_filelist"
delete-after-use="no"></path>
</xml-source>
</source>
<destinations>
<database use="JFPDB_DEV">
<dbschema name="PAGE_DEF"
filepath="$vpath/templatedata/ContentTypes/GLOBAL_VALUES/schema.xml"/>
</database>
<database use="JFPDB_QA">
<dbschema name="PAGE_DEF"
filepath="$vpath/templatedata/ContentTypes/GLOBAL_VALUES/schema.xml"/>
</database>
</destinations>
</deployment>
Migrateduser
Once the tuple has been modified, DD doesn't keep an old copy for the next TPP call. So within the same destinations group, you'll have to deal with that modified tuple.
If you only have 1 database per deployment, and then use exec-deployments to chain them, what happens? I would think the right behavior is to parse your source files again and generate a new tuple based on the original source.
Mariam
Migrateduser
One thing I just thought about... if you do not want to modify the tuple, you may want to check out the External Data Source feature of DD. It works somewhat similarly to the TPP. But it doesn't modify the tuple. Instead of specifying tuple fields in your dbschema map, you put a direct callout to your java class to get the column value. The tuple values are available to your external class, but the values don't get modified.
Mariam