silverstripe/silverstripe-admin

SPIKE Broken form state in EditForms following validation errors

Opened this issue · 0 comments

We recently identified and tried to resolve an issue with the state of the Save / Publish buttons in CMS Edit Forms - namely that they would render incorrectly if a validation error was sent back upon submission. After further investigation, it became clear that the real issue was that the change tracker is reloaded and doesn't retain the original field values, therefore rendering it unable to accurately differentiate between saved and unsaved changes.

We're also aware of related issues when Elemental is installed. The full list of issues we want to address are:

In short, Save/Publish state needs a range of fixes / improvements in order to work correctly when validation errors are encountered. Addressing any one of these issues may not be worthwhile on its own, particularly since the PJAX / Entwine architecture that CMS Edit Forms are based on is marked for replacement in the future.

The scope of this spike is to deep dive these issues and explore the possibility of a solution targeting all of them, gauging the effort involved.

ACs

  • Each listed issue is investigated in the context of EditForm's behaviour when a validation error is returned
  • If practical, a unified solution to address these limitations is drafted
  • If a unified solution doesn't make sense, any recommended solutions derived from the investigation for solving each of the listed issues should be applied back to them
  • A rough estimate of effort for implementing the unified and/or individual solutions is provided