The esv2yaml script is ignoring some jcr:primaryType properties


#1

Upgrading from 11 to 12 I see a node like this in hippoecm-extension.xml

<sv:node sv:name="myhippoproject-hippo-configuration-hippo-domains-autoexport">
    <sv:property sv:name="jcr:primaryType" sv:type="Name">
      <sv:value>hippo:initializeitem</sv:value>
    </sv:property>
    <sv:property sv:name="hippo:sequence" sv:type="Double">
      <sv:value>30000.3</sv:value>
    </sv:property>
    <sv:property sv:name="hippo:contentresource" sv:type="String">
      <sv:value>configuration/domains/autoexport.xml</sv:value>
    </sv:property>
    <sv:property sv:name="hippo:contentroot" sv:type="String">
      <sv:value>/hippo:configuration/hippo:domains</sv:value>
    </sv:property>
    <sv:property sv:name="hippo:reloadonstartup" sv:type="Boolean">
      <sv:value>false</sv:value>
    </sv:property>
  </sv:node>

This is the autoexport.xml file referenced:

<?xml version="1.0" encoding="UTF-8"?><sv:node xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:esv="http://www.onehippo.org/jcr/xmlimport" sv:name="autoexport" esv:merge="combine">
  <sv:node sv:name="hippo:authrole" esv:merge="combine">
    <sv:property sv:name="hipposys:groups" sv:type="String" esv:merge="override" sv:multiple="true">
      <sv:value>author</sv:value>
      <sv:value>editor</sv:value>
    </sv:property>
  </sv:node>
</sv:node>

however, after running the esv2yaml script, the resulting autoexport.yaml file is missing the jcr:primaryType:

definitions:
  config:
    /hippo:configuration/hippo:domains/autoexport:
      /hippo:authrole:
        hipposys:groups:
          operation: override
          type: string
          value: [author, editor]

And this error appears at runtime:

[INFO] [talledLocalContainer] javax.jcr.RepositoryException: unchecked exception: java.lang.IllegalStateException: Node '/hippo:configuration/hippo:domains/autoexport/hippo:authrole' defined at 'EAP/EAP/EAP-bootstrap-configuration [config: configuration/domains/autoexport.yaml]' is missing the required jcr:primaryType property.

Why is the script ignoring these properties?


#2

those are known limitations and are mentioned in release notes. (“esv2yaml converts XML more or less as-is into YAML” )

So, you’ll need to fix few files yourself to fix this.