What problem does it solve?
Developers building on Webiny's Website Builder often need to add custom configuration options to the page settings drawer, such as publishing schedules, analytics flags, or access control fields, without forking core code. This Skill provides the exact patterns for adding new settings tabs or injecting fields into existing ones.
Core Features & Use Cases
- New Settings Groups: Implement
PageSettingsGroup.Interface to create a fully custom tab (e.g., Publishing, Analytics) with its own fields, layout, icon, and data mapping.
- Group Modifiers: Implement
PageSettingsGroupModifier.Interface to inject fields into built-in tabs like General, SEO, Social, or Schema, with precise layout positioning via .after("fieldName").
- Safe Data Storage: Enforces the
doc.extensions namespace for all custom data, preventing collisions with system-managed doc.properties.
- Use Case: Add a Publishing tab with publish/unpublish datetime fields and a visibility dropdown, then register it via
createFeature() and <Admin.Extension> in webiny.config.tsx.
Quick Start
Add a new Publishing tab to the Webiny page settings drawer with publish date, unpublish date, and visibility fields.