A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Unable to Create Local Block on Commerce Page as full UI is not displayed

Vote:
 

We are experiencing a problem that ulitmately results in a 409 error from the server when adding a new component.

On a CMS page, When a block is added to a ContentArea all is fine whether created as a local block or created in the assets panel.

On a Commerce Page, Creating a block via the asset panel and dragging into the ContentArea works fine.

On a Commerce Page, When a block is added to a ContentArea as a local block, only the "Name" field is presented.  On "Saving" the block, a 409 error is generated if the block has [Required] properties, presumably because the validation is failing on save.  Therefore we are unable to create local content blocks on Commerce pages.

I have noticed that the response from the call to /EPiServer/shell/Stores/metadata/EPiServer.Core.ContentData differs for the CMS and Commerce very slightly.

Response received by CMS :

        "groups": [
            {
                "title""[Missing text '/headings/heading[@name='EPiServerCMS_SettingsPanel']/description' for 'English (United Kingdom)']",
                "displayUI"true,
                "displayOrder"0,
                "name""EPiServerCMS_SettingsPanel",
                "uiType""epi-cms/contentediting/SettingsPanel",
                "options": {
                    "region""top",
                    "title"""
                }
            },
            {
                "title""Content",
                "displayUI"true,
                "displayOrder"10,
                "name""Information",
                "uiType""epi/shell/layout/SimpleContainer",
                "options": {}
            },
            {
                "title""Settings",
                "displayUI"true,
                "displayOrder"30,
                "name""Advanced",
                "uiType""epi/shell/layout/SimpleContainer",
                "options": {}
            }
        ],        
"selections": []

Response received by Commerce :

       "groups": [
            {
                "title""[Missing text '/headings/heading[@name='EPiServerCMS_SettingsPanel']/description' for 'English (United Kingdom)']",
                "displayUI"true,
                "displayOrder"0,
                "name""EPiServerCMS_SettingsPanel",
                "uiType""epi-cms/contentediting/SettingsPanel",
                "options": {
                    "region""top",
                    "title"""
                }
            },
            {
                "title""Content",
                "displayUI"false,
                "displayOrder"10,
                "name""Information",
                "uiType""epi/shell/layout/SimpleContainer",
                "options": {}
            },
            {
                "title""Settings",
                "displayUI"false,
                "displayOrder"30,
                "name""Advanced",
                "uiType""epi/shell/layout/SimpleContainer",
                "options": {}
            }
        ],
        "selections": []

Using a tool such as Charles Proxy and modifying the Response mid-flight to return True on the Commerce side solved my problem, the block is presented properly and is commited/saved properly.

My question is why are we seeing 'displayUI' set to false when adding a local block on a commerce page?  And how do we force it to be true.

#223156
Edited, May 20, 2020 7:41
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.