I am working with Oak version 1.2.2, and have recently encountered unexpected
behavior.
I have a custom node type that includes a PATH property, not required. In
previous versions, it was legal to specify either an empty path (“”) or a
default (“.”). In the current version, the default is no longer accepted on
node creation. Oddly enough, it seems to be accepted when updating the node,
and when retrieving the node, the value of the path is “.”.
Definition:
[tgt:slot] > mix:versionable orderable
- height (LONG) COPY
- order (LONG) COPY
- columns (LONG) COPY
- row (LONG) COPY
- componentPath (PATH) COPY
Create (JSON format):
{
"row": 2,
"columns": 12,
"height": 300,
"order": 2,
"component_path":""
}
Read (JSON format):
{
"row": 2,
"columns": 12,
"height": 300,
"order": 2,
"component_path”:"."
}
If I use this to create a new node at a different location, it fails with
javax.jcr.RepositoryException: OakName0003: Invalid name: .
Granted, it is better to omit the property than have an empty value, but it
seems like the behavior should be consistent. If “.” is valid as a return
value, it should be valid as an input value.
Thanks,
Jim