Hi all.
I’ve just took over a project that is working on a SPA with Brx version 14.7
First issue I found is the big amout of duplicate properties that the site is generating for the front end.
As you can see in this example, some elements such as headercomponent or metadata are duplicated (one with camel case and one with lower case). Inside this elements you can find again more duplicated elements with the same pattern.
Having a look at the beans:
I figured out that adding @PageModelIgnore in the getter methods that match with the duplicate elements fix my problem (elements in camel case are gone now), but not sure if this is a proper fix or just a workarroud. I’ll like to know from where comes all this mess in the response.
Best regards.
Hi @Alvaro_Rojas,
Could you please share the yaml definition of xxx:contentdocument
so we can check?
Also, is there a reason why @XmlRootElement
, @XmlAccessorType
, @XmlElement
annotations are used in the content bean?
Regards,
Erdem
Thanks @Erdem_Karakus for having a look.
This is how the xxx:contentdocument looks like (I guess you are looking for duplicated nodes on the namespaces, I can’t see anything strange there):
Regarding your question about @Xml annotations, I dont have an answer yet about why is it there, but I removed it from the content bean an nothing happens (duplicated elements still on the json response).
Best regards.
definitions:
config:
/hippo:namespaces/xxx/contentdocument:
jcr:primaryType: hipposysedit:templatetype
jcr:mixinTypes: ['editor:editable', 'mix:referenceable']
jcr:uuid: e0a4ae26-d7ab-44eb-8021-2f796d04428f
/hipposysedit:nodetype:
jcr:primaryType: hippo:handle
jcr:mixinTypes: ['mix:referenceable']
jcr:uuid: 90f823a1-afe5-48cd-a94c-386259eef75b
/hipposysedit:nodetype:
jcr:primaryType: hipposysedit:nodetype
jcr:mixinTypes: ['hipposysedit:remodel', 'mix:referenceable']
jcr:uuid: 53066179-a3ba-4e8c-a23f-8fa77d643a96
hipposysedit:node: true
hipposysedit:supertype: ['xxx:basedocument', 'hippostd:relaxed', 'hippotranslation:translated']
hipposysedit:uri: http://www.xxx.com/xxx/nt/1.0
/contentblocks:
jcr:primaryType: hipposysedit:field
hipposysedit:multiple: true
hipposysedit:ordered: true
hipposysedit:path: xxx:contentblocks
hipposysedit:type: hippo:compound
hipposysedit:validators: [contentblocks-validator]
/headercomponent:
jcr:primaryType: hipposysedit:field
hipposysedit:mandatory: false
hipposysedit:multiple: false
hipposysedit:ordered: false
hipposysedit:path: xxx:headercomponent
hipposysedit:primary: false
hipposysedit:type: xxx:headercomponent
hipposysedit:validators: [optional]
/metadata:
jcr:primaryType: hipposysedit:field
hipposysedit:mandatory: false
hipposysedit:multiple: false
hipposysedit:ordered: false
hipposysedit:path: xxx:metadata
hipposysedit:primary: false
hipposysedit:type: xxx:metadata
/hipposysedit:prototypes:
jcr:primaryType: hipposysedit:prototypeset
/hipposysedit:prototype:
jcr:primaryType: xxx:contentdocument
jcr:mixinTypes: ['mix:referenceable']
jcr:uuid: f3c54af6-e2ac-4a23-bdf2-7e6a56f5b961
hippo:related___pathreference: []
hippostd:holder: holder
hippostd:state: draft
hippostdpubwf:createdBy: ''
hippostdpubwf:creationDate: 2014-03-25T10:56:00+01:00
hippostdpubwf:lastModificationDate: 2014-03-25T10:56:00+01:00
hippostdpubwf:lastModifiedBy: ''
hippotranslation:id: document-type-locale-id
hippotranslation:locale: document-type-locale
/xxx:headercomponent:
jcr:primaryType: xxx:headercomponent
jcr:mixinTypes: ['hippostd:publishableSummary', 'hippostdpubwf:document',
'hippotranslation:translated', 'mix:referenceable']
jcr:uuid: 45fa6646-5bd0-4223-a6b9-5d95c35d2e50
xxx:imageSlanted: false
xxx:introtitle: ''
xxx:subtitle: ''
xxx:text: ''
xxx:title: ''
hippostd:holder: holder
hippostd:state: draft
hippostdpubwf:createdBy: ''
hippostdpubwf:creationDate: 2020-10-22T14:28:41.145+02:00
hippostdpubwf:lastModificationDate: 2020-10-22T14:28:41.144+02:00
hippostdpubwf:lastModifiedBy: ''
hippotranslation:id: document-type-locale-id
hippotranslation:locale: document-type-locale
xxx:breadcrumbs: false
/xxx:calltoaction:
jcr:primaryType: xxx:calltoaction
xxx:buttonText: ''
/xxx:buttonLink:
jcr:primaryType: hippo:mirror
hippo:docbase: cafebabe-cafe-babe-cafe-babecafebabe
/xxx:calltoactionextern:
jcr:primaryType: xxx:calltoactionextern
xxx:linkextern: ''
/xxx:image:
jcr:primaryType: hippogallerypicker:imagelink
hippo:docbase: cafebabe-cafe-babe-cafe-babecafebabe
hippo:facets: []
hippo:modes: []
hippo:values: []
/xxx:headercard:
jcr:primaryType: xxx:headercard
xxx:title: ''
xxx:usp: ['']
/xxx:calltoaction:
jcr:primaryType: xxx:calltoaction
xxx:buttonText: ''
/xxx:buttonLink:
jcr:primaryType: hippo:mirror
hippo:docbase: cafebabe-cafe-babe-cafe-babecafebabe
/xxx:calltoactionextern:
jcr:primaryType: xxx:calltoactionextern
xxx:linkextern: ''
/xxx:imagelink:
jcr:primaryType: hippogallerypicker:imagelink
hippo:docbase: cafebabe-cafe-babe-cafe-babecafebabe
hippo:facets: []
hippo:modes: []
hippo:values: []
/xxx:icon:
jcr:primaryType: hippogallerypicker:imagelink
hippo:docbase: cafebabe-cafe-babe-cafe-babecafebabe
hippo:facets: []
hippo:modes: []
hippo:values: []
/xxx:metadata:
jcr:primaryType: xxx:metadata
xxx:googleindex: true
xxx:metadescription: ''
xxx:metatitle: ''
xxx:ogdescription: ''
xxx:ogtitle: ''
xxx:structureddata: ''
xxx:index: true
/xxx:ogimage:
jcr:primaryType: hippogallerypicker:imagelink
hippo:docbase: cafebabe-cafe-babe-cafe-babecafebabe
hippo:facets: []
hippo:modes: []
hippo:values: []
/editor:templates:
jcr:primaryType: editor:templateset
/_default_:
jcr:primaryType: frontend:plugincluster
frontend:properties: [mode]
frontend:references: [wicket.model, model.compareTo, engine, validator.id]
frontend:services: [wicket.id, validator.id]
type: xxx:contentdocument
/root:
jcr:primaryType: frontend:plugin
extension.left: ${cluster.id}.left
extension.right: ${cluster.id}.right
plugin.class: org.hippoecm.frontend.editor.layout.TwoColumn
wicket.extensions: [extension.left, extension.right]
/left:
jcr:primaryType: frontend:plugin
item: ${cluster.id}.left.item
plugin.class: org.hippoecm.frontend.service.render.ListViewPlugin
wicket.id: ${cluster.id}.left
/right:
jcr:primaryType: frontend:plugin
item: ${cluster.id}.right.item
plugin.class: org.hippoecm.frontend.service.render.ListViewPlugin
wicket.id: ${cluster.id}.right
/headercomponent:
jcr:primaryType: frontend:plugin
caption: headercomponent
field: headercomponent
plugin.class: org.hippoecm.frontend.editor.plugins.field.NodeFieldPlugin
wicket.id: ${cluster.id}.left.item
hint: ''
/cluster.options:
jcr:primaryType: frontend:pluginconfig
/contentblocks:
jcr:primaryType: frontend:plugin
caption: Description items
compoundList: xxx:ankeilercomponent,xxx:articleconversionblock,xxx:faqlistcomponent,xxx:insurednotinsured,xxx:linkblockcomponent,xxx:paragraphcomponent,xxx:relatedarticle,xxx:relatedarticles,xxx:reusablecomponent,xxx:salesblockcomponent,xxx:searchheader,xxx:servicelistcomponent,xxx:tipblockcomponent,xxx:toggletablistcomponent,xxx:uspblockcomponent,
xxx:partialinsuredlist
contentPickerType: links
field: contentblocks
plugin.class: org.onehippo.forge.contentblocks.ContentBlocksFieldPlugin
wicket.id: ${cluster.id}.left.item
hint: ''
/cluster.options:
jcr:primaryType: frontend:pluginconfig
showCompoundNames: true
/metadata:
jcr:primaryType: frontend:plugin
caption: metadata
field: metadata
plugin.class: org.hippoecm.frontend.editor.plugins.field.NodeFieldPlugin
wicket.id: ${cluster.id}.right.item
hint: ''
/cluster.options:
jcr:primaryType: frontend:pluginconfig