Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Following the discussion in JCR-2116, I propose it would be a good idea to have jcr:created, jcr:createdBy (from mix:created) and jcr:lastModified, jcr:lastModifiedBy (mix:lastModified) not protected, but still automatically set those properties in case they were not modified by the client.
Three advantages:
a) This allows for importing content with these properties, where eg. the jcr:created should point to the original creation date of the content, not when it was imported.
b) Same for jcr:lastModified, which often must be set manually for ensuring correct behaviour when doing synchronizations etc.
c) In order to take advantage of the automatically-set behaviour mentioned in the spec, it would be nice if the repository would set them in the case the client is not writing those properties. This way you can ensure the properties are correctly set when you cannot control all client-code modifying the content (eg. webdav).
Question: would this be in line with the spec? I would say, yes, since we say we don't implement "protected", which is allowed, but add a hybrid approach (which is not explicitly forbidden, IIUC).
For the reference, here is the definition from the latest JSR-283 doc:
[mix:lastModified] mixin
- jcr:lastModified (DATE) autocreated protected? OPV?
- jcr:lastModifiedBy (STRING) autocreated protected? OPV?
[mix:created] mixin
- jcr:created (DATE) autocreated protected? OPV?
- jcr:createdBy (STRING) autocreated protected? OPV?
And here is the current cnd definition in JR 2.0:
http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.cnd?view=co
Attachments
Issue Links
- relates to
-
JCR-2116 JSR 283: Built-In Node Types
- Closed