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

Views doesn't parse twig when there are no tokens to replace


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

[meta] Make Drupal compatible with persistent app servers like ReactPHP, PHP-PM, PHPFastCGI

$
0
0

Problem

Without proper caching, Drupal is SLOW, just like many extensible PHP frameworks. Despite the great cache tag feature of Drupal 8, not everything can be fully cached.
One major problem is Drupal's bootstrap is very resource-intensive. Regardless of how much time we put into optimizing it, it can only become slightly faster. The reason for this as i believe is because we're using the wrong approach. Bootstrapping the whole application for every request is just wrong. Things get even worse when one wants to use Drupal as a headless REST API for something like a progressive application with many small simultaneous requests.

Why is this critical

The web is becoming much faster and the content is extremely customized. In many cases caching just wouldn't cut it.
just to name few related technologies: Progressive Apps, HTTP2, IoT, REST, Li-Fi, 5G, etc.
With Drupal headless initiative which makes using Drupal for modern web much easier and semantic versioning which makes it possible to add many new features to core every several months, can Drupal really compete with Walled Garden ? Will 200-300ms for dynamics content acceptable for users and clients? Drupal can be used for sites with heavy traffic and dynamic content, but if we put aside how challenging it's, it can never deliver the same performance as more modern Web solutions written by likes of Node.js

I think this is important enough to become an initiative.

Solution

It's simple, not to bootstrap Drupal every time. Up until a few years ago, there wasn't any reliable solution fast enough worth the effort. But now there are several open-source projects already in production (PHP-PM, PHPFastCGI, Icicle, AppServer.io , etc). And it is fast, we're talking about 10-30ms and few kilobytes of memory usage without any caching or optimization against 100-150ms and megabytes of memory usage (The numbers come from my experiment with ReactPHP HTTP server and a custom Silex application). This is without any optimization, just changing the approach! But when the application bootstraps only once and objects are persistent, a lot of things can be greatly optimized.

Demonstration

I haven't been able to find any benchmarks for Drupal, but for other frameworks the are several :

More information on the wiki page: https://groups.drupal.org/node/417723

Work already done

There has been several attempts, discussions and experiments so far using different approaches :

Roadmap

add an entity Links handler, to provide menu links/tasks/actions for entity types

$
0
0

Problem/Motivation

Providing a UI for an entity type involves a lot of boilerplate code.

In particular, three YML files have to be provided:

- MODULE.links.menu.yml
- MODULE.links.task.yml
- MODULE.links.action.yml

These contain repetitive boilerplate code, where furthermore it's very easy to make a mistake and match up the route names incorrectly.

Proposed resolution

Add a new handler type for entities, 'link_provider'. This defines menu, task, and action links for an entity type.

Provide two link provider handlers in the Entity component that follow the standard admin UI pattern (for example, as used by Media module's entity types):

- DefaultContentEntityLinkProvider
-- defines a local task link for the collection under admin/content, alongside the Content admin listing
-- defines a menu link for the collection as well, so it appears in the admin toolbar
-- defines the 'add new entity' action link on the collection page
-- defines a set of local tasks link for view/edit/delete for a single entity

- DefaultConfigEntityLinkProvider
-- defines a menu link for the collection under admin/structure
-- defines the edit form local task link, which allows Field UI to attach its own tasks for the case that this config entity is the bundle for a content entity.

Both of these link provider handler classes expect to find the route names created by core's route_provider classes.

Entity types that customize their route provider to change or add routes would need to use their own link_provider handler (or keep using hardcoded link plugins of course).

Remaining tasks

- Get a review from one of the managers of the plugin system. YAML plugins are not discoverable in core/lib (unlike annotation-based plugins), and so the current patch declares the plugin derivatives that are in core/lib/Core/Entity in system module's YAML files. This approach needs framework manager review.

Follow-ons

Convert core's entity types to use these handlers. This is left as as follow-up, because changing an entity type to use a link provider handlers will cause the plugin IDs of the link plugins to change. It's not clear whether the BC policy on plugin IDs applies to menu plugins, and there is no policy or defined way on how to handle YAML plugin ID changes -- see #2922451: [policy no patch] Make it possible to mark plugins as deprecated.

User interface changes

None.

Provide a FieldType and FieldWidget to represent a WebVTT file for the HTML track element

$
0
0

Problem/Motivation

This task is part of the audio/video accessibility plan - #3002770: Provide authors with tools to manage transcripts and captions/subtitles for local video and audio.

We want to provide authors with the ability to upload WebVTT <track> files with subtitle, caption, and audio description, to supplement HTML <video> and <audio> elements.

Proposed resolution

  1. Provide a FieldType and FieldWidget plugin to represent a WebVTT file.
  2. Support all of the attributes of the HTML <track> element. Authors should be able to set kind, label, src, srclang, default. Browsers currently only support captions and subtitles, but some JS player libraries support audio descriptions and chapters tracks too (notably AblePlayer).
  3. The field type config can allow site builders to limit the values of the kind attribute which a given MediaTrackItem can accept.
  4. Rendering the track element is out of scope for this issue. FieldFormatter will be done in another task issue.

Challenges

Validation: the default attribute has a peculiar usage. It says which track is to be considered the default track to use, but this means the default track for each possible value of the kind attribute. For example, a <video> could have chapters, audio description, subtitles, and captions tracks, in 3 languages. There could be up to 4 default <track> elements in this case. Validating this could be tricky for the UI. Decide if validation is required/feasible for the <track default> attribute. We might just trust authors to use it correctly.

Remaining tasks

  1. Use a select element for the srclang in the FieldWidget plugin.
  2. Add some configuration options in the FieldType plugin, so that site builders can specify which values of the kind attribute to accept.
  3. Decide if validation is required/feasible for the <track default> attribute.
  4. Implement generateSpecimenValue. The patch has some pseudocode already.
  5. Tests.

User interface changes

Adds new FieldType and FieldWidget plugins to represent a HTML <track> element.

API changes

None.

Data model changes

Adds a new FieldType plugin to represent a HTML <track> element.

Update node's view filter "Get the actual content from a content revision"

$
0
0

Problem/Motivation

Regarding #2350939: Implement a generic revision UI @smustgrave asked if the node's view filter "Get the actual content from a content revision" should be made generic or per entity.

Steps to reproduce

@todo

Proposed resolution

@todo

Remaining tasks

Discuss the best approach
Propose a resolution
Work on a patch/MR
Review
Commit

User interface changes

@todo

API changes

@todo

Data model changes

@todo

Release notes snippet

@todo

SettingsTrayBlockFormTest needlessly overrides getTestThemes

$
0
0

Problem/Motivation

Note: As far as I know unnecessary code counts as a bug, but this could also be seen as a task (and then retargeted for 9.4?), not sure.

Found in #3257407: Use "content" region in BlockCreationTrait::placeBlock() instead of "sidebar_first".

SettingsTrayBlockFormTest's implementation of getTestThemes() is identical to that of it's parent SettingsTrayTestBase

Steps to reproduce

-

Proposed resolution

Remove SettingsTrayBlockFormTest::getTestThemes().

Remaining tasks

User interface changes

-

API changes

-

Data model changes

-

Release notes snippet

Extend IIS web.config to allow colons in URLs

$
0
0

Problem/Motivation

The current web.config doesn't relax the default requestPathInvalidCharacters settings of IIS.
This means that colons (:) in URLs are classified as invalid characters.
Because of this URLs like the one from the block management (http://wl56www523.webland.ch/drupal/web/admin/structure/block/add/block_content%3Adc5f60cf-8510-4a21-b899-641571747188/bodies?region=section_first&_wrapper_format=drupal_modal) are blocked.

Proposed resolution

Add the <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="*,%,?,\,&amp;,&lt;,&gt;" /> directive to the web.config file.
This should allow colons in URLs.

Remaining tasks

This was tested with "Microsoft-IIS/7.5" and "AspNet-Version:4.0.30319" - as I'm very unfamiliar with IIS this defintitely needs a review from someone that's more familiar with that webserver.
Another open question is if the config syntax for &,<,> is valid - I had to use &amp;,&lt;,&gt to avoid a 500 error from IIS, and it seems like the related chars are filtered properly.
However, if this is server version / configuration specific syntax we might break installations if we simply update the web.config.

User interface changes

None

API changes

None

Data model changes

None


Remove deprecated BcTimestampNormalizerUnixTestTrait

$
0
0

Problem/Motivation

\Drupal\Tests\rest\Functional\BcTimestampNormalizerUnixTestTrait was deprecated in Drupal 9 and should be removed for Drupal 10.

Steps to reproduce

Proposed resolution

Remove the class.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Remove deprecated code in the update system

$
0
0

Problem/Motivation

There are various bits of code in the \Drupal\Core\Update and \Drupal\update namespaces that were deprecated in Drupal 9 for removal in Drupal 10.

Steps to reproduce

Proposed resolution

Remove the deprecated code.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Remove deprecated \Drupal\FunctionalTests\Image\ToolkitTestBase

$
0
0

Problem/Motivation

\Drupal\FunctionalTests\Image\ToolkitTestBase was deprecated in Drupal 9.1 and should be removed in Drupal 10.

Steps to reproduce

Proposed resolution

Remove the class.
Remove any remaining references.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

The "Symfony\Component\Validator\Constraints\Range::$minMessage" property is considered final

$
0
0

Problem/Motivation

From #3275864: [upstream] Update to Symfony 6.1.1.

Full test results: https://www.drupal.org/pift-ci-job/2364329

  1x: The "Symfony\Component\Validator\Constraints\Range::$minMessage" property is considered final. You should not override it in "Drupal\Core\Validation\Plugin\Validation\Constraint\RangeConstraint".
    1x in ContextDefinitionIsSatisfiedTest::testIsSatisfiedBy from Drupal\Tests\Core\Plugin\Context

  1x: The "Symfony\Component\Validator\Constraints\Range::$maxMessage" property is considered final. You should not override it in "Drupal\Core\Validation\Plugin\Validation\Constraint\RangeConstraint".
    1x in ContextDefinitionIsSatisfiedTest::testIsSatisfiedBy from Drupal\Tests\Core\Plugin\Context

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

The range validator for entities now yields a more accurate 'value not in range' message, with its violation error code also more accurately being Range::NOT_IN_RANGE_ERROR.

Meeting of the Bug Smash Initiative 2022-06-21

$
0
0

Agenda items

Standing items

  • Who is here
  • Any other suggested topics
  • Wins / Thanks / Blockers
  • Statistics and functionality update. X new bugs created in last two weeks. Y closed by the initiative.
  • The bug I would most like to see fixed
  • Update on target items from last meeting
  • What should be the initiative focus for the next 2 weeks?

Statistics

Statistics graph

Meeting of the Bug Smash Initiative 2022-06-07

$
0
0

Agenda items

Standing items

  • Who is here
  • Any other suggested topics
  • Wins / Thanks / Blockers
  • Statistics and functionality update. X new bugs created in last two weeks. Y closed by the initiative.
  • The bug I would most like to see fixed
  • Update on target items from last meeting
  • What should be the initiative focus for the next 2 weeks?

Statistics

Statistics graph

0️⃣ Who is here today? Comment in the thread to introduce yourself. We’ll keep the meeting open for 24 hours to allow for all timezones.

quietoneHi
larowlanlee, sorry late :sad-panda:
ambermatzHi, Amber, Portland, OR
Kristen Pol (she/her)Kristen, California
lendudeLen, Amsterdam
TintoHi from Amsterdam, The Netherlands :wave:
dipakmdhrmDipak, Pune, India :wave::skin-tone-5:
dwwDerek from TEN7, temporarily back in the SF Bay Area, CA, US (to do some live duet concerts and see family/friends).
jibranJibran, AU

0️⃣.5️⃣ What are you looking forward to with the change in seasons?

quietoneThat it will force me to knit myself a new hat.
larowlangetting more sleep
darvanenHopefully a little skiing
ambermatzgoing camping
Kristen Pol (she/her)summer fog keeps things cool on the coast
lendudeI love the point where the tree in front of our house, in a very short period of time, explodes with leaves and blocks the view of the concrete and steel skyline of Amsterdam and all we can see is green instead of grey when looking out the living room window
TintoLonger daylight!
dipakmdhrmMonsoon is coming! It's going to be gloomy, but at least a little cooler. Summer was :hot_face:
dwwExcited for summer music camp season up on this side of the globe, although the pandemic (and a host of other global crises, really) continues to make that challenging and uncertain.(Aside: I love how "change in seasons" means so many different things to the folks participating in this meeting.)

1️⃣ Do you have suggested topics you are looking to discuss? Post in this thread and we’ll open threads for them as appropriate.

quietoneWould it make sense to have an issue of the day, say 12 hours after the current one to suit more timezones.
Kristen Pol (she/her)https://drupal.slack.com/archives/C03FH8GTB1A/p1654576621772299
Kristen Pol (she/her)I've scheduled it to be after the bugsmash meeting for anyone that wants to spillover :wink: (edited)
ambermatzAre folks finding any gaps in the triage and comment template documentation? For example, @quietone added a section on “committed but reopened” last week.

2️⃣.1️⃣ Wins - what wins have you had since the last meeting? Share your successes!

quietoneWent through the postponed bugs, only to see if any can be un-postponed. Found a few and then a 7 and 9 yr were closed an hour later by Berdir.
Kristen Pol (she/her)Did some triage and it was nice to close some things :slightly_smiling_face:
TintoWrote my first patch for a Drupal 10 issue and it passed automated tests :dancercarlton:
dwwGlad to have helped smash another major #accessibility bug since the last meeting: #3227431: Tabledrag icon doesn't adapt to forced-colors mode

2️⃣.2️⃣ Thanks - a space for callouts to other contributors who’ve helped you

ambermatzThanks @quietone for answering questions, adding docs, and just being an awesome person to contribute with.
TintoThanks @Gábor Hojtsy (he/him) for being everywhere at once and recognizing even the small contributions, @quietone for explaining things I don't understand and @lendude for figuring out why my tests fail. :pray: (edited)
dwwThanks @Kristen Pol (she/her) for spearheading the #contribution-events effort.
dwwThanks @quietone for getting #coding-standards going again. I'm guessing we will notice some bugs in the code we're going to end up touching. :wink:

2️⃣.3️⃣ Blockers - what’s getting in the way of your issues / goals

larowlanv/ busy again at work and in spare time
Kristen Pol (she/her)Split between 3 different initiatives makes balancing tricky
lendudeWork stuff
TintoClient projects
dwwThe usual stuff, plus performing/producing some live music shows this Friday (Santa Rosa, CA) and Sunday (Oakland, CA) is happily taking a lot of my time and attention.

2️⃣.4️⃣ :loudspeaker: If you helped with the triage since the last meeting then don't forget to post a comment to triage issue on d.o.

larowlan#3282188: [Meta] Bug Smash Initiative triage fortnight commencing 2022-05-24
TintoI think the previous meta is ready to be closed now?#3280028: [Meta] Bug Smash Initiative triage fortnight commencing 2022-05-10

2️⃣.5️⃣ Approve last fortnight's minutes

larowlan#3277586: Meeting of the Bug Smash Initiative 2022-05-10
larowlan#3279816: Meeting of the Bug Smash Initiative 2022-05-24
Kristen Pol (she/her)Maybe this is documented, but what are we looking for to approve the minutes?
TintoSometimes not all meeting participants are listed with their Drupal.org usernames. I guess we want to make sure everyone is credited.
dwwFor extra credit, you can scroll back up to the meeting in Slack in 1 window, and compare with the issue to make sure the scraper script didn't botch anything in any of the threads...
dwwBut I don't always go to that much trouble. :wink:

3️⃣ Core bug statistics - current state of open bugs

quietoneToday: 2022-06-07

From: 2022-05-24 to 2022-06-07

All bugs
Open: 23, including 10 fixed
Closed: 73
Age Count
00 26
01 04
02 05
03 06
04 08
05 06
06 08
07 04
08 02
09 01
10 02
12 01

Status Count
closed (duplicate) 11
closed (cannot reproduce) 15
closed (outdated) 17
closed (fixed) 22
closed (works as designed) 8

Approximately 263 yr reduction in total number of years of all open bugs.

Only bugs tagged Bug Smash Initiative
Open: 4, including 1 fixed
Closed: 49
Age Count
00 06
01 04
02 04
03 05
04 07
05 06
06 08
07 04
08 01
09 01
10 02
12 01

Status Count
closed (cannot reproduce) 15
closed (outdated) 15
closed (works as designed) 5
closed (fixed) 7
closed (duplicate) 7

Approximately 236 yr reduction in total number of years of all open bugs.

quietoneAlso under 6500 bugs in D9/10 Displaying 1 - 50 of 6497
larowlanThat's a nice milestone
quietonePriority (goal): actualCritical (50): 70
Major (1000): 979
Normal (6000): 5070
Minor (300): 378
dwwWow, this is fabulous!  Great work, everyone.  It seemed like I barely had any time to contribute at all the last few weeks.  It's lovely to see the stats this good, anyway. :heart_eyes: Filled with the collective joy of being part of something bigger than individuals. :heartpulse:

4️⃣ Lets check back on our targets and set some new ones

larowlan:dart: critical #1863258: Move entity preparation from form controller to entity class: "last changed" timestamp not updated and "create new revision" setting not respected when updating entities via Entity API
larowlan:checkbox: major #2620346: Logic Exception with preview button for block-comment
larowlan:checkbox: normal #2907995: Views UI sometimes fails to set overridden display to "All displays"
larowlan:checkbox: normal #2470489: NodeRevisionDeleteForm::submitForm uses the wrong check for setting a redirect
larowlan:dart: critical #3265868: MySQL sql_require_primary_key variable prevents primary keys from being dropped
quietoneSummary of the above:Critical - both waiting on triageMajor - closed (cannot reproduce)Normal - NW and NR
dww1863258 is still a critical bug. We have catch saying it's worth changing default behavior for (#15) and xjm escalating to critical as a data integrity bug (#34), and \Drupal\Core\Entity\ContentEntityForm is still the home of buildEntity() , updateChangedTime()  and friends, which is what the bug seeks to change.
dwwGiven that 3265868 was opened by catch a few months ago, I see no reason to doubt that it is a critical bug. :wink:I'm following all 4 open targets now, and I think we can consider the criticals triaged.Do we want to grab another random major to set 5 targets again? (edited)
quietoneI'll do the new randoms that after lunch.
quietoneFortnightly issues (at top of page) updated.

5️⃣ Help me - Is there anything you could use a :hand:

6️⃣ Let's look back at progress closing PMNMI issues that we are now eligible

ambermatzMeaning the ones 3+ months since our last comment?
Kristen Pol (she/her)I think I might have been doing this wrong.If something was marked PMNMI a year ago, I was closing it if it didn't look like it could be reproduced (either lack of instructions or someone tried and couldn't reproduce).But then I saw an issue where @quietone gave 3 months for someone to add more info.Maybe this is clear in the docs and I need to relook... I was just copy/pasting from a template :)
dwwYeah, I thought there's a somewhat elaborate process we're trying to move PMNMI issues through, although I can't find it documented anywhere. :sweat_smile:  Maybe @quietone knows where it lives?  Let's cross link it from a few other spots like https://www.drupal.org/docs/develop/issues/issue-procedures-and-etiquette, perhaps under https://www.drupal.org/docs/develop/issues/issue-procedures-and-etiquett... , and/or at https://www.drupal.org/community-initiatives/bug-smash-initiative/issue-... ?
quietoneWhat we have so far is, https://www.drupal.org/community-initiatives/bug-smash-initiative/issue-....  I just skimmed it and I think it needs some updating. I don't see that it covers what happens when you find a PMNMI that has the 3 month notice and it is passed the 3 months.
dwwOkay, so it's just the 1 template on that page.  I was confused...

7️⃣ Would it make sense to have an issue of the day, say 12 hours after the current one to suit more timezones via quietone

larowlanThat's a good idea, I can do that easily enough, it's just a reminder
quietoneWill the script produce 2 different issues in 24 hours?
larowlanI don't think so, but we could make the second message say 'click send me to a random issue'?
larowlanor perhaps Len could add a second link?
quietoneI like the less work option of adjusting the message.
ambermatzI like the idea
lendudeI can just pad the seeding string (which is now the current day) with something like AM or PM, that should give us 2 targets each dayEasypeasy :woman-shrugging:
dwwYay, thanks!  Glad folks are open to double the triage fun, and that it was so easy to add 2 random targets a day.
lendudeDone, see https://lendude.gitlab.io/bug-smash-initiative/I went for the ‘first’ and ‘second’ prefix in the link , did ‘morning’ and ‘afternoon’ first but than figured that wouldn’t work for all the time zones :smile:

Participants:

quietone, larowlan, darvanen, ambermatz, Kristen Pol, lendude, Tinto, dipakmdhrm, dww

Bug Smash Initiative meetings - next: 2022-06-21

$
0
0

Introduction

The Bug Smash Initiative is a community effort to fix known bugs in Drupal core. See the Bug Smash Initiative handbook page for more information.

We meet fortnightly on Tuesday at 0400 UTC in the #bugsmash channel in Drupal Slack. Beware, this might be Monday evening for some people:

  • 2:00 pm Tuesday - Australian Eastern Standard Time (AEST)
  • 9:30 am Tuesday - India Standard Time (IST)
  • 6:00 am Tuesday - Central European Standard Time (CET)
  • 9:00 pm Monday - Pacific Daylight Time (PDT)
  • When in doubt, ask the oracle.

All meetings are posted as child issues.

Please do not comment on this issueexcept to add a new child issue for an upcoming meeting and change the title here. Thanks!

Next meeting

The next meeting is on Tuesday 2022-06-21
#3284765: Meeting of the Bug Smash Initiative 2022-06-21

Past meetings

Please see the "Child issues" block in the right sidebar or at the bottom of this page for links to past meetings.


Add orderby key to third party settings

$
0
0

Follow-up to #2855675: Add orderby key to all sequences in core

Problem/Motivation

Sequences that are not sorted can result in unexpected configuration differences whilst importing configuration. Which confuses users because they are being told something is different when it is not. Also this behaviour can result in random test fails

Third party settings are ordered by the order in which the third party settings are added. This means that the same configuration can be different on depending on the order in which it is was configured.

Proposed resolution

Add orderby key and test it.

Remaining tasks

User interface changes

None

API changes

None.

Data model changes

All sequences in configuration sorted. This patch will introduce the generic upgrade path for all #2855675: Add orderby key to all sequences in core sub-issues.

Do not assume that plugin supporting <tag attr> also supports <tag> in SourceEditingRedundantTags and upgrade path

$
0
0

Problem/Motivation

If CKEditor 5 is selected as text editor for the Basic HTML format then the "Language" button is added automatically to the toolbar. This is also the case, if the text editor is switched from a CKEditor configuration where the Language button is disabled.

For the other default text formats (Full and Restricted HTML), the "Language" button is not automatically added.

The "Language" button has very limited use in a Drupal site because content languages are organized through the Core modules, and the user experience can be really confusing if HTML markup for languages can also be added within a field. Therefore enabling the "Language" button should be a conscious choice of a site builder, not the default option. Enabling it just to support the <span> tag is not appropriate and should therefore be considered a regression.

Steps to reproduce

  • Enable the CKEditor 5 module
  • Go to the configuration of Basic HTML at /admin/config/content/formats/manage/basic_html
  • Change the text editor from "CKEditor" to "CKEditor 5"

(Also see GIFs in User interface changes.)

Proposed resolution

Do not add the "Language" button to the default CKEditor 5 toolbar configuration for Basic HTML to support <span>.

How? See #5.

Remaining tasks

None.

User interface changes

Switching from CKEditor 4 to CKEditor 5 when <span> was supported in the text format but not the "Language" plugin

Before
After

Enabling a plugin which only is able to add attributes to a tag but not create the tag

Now when you try to enable the Language plugin when <span> is not yet supported, you will get a warning:

And it disappears/never appears if <span>is supported:

API changes

CKEditor 5 plugin metadata now needs to explicitly list tags it can create, by listing it under drupal.elements as just <tag>, in addition to listing it as <tag attrA attrB>.

Data model changes

None.

Release notes snippet

The drupal.elements metadata in CKEditor 5 plugin definitions must now explicitly list which tags are creatable. Previously, any listed tag was assumed to be creatable by the CKEditor 5 module, even if it was only able to create attributes on an already existing tag.

Don't initialize the user in the logger

$
0
0

Problem/Motivation

When you have a problem in some early bootstrap/installer process you even end up with errors in the Logger, which triggers the authentication

Proposed resolution

Check first, whether the user is already set. In case its not, don't manually load them.

Remaining tasks

User interface changes

API changes

Adding File Usage "File" relationship results in broken/missing handler

$
0
0

I am trying to add a relationship "file usage" to a view. I click the submit button, but the relationship never gets added and UI never closed. I can add other relationships as expected.


To replicate (with "standard" profile):

  1. Create a new view listing node content (no displays need to be added).
  2. Don't touch the base view config in any way (the default "title" field will be the only field, etc.)
  3. Add a File Usage "File" relationship via the UI

After these steps the relationship config dialog reports "The handler for this item is broken or missing" and no config form is displayed. The relationship can then be saved on the view (without configuration) but cannot be used.

Immediately upon adding the relationship an error similar to the following is printed in the views UI:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'fid' in 'field list': SELECT node_field_data.created AS node_field_data_created, node_field_data.nid AS nid, fid AS fid FROM {node_field_data} node_field_data WHERE (( (node_field_data.status = :db_condition_placeholder_0) )) ORDER BY node_field_data_created DESC LIMIT 10 OFFSET 0; Array ( [:db_condition_placeholder_0] => 1 )

And a barrage of notices are logged, containing and/or repeating:

Notice: Undefined index: id in Drupal\views\Plugin\ViewsHandlerManager->getHandler() (line 109 of /var/www/drupal-8/core/modules/views/src/Plugin/ViewsHandlerManager.php).
Notice: Undefined variable: items in Drupal\views\Plugin\views\relationship\Broken->buildOptionsForm() (line 79 of /var/www/drupal-8/core/modules/views/src/Plugin/views/BrokenHandlerTrait.php).
Notice: Undefined index: original_configuration in Drupal\views\Plugin\views\relationship\Broken->buildOptionsForm() (line 61 of /var/www/drupal-8/core/modules/views/src/Plugin/views/BrokenHandlerTrait.php).

[meta] Set Drupal 10 platform and browser requirements six months before the release

$
0
0

Problem/Motivation

During the Drupal 9 development process, we've discovered that setting platform requirements (PHP version, supported databases, etc.) is best done early during the major branch development process. Setting these to "obvious" minima as soon as possible and then increasing them more afterward was also valuable.

Proposed resolution

  • Continue adding PHP dev environments annually as soon as PHP alphas become available, and stable environments as soon as stable releases are available.
  • Ensure that testing environments are available for the latest database versions before 10.0.x is opened.
  • Require at least PHP 8.0 as soon as 10.0.x is opened. See #3173787: [policy] Require PHP 8.1 for Drupal 10.0 if a dependency does, otherwise require PHP 8.0. (up from 7.3 in Drupal 9).
  • Determine similar obvious minima for supported databases based on support cycles, distro support, and hosting provider support as of when 10.0.x will be opened.
  • Further increase the requirements as feasible.
  • Set a deadline 1-2 months ahead of the initial 10.0.0-beta1 target deadline for finalizing platform requirement policies. (The final implementations can still be beta blockers.)

Remaining tasks

Viewing all 294294 articles
Browse latest View live


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