Is the creation of new nodes (specifically documents) supported from inside the NodeCallbacks.CBCreate() callback? We have a custom module that monitors new node creations by orphaning the NodeCallbacks object and implementing the CBCreate method. If a document is created in certain folders this CBCreate method creates an associated document (business logic unimportant here) in a different folder hierarchy and links the two documents together via some custom features in their ExtendedData attributes. The second node creation does of course also trigger execution of our CBCreate() callback, but since this new node is not created in a "watched" folder it is ignored by the callback. This second instance of the callback does however execute before the first instance has terminated. Is this a problem within the OT callback mechanism?
Everything appeared to work fine until someone noticed that the "Modified By" column of the FIRST document (the one that triggered creation of the second one) appears blank in its parent folder listing. Inspecting the pCREATEDBY feature shows that it is populated, but then we discovered that the WEBNODESDISPLAY table entry for this new document is not being inserted. Our hunch is that this happens perhaps in another system callback that is not being executed because we triggered a second callback execution chain before exiting the first one. I guess the question is if callback execution chains are reentrant or if the callback mechanism relies on some global data structures that get overwritten with what we're doing here?
Uwe W. Radu
Tennessee Valley Authority