🇨🇦Canada @rbrownell

Ottawa, Ontario, Canada
Account created on 31 July 2009, almost 15 years ago
#

Recent comments

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

This error baffles me. I understand that architecture is the normal solution, but it can't be if the business requirements of the project require timely and rapid updating of a large volume of nodes/pages.

Please correct me if I am wrong, but it is my understanding that queues are supposed to help prevent server crashing by regulating the volume of data being sent to whatever system is receiving it. This would presumably occur in smaller batches instead of all at once. The fact that the queue stops processing after reaching a certain threshold suggests to me that the queue is not really a proper queue that processes things in smaller batches, but rather a dumping ground which is then sent all at once. There's got to be a better way of handling this than just stopping everything. There are mechanisms that can be added to reduce servers from crashing based on data volume.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

Renaming patch to better reflect this issue.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

There is a minor issue with the automatically generated patch where some errors were being thrown that indicate an improper implementation of the normalize function in the BlockNormalizer class.

PHP Fatal error: Declaration of Drupal\rest_block_data\Normalizer\BlockNormalizer::normalize($object, $format = null, array $context = []) must be compatible with Drupal\serialization\Normalizer\ConfigEntityNormalizer::normalize($object, $format = null, array $context = []): ArrayObject|array|string|int|float|bool|null in /app/docroot/modules/contrib/rest_block_data/src/Normalizer/BlockNormalizer.php on line 22

I have attached an updated patch which addresses this.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

There is a minor issue with the automatically generated patch where some errors were being thrown that indicate an improper implementation of the normalize function in the BlockNormalizer class.

Fatal error: Declaration of Drupal\rest_block_layout\Normalizer\BlockNormalizer::normalize($object, $format = null, array $context = []) must be compatible with Drupal\serialization\Normalizer\ConfigEntityNormalizer::normalize($object, $format = null, array $context = []): ArrayObject|array|string|int|float|bool|null in /app/docroot/modules/contrib/rest_block_layout/src/Normalizer/BlockNormalizer.php on line 46

I have attached an updated patch which addresses this.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

Here is a patch for this issue as it occurs in Drupal 10.

I performed a brief test on this with Paragraphs and Media additional testing is required for other nested entity types.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

Adding upgrade instructions for projects that are based on drupal/recommended-project.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

Done. It was hard to not follow the existing Drupal Admin menu layout. I hope that if there are very large changes coming, we provide search out of the box to ensure that users can find what they are looking for.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

I'm having similar issues. This is breaking a config-sync operation by indicating the configuration is out of sync that of my local file system. When I look at the differences, it appears that the latest version of Webform has replaced the `category` with the `categories` configuration. There doesn't appear to be a proper update routine that ensures the value contained within `category` is retained before it is changed.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

I tested the patch in #2 on Drupal 10 running on PHP 8.1 and the warnings are gone. Recommend merging into code base.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

Confirming that #4 works well and doesn't break an existing custom implementation of TBMM.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

I have also reviewed and tested Patch #4 on an existing customized implementation of this module. I can confirm that this patch is functioning as expected on Drupal 9.5.9.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

An in-depth description of the issue and the recommendation can be found on this comment 🐛 [warning] Trying to access array offset on value of type bool PluginBase.php:187 Needs work on a similar issue.

🇨🇦Canada rbrownell Ottawa, Ontario, Canada

This is a very difficult issue to reproduce as it relies on a views plugin improperly defining one or more options.

Prior to Drupal 9.5, Views did not expect every options value to be an associative array. This particular error occurs when an option is defined in a Views plugin that has a Boolean value without being nested within an associative array with an item with the key default.

For example, in the most recent version of the Search API Location Views module (8.x-1.0-alpha3) an option with key require is defined within the defineOptions() function as:

$options['require'] = FALSE;

This does not follow the prescribed structure found in the PluginBase parent class which reads:

  /**
   * Information about options for all kinds of purposes will be held here.
   * @code
   * 'option_name' => array(
   *  - 'default' => default value,
   *  - 'contains' => (optional) array of items this contains, with its own
   *      defaults, etc. If contains is set, the default will be ignored and
   *      assumed to be array().
   *  ),
   * @endcode
   *
   * @return array
   *   Returns the options of this handler/plugin.
   */
  protected function defineOptions() {

In the example above the correct way of implementing this option is:

$options['require'] = ['default' = FALSE];

As a result of this, in order to resolve this situation, updates to the output of the offending Views plugin's defineOptions() functions should be made to follow the prescribed array structure instead of updating Drupal core.

Recommend changing issue status to Closed (won't fix).

Production build 0.69.0 2024