[
https://issues.apache.org/jira/browse/JCR-3452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13506599#comment-13506599
]
Stefan Guggisberg commented on JCR-3452:
----------------------------------------
bq. AFAIU, making something more restrictive than before is considered a
"major" change because it could make existing content invalid.
correct. changes that might render existing content illegal according to the
new definition are considered major.
only changes that have no effect on existing content (e.g. making a mandatory
item non-mandatory) are allowed.
> Modified property and child node definition are rejected
> --------------------------------------------------------
>
> Key: JCR-3452
> URL: https://issues.apache.org/jira/browse/JCR-3452
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Affects Versions: 2.5.2
> Reporter: Tom Quellenberg
> Priority: Minor
> Attachments: patch.txt
>
>
> NodeTypeDefDiff identifies modified properties and child nodes by
> QNodeDefinitionId and QPropertyDefinitionId. Both classes have their own
> equals and hashCode methods. Thus, properties and child nodes with trivial
> changes (changed required types or isMultiple) are always considered as added
> and removed ( = major change) and never as changed.
> Additional, the check for required child node types seems wrong to me: adding
> additional (alternative) constraints are considered as major change. I think,
> the opposite is true: removing node types from the list of required types is
> a major change (there may exist child nodes of the removed type), adding
> alternative constraints is a trivial change.
> There is one more change to the required child node types, which can easily
> be checked: setting the required type to nt:base. This should always be
> possible.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira