55 · Line breaks in the Schema.org prompt make the default configuration unreadable, installing the module fails¶
| Project | AI SEO Analyzer (ai_seo), installed by the Provus EDU site template |
| Component | Code |
| Category | Bug report |
| Priority | Major |
| Status | Draft, not filed on drupal.org yet |
Problem/Motivation¶
In config/install/ai_seo.report_type.schema_org_markup.yml (1.1.3), the prompt is a double-quoted string with \r\n escapes, but section 5 ("Speakable Schema") was pasted with real line breaks. The quoted string therefore continues over several lines, and the line --- (line 18) at the start of a line is read as a YAML document separator. Drupal reads exactly one document per configuration file, so installing the module fails:
Drupal\Core\Config\UnsupportedDataTypeConfigException: Invalid data type in config
ai_seo.report_type.schema_org_markup, found in file
modules/contrib/ai_seo/config/install/ai_seo.report_type.schema_org_markup.yml:
Multiple documents are not supported at line 18 (near "---").
Provus EDU installs the module as part of its recipe, so the Drupal CMS web installer stops with an AJAX error and the site is not installed.
Steps to reproduce¶
- Install Drupal CMS with the Provus EDU site template (or install
ai_seoon any site). - The installation stops with the exception above.
Proposed resolution¶
Write section 5 with \r\n escapes like the rest of the prompt. Indenting the continuation lines (at least the --- lines) by two spaces also works and keeps the text unchanged. A test that installs the module would catch this.
Workaround: the Drupal CMS German Installer indents these lines after the download, so Provus EDU can be installed.
Additional information¶
Found while installing Provus EDU on Drupal CMS 2.2.2 through the web installer (October 2026). Not a translation problem.
Copy to drupal.org
Issue title:
Line breaks in the Schema.org prompt make the default configuration unreadable, installing the module fails
Issue summary (paste it into the "Issue summary" field; project, component, category and priority are in the table above):
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
<p>In <code>config/install/ai_seo.report_type.schema_org_markup.yml</code> (1.1.3), the <code>prompt</code> is a double-quoted string with <code>\r\n</code> escapes, but section 5 ("Speakable Schema") was pasted with real line breaks. The quoted string therefore continues over several lines, and the line <code>---</code> (line 18) at the start of a line is read as a YAML document separator. Drupal reads exactly one document per configuration file, so installing the module fails:</p>
<code>Drupal\Core\Config\UnsupportedDataTypeConfigException: Invalid data type in config
ai_seo.report_type.schema_org_markup, found in file
modules/contrib/ai_seo/config/install/ai_seo.report_type.schema_org_markup.yml:
Multiple documents are not supported at line 18 (near "---").</code>
<p>Provus EDU installs the module as part of its recipe, so the Drupal CMS web installer stops with an AJAX error and the site is not installed.</p>
<h3 id="summary-steps-reproduce">Steps to reproduce</h3>
<ol>
<li>Install Drupal CMS with the Provus EDU site template (or install <code>ai_seo</code> on any site).</li>
<li>The installation stops with the exception above.</li>
</ol>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<p>Write section 5 with <code>\r\n</code> escapes like the rest of the prompt. Indenting the continuation lines (at least the <code>---</code> lines) by two spaces also works and keeps the text unchanged. A test that installs the module would catch this.</p>
<p>Workaround: the Drupal CMS German Installer indents these lines after the download, so Provus EDU can be installed.</p>
<h3>Additional information</h3>
<p>Found while installing Provus EDU on Drupal CMS 2.2.2 through the web installer (October 2026). Not a translation problem.</p>