Quantcast
Channel: Issues for Drupal core
Viewing all 298612 articles
Browse latest View live

Add missing processOembedEagerLoadFieldHandler ViewsConfigUpdater


PostCSS results in CSS that does not comply with our coding standards

$
0
0

Problem/Motivation

Our PostCSS results in strangely indented CSS.

See core/themes/olivero/css/layout/views.css for example:

 .view > * {
    margin-block-end: var(--sp2);
  }
<code>
Should be
<code>
 .view > * {
  margin-block-end: var(--sp2);
}

Proposed resolution

Run stylelint fixer as part of our build on the resulting postcss code.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

InvalidPluginDefinitionException: The "ckeditor5_imageUpload" CKEditor 5 plugin definition has a "drupal.admin_library" key whose asset library "ckeditor5/admin.imageupload" does not exist

$
0
0

Installed and enabled CKEditor 5 (35.1.0) Experimental in Drupal 9.4.8.

After changing CKEditor to CKEditor 5 in my existing text formats (e.g. Full html) and trying to save I get "The website encountered an unexpected error".

In Recent Log Messages I read:
Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException: The "ckeditor5_imageUpload" CKEditor 5 plugin definition has a "drupal.admin_library" key whose asset library "ckeditor5/admin.imageupload" does not exist. in Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition->validateDrupalAspects() (regel 235 van /var/www/vhosts/daproverb.be/httpdocs/core/modules/ckeditor5/src/Plugin/CKEditor5PluginDefinition.php).

Had to go back to CKEditor 4 because CKEditor 5 cannot work.

PHP 8.0.3 - Apache webserver

Refactor Olivero's autocomplete-loading-module.pcss.css file

Provide a way for users to moderate custom blocks

$
0
0

Currently the content moderation and workflow modules allow site builder to apply a workflow to block types. But there is no moderated view to view those blocks in the workflow

Testing Steps

  1. Enable content moderation and workflow
  2. Configure workflow to work on any block type
  3. Go to custom block library
  4. Verify Moderated blocks tab
  5. Create a block leaving in draft
  6. Go to Moderated blocks page
  7. Verify you see the block

Original Post

Similar to #2902187: Provide a way for users to moderate content, we need to allow users to moderate block_content entities after #2820848: Make BlockContent entities publishable.

This is currently postponed on:
#2862041: Provide useful Views filters for Content Moderation State fields
#2902187: Provide a way for users to moderate content
#2820848: Make BlockContent entities publishable

Here's how the UI looks:

Schema::changeField() has bug when changing regular serial field to big serial field

$
0
0

Problem/Motivation

From #3081144: [PP-1] Database primary keys can exceed maximum integer storeable (has actually occurred, in watchdog) becomes it clear that there is a bug with a PostgreSQL backend for changing a regular serial field, that functions as the primary key, to one that is a big serial field.

Proposed resolution

Add testing for changing a regular serial field to one that uses a bit regular field and add a fix for database driver for PostgreSQL.

Remaining tasks

Write patch.
Review patch.
Commit patch.

User interface changes

None

API changes

None

Data model changes

None

Release notes snippet

TBD

Define missing object properties on non-testing classes for PHP 8.2

$
0
0

Problem/Motivation

Some classes has usage of undefined properties which are not fixed in #3274474: Fix 'Access to an undefined property' PHPStan L0 errors because could be caught by tests only (not phpstan)

The issue intended for all classes except tests

Steps to reproduce

See #3295821-91: Ignore: patch testing issue for PHP 8.2 attributes

Proposed resolution

Define missing properties

Remaining tasks

- collect all changes from testing issue #3295821-91: Ignore: patch testing issue for PHP 8.2 attributes
- make sure tests pass on PHP 8.2
- review/commit

User interface changes

no

API changes

no

Data model changes

no

Release notes snippet

no

UI for publishing/unpublishing block_content blocks

$
0
0

Problem/Motivation

In #2820848: Make BlockContent entities publishable blocks got a publishing status field, but no UI. We should provide a way for users to (un)publish blocks when editing/creating them.

Changes to the block library page have been split off to to #2909435: Update block library page to adapt publishable block content implementation

Proposed resolution

Add the published checkbox to the block edit form like on other editorial content entities.

Remaining tasks

  • Implement it
  • Provide upgrade path & test
  • Manual test
  • Manual review of patch
  • Commit

User interface changes

Yes.

Status checkbox on the block content form

API changes

None.

Data model changes

None.


Set Block Category to Bundle in block_content module

$
0
0

Problem/Motivation

Currently the block_content module sets it's block category to Custom for all block types that are created. It would be helpful if it could use the bundle name as the block category. It would be easier to tell which block type you placed in the layout screen. Also it would be helpful in other modules such as the block_field module so that you can select which type of block you want to reference.

Steps to reproduce

  1. Enable layout builder
  2. Create 2+ block types
  3. Create a custom block for each type
  4. Go into layout builder see that the category is custom for all blocks

Proposed resolution

Save block bundle type as the category for the block

Remaining tasks

Write patch
Write tests
Verify test passes
Manual Review
Code Review
Commit

User interface changes

NA

API changes

NA

Data model changes

NA

Release notes snippet

NA

Template suggestions for custom block view modes

$
0
0

Unlike nodes, block entities do not have theme suggestions for view modes on custom block types. This means that if you need to create a template for a block in a specific display mode, then you need to write custom code to pick it up.

This patch provides additional theme suggestions for block view modes, and is based on the same code in the node module.

Drupal 10 readiness meeting / 17 October 2022

$
0
0

Meeting will happen in #d10readiness on drupal.slack.com.

Hello and welcome to this Drupal 10 readiness meeting!

This meeting:
➤ Is for core and contributed project developers as well as people who have integrations and services related to core. Site developers who want to stay in the know to keep up-to-date for the easiest Drupal 10 upgrade of their sites are also welcome.
➤ Now happens every Monday at 18:00 UTC.
➤ Is done over chat.
➤ Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously!
➤ Has a public agenda anyone can add to: `https://www.drupal.org/project/drupal/issues/3314540`
➤ *Transcript will be exported and posted* to the agenda issue. For anonymous comments, start with a :bust_in_silhouette: emoji. To take a comment or thread off the record, start with a :no_entry_sign: emoji.

:zero: Who is here today? Comment in the thread below to introduce yourself.

:one: Do you have suggested topics you are looking to discuss? Post in this thread and we'll open threads for them as appropriate.

Make BaseFieldOverride inherit internal property from the base field

$
0
0

Problem/Motivation

When a base field (e.g. entity path) properties are changed (e.g. it is made non-translatable), it's isInternal() method is inherited from FieldConfigBase, so that any computed field becomes internal though initially the field might be non-internal. This, for example, will remove the field from JSON:API results and might have other undesired consequences.

Steps to reproduce

  1. Create node and set up JSON:API for the node to be exposed via API.
  2. Make sure the path is exposed in the attributes section.
  3. Mark URL Alias as untranslatable and clear caches.
  4. See that the path has disappeared from the JSON:API response.

Proposed resolution

The correct approach is to inherit the internal property from the base field definition like other properties like "computed" and "read only" are.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Remove fill from drupal media button

$
0
0

Problem/Motivation

When fill="black" is set on the SVG it will break darkmode in Gin. Let's remove it as it will fallback anyway to black if it is not set on the path.

Steps to reproduce

Check out a CKEditor 5 instance with Gin and Darkmode enabled.

Proposed resolution

Remove fill="black" from SVG paths.

Before After

Remaining tasks

Remove fill="black" from SVG paths.

User interface changes

API changes

Data model changes

Release notes snippet

Update Nightwatch to latest version (2.3.9)

$
0
0

Problem/Motivation

In 10.x we are currently on Nightwatch 1.7.13 but the latest version is 2.3.4, which was released September 2, 2022.

Note:9.5.x is on Nightwatch 1.7.13, which is the latest release on the 1.x branch. No changes needed there.

Steps to reproduce

Proposed resolution

Update to Nightwatch 2.3.4 on Drupal 10.0.x.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

[META] Symfony 6.2 compatibility

$
0
0

Problem/Motivation

Explore and fix any Symfony 6.2 incompatibilities as it develops. https://symfony.com/releases/6.2 is expected in November 2022, which is the month before Drupal 10 is planned to be released.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet


EntityFieldManager::getFieldMap() doesn't show bundle fields

$
0
0

Problem/Motivation

I add some bundle specific fields via hook_entity_bundle_field_info as should be controlled in code rather than config, but the entity type belongs to another module. However, although the tables are correctly created, the entity.definitions.bundle_field_map state key is never updated with the new fields. This means any future calls to \Drupal\Core\Entity\EntityFieldManager::getFieldMap are unaware of the field (despite it existing).

I think the two scenarios this causes problems are:

  • Module install for existing bundles
  • Bundle creation

I expect there is also going to be the reverse issue on module/bundle uninstall (bundle install may not matter too much).

Proposed resolution

TBD

Remaining tasks

TBD

User interface changes

None.

API changes

TBD

Data model changes

Probably none.

Allow multiple field widgets to not use tabledrag

$
0
0

When fields allow multiple values (other than e.g. checkboxes), the widget is output in a table with tabledrag. This is functional but difficult to style to look consistent with other form elements. When a form needs to match a design, we often find ourselves fighting to hide the fact that fields, which often do not need to be orderable at all, are being presented in a tabledrag table we don't want.

This patch adds an option to the field widget settings which shows up for multiple fields to allow you to choose if the field should be orderable. If you do not choose orderable it will not use a table with tabledrag to output the fields.

Before:
before

After:
after

Setting:
setting

[regression] With Drupal 9.4, can no longer call Database::getConnection() from within settings.php due to driver classes not yet in autoloader

$
0
0

Problem/Motivation

In Drupal 9.3, it was possible to do the following within settings.php:

$databases['default']['default'] = [
...
];
Database::setMultipleConnectionInfo($databases);
try {
  Database::getConnection();
}
catch (Exception $e) {
  // Do something
}

In Drupal 9.4, this now fails because the database driver is in core/modules/$driver, and that's not in the autoloader until after settings.php completes.

This can be worked around by adding $class_loader->addPsr4('Drupal\\mysql\\', 'core/modules/mysql/src/') prior to calling Database::getConnection();, but for sites with settings.php files that don't do that yet, this is a regression.

Acquia Cloud is one example where code like the above in settings.php (or rather, a .inc file included by settings.php) is done. I don't know if other Drupal hosting platforms employ similar constructs.

Steps to reproduce

Proposed resolution

Given that a workaround is possible, I don't know if we want to address this issue in core. If we do, then perhaps something like moving the current Settings::initialize() code for setting up the autoloader into Database::getConnection() might solve it? Maybe other ideas?

Remaining tasks

This is postponed on #3292014: Make Drupal's primary class loader available to code that runs before the container is initialized

User interface changes

API changes

Data model changes

Release notes snippet

updb error processMultivalueBaseFieldHandler()

$
0
0

Problem/Motivation

When upgrading from 8.8.0 to 8.9.0 and running drush updb I receive the following error. TypeError: Argument 1 passed to Drupal\views\ViewsConfigUpdater::processMultivalueBaseFieldHandler() must be of the type array, null given,

Any suggestions?

Steps to reproduce

Proposed resolution

In ConfigEntityUpdated, add the ability to report and log errors and to continue the update.

Add a new post update function to views to check for errors and report them.

Remaining tasks

Review
Commit

User interface changes

N/A

API changes

N/A

Data model changes

N/A

Release notes snippet

N/A

Starterkit theme roadmap

$
0
0

New starterkit theme generator has been added as an experimental new tool in core. The starterkit theme generator allows developers to create a starting point for their theme. The generated theme has similar markup and CSS previously provided by Classy base theme including common CSS classes and markup. Instead of inheriting the markup and CSS from a base theme, the starterkit theme generator copies the defaults into a new theme.

Starterkit theme beta criteria

Starterkit theme stable criteria

  • Documentation plan (needs issue)

Nice to have issues

Viewing all 298612 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>