Active
Project:
Drupal Canvas
Version:
1.x-dev
Component:
Component sources
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
18 Nov 2025 at 14:44 UTC
Updated:
18 Nov 2025 at 14:44 UTC
Jump to comment: Most recent
BlockComponent needs something similar to what #3532514: Gracefully handle components in active development: ensure great DX introduced for the sdc and js ComponentSource plugins.
What's tricky here is that: A) required things are not necessarily top-level, they could occur at deeply nested "block plugin settings" levels too, B) #3521221: Block plugins need to be able to update their settings in multiple different storage implementations is not yet done in core.
I think we can actually keep track of which "config schema property paths" are known to be required, so we could track (store) those in the Component config entity:
diff --git a/config/schema/canvas.schema.yml b/config/schema/canvas.schema.yml
index 7c7c57ee6..c5bc2d259 100644
--- a/config/schema/canvas.schema.yml
+++ b/config/schema/canvas.schema.yml
@@ -568,6 +568,12 @@ canvas.component_source_settings.block:
mapping:
default_settings:
type: block.settings.[%parent.%parent.%parent.%parent.source_local_id]
+ required_settings_property_paths:
+ type: sequence
+ orderby: value
+ sequence:
+ type: string
+ label: 'Required property paths in block plugin settings'
# The `fallback` plugin ID is the only one not required to specify a source-local ID.
canvas.component_source_settings.fallback:
TBD
Comments