Problem/Motivation

The ckeditor5_embedded_msforms module is currently not compatible
with ckeditor5_embedded_content 2.x / embedded_content 2.x.

The module still references classes from the old
Drupal\ckeditor5_embedded_content namespace:

Drupal\ckeditor5_embedded_content\EmbeddedContentPluginBase
Drupal\ckeditor5_embedded_content\EmbeddedContentInterface

These classes have moved to the Drupal\embedded_content namespace.
As a result, pages containing an embedded Microsoft Form cause a white
screen of death (WSoD).

The plugin also does not implement the isInline() method required
by the current Embedded Content API.

Tested with:

  • Drupal 10
  • ckeditor5_embedded_msforms 1.0.1
  • ckeditor5_embedded_content 2.0.2
  • embedded_content 2.0.4

Steps to reproduce

  1. Install and enable ckeditor5_embedded_msforms.
  2. Use ckeditor5_embedded_content 2.x / embedded_content 2.x.
  3. Configure a CKEditor text format to allow embedded content.
  4. Insert a Microsoft Forms embed using the MS Forms embedded content plugin.
  5. Save the content.
  6. View the page containing the embedded Microsoft Form.

The page fails with:

Error: Class "Drupal\ckeditor5_embedded_content\EmbeddedContentPluginBase" not found

After changing the base class namespace, the next error is:

Error: Interface "Drupal\ckeditor5_embedded_content\EmbeddedContentInterface" not found

After updating both namespaces, the plugin still needs to implement the
isInline() method required by the current Embedded Content API.
Without this method, the MS Forms plugin cannot be used correctly in CKEditor.

Proposed resolution

Update the MS Forms embedded content plugin to use the current
embedded_content API:

  • Replace the old Drupal\ckeditor5_embedded_content namespace with Drupal\embedded_content.
  • Implement isInline(): bool.
  • Return FALSE from isInline(), because the Microsoft Forms iframe is block-level embedded content.
  • Change the module dependency from ckeditor5_embedded_content to embedded_content.

Remaining tasks

  • Review the proposed patch.
  • Test with supported Drupal 10 versions.
  • Test creating, editing, and rendering existing Microsoft Forms embeds.
  • Verify compatibility with current versions of embedded_content.

User interface changes

None.

Data model changes

None.

Comments

saccard created an issue. See original summary.

saccard’s picture

This patch solved the problem for me.

Tested with:

- Drupal 10.6.17
- ckeditor5_embedded_msforms 1.0.1
- ckeditor5_embedded_content 2.0.2
- embedded_content 2.0.4

After applying the patch:

- existing Microsoft Forms embeds render correctly again (no WSoD)
- existing embedded-content configuration continues to work unchanged;
- the Microsoft Form is displayed correctly inside CKEditor when editing the content.