1

I have come across an issue where if I configure a form on a page.

How renderings are nested:

  • Column Splitter (main)
  • Container (/main/container-9/column-2-7)
  • Sitecore Form Wrapper (/main/container-9/column-2-7/container-10)
  • MVC Form (/main/container-9/column-2-7/container-10/sitecoreFormsWrapper-5)

Caching is enabled on the Site as follows

  • Row Splitter
  • Column Splitter
  • Container

Settings checked:

  • Cacheable
  • Vary By Parm
  • Vary By Data
  • Vary By URL (custom vary by)

The form is getting HTML cached by the Container / Col Splitter and not applying Donut Caching. I can verify easily as the form __RequestVerificationToken is not getting updated when reloading the page. Weird thing is that it seems to happen only after a while - publish will fix it and then after some time it will become cached again. Am I misunderstanding that Donut Caching should work with this? SXA 10.0.

0

Sitecore support replied with the following: We registered this behavior as a bug in our bug tracking system.

To track the future status of this bug report, please use reference number 483750.

Since the “Splitter (Columns)” rendering is cached, all renderings that it contains are also cached.

So, as a workaround for the issue, you can perform the following steps:

Remove the “Container” value from the “Rendering” field of the “/Presentation/Cache Settings/Component Cache Settings” item. You can manually make it “Cacheable” in “Control Properties” on pages where this is needed.

Set the “Ignore other caching settings override with defined below” option in “Control Properties” of the “Container (/main/container-9/column-2-7)” rendering. Save and publish the changes.

Another solution is to move the “Sitecore Form Wrapper” and “Mvc Form” renderings to another component that is not cached.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.