Hello,

to register custom node types the user need to be able to specify the JCR-properties similar to the ItemDefinition, PropertyDefinition and NodeDefinition (see section 6.7.12-6.7.14 of the JCR-spec). The question is: should we introduce a second config file only for the node type registration or should we include the properties needed for the registration in the jcrmapping.xml file.

In case the user does not want to use custom node types at all we could hide the complexity of the custom node type registration in a second file. The user would only need to deal with the mapping from
the Java classes to the build in node types of the JCR.

With a separate config file the node type registration component does not have a relation to our
project and could be reused by other projects.

But maybe the basic question is:
Is the mapping from a Java class to a JCR node type a 1:1 mapping or is it possible that a Java class maps
to more than one JCR node type?

I always thought it is a 1:1 mapping. Every class has a node type. Every Java super class has a JCR super node type
and so on.
If I would like to change the name of a JCR item I need to change it in only one config file. If I like to change a property of the mapping - no matter if it is the Java part of the mapping or the JCR part of the mapping I would know
at which position of the mapping graph I need to search.

But of course if there is a use case for a 1:n or a n:1 mapping a second file would make sense. Do you think it is possible that a custom node type is mapped to more than one Java class?

What do you think?
Or if you already have an opinion, please vote:
[ ] +1 for a seperate config file only for the registration of custom node types
[ ] 0 don't care
[ ] -1 for having one mapping graph in one configuration file

Best regards,

Sandro

Reply via email to