[ 
https://issues.apache.org/jira/browse/JCR-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12736550#action_12736550
 ] 

Alexander Klimetschek edited comment on JCR-2116 at 7/29/09 3:07 AM:
---------------------------------------------------------------------

> it's the most recent 'Public' version.

Ah, thanks. Answer to myself after getting the cvs version of jsr-283: 
protected? means it is an implementation variant (3.7.9.1), so not implementing 
protected is ok.

But my proposal goes further: "autocreated" means the property shall only be 
created if it is not existing, which is ok for jcr:created, but not for 
jcr:lastModified. So if we don't do "protected", ie. always set by repository 
on significant modification *and* throwing ConstraintViolationException if a 
client tries to modify it, we should let the repository set it on significant 
modification if it is not set by the client manually.

This way it works as expected (automatically set), but you can also override it 
on imports. And old clients that might set those properties manually all the 
time, since they weren't automatically set in Jackrabbit 1.x, don't get the 
ConstraintViolationException (if they don't yet are overcautious and catch it 
for those setProperty calls). Although old JCR-1.0 clients using the 
then-nonexistent mix:created/lastModified mixins are probably a rare case ;-)

      was (Author: alexander.klimetschek):
    Answer to myself after getting the cvs version of jsr-283: protected? means 
it is an implementation variant (3.7.9.1), so not implementing protected is ok.

But my proposal goes further: "autocreated" means the property shall only be 
created if it is not existing, which is ok for jcr:created, but not for 
jcr:lastModified. So if we don't do "protected", ie. always set by repository 
on significant modification *and* throwing ConstraintViolationException if a 
client tries to modify it, we should let the repository set it on significant 
modification if it is not set by the client manually.

This way it works as expected (automatically set), but you can also override it 
on imports. And old clients that might set those properties manually all the 
time, since they weren't automatically set in Jackrabbit 1.x, don't get the 
ConstraintViolationException (if they don't yet are overcautious and catch it 
for those setProperty calls). Although old JCR-1.0 clients using the 
then-nonexistent mix:created/lastModified mixins are probably a rare case ;-)
  
> JSR 283: Built-In Node Types
> ----------------------------
>
>                 Key: JCR-2116
>                 URL: https://issues.apache.org/jira/browse/JCR-2116
>             Project: Jackrabbit Content Repository
>          Issue Type: Sub-task
>          Components: jackrabbit-core, nodetype
>            Reporter: Stefan Guggisberg
>            Assignee: Tobias Bocanegra
>             Fix For: 2.0.0
>
>
> sync definitions of built-in node types with spec

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to