> Here's my node types: > > // The namespace declaration > <me = 'http://me.com'> > > //my node types > [me:document] > nt:hierarchyNode, nt:unstructured, mix:versionable, > mix:lockable > - me:docType (STRING) > > [me:folder] > nt:folder, nt:unstructured, mix:referenceable, mix:lockable > > > Oddly enough, when I try to move a node ( me:folder ) to a location that > would cause a same name sibling conflict, it almost always rejects me with > an ItemExistsException. However, a couple of times we've been able to > witness behavour where the session.move allows the same name sibling to be > created. Interestingly, we do a parallel move on a second workspace > directly after this and that second workspace move tossed the > ItemExistsException even when the first one didn't. Note, all of the > "parent" nodes in these moves are me:folder types. > > When I started to review this issue, I noticed that nt:unstructured allows > SNS, and my node types all extend nt:unstructured. To me not yet fully > matured understanding of defining node types, this leads me to believe that > my node types SHOULD allow SNS. > > So, two questions persist: > > 1) Do these node type definitions allow for SNS? ( SNS of type me:document > or me:folder, and all under a parent of me:folder ) >
> 2) Does my me:folder definition allow for SNS of me:document and me:folder? > > According to my reading of the specification, with regards to node type inheritance, I come up with the following effective node type definition for me:folder (note: I'm omitting mixin related properties and properties in general as I'm only concerned with child node aspects here ) [me:folder] > nt:folder, nt:unstructured, mix:referenceable, mix:lockable + * (nt:hierarchyNode) VERSION //from nt:folder + * (nt:base) = nt:unstructured sns VERSION // from nt:unstructured So, if I'm creating a me:folder under an me:folder, which child node rule applies. The spec simply says that they are both "additive", because of being "residual". My guess would be that the first rule applies, since my me:folder type is, from a type perspective, more specifically an instance of nt:hierarchyNode than an instance of nt:base. But I am, admittedly, a bit lost here.
