[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17841882#comment-17841882 ] Robert Munteanu commented on SLING-12197: - [~Sc0rpic0m] [~sseifert] - any concerns with closing this and tracking the fix on the AEM Analyser side? > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17841594#comment-17841594 ] Niek Raaijmakers commented on SLING-12197: -- [https://github.com/adobe/aemanalyser-maven-plugin/pull/220] [~sseifert] fyi > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17841445#comment-17841445 ] Stefan Seifert commented on SLING-12197: thanks for the analysis! > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17841292#comment-17841292 ] Niek Raaijmakers commented on SLING-12197: -- In particular: the invocation resides here: [https://github.com/adobe/aemanalyser-maven-plugin/blob/main/aemanalyser-core/src/main/java/com/adobe/aem/analyser/AemPackageConverter.java#L135] > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17841291#comment-17841291 ] Niek Raaijmakers commented on SLING-12197: -- [~sseifert] we identified the issue. the create path repoinit statements were not created due to a different invocation of the CPConverter then before. Strangly enough, the packages were extracted from the bundle. In any case it's upstream. > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17841068#comment-17841068 ] Stefan Seifert commented on SLING-12197: bq. At least for mutable content, if i'm not wrong we use the order of the generated packages.csv from the cpconverter to deploy later. yes, but in this case its about the ordering of (sticking to the unit test example): 1. repoinit statements generated from {{io.wcm.handler.media-1.11.6.jar}} 2. content package {{io.wcm.handler.media-apps-1.11.6-cp2fm-converted.zip}} with *immutable* content generated from {{io.wcm.handler.media-1.11.6.jar}}, containing nodes and scripts below {{/apps}} they have to be executed in exactly this order - if the folders already exists after installing the package the repoinit statements have no effect. > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17840859#comment-17840859 ] Niek Raaijmakers commented on SLING-12197: -- At least for mutable content, if i'm not wrong we use the order of the generated packages.csv from the cpconverter to deploy later. > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17840857#comment-17840857 ] Niek Raaijmakers commented on SLING-12197: -- I am totally up to look into this , but it has to be aligned with priorities (aka management). Also because I haven't touched this in quite some time and it will take some context switching. [~sseifert] your comments are the first make some sense to me why it now breaks all of sudden, because I didn't touch this for a very long time. I guess pinpointing this might be time intensive though but I guess we don't have much choice at this point? > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17840834#comment-17840834 ] Stefan Seifert commented on SLING-12197: good point - i discovered that most of the test code for Sling-Initial-Content is in this test class: https://github.com/apache/sling-org-apache-sling-feature-cpconverter/blob/master/src/test/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandleSlingInitialContentTest.java and the good thing the unit test uses already a jar file {{io.wcm.handler.media-1.11.6.jar}} which is affected exactly by the problem. i've found that there is already an implementation that should fix the problem described in this ticket (but does not actually), this path is exactly verified here as repoinit statement, but fails to be created with sling:Folder currently (nt:folder instead): https://github.com/apache/sling-org-apache-sling-feature-cpconverter/blob/2ed5bdc8ccaf8ab9079268bfbc9d1fdc77bbd485/src/test/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandleSlingInitialContentTest.java#L146 so maybe this is a pointer to a strange thing: the whole initial content processing with the folder primary types worked initially fine (e.g. with cpconverter around 1.1.25), and broke some time later. maybe the root cause is not the sling-initial-content processing, but the processing of the repoinit statements it creates? e.g. if the order of deploying the content package generated from the jar file, and execution of the repoinit statements is done in the wrong way (package first), it will break, if it is done right it will work. because the repoinit statements in the unit test look correct and should fix the problem. maybe the problem is not within cpconverter, but in downstream code picking up the resulting packages and repoinit statements, and the problem lies there (i.e. AEMaaCS build pipeline)? > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17840821#comment-17840821 ] Robert Munteanu commented on SLING-12197: - Sure, if Niek has the time to look at it I'm all for it :-) I looked the initial PR from SLING-10931 and it's a lot of code, not easy to figure out where to insert what. As for the test case, it would be very helpful if you could create a simple package with Sling initial content that install on the latest Sling Starter but fails when passed through the CP Converter. The bundle you linked above requires AEM-specific APIs and I can't use it for testing. > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17840751#comment-17840751 ] Stefan Seifert commented on SLING-12197: can we reach out to [~Sc0rpic0m] who did the initial implementation as part of SLING-10931? > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17840675#comment-17840675 ] Robert Munteanu commented on SLING-12197: - [~sseifert] - I did not have time to look into it in depth, but reading through the description it seems like a clear incompatibility between the CP Converter and Initial Content behaviour that we need to address. I don't know the codebase that well either, so a fix is not immediate for me either, unfortunately. > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17840385#comment-17840385 ] Stefan Seifert commented on SLING-12197: [~rombert] any news on this one? we need to make sure cpconverter creates a {{.content.xml}} with {{jcr:primaryType=sling:Folder}} for each folder found in Sling-Initial-Content which do not have a node type defined explicitly, so it behaves the same as the Sling Content Loader. i looked again a bit deeper at the cpconverter implementation, but the handling of Sling-Initial-Content and handing it over to the other processing is rather complex, so i currently do not feel confident to come up with a quick patch. > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.8 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17795680#comment-17795680 ] Robert Munteanu commented on SLING-12197: - I think we've talked about this quite a bit in different Jira issues/GitHub PRs ... I need a bit of time to catch up :-) > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.6 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17795392#comment-17795392 ] Konrad Windszus commented on SLING-12197: - That example makes perfect sense. Only the first three levels are outside the filter rules root node (and are therefore "uncovered" ancestor nodes). The other levels are covered by the filter rule and therefore are recreated/enforced with the node type given in the serialization (in the case without a .content.xml always nt:folder, https://jackrabbit.apache.org/filevault/vaultfs.html#Folder_aggregates). > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.6 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17795389#comment-17795389 ] Stefan Seifert commented on SLING-12197: following my example from above, after deployment of [^io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip], the following folders and node types exist: * {{/apps}}: {{sling:Folder}} (already existed) * {{/apps/wcm-io}}: {{sling:Folder}} (automatically created, outside path in filter.xml) * {{/apps/wcm-io/handler}}: {{sling:Folder}} (automatically created, outside path in filter.xml) * {{/apps/wcm-io/handler/link}}: {{nt:folder}} (automatically created, toplevel path defined in filter.xml, no {{.content.xml}} exists) * all folders below {{/apps/wcm-io/handler/link}} are using {{nt:folder}} as well i do not understand why {{sling:Folder}} is used for the first two created hierarchy nodes (following the parent folder), and then it switches to {{nt:folder}} further down in the hierarchy. should not be the case according to [https://jackrabbit.apache.org/filevault/filter.html#Uncovered_ancestor_nodes]? > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.6 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17795374#comment-17795374 ] Konrad Windszus commented on SLING-12197: - Makes sense to create .content.xml for ancestor nodes. It is not always nt:folder btw but rather is the default node type as outlined in https://jackrabbit.apache.org/filevault/filter.html#Uncovered_ancestor_nodes > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.6 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17795351#comment-17795351 ] Stefan Seifert commented on SLING-12197: at wcm.io, we implemented a similar tooling to transform Sling-Initial-Content to content packages: [https://github.com/wcm-io/io.wcm.maven.plugins.sling-initial-content-transform-maven-plugin] the content package produced by this tool is not affected by the problem, because it creates a dedicated {{.content.xml}} for each folder as well, defining the {{sling:Folder}} node type. should we follow the same approach for cpconverter as well? [~kwin] [~rombert] WDYT? > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.6 > > Attachments: io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SLING-12197) cpconverter: Sling-Initial-Content directories created as nt:folder instead of sling:Folder
[ https://issues.apache.org/jira/browse/SLING-12197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17795349#comment-17795349 ] Stefan Seifert commented on SLING-12197: scenario to reproduce the problem: * the bundle https://repo1.maven.org/maven2/io/wcm/io.wcm.handler.link/1.10.2/io.wcm.handler.link-1.10.2.jar contains Sling-Initial-Content, and a folder {{/apps/wcm-io/handler/link/components/global/include}} with three sub nodes with {{nt:unstructured}} node type, represented as three separate JSON files * the sample project https://github.com/wcm-io/aem-guides-wknd-wcmio builds an "all" content package including (amongst others) this bundle * fit the "all" content package is transformed using cpconverter 1.3.4, the resulting content package is [^io.wcm.handler.link-apps-1.10.2-cp2fm-converted.zip] * if the resulting content package is deployed, the folder {{/apps/wcm-io/handler/link/components/global/include}} remains empty because the three nodes could not be extracted, error message: {noformat} 11.12.2023 13:57:58.295 *WARN* [qtp22494311-117] org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter Error during processing of /apps/wcm-io/handler/link/components/global/include/redirectStatus: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for redirectStatus, skip node due to import mode UPDATE 11.12.2023 13:57:58.296 *WARN* [qtp22494311-117] org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter Error during processing of /apps/wcm-io/handler/link/components/global/include/linkRefTab: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for linkRefTab, skip node due to import mode UPDATE 11.12.2023 13:57:58.296 *WARN* [qtp22494311-117] org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter Error during processing of /apps/wcm-io/handler/link/components/global/include/linkRefNoTitleTab: javax.jcr.nodetype.ConstraintViolationException: No matching node definition found for linkRefNoTitleTab, skip node due to import mode UPDATE {noformat} > cpconverter: Sling-Initial-Content directories created as nt:folder instead > of sling:Folder > --- > > Key: SLING-12197 > URL: https://issues.apache.org/jira/browse/SLING-12197 > Project: Sling > Issue Type: Bug > Components: Content-Package to Feature Model Converter >Affects Versions: Content-Package to Feature Model Converter 1.3.4 >Reporter: Stefan Seifert >Priority: Major > Fix For: Content-Package to Feature Model Converter 1.3.6 > > > the cpconverter extracts Sling-Initial-Content from OSGi bundles and creates > FileVault packages with the transformed content. > this works well, but there is one difference when the resulting content > package is installed compared when uploading the OSGi bundle with the > Sling-Initial-Content directly: > * the JCR Content Loader by defaults creates a {{sling:Folder}} node type for > each directory found in the Sling-Initial-Content (see also > [docs|https://sling.apache.org/documentation/bundles/content-loading-jcr-contentloader.html#initial-content-loading-1]) > * the cpconverter process creates no {{.content.xml}} file for the folders, > but only for the actual JSON files found in the process. as a result, the > folders are created as {{nt:folder}} when uploading the transformed package > * this difference becomes relevant, when a JSON file in Sling-Initial-Content > defines a primary type of {{nt:unstructured}} - it is not allowed to created > such a node directly below a {{nt:folder}} node - but it is allowed to do so > below a {{sling:Folder}} node -- This message was sent by Atlassian Jira (v8.20.10#820010)