[MAGNOLIA-6394] Mixins cannot have non-mixin supertype according to JCR specification Created: 25/Sep/15  Updated: 09/Feb/17  Resolved: 06/May/16

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: None
Fix Version/s: 5.5

Type: Improvement Priority: Neutral
Reporter: Robert Šiška Assignee: Robert Šiška
Resolution: Fixed Votes: 0
Labels: jcr, modeshape, nodetype
Remaining Estimate: 0d
Time Spent: 5m
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Release notes required:
Yes
Date of First Response:
Epic Link: Fix mixin hierarchy
Sprint: Kromeriz 43
Story Points: 1

 Description   

Section 3.7.5.2 (Mixins and Inheritance) of the JSR-283 specification (aka, "JCR 2.0") states:

A mixin node type may have one or more supertypes, which must also be mixin types.

However, our mixins have the non-mixin nt:base as a supertype.

Jackrabbit doesn't mind, but ModeShape performs validation of the inheritance when registering the nodetype.



 Comments   
Comment by Michael Mühlebach [ 15/Oct/15 ]

Change custom node types

  • remove super type from mixins
  • provide scripts for update of existing installations (we have one for old data module)

Check all modules for mixins (personalization has one for sure)

Comment by Robert Šiška [ 21/Mar/16 ]

For release notes:

Although the node type definitions are apparently changed, this is basically just cosmetic change. When registering the node types, Jackrabbit doesn't really registers non-mixin supertypes for mixins (even when it's explicitely defined).

Therefore existing installations don't have to be updated. Still, I would include it in release notes because it looks like a major change.

Generated at Mon Feb 12 04:14:07 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.