APB-DOCS-WEBFORM
APB 2.1.0 has no form parent. The demo adds a site module apb_webform: paragraph type webform_embed plus the token filter [apb-webform:id] on apb_full_html. That is a demo-site pattern, not a product component. Editors on a client site do not get a Webform button unless that site adds the same field. See also Webform component page.
Embedding
webform_embedin the host field uses the entity-reference formatter withsource_entity. APB preprocess ignores it (bundle is notapb_pb_*), so placement JS does not move it. The form posts back to the current node URL. Confirmation is inline so embeds stay on the APB URL.[apb-webform:form_id]in simple content, tabs, and accordion is replaced during filtering. Duplicate tokens of the same form on one URL can collide on HTML ids.- Standalone route is hyphenated:
/form/apb-request-briefingis 200; underscore/form/apb_request_briefing404s. Those aliases are Webform’s, not Pathauto’s. - Overlay JSON is not a form render context. The lab uses an iframe to
/form/{id}instead.
APB Links cannot target Webform or Contact URLs
ContentLanguageUrl::entityUrl() calls isTranslatable() on whatever entity a canonical route loads. Webform and ContactForm have canonical templates but are not ContentEntityBase, so Links and Feature box fields pointed at /form/… or /contact/request_a_demo 500 the page. Workaround: a node alias, a webform_node, an iframe src, or a raw HTML <a> in simple content. Product fix is a TranslatableInterface check in apbuilder.
Pathauto
Pathauto ships with the distribution. Lab and commercial scripts keep PathautoState::SKIP on stable URLs. update_action is do-nothing so saving a SKIP node cannot delete its alias. A probe page on the demo uses CREATE (/webform-pathauto-probe). Do not let Pathauto rewrite frozen gallery or documentation aliases.
Other limits
- Webform labels follow interface language. On the demo, interface stays English for recordings, so a Spanish APB page still shows English form chrome even when a Spanish config override exists.
- Email handlers on the public demo are configured but
status=false. - A Webform cannot live inside a simple-content column as a nested parent. Token-in-HTML and Internal Placement are the only ways to put a form next to a layout column.
Live lab: demo.apb.aero.net/forms.