Problem/Motivation
#3479961: Write tests, implement schema, drop D8/9 support, adjust block settings structure introduced a regression for placed blocks and blocks referenced via block_field module!
The field stores the settings in the field values, not in config.
I guess the settings are still there, but are not used, so let's try adding them as fallback at least to mitigate the issue.
Steps to reproduce
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
Issue fork entity_submenu_block-3611349
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
anybodyOkay lets for now implement a fallback to the old settings. While for regular blocks the existing update hook should be transferred correctly (to be verified finally!) this is an issue with contrib block_field and I think it might be hard to solve, because the settings of these fields are not saved in config.
Maybe block_field or other modules solved this already and we can learn from that, adding an update hook finally and remove the fallback.
Comment #4
anybody@grevil please review and if fine let's tag a new release.
This issue should be kept open until we have a final update hook for existing installations using block_field. MIGHT not be many and we wouldn't have to, but would be nice and we're also affected ourselves.
If anyone needs a manual workaround: Simply re-save the forms of the affected entities using these fields, then the settings will be stored into the new structure.
Comment #5
anybodyI can confirm this fix works, just tried it in an affected project with success.
Comment #7
anybodyAll green, tagging a release.
Comment #8
anybodyWorkaround published in 8.x-1.10
Comment #10
anybodyReopening for the block_field update hook if we decide to solve this.
Comment #11
anybodyUnassigning @grevil because I think it's really hard or nearly impossible to solve well for block_field.
Leaving this open as reminder if someone runs into it. Re-saving the entities is the best solution, I think.