[ https://issues.apache.org/jira/browse/JCRVLT-733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17789471#comment-17789471 ]
Konrad Windszus edited comment on JCRVLT-733 at 11/25/23 6:24 PM: ------------------------------------------------------------------ Another possibility is to separate that info a dedicated properties file where each line consists of {code:java} <path>=type{,<type>} {code} This can be referenced from the general package properties and should be part of the package metadata. The same format can then be used for validation during build time. During installation the following options may be set # IGNORE (don't consider info at all) # VALIDATE (just make sure the existing ancestor nodes comply with the given node types) # CREATE (create the ancestor nodes with given types but don't touch existing ones) # CREATEWITHPROPERTIES (create the ancestor nodes with all properties, but don't touch existing ones) # CREATEORUPDATE (create or update the ancestor nodes with given types) was (Author: kwin): Another possibility is to separate that info a dedicated properties file where each line consists of {code} <path>=type{,<type>} {code} This can be referenced from the general package properties and should be part of the package metadata. The same format can then be used for validation during build time. During installation the following options may be set # IGNORE (don't consider info at all) # VALIDATE (just make sure the existing ancestor nodes comply with the given node types) # CREATE (create the ancestor nodes with given types but don't touch existing ones) # CREATEORUPDATE (create or update the ancestor nodes with given types) > Allow to enforce ancestor primary and mixin type > ------------------------------------------------ > > Key: JCRVLT-733 > URL: https://issues.apache.org/jira/browse/JCRVLT-733 > Project: Jackrabbit FileVault > Issue Type: Improvement > Reporter: Konrad Windszus > Assignee: Konrad Windszus > Priority: Major > > Currently it is impossible to enforce a type for an uncovered ancestor node: > https://jackrabbit.apache.org/filevault/filter.html#Uncovered_ancestor_nodes. > Existing nodes are never touched, and therefore might have an incompatible > type which prevent the actual child node installation. > The workaround outlined e.g. at JCRVLT-403 is to leverage include patterns > which override the full ancestor node (but not arbitrary children). This > might also destroy other properties though (apart from types). > This is necessary whenever two packages might contribute to subtrees sharing > a common ancestor. There is often no dependent package which just provides > the common ancestor (as that would also overwrite the full subtree). -- This message was sent by Atlassian Jira (v8.20.10#820010)