Where have all the attributes gone ?

I have been working with the Workorder driver for a bit now and have
got to the stage where I can get it to do most things that I want.
However, there is a serious omission in this ability. I have had
several problems with the schema mapping.

The first was that I could not get the DirXML-woType attribute to work
properly until I found the correct mapping in the schema of the 'Virtual
Application' I found the answer to this in the Manage Application
Schema option when right clicking on the Workorder driver in Designer.

The next problem was trying to use DirXML-nwoRepeatCount. This, again
was not in my mapping table by default or in the list mentioned above.
I eventually found the correct mapping in the trace.

<input>
<init-params src-dn="\THEVAULT\resources\IDM\Driver Set\testWO-0">
<driver-filter>
<allow-class class-name="WorkOrder">
<allow-attr attr-name="Description"/>
<allow-attr attr-name="Creator"/>
<allow-attr attr-name="DueDate"/>
<allow-attr attr-name="Contact"/>
<allow-attr attr-name="Content"/>
<allow-attr attr-name="CreationDate"/>
<allow-attr attr-name="DeleteDueDate"/>
<allow-attr attr-name="DeleteOnError"/>
<allow-attr attr-name="DependentWorkOrder"/>
<allow-attr attr-name="DoItNowFlag"/>
<allow-attr attr-name="ProcessLog"/>
<allow-attr attr-name="RepeatIntervalCount"/>
<allow-attr attr-name="RepeatInterval"/>
<allow-attr attr-name="SendToPublisher"/>
<allow-attr attr-name="Status"/>
<allow-attr attr-name="WorkOrderNumber"/>
<allow-attr attr-name="ObjectDN"/>
<allow-attr attr-name="Other1"/>
<allow-attr attr-name="Other2"/>
<allow-attr attr-name="Type"/>
</allow-class>
<allow-class class-name="User"/>
</driver-filter>
<subscriber-options/>
<subscriber-state>Good</subscriber-state>
</init-params>
</input>

The naming convention is a bit inconsistent where
DirXML-nwoRepeatInterval is mapped to RepeatInterval
and
DirXML-nwoRepeatCount is mapped to DirXML-nwoRepeatIntervalCount

All now works until you need to extend the Schema. One of the serious
omissions is the lack of a DN type attribute in the DirXML-Workorder
object. Almost every Workorder will reference an object, so it would be
nice to have a DN type attribute. This would also have the advantage of
ensuring referential integrity, which is not available at present. It
is easy enough to add an attribute to the filter, call it
DirXML-ObjectDN. You can then go to the schema mapping and add a
mapping such as
DirXML-ObjectDN maps to ObjectDN

How does the 'Virtual Application' that takes the output from the
Subscriber channel know about this mapping ?

From the trace below you can see that the mapping table has been set up
correctly at startup
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST:Applying policy: mapping+rule.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name 'Description'
to 'Description'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-CreatorName' to 'Creator'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-DueDate' to 'DueDate'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoContactName' to 'Contact'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoContent' to 'Content'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoCreationDate' to 'CreationDate'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoDeleteDueDate' to 'DeleteDueDate'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoDeleteOnError' to 'DeleteOnError'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoDependentWorkOrder' to 'DependentWorkOrder'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoDoItNowFlag' to 'DoItNowFlag'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoProcessLog' to 'ProcessLog'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoRepeatCount' to 'RepeatIntervalCount'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoRepeatInterval' to 'RepeatInterval'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoSendToPublisher' to 'SendToPublisher'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoStatus' to 'Status'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXML-nwoWorkOrderNumber' to 'WorkOrderNumber'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name
'DirXml-ObjectDN' to 'ObjectDN'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name 'DirXML-Other1'
to 'Other1'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name 'DirXML-Other2'
to 'Other2'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping attr-name 'DirXML-woType'
to 'Type'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: Mapping class-name
'DirXML-WorkOrder' to 'WorkOrder'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST: No mapping for class-name
'User'.
11:30:08 9ADA5BA0 Drvrs: testWO-0 ST:
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.6.10.4747">DirXML</product>
<contact>Novell, Inc.</contact>
</source>

and the driver filter has the attribute present
<input>
<init-params src-dn="\THEVAULT\resources\IDM\Driver Set\testWO-0">
<driver-filter>
<allow-class class-name="WorkOrder">
<allow-attr attr-name="Description"/>
<allow-attr attr-name="Creator"/>
<allow-attr attr-name="DueDate"/>
<allow-attr attr-name="Contact"/>
<allow-attr attr-name="Content"/>
<allow-attr attr-name="CreationDate"/>
<allow-attr attr-name="DeleteDueDate"/>
<allow-attr attr-name="DeleteOnError"/>
<allow-attr attr-name="DependentWorkOrder"/>
<allow-attr attr-name="DoItNowFlag"/>
<allow-attr attr-name="ProcessLog"/>
<allow-attr attr-name="RepeatIntervalCount"/>
<allow-attr attr-name="RepeatInterval"/>
<allow-attr attr-name="SendToPublisher"/>
<allow-attr attr-name="Status"/>
<allow-attr attr-name="WorkOrderNumber"/>
<allow-attr attr-name="ObjectDN"/>
<allow-attr attr-name="Other1"/>
<allow-attr attr-name="Other2"/>
<allow-attr attr-name="Type"/>
</allow-class>
<allow-class class-name="User"/>
</driver-filter>
<subscriber-options/>
<subscriber-state>Good</subscriber-state>
</init-params>
</input>

but as soon as an object is processed and the document comes from the
Subscriber channel to the Publisher channel, the attribute disappears,
as shown by the following trace

See attached file

So I have 2 questions
1.Can you extend the schema of the DirXML-Workorder class
2.What is the naming convention used to name attributes in, what I have
called, the 'Virtual Application'


--
chall
------------------------------------------------------------------------
chall's Profile: http://forums.novell.com/member.php?userid=34675
View this thread: http://forums.novell.com/showthread.php?t=398548