Umami install errors, "extra_field_block:node:*:content_moderation_control" was not found

Created on 12 October 2020, about 4 years ago
Updated 16 September 2024, 3 months ago

Problem/Motivation

Umami demo on fresh install 8.9.7 and 9.0.7 got logs system events warning - The "extra_field_block:node:recipe:content_moderation_control" was not found.

Here's the output from my latest install:

 [notice] Performed install task: install_base_system
 [notice] Performed install task: install_bootstrap_full
 [notice] Performed install task: install_profile_modules
 [notice] Performed install task: install_profile_themes
 [notice] Performed install task: install_install_profile

No errors reported. Merge request created.

Steps to reproduce

Install Umami and check the logs or use drush.

  • [warning] The "extra_field_block:node:page:content_moderation_control" block plugin was not found
  • [warning] The "extra_field_block:node:page:content_moderation_control" block plugin was not found
  • [warning] The "extra_field_block:node:article:content_moderation_control" block plugin was not found
  • [warning] The "extra_field_block:node:article:content_moderation_control" block plugin was not found
  • [warning] The "extra_field_block:node:recipe:content_moderation_control" block plugin was not found

Proposed resolution

Change all the node views to have the content moderation hidden.

Add test to prevent regression.

Remaining tasks

Review

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

🐛 Bug report
Status

RTBC

Version

11.0 🔥

Component
Umami 

Last updated about 2 months ago

Created by

🇺🇦Ukraine drupal.antonov

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇻🇳Vietnam tra.duong

    I install demo_umami using:
    Drupal 10.0.3
    PHP 8.1.14
    and run `lando drush si demo_umami -y`

    [notice] Starting Drupal installation. This takes a while.
     [notice] Performed install task: install_select_language
     [notice] Performed install task: install_select_profile
     [notice] Performed install task: install_load_profile
     [notice] Performed install task: install_verify_requirements
     [notice] Performed install task: install_verify_database_ready
     [notice] Performed install task: install_base_system
     [notice] Performed install task: install_bootstrap_full
     [notice] Performed install task: install_profile_modules
     [notice] Performed install task: install_profile_themes
     [warning] The "extra_field_block:node:recipe:content_moderation_control" was not found
     [warning] The "extra_field_block:node:recipe:content_moderation_control" was not found
     [warning] The "extra_field_block:node:page:content_moderation_control" was not found
     [warning] The "extra_field_block:node:page:content_moderation_control" was not found
     [warning] The "extra_field_block:node:article:content_moderation_control" was not found
     [warning] The "extra_field_block:node:article:content_moderation_control" was not found
     [notice] Performed install task: install_install_profile
     [error]  Import of string "Las actualizaciones fallaron para el tipo de entidad %entity_type, para %entity_ids. <a href=:url>Compruebe los registros</a>." was skipped because of disallowed or malformed HTML. 
     [notice] Translations imported: 8892 added, 0 updated, 0 removed.
     [warning] 1 disallowed HTML string(s) in files: translations://drupal-10.0.3.es.po.
     [notice] Performed install task: install_import_translations
     [notice] Performed install task: install_configure_form
     [warning] No configuration objects have been updated.
     [notice] Performed install task: install_finish_translations
     [notice] Performed install task: install_finished
    

    There are 8 warnings and 1 error

    It is not good for a core's demo profile.

  • 🇮🇪Ireland markconroy

    Adding credit to @dww as per request from @Kristen Pol

  • 🇻🇳Vietnam tra.duong

    I tried to trace and found something error:

     [notice] Performed install task: install_profile_themes
     [warning] The "extra_field_block:node:recipe:content_moderation_control" was not found
      .....
     [notice] Performed install task: install_install_profile
    

    The orders is weid here, when install theme, it also try to import the settings in demo_umami/config/install
    But the content types are installed in install_install_profile step.
    After the content types is installed, the content_moderation module checks for moderated bundles to register the plugins (extra_field_block:node:{bundle}:content_moderation_control)

    So, in the install_profile_themes step, it cannot see the (extra_field_block:node:{bundle}:content_moderation_control) then throw a 'PluginNotFoundException' and return as 'Drupal/Core/Block/Plugin/Block/Broken'.

    Then, in install_install_profile step, it Fix that broken plugin, because content_moderation module invoke the register here.

    Propose solution:
    Considering about put the import content type's display mode in after content_moderation register the plugin / Or remove the warning of registering `extra_field_block:{content_type}:{bundle}:{content_moderation field}` plugins in the install_profile_themes step.

    About the error when translation:
    Line 30452 of "translations/drupal-10.0.3.es.po" in my case:

    
    ...
    msgstr ""
    "Las actualizaciones fallaron para el tipo de entidad %entity_type,
    "para %entity_ids. <a href=\":url\">Compruebe los registros</a>."  
    msgid ""
    ...
    

    replace <a href=:url> to <a href=\":url\"> solve the error.

  • Status changed to Active almost 2 years ago
  • 🇻🇳Vietnam tra.duong

    I set the status to active. The trace in #20 should be the cause of the problem.

  • Status changed to Needs review almost 2 years ago
  • 🇮🇪Ireland markconroy

    I'm going to need someone with a better understanding of the config management system than me to check this, but it appears if we just remove the config for the offending sections, the profile installs fine, works as expected, and does not report any errors.

  • Status changed to Needs work almost 2 years ago
  • 🇺🇸United States smustgrave

    Tested on an Umami install with the MR applied
    The content types no longer have a moderation bar. So if my page is in draft I can't change moderation when viewing the page.

  • 🇮🇪Ireland markconroy

    @smustgrave that should not have happened. I hadn't noticed that when I created this patch. Thanks for testing.

  • 🇨🇦Canada cbovard

    Subscribing

  • First commit to issue fork.
  • Pipeline finished with Success
    3 months ago
    Total: 509s
    #282921
  • Status changed to Needs review 3 months ago
  • 🇳🇿New Zealand quietone

    In my testing I found that when content moderation is enable and visible and layout builder is used on the view, then there are errors during the install. It seems to be while demo_umami_content is installing. This change avoids that problem and is not intended to fix the underlying problem. The goal here is to prevent the errors when install the demo profile.

    I tested and was do not get the problem reported in #24 due to the fact that content_moderation_control is in the hidden section and not simply deleted.

    Without this change there are still errors during install, see below, which are a result of 🐛 Reduce the number of field blocks created for entities (possibly to zero) Fixed . Yet, the error here and that one are related so a single followup may be sufficient to fix the underlying problem.

     [warning] The "field_block:node:page:field_body" block plugin was not found
     [warning] The "extra_field_block:node:page:links" block plugin was not found
     
    ...
    
     [warning] The "field_block:node:recipe:field_ingredients" block plugin was not found
     [warning] The "field_block:node:recipe:field_recipe_instruction" block plugin was not found
  • Status changed to RTBC 3 months ago
  • 🇺🇸United States smustgrave

    If the content moderation block is meant to be hidden then this works.

  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    This is not the correct fix. We need to work out why this is happening. All these plugin IDs exist once umami is installed so everything works at that point. Also if you install atm you get far more warnings than just the moderation controls...

     [warning] The "field_block:node:page:body" was not found
     [warning] The "extra_field_block:node:page:links" was not found
     [warning] The "extra_field_block:node:page:content_moderation_control" was not found
     [warning] The "field_block:node:page:body" was not found
     [warning] The "extra_field_block:node:page:links" was not found
     [warning] The "extra_field_block:node:page:content_moderation_control" was not found
     [warning] The "field_block:node:article:field_tags" was not found
     [warning] The "field_block:node:article:field_media_image" was not found
     [warning] The "field_block:node:article:body" was not found
     [warning] The "extra_field_block:node:article:links" was not found
     [warning] The "extra_field_block:node:article:content_moderation_control" was not found
     [warning] The "field_block:node:article:field_tags" was not found
     [warning] The "field_block:node:article:field_media_image" was not found
     [warning] The "field_block:node:article:body" was not found
     [warning] The "extra_field_block:node:article:links" was not found
     [warning] The "extra_field_block:node:article:content_moderation_control" was not found
     [warning] The "field_block:node:recipe:field_tags" was not found
     [warning] The "field_block:node:recipe:field_recipe_category" was not found
     [warning] The "field_block:node:recipe:field_summary" was not found
     [warning] The "field_block:node:recipe:field_media_image" was not found
     [warning] The "field_block:node:recipe:field_difficulty" was not found
     [warning] The "field_block:node:recipe:field_number_of_servings" was not found
     [warning] The "field_block:node:recipe:field_cooking_time" was not found
     [warning] The "field_block:node:recipe:field_preparation_time" was not found
     [warning] The "field_block:node:recipe:field_media_image" was not found
     [warning] The "field_block:node:recipe:field_ingredients" was not found
     [warning] The "field_block:node:recipe:field_recipe_instruction" was not found
     [warning] The "extra_field_block:node:recipe:content_moderation_control" was not found
     [warning] The "field_block:node:recipe:field_tags" was not found
     [warning] The "field_block:node:recipe:field_recipe_category" was not found
     [warning] The "field_block:node:recipe:field_summary" was not found
     [warning] The "field_block:node:recipe:field_media_image" was not found
     [warning] The "field_block:node:recipe:field_difficulty" was not found
     [warning] The "field_block:node:recipe:field_number_of_servings" was not found
     [warning] The "field_block:node:recipe:field_cooking_time" was not found
     [warning] The "field_block:node:recipe:field_preparation_time" was not found
     [warning] The "field_block:node:recipe:field_media_image" was not found
     [warning] The "field_block:node:recipe:field_ingredients" was not found
     [warning] The "field_block:node:recipe:field_recipe_instruction" was not found
     [warning] The "extra_field_block:node:recipe:content_moderation_control" was not found
    

    The interesting question is why are these plugins available after install and not at the point when the config from the profile is being installed.

  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    This problem is caused by an optimisation in \Drupal\layout_builder\Plugin\Derivative\FieldBlockDeriver::getFieldMap() that does not work when we are creating an entity view display as it relies on the entity view display already existing an having layout builder enabled. The same problem happens in \Drupal\layout_builder\Plugin\Derivative\ExtraFieldBlockDeriver::bundleIdsWithLayoutBuilderDisplays()

  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    This issue is really about creating an entity display with

    third_party_settings:
      layout_builder:
        enabled: true
    

    Being really really hard given the optimisations added in 🐛 Reduce the number of field blocks created for entities (possibly to zero) Fixed . Somehow we need to make this work.

  • 🇳🇿New Zealand quietone

    I agree this needs a correct fix. However I think it would be better to reduce the warnings someone gets when installing the demo then wait for that. As stated #29, "This change avoids that problem and is not intended to fix the underlying problem. The goal here is to prevent the errors when install the demo profile." And suggested creating a followup for the proper fix.

    I do think the demo should not appear 'broken'.

  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    @quietone but the approach in the MR doesn't even fix half of the warnings.

  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    I've created a branch that fixes all the warnings without removing any functionality. We need a way for extra field blocks to add dependencies when they are used. The content_moderation_control extra field block should add a dependency on workflows.workflow.editorial so we need to extend API to somehow take care of this and somehow add it in \Drupal\content_moderation\EntityTypeInfo::entityExtraFieldInfo() which will be very funky.

  • Pipeline finished with Failed
    2 months ago
    Total: 555s
    #305023
  • Pipeline finished with Failed
    2 months ago
    Total: 348s
    #306367
  • 🇺🇸United States smustgrave

    Seems to have some test failures.

    Can the proposed solution be updated with the new approach

    Thanks!

  • 🇩🇪Germany geek-merlin Freiburg, Germany

    I am finding this in dblog on a site with no trace of umami. I read alexpott's #37 as "not related to umami" too, so adjusting issue title.
    Setting to "field system" for now.

Production build 0.71.5 2024