but then the name of the resulting association is "cm:configurations" rather than "app:configurations". The fact that this works says to me that what I'm trying to do should work. That is, the value I'm providing should be able to be qualified with a namespace since the default namespace is added to the value I provide if I don't specify one explicitly.

Do I have to turn off integrity checks to make this node? That seems harsh. BTW, I'm trying to reproduce the same node relationship that exists below each "person" node.

The cm:name field (the first parameter to the createNode() call) has restriction on the characters that can be used - so it is valid for CIFS/FTP/Windows/Webdav etc.etc. as this is the actual display name of the node.

In the Node Browser, view a "person" node. Look at the Children section of the report, and notice that the Child Name for the "configurations" child is "{http://www.alfresco.org/model/application/1.0}configurations". The interesting thing here is that the name "configurations" is not in the "cm" namespace but rather the "app" namespace. I'm wondering how I reproduce this situation; to have the Child Name be in my own namespace.

One thing I just noticed is that the actual "cm:name" property for this node is something different…it's the GUID of the node. So I guess that name is different so that it satisfies the integrity contstraint on a name. So then, maybe my question is how you can build a parent-child relationship such that the Child Name is one thing but the child node's "cm:name" property is something else (as is the case for person->configurations).

Maybe this doesn't matter much. Maybe it's just the case that all nodes produced by the JavaScript API must have a Child Name that matches the "cm:name" property, and that name must always be in the "cm" namespace. I just want to make sure…I'm thinking that without a namespace qualification, a collision will be somewhat inevitable.