On Fri, Feb 19, 2010 at 17:30, Thomas Müller <thomas.muel...@day.com> wrote:
>> I'd make node type constraints and security checks the responsibility
>> of the client who commits the transaction.
>
> That's a solution :-) I'm not sure it's the _right_ solution, but we
> can start like that.

At its heart I see JCR as an unstructured data storage. Node types are
just an "add-on". So the core/micro-kernel should work fast and scale
well with pure unstructured nodes & properties.

It doesn't have to care about types, which leads to simpler code, and
the kernel shouldn't be optimized for them; since it always has to
support unstructured data, it cannot use constrained types to optimize
the underlying data storage anyway. For example creating fixed-sized
columns in a RDBMS. (Well, it could do that selectively, but that
would lead to an enormous complexity).

So all type checking should happen at the higher level. This is also
good if you want to do imports that "violate" JCR level constraints
(such as system props and versioning) - you get it for free at the
lower layer (except for the data format, but this is another topic).

Regards,
Alex

-- 
Alexander Klimetschek
alexander.klimetsc...@day.com

Reply via email to