On 2012-02-22 19:31, Michael Dürig wrote:

Hi,

Another point that came up at last week's F2F was that jr3 should - in
contrast to jr2 - not implement all optional features of the JCR
specification. Rather should we concentrate on the "core" features and
improve them wrt. jr2.

With core features I refer to the features which have proven vital in
applications using Jackrabbit. With improvements I mean issues we
identified with core features (e.g. the notable performance degradation
with big list of direct child nodes).

Looking at the list of repository descriptors [1] we could decide for
either of them what we want to support. Here is my take:

write.supported = true

identifier.stability = identifier.stability.session.duration

option.xml.export.supported = true
option.xml.import.supported = true

option.unfiled.content.supported = false

What's the problem with unfiled content?

option.versioning.supported = true
option.simple.versioning.supported = true

option.activities.supported = false
option.baselines.supported = false
option.access.control.supported = true
option.locking.supported = true (but we might want make exceptions in a
clusterd environment)
option.observation.supported = true
option.journaled.observation.supported = true

What about the cases where current Jackrabbit fails, due to not sufficient information being preserved?

option.retention.supported = false
option.lifecycle.supported = false
option.transactions.supported = true
option.workspace.management.supported = true
option.update.primary.node.type.supported = true
option.update.mixin.node.types.supported = true
option.shareable.nodes.supported = false

Well, shareable nodes do not really work in the current Jackrabbit... That being said, it shouldn't be hard to implement them properly when starting from scratch.

option.node.type.management.supported = true (but with restriction wrt.
nodes type in use)
option.node.and.property.with.same.name.supported = true

That's something I would kill.

node.type.management.inheritance = true
node.type.management.inheritance.minimal = ?
node.type.management.inheritance.single = true
node.type.management.inheritance.multiple = ?
node.type.management.overrides.supported = ?
node.type.management.primary.item.name.supported = true
node.type.management.orderable.child.nodes.supported = false
node.type.management.residual.definitions.supported = true
node.type.management.autocreated.definitions.supported = true
node.type.management.same.name.siblings.supported = false
node.type.management.property.types = ?
node.type.management.multivalued.properties.supported = true
node.type.management.multiple.binary.properties.supported = true
node.type.management.value.constraints.supported = false
node.type.management.update.in.use.suported = false
query.languages = ?
query.stored.queries.supported = ?
query.full.text.search.supported = true
query.joins = ?
level.1.supported = true
level.2.supported = true
option.query.sql.supported = ?
query.xpath.pos.index = ?
query.xpath.doc.orderable = ?

Michael

[1]
http://www.day.com/specs/jcr/2.0/24_Repository_Compliance.html#24.2%20Repository%20Descriptors



Reply via email to