As Jukka announced earlier, a couple of us met for a short Oak Hackathon
in Hamburg last week. We mainly worked towards getting things ready for
the upcoming 0.3 release  but also discusses some more fundamental
- Node types and node type management: Implement as a plugin in oak-core
which exposes a default value provider which oak-jcr can use to create
default values (for example for the jcr:uuid property). The plugin
further provides a commit hook for validating the values of auto created
properties on save. For the time being we persist node types in CND format
- Same name siblings: Set
node.type.management.same.name.siblings.supported to false. Define a
marker mixin which can be used to mark nodes which support auto creating
names for child nodes on collision. If on addNode(String) a node with
the given name already exists, auto create an unique name and add the
marker mixin. Open jsr/tck issue if necessary. Implementation as
plugin/commit hook. Potentially implement the new JSR-333 interfaces for
server-named nodes using an extension interface.
- Identifier handling: Leave things as they are right now (identifiers
of non-referenceable nodes are not really stable). See OAK-101.
- Path handling: Split mapping operation into mapping and resolution;
prepare to optimize that case where no session-local prefix remapping
has happened. See OAK-61.
- Workspace handling: Removed half baked support for workspaces: the
default workspace is currently the only one. Items of the default
workspace are now persisted directly under the Microkernel root node.