jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From François Cassistat...@maya-systems.com>
Subject Re: David's Model question : nt:unstructured and SNS
Date Sat, 14 Nov 2009 03:37:05 GMT
Yes, it seems like I was thinking. I should create my own type like  
Guo Du propose and make some kind of wrapper like Tobias propose. I  
wanted to make sure there was not something I missed before working on  
a solution.

I was looking for something like changing the default behavior of  
nt:structured, but I think it may cause problems since /jcr:system &  
friends use SNS.


thank you,


Frank


Le 09-11-13 à 17:06, Guo Du a écrit :

> 2009/11/13 François Cassistat <f@maya-systems.com>:
>> Is there an easy way to disallow SNS other than defining a new node  
>> type and setting all new nodes in this type, so I can get  
>> ItemExistException on save to prevent SNS from happening?
>
> The nt:folder doesn't allow SNS. If your application doesn't like
> nt:folder, you may create a custom node type like following sample.
> It's the same as nt:unstructured except the SNS validation.
>
> 	<nodeType name="nt:nosamesiblings"
> 		  isMixin="false"
> 		  hasOrderableChildNodes="true">
> 	    <supertypes>
> 		<supertype>nt:base</supertype>
> 	    </supertypes>
> 	    <childNodeDefinition name="*"
> 		          defaultPrimaryType="nt:xunstructured"  
> sameNameSiblings="false"
> 		          autoCreated="false" mandatory="true"
> 		          onParentVersion="IGNORE" protected="false"/>
> 	    <propertyDefinition name="*"
> 		                requiredType="undefined"
> 		                autoCreated="false"
> 		                mandatory="false"
> 		                onParentVersion="COPY"
> 		                protected="false"
> 		                multiple="false"/>
> 	    <propertyDefinition name="*"
> 		                requiredType="undefined"
> 		                autoCreated="false"
> 		                mandatory="false"
> 		                onParentVersion="COPY"
> 		                protected="false"
> 		                multiple="true"/>
> 	</nodeType>
>
> As this node type could be interesting for some people, it might be
> good to provide by default.
>
> -Guo


Le 09-11-13 à 17:21, Tobias Bocanegra a écrit :

> hi,
>
> 2009/11/13 François Cassistat <f@maya-systems.com>:
>> David's Model gives good advices and I already followed his  
>> suggestions.
>>
>> However, there is something I don't understand. He says "Learn to  
>> love nt:unstructured (& friends) in development." (and I think he  
>> is right) and later, "Beware of Same Name Siblings (SNS)". But, in  
>> the documentation, nt:unstructured allows SNS.
>>
>> Is there an easy way to disallow SNS other than defining a new node  
>> type and setting all new nodes in this type, so I can get  
>> ItemExistException on save to prevent SNS from happening?
>
> unfortunately not an easy one like changing the configuration. i see
> the following options:
> 1) create your own "nt:unstructured"
> 2) create a wrapper around the JCR interface and do the check yourself
> in 'addNode() and move()'. theoretically there are many more places
> you need to check - but those are the most common ones.
> 3) hack the builtin_nodtypes.cnd and change the definition of
> nt:unstructured. but i strongly discourage doing this. you're probably
> have a lot of problems later.
>
> regards, toby


Mime
View raw message