Een hart voor de Drupal Community

Bij make it fly geloven we sterk in Drupal en Open Source software in het algemeen. We maken dagelijks gebruik van vele open source componenten en de vele Drupal modules die beschikbaar zijn. We dragen actief ons steentje bij aan de community door zelf patches, modules en documentatie te voorzien, daarnaast zijn enkele teamleden ook actief in de Drupal User Group vzw.

Een overzicht van onze bijdragen aan de Drupal community vind je terug op onze Drupal.org pagina. Naast het actief meerwerken aan de Drupal community, zetten we ook andere ontwikkelaars op weg door vragen te beantwoorden op Drupal Answers.

  1. Trying to edit a locked field in the UI throws a WSOD

    Randal

    The problem seems to be that in file core/modules/field_ui/field_ui.module, The $form['field_storage']['subform'] doesn't seem to exist, in the function below. I don't know what the correct solution would be.. I'd say the form still needs to be alterable, and we still need to trigger the alter hooks on the bottom.

    /**
     * Implements hook_form_FORM_ID_alter() for field_config_edit_form.
     */
    function field_ui_form_field_config_edit_form_alter(&$form, FormStateInterface $form_state) {
      $field_config = $form_state->getFormObject()->getEntity();
      assert($field_config instanceof FieldConfigInterface);
    
      $form_id = 'field_storage_config_edit_form';
      $hook = 'form_' . $form_id;
    
      $field_storage_form = \Drupal::entityTypeManager()->getFormObject('field_storage_config', $form_state->getFormObject()->getOperation());
      $field_storage_form->setEntity($field_config->getFieldStorageDefinition());
      $subform_state = SubformState::createForSubform($form['field_storage']['subform'], $form, $form_state, $field_storage_form);
    
      \Drupal::moduleHandler()->alterDeprecated('Use hook_form_field_config_edit_form_alter() instead. See https://www.drupal.org/node/3386675.', $hook, $form['field_storage']['subform'], $subform_state, $form_id);
      \Drupal::theme()->alter($hook, $form['field_storage']['subform'], $subform_state, $form_id);
    }
  2. Trying to edit a locked field in the UI throws a WSOD

    Randal

    Hi frederiko_,

    Certainly! Editing the "body"-field will lead you to a URL like: /admin/structure/types/manage/page/fields/node.page.body

    Replace the last part (the field's machine name, in this case 'body'), with the locked field's machine name, for example: /admin/structure/types/manage/page/fields/node.page.layout_builder__layout

    And it'll give you the WSOD.

  3. Trying to edit a locked field in the UI throws a WSOD

    Randal

    Problem/Motivation

    Trying to edit a locked field in the field UI throws a WSOD page. This shouldn't be the case, in my opinion at least a 403 should be thrown, or a page showing a clear message that this action is not permissible.

    TypeError: Drupal\Core\Form\SubformState::createForSubform(): Argument #1 ($subform) must be of type array, null given, called in /var/web/vd17831/vib-conferences/release/web/core/modules/field_ui/field_ui.module on line 299 in Drupal\Core\Form\SubformState::createForSubform() (line 60 of core/lib/Drupal/Core/Form/SubformState.php).
    field_ui_form_field_config_edit_form_alter(Array, Object, 'field_config_edit_form') (Line: 545)
    Drupal\Core\Extension\ModuleHandler->alter('form', Array, Object, 'field_config_edit_form') (Line: 841)
    Drupal\Core\Form\FormBuilder->prepareForm('field_config_edit_form', Array, Object) (Line: 284)
    Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 73)
    Drupal\Core\Controller\FormController->getContentResult(Object, Object)
    

    Steps to reproduce

    • Start with a clean D10 and enable layout builder on a node type
    • Edit the body field, and replace `body` in the URL with the layout field name: `layout_builder__layout`
    • See the WSOD thrown

    Proposed resolution

    I have not had the time to look into a proper fix, but if I can I will create a MR.

    Remaining tasks

    Create MR.

    User interface changes

    Throw a 403, or show a clear message that this action is not permissible.

  4. CKEditor 5 toolbar overflow can become unusable in Off canvas

    Randal

    Thanks to #9 and #16, I can confirm that adding the "wrap"-item even as the last item on the bar is a solid workaround until a permanent fix can be provided. It wraps the excessive items neatly on a second row (as was the behaviour in CKEditor4 if I'm not mistaken).

  5. Add Gitlab CI support

    Sven Decabooter

    Problem/Motivation

    Steps to reproduce

    Proposed resolution

    Remaining tasks

    User interface changes

    API changes

    Data model changes

  6. Add Gitlab CI support

    Sven Decabooter

    Problem/Motivation

    Steps to reproduce

    Proposed resolution

    Remaining tasks

    User interface changes

    API changes

    Data model changes

  7. Migrate to Gitlab CI

    Sven Decabooter

    Use Gitlab CI for automated testing on Drupal.org. See https://www.drupal.org/docs/develop/git/using-gitlab-to-contribute-to-dr...

  8. AssertionError in #lazy_builder callback

    Sven Decabooter

    Problem/Motivation

    In some circumstances (still to be defined), we're getting the following error:

    AssertionError: #lazy_builder callbacks must return a valid renderable array, got string from masquerade.callbacks:renderSwitchBackLink in assert() (line 403 of core/lib/Drupal/Core/Render/Renderer.php)
    

    Context:

    • Masquerade version 8.x-2.0-rc4
    • Drupal 10.2.4
    • "Switch back" link has been added to a custom-rendered user account block

    Steps to reproduce

    Client reports the problem, but currently unable to reproduce myself.

  9. Taking over the Sites namespace

    Hannes Tack

    I did not receive any reaction or feedback. So for me it is ok to transfer the ownership to Hydra. (https://www.drupal.org/u/hydra)

Sven Decabooter - Drupal Developer

"Onze teamleden bouwen zelf ook mee aan ons geliefde Drupal, en daar zijn we trots op"

Sven Decabooter
Drupal developer

Betrouwbare technologie, naadloze prestaties. Dat zijn onze Drupal-oplossingen.