Annotations Webform Demo Recipe
Bolt-on demo recipe that adds annotation overlays to a standalone onboarding webform. Creates a "New Starter Onboarding" webform, wires it as an annotation target, and imports 7 starter annotations covering the form and its submission fields.
What you get
New webform
| ID | Title | Elements |
|---|---|---|
annotations_demo_onboarding |
New Starter Onboarding | full_name, work_email, department, manager_name, start_date |
Annotation targets
| Target | Entity type | Scope |
|---|---|---|
webform__annotations_demo_onboarding |
webform | Bundle-level only (form-wide annotation) |
webform_submission__annotations_demo_onboarding |
webform_submission | 5 submission fields |
Annotation types: Editorial, Technical, Rules (from annotations_demo_types dependency)
Starter annotations: 7
Requirements
- Drupal 11 / PHP 8.3+
webformmoduleannotations_webformsub-module (provides target plugins for webform entity types)
Installation
Install Drupal, webform module per above.
drush recipe modules/custom/annotations_extras/recipes/annotations_demo_webform
drush cr
Where to look
After applying the recipe:
- Webform: Admin → Structure → Webforms → New Starter Onboarding
- Annotation targets: Admin → Config → Annotations → Targets
- Annotations UI: open a webform submission for editing — field-level
?triggers appear on each annotated element (annotations_overlayis installed automatically by this recipe)
Teardown
Recipes are one-way. Delete the webform, the two annotation targets, and the imported annotation entities to remove the demo data.
See also
- Package README —
annotations_extrasoverview - annotations_demo_types recipe — shared annotation types dependency, shipped alongside this recipe in this package
annotations_webformsub-module — target plugins for webform and webform_submission entity types
annotations_demo_lgd (LocalGov Drupal bolt-on) and annotations_demo_umami (Umami demo profile bolt-on) are sibling demo recipes in core drupal/annotations, not this package — see that project's own recipes/ directory. (A previously-linked annotations_demo recipe doesn't exist in either package — that link was already stale before this split, not something the split caused.)