Problem/Motivation
Deployment of config would make the workspaces module even more useful. As config as it is now isn't "revisionable" nor "publishable", this isn't possible currently.
Steps to reproduce
This can't currently be replicated out of the box as it's not possible to submit configuration forms of any kind inside a workspace. With the patch it can be tested as follows
@todo add steps for testing
Proposed resolution
- Create a content entity (publishable + revisionable) that stores config when one changes config inside a workspace
- When a workspace is published, merge the changed config into the one active on the live workspace/the site
- Allow config entities to be edited inside workspaces, for now by marking them as "internal" entity types which let's them pass through EntityOperations::shouldSkipPreOperations()
- Allow config forms to be submitted inside workspace by using the patch in #3208390: Add an API for allowing modules to mark their forms as workspace-safe and implementing a corresponding event subscriber
- Decorate the database config storage in order to write config into content entities when inside a workspace
- What else?
Remaining tasks
User interface changes
API changes
Data model changes
Issue fork wse-3250082
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:
- 3250082-allow-deployment-of
changes, plain diff MR !8
- 3250082-before-cache-splitoff
compare
- 3250082-generic-cache-be
compare
- 3250082-workspace-cache-tags
compare
- 3250082-workspace-caching-cid-whitelist
compare
- 3250082-before_rebase
compare
- 3250082-dynamic_ignore
compare
- 3250082-workspace-deployment
compare
- storage-queries
compare
- 3250082-ignored-configs
compare
Comments
Comment #3
s_leu commentedComment #5
amateescu commentedMerged into 1.0.x, thanks for this huge effort!
Comment #7
amateescu commented