Debugging JSON overrides
May 22, 2024
This section shows how to debug the json overrides on a content by providing the following information:
- the priority of the override
- the module providing the override
- the file name of the override
- the nodetype associated with the override
- if permissions are used in the override
{
forms {
editForm(uuidOrPath: "/sites/digitall/home/area-main", uiLocale: "en", locale: "en") {
mergedItems {
priority
bundleName
filename
condition {
nodeType
withPermission
}
}
}
}
}
It will return the following payload for /sites/digitall/home/area-main
:
{
"data": {
"forms": {
"editForm": {
"mergedItems": [
{
"priority": 1,
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/nt_base.json",
"condition": {
"nodeType": "nt:base",
"withPermission": null
}
},
{
"priority": 1,
"bundleName": "site-settings-seo",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_description_move_section.json",
"condition": {
"nodeType": "jmix:description",
"withPermission": null
}
},
{
"priority": 1,
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/fieldsets/jmix_skinnable.json",
"condition": {
"nodeType": "jmix:skinnable",
"withPermission": null
}
},
{
"priority": 1,
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/fieldsets/jmix_cache.json",
"condition": {
"nodeType": "jmix:cache",
"withPermission": null
}
},
{
"priority": 1.1,
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/nt_base_orderable.json",
"condition": {
"nodeType": "nt:base",
"withPermission": null
}
},
{
"priority": 2,
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/mix_title.json",
"condition": {
"nodeType": "mix:title",
"withPermission": null
}
},
{
"priority": 2,
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_channelSelection.json",
"condition": {
"nodeType": "jmix:channelSelection",
"withPermission": null
}
},
{
"priority": 2,
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_tagged.json",
"condition": {
"nodeType": "jmix:tagged",
"withPermission": null
}
},
{
"priority": 2,
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_contributeMode.json",
"condition": {
"nodeType": "jmix:contributeMode",
"withPermission": null
}
},
{
"priority": 2,
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_listSizeLimit.json",
"condition": {
"nodeType": "jmix:listSizeLimit",
"withPermission": null
}
}
]
}
}
}
}
It's also possible to get the full details of the item:
{
forms {
editForm(uuidOrPath: "/sites/digitall/home/area-main", uiLocale: "en", locale: "en") {
mergedItems {
bundleName
filename
form {
name
sections {
name
fieldSets {
fields {
name
}
}
}
}
fieldSet {
name
fields {
name
}
}
}
}
}
}
It will return the following payload:
{
"data": {
"forms": {
"editForm": {
"mergedItems": [
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/nt_base.json",
"form": {
"name": "nt:base",
"sections": [
{
"name": "content",
"fieldSets": []
},
{
"name": "classification",
"fieldSets": []
},
{
"name": "metadata",
"fieldSets": []
},
{
"name": "layout",
"fieldSets": []
},
{
"name": "options",
"fieldSets": [
{
"fields": [
{
"name": "ce:systemName"
}
]
}
]
},
{
"name": "seo",
"fieldSets": [
{
"fields": [
{
"name": "jcr:description"
}
]
}
]
},
{
"name": "listOrdering",
"fieldSets": []
},
{
"name": "visibility",
"fieldSets": []
},
{
"name": "permissions",
"fieldSets": []
}
]
},
"fieldSet": null
},
{
"bundleName": "site-settings-seo",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_description_move_section.json",
"form": {
"name": "jmix:description",
"sections": [
{
"name": "seo",
"fieldSets": [
{
"fields": [
{
"name": "jcr:description"
}
]
}
]
}
]
},
"fieldSet": null
},
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/fieldsets/jmix_skinnable.json",
"form": null,
"fieldSet": {
"name": "jmix:skinnable",
"fields": []
}
},
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/fieldsets/jmix_cache.json",
"form": null,
"fieldSet": {
"name": "jmix:cache",
"fields": []
}
},
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/nt_base_orderable.json",
"form": {
"name": "nt:base",
"sections": [
{
"name": "listOrdering",
"fieldSets": [
{
"fields": [
{
"name": "ce:manualOrdering"
}
]
}
]
}
]
},
"fieldSet": null
},
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/mix_title.json",
"form": {
"name": "mix:title",
"sections": [
{
"name": "content",
"fieldSets": [
{
"fields": [
{
"name": "jcr:title"
},
{
"name": "ce:systemName"
}
]
}
]
}
]
},
"fieldSet": null
},
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_channelSelection.json",
"form": {
"name": "jmix:channelSelection",
"sections": [
{
"name": "visibility",
"fieldSets": [
{
"fields": [
{
"name": "j:channelSelection"
},
{
"name": "j:channelIncludeOrExclude"
}
]
}
]
}
]
},
"fieldSet": null
},
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_tagged.json",
"form": {
"name": "jmix:tagged",
"sections": [
{
"name": "classification",
"fieldSets": [
{
"fields": [
{
"name": "j:tagList"
}
]
}
]
}
]
},
"fieldSet": null
},
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_contributeMode.json",
"form": {
"name": "jmix:contributeMode",
"sections": [
{
"name": "listOrdering",
"fieldSets": [
{
"fields": [
{
"name": "j:editableInContribution"
},
{
"name": "j:contributeTypes"
}
]
}
]
}
]
},
"fieldSet": null
},
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/jmix_listSizeLimit.json",
"form": {
"name": "jmix:listSizeLimit",
"sections": [
{
"name": "listOrdering",
"fieldSets": [
{
"fields": []
}
]
}
]
},
"fieldSet": null
}
]
}
}
}
}
And by adding a filter, get quickly which file is modifying a specific value:
{
forms {
editForm(uuidOrPath: "/sites/digitall", uiLocale: "en", locale: "en") {
hasPreview
mergedItems(filter:{filters:{fieldName:"form.hasPreview", evaluation:NOT_EMPTY}}) {
bundleName
filename
form {
hasPreview
}
}
}
}
}
It will return the following payload:
{
"data": {
"forms": {
"editForm": {
"hasPreview": false,
"mergedItems": [
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/nt_base.json",
"form": {
"hasPreview": true
}
},
{
"bundleName": "jcontent",
"filename": "/META-INF/jahia-content-editor-forms/forms/jnt_virtualsite.json",
"form": {
"hasPreview": false
}
}
]
}
}
}
}