Problem/Motivation

All field handlers that provide things like links do not want to do anything to affect the views query. So the current 'API' for this is just overriding the query() method and leaving it empty, so the parent does not get called. It would be nicer to make this explicit, like click sort is declared.

Additionally, other Views plugins need to be able to determine whether or not a field handler influences the query, since those plugins might rely on the fact that the field handler adds one or more fields to the query. See #2401953: Database exception for View with Combined field filter with fields with no query alias for an example of this scenario.

Proposed resolution

Add an isComputed() method to FieldPluginBase, this would default to false. Handlers could then either add 'computed' to the views data implementation using the handler or just overriding the method. The base query method can then check this property.

Remaining tasks

User interface changes

API changes

Beta phase evaluation

Reference: https://www.drupal.org/core/beta-changes
Issue category Task because computed fields always existed, at least on a implicit level.
Issue priority Normal, because its not such a big improvement.
Disruption No disruption at all, just some nicety for people writing views handlers, so both advantages for contrib and custom
CommentFileSizeAuthor
#92 2349465-92.patch12.12 KBwebdrips
#90 2349465-89.patch12.26 KBwebdrips
#88 2349465-88.patch18.63 KBwebdrips
#82 interdiff-2349465-78-81.txt4.53 KBmohit_aghera
#82 2349465-81.patch12.21 KBmohit_aghera
#78 2349465_78.patch9.54 KBvsujeetkumar
#74 2349465-74-views-computed-field.patch8.84 KBvacho
#67 2349465-67-views-computed-field.patch9.09 KBtacituseu
#63 views-computed-field-2349465-63.patch8.87 KBmr.baileys
#63 interdiff.txt1.64 KBmr.baileys
#60 interdiff-2349465-57.txt1.62 KBmr.baileys
#60 views-field-iscomputed-2349465.patch8.9 KBmr.baileys
#57 isComputed-field-handlers-2349465-57.patch9.38 KBastimac
#51 2349465-isComputedField-51.patch9.15 KBmohit_aghera
#48 2349465-isComputedField-48.patch8.98 KBLendude
#48 interdiff-2349465-46-48.txt1.85 KBLendude
#46 2349465-isComputedField-46.patch8.43 KBLendude
#46 interdiff-2349465-41-46.txt2.28 KBLendude
#41 2349465-isComputedField-41.patch7.56 KBLendude
#38 2349465-isComputedField-38.patch8.65 KBHjarnmastara
#32 2349465-32.patch9.36 KBHjarnmastara
#28 2349465-28.patch9.06 KBLendude
#28 interdiff-2349465-26-28.txt1.28 KBLendude
#26 2349465-26.patch8.25 KBtadityar
#17 2349465-17.patch8.01 KBrpayanm
#17 2349465-interdiff.txt715 bytesrpayanm
#14 interdiff.txt1.02 KBblackra
#14 2349465-14-D8.patch8.01 KBblackra
#6 isComputed-field-handlers-2349465-6-D8.patch7.79 KBblackra
#1 2349465.patch7.84 KBdamiankloip
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

damiankloip’s picture

Issue summary: View changes
Status: Active » Needs review
FileSize
7.84 KB

blackra queued 1: 2349465.patch for re-testing.

Status: Needs review » Needs work

The last submitted patch, 1: 2349465.patch, failed testing.

blackra’s picture

I am in the process of re-rolling the patch so that it applies cleanly. At the same time I am checking it for issues and completeness.

blackra’s picture

There are two features of this patch that I have noted whilst re-rolling it:

The method isComputed() is public. Is this intentional, given that it is on the 8.0.x branch?

Various classes in core override query() without calling query() in the parent class. This removes the check for isComputed() in any of their children. I think this is okay. However, the classes that do this are:

  • Drupal\user\Plugin\views\field\Link
  • Drupal\taxonomy\Plugin\views\field\LinkEdit
  • Drupal\node\Plugin\views\field\Path
  • Drupal\comment\Plugin\views\field\StatisticsLastUpdated
  • Drupal\node\Plugin\views\field\Link
  • Drupal\search\Plugin\views\field\Score
  • Drupal\comment\Plugin\views\field\NodeNewComments
  • Drupal\comment\Plugin\views\field\StatisticsLastCommentName
  • Drupal\user\Plugin\views\field\Permissions
  • Drupal\user\Plugin\views\field\Roles
  • Drupal\taxonomy\Plugin\views\field\TaxonomyIndexTid
blackra’s picture

Re-roll of patch in comment #1

blackra’s picture

Status: Needs work » Needs review
dawehner’s picture

Status: Needs review » Reviewed & tested by the community

Given that this is just an internal change, this should be fine! It makes it easier for contrib and custom modules.

tstoeckler’s picture

Status: Reviewed & tested by the community » Needs review
+  public function isComputed() {
+    return isset($this->definition['computed']) ? $this->definition['computed'] : FALSE;
+  }

I don't understand why we introduce support for specifying this in the definition (i.e. in the annotation, right?) but then not actually use it but override the method each time. Seems like the base implementation could just return FALSE then, right? Can someone explain?

dawehner’s picture

We use the definition pattern in case we have entries in hook_views_data() you would otherwise have not to
create a class. This is though not the case here, because you will always override render() for computed fields.

Nice observation tobias!

tstoeckler’s picture

Status: Needs review » Needs work

So that means this is "needs work", right? Or did I misinterpret your comment?

damiankloip’s picture

Yep, sounds like a good point. You would always need to override the class I think. We do the same thing with some other methods, so we would not be introducing anything new here.

blackra’s picture

I just noticed a potential problem with a comment.

In the comments for FieldPluginBase::isComputed() it says:

"The default query behavior will be be invoked if this is TRUE."

Surely that should say FALSE. query() does nothing if isComputed() === TRUE

blackra’s picture

Status: Needs work » Needs review
FileSize
8.01 KB
1.02 KB

Uploaded a new patch (and interdiff) to address comments #9 - #13

damiankloip’s picture

Status: Needs review » Needs work

I think we should stick with saying TRUE, there is a typo earlier in the line:

The default query behavior will be be invoked if this is TRUE.

We just want that to ay "not be".

dawehner’s picture

Issue tags: +Novice

Alright, let's fix that quickly

rpayanm’s picture

Status: Needs work » Needs review
FileSize
715 bytes
8.01 KB
dawehner’s picture

Status: Needs review » Reviewed & tested by the community

Feedback got fixed, thanks!

tstoeckler’s picture

Sure.

Edit: Hehe, wanted to RTBC as well

alexpott’s picture

Status: Reviewed & tested by the community » Needs work
Issue tags: +Needs issue summary update

This issue is a normal task so we need to outline how it fits within the allowable Drupal 8 beta criteria. Can someone add Drupal 8 beta phase evaluation template to the issue summary.

dawehner’s picture

Issue summary: View changes
Status: Needs work » Reviewed & tested by the community
Issue tags: +DX (Developer Experience)

Added

alexpott’s picture

Status: Reviewed & tested by the community » Needs review
+++ b/core/modules/content_translation/src/Plugin/views/field/TranslationLink.php
@@ -72,16 +72,18 @@ protected function renderLink(EntityInterface $entity, ResultRow $values) {
diff --git a/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php b/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php

diff --git a/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php b/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php
index 684e4b7..87a5e3d 100644

index 684e4b7..87a5e3d 100644
--- a/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php

--- a/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php
+++ b/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php

+++ b/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php
+++ b/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php
@@ -134,6 +134,4 @@ public function render(ResultRow $values) {

@@ -134,6 +134,4 @@ public function render(ResultRow $values) {
     }
   }
 
-  public function query() { }
-
 }

Why does this not get an isComputed implementation?

dawehner’s picture

Valid response!

Lendude queued 17: 2349465-17.patch for re-testing.

Status: Needs review » Needs work

The last submitted patch, 17: 2349465-17.patch, failed testing.

tadityar’s picture

Status: Needs work » Needs review
FileSize
8.25 KB

Re-rolled and added isComputed in /core/modules/contextual/src/Plugin/views/field/ContextualLinks.php

Lendude’s picture

Status: Needs review » Needs work
Issue tags: -Needs issue summary update +Needs tests
+++ b/core/modules/comment/src/Plugin/views/field/Link.php
@@ -59,6 +59,14 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition
+
+

Nitpicking, double newline

Plus, this needs tests. Probably just something along the lines of testClickSortable() in \Drupal\views\Tests\Handler\FieldUnitTest would be a good start.

Lendude’s picture

Status: Needs work » Needs review
Issue tags: -Needs tests
FileSize
1.28 KB
9.06 KB

Lendude queued 28: 2349465-28.patch for re-testing.

Status: Needs review » Needs work

The last submitted patch, 28: 2349465-28.patch, failed testing.

Hjarnmastara’s picture

Assigned: Unassigned » Hjarnmastara
Hjarnmastara’s picture

Status: Needs work » Needs review
FileSize
9.36 KB

Rerolled the patch as it would no longer apply.
Needs review.

Status: Needs review » Needs work

The last submitted patch, 32: 2349465-32.patch, failed testing.

Status: Needs work » Needs review

mr.baileys queued 32: 2349465-32.patch for re-testing.

mr.baileys’s picture

Status: Needs review » Needs work
+++ b/core/modules/views/src/Tests/Handler/FieldUnitTest.php
@@ -563,6 +563,19 @@ public function testClickSortable() {
+   * Tests the isComputed method.
+   */
+  public function testIsComputed() {
+    // Test that isComputed is FALSE by default.
+    $item = array(
+      'table' => 'views_test_data',
+      'field' => 'name',
+    );
+    $plugin = $this->container->get('plugin.manager.views.field')->getHandler($item);
+    $this->assertFALSE($plugin->isComputed(), 'FALSE as a default value is correct.');
+  }

Test should probably also assert that query() is not called on field handlers that have isComputed() === TRUE.

I'm also wondering if we should set isComputed = TRUE for the Broken field handler?

mr.baileys’s picture

Test should probably also assert that query() is not called on field handlers that have isComputed() === TRUE.

Nvm, I talked to @Hjarnmastara, and since it's query()'s responsibility to check isComputed(), this might be hard to test.

Lendude’s picture

Couple of minor tweaks

  1. +++ b/core/modules/contextual/src/Plugin/views/field/ContextualLinks.php
    @@ -96,6 +100,8 @@ public function preRender(&$values) {
    +   *
    +   * @return string
    

    unrelated change

  2. +++ b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
    @@ -779,7 +798,7 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    +        '#options' => array(
    

    extra indent

  3. +++ b/core/modules/views/src/Plugin/views/field/Links.php
    @@ -28,6 +28,13 @@ public function usesGroupBy() {
    +  /**
    +   * Overrides \Drupal\views\Plugin\views\field\FieldPluginBase::defineOptions().
    +   */
    

    Can just be {@inheritdoc}

Hjarnmastara’s picture

Applied the minor tweaks.

Hjarnmastara’s picture

Status: Needs work » Needs review

Lendude’s picture

Needed a reroll.

Lendude’s picture

Version: 8.0.x-dev » 8.1.x-dev
Assigned: Hjarnmastara » Unassigned
Status: Needs review » Postponed

As per https://www.drupal.org/core/d8-allowed-changes : Provides new functionality or a new API: postpone it to 8.1.x.

So done

Lendude’s picture

Status: Postponed » Needs review

Lets open this back up for 8.1.x

dawehner’s picture

Status: Needs review » Reviewed & tested by the community

IMHO this would be still really nice to have.

alexpott’s picture

Status: Reviewed & tested by the community » Needs work

#2401953: Database exception for View with Combined field filter with fields with no query alias landed so this patch needs to address the code comment that issue added.

Lendude’s picture

Status: Needs work » Needs review
FileSize
2.28 KB
8.43 KB

As per #45 updated the combine filter to use the isComputed method.

dawehner’s picture

Status: Needs review » Needs work

You missed to add it to the FieldHandlerInterface

Lendude’s picture

Added the method to FieldHandlerInterface and moved the doc block there too. Makes sense right? Or not?

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.0-beta1 was released on March 2, 2016, which means new developments and disruptive changes should now be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Status: Needs review » Needs work

The last submitted patch, 48: 2349465-isComputedField-48.patch, failed testing.

mohit_aghera’s picture

Status: Needs work » Needs review
FileSize
9.15 KB

Updating patch for 8.2.x branch.
Re-rolled fresh patch as #48 wasn't being applied.

Status: Needs review » Needs work

The last submitted patch, 51: 2349465-isComputedField-51.patch, failed testing.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

mradcliffe’s picture

Added reroll tag. The issue summary could use some updates to reflect comments from @alexpott and current patch.

f4o’s picture

I'm working on this on DrupalCon Dublin mentored sprint, re-rolling a patch using this instructions: https://www.drupal.org/contributor-tasks/reroll.

astimac’s picture

I'm working on this on DrupalCon Dublin mentored sprint, re-rolling a patch using this instructions: https://www.drupal.org/contributor-tasks/reroll.

astimac’s picture

Status: Needs work » Needs review
FileSize
9.38 KB

Patch is re-rolled , please have a look

Status: Needs review » Needs work

The last submitted patch, 57: isComputed-field-handlers-2349465-57.patch, failed testing.

mr.baileys’s picture

Issue summary: View changes
mr.baileys’s picture

Seems the patch in #57 accidentally removed the render() function from the Custom field plugin, causing the test failures. Added it back and fixed some whitespace issues that were introduced.

dawehner’s picture

  1. +++ b/core/modules/views/src/Plugin/views/field/Field.php
    @@ -1072,4 +1072,10 @@ public function getValue(ResultRow $values, $field = NULL) {
    +  /**
    +   * {@inheritdoc}
    +   */
    +  public function isComputed() {
    +    // TODO: Implement isComputed() method.
    +  }
    

    Should this be a follow up or still be resolved as part of this patch?

  2. +++ b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
    @@ -131,12 +131,21 @@ protected function allowAdvancedRender() {
    +   * @inheritdoc
    

    Nitpick: Its {@inheritdoc} :(

  3. +++ b/core/modules/views/src/Plugin/views/filter/Combine.php
    @@ -108,11 +108,8 @@ public function validate() {
    +        elseif ($fields[$id]->isComputed()) {
    +          // Combined filter breaks with computed fields.
               $errors[] = $this->t('Field %field set in %filter is not usable for this filter type. Combined field filter only works for simple fields.', array('%field' => $fields[$id]->adminLabel(), '%filter' => $this->adminLabel()));
             }
    

    This is really nice, IMHO

dawehner’s picture

Status: Needs review » Needs work

Feel free to set it back, but this TODO seems to be a bit dangerous.

mr.baileys’s picture

Status: Needs work » Needs review
FileSize
1.64 KB
8.87 KB

Thanks @dawehner

Agreed that we should have a default implementation for isComputed, returning FALSE. Only concern is that right now, to "implement" a computed field, a plugin just overrides query(). By introducing isComputed() and having this return FALSE, we are essentially making those existing fields not computed. Might not be a big deal since the isComputed() method is only used in the Combine plugin for now?

Also fixed the {@inheritdoc}, and noticed a documentation error.

Lendude’s picture

@mr.baileys nice work!

Only concern is that right now, to "implement" a computed field, a plugin just overrides query(). By introducing isComputed() and having this return FALSE, we are essentially making those existing fields not computed.

Well we go from 'we assume it isn't computed, and you have no way of telling us it is', to 'we assume it isn't computed, but you can tell us it is'. So I don't think we will be introducing any new false assumptions.

See #2695207: Text (plain, long) field is not click sortable and does not appear in combine fields filter as an example of where the current attempt at assumption goes wrong.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

tacituseu’s picture

Re-rolled for short array syntax and \Drupal\views\Plugin\views\field\Field deprecation.

Lendude’s picture

+++ b/core/modules/views/src/Plugin/views/field/FieldHandlerInterface.php
@@ -267,4 +267,18 @@ public function getRenderTokens($item);
+  public function isComputed();

Adding this to the interface is a BC break (I know I did it myself in #48, the things we learn), anything implementing FieldHandlerInterface but not extending FieldPluginBase will break. I doubt this happens in the wild, but technically it's a BC break. Or are interfaces always internal (since any change to them will always lead to a BC break)?

Also we need some additional test coverage for the introduced 'if's

  1. +++ b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
    @@ -138,12 +138,21 @@ protected function allowAdvancedRender() {
    +    // Computed fields have no business with the query.
    +    if (!$this->isComputed()) {
    +      $this->ensureMyTable();
    +      // Add the field.
    +      $params = $this->options['group_type'] != 'group' ? ['function' => $this->options['group_type']] : [];
    +      $this->field_alias = $this->query->addField($this->tableAlias, $this->realField, NULL, $params);
    +      $this->addAdditionalFields();
    +    }
    

    Needs test coverage

  2. +++ b/core/modules/views/src/Plugin/views/filter/Combine.php
    @@ -34,9 +34,9 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    +        // Don't allow computed fields. Computed fields will break the Combine
    +        // filter.
    +        if (!$field->isComputed()) {
               $options[$name] = $field->adminLabel(TRUE);
             }
    

    Needs test coverage

  3. +++ b/core/modules/views/src/Plugin/views/filter/Combine.php
    @@ -109,11 +109,8 @@ public function validate() {
    +        elseif ($fields[$id]->isComputed()) {
    +          // Combined filter breaks with computed fields.
               $errors[] = $this->t('Field %field set in %filter is not usable for this filter type. Combined field filter only works for simple fields.', ['%field' => $fields[$id]->adminLabel(), '%filter' => $this->adminLabel()]);
             }
    

    Needs test coverage.

tacituseu’s picture

Status: Needs review » Needs work

@Lendude: https://www.drupal.org/core/d8-bc-policy

(undocumented): If an API carries neither of these distinctions, we treat it as "we'll try very hard not to break it, but we may. These will receive a release notes mention.

Interfaces follow a similar pattern as above with respect to @api, @internal, or neither. However, in case of neither tag, the interface is treated as an API for callers but not for implementers.

Interfaces that are not tagged with either @api or @internal can be safely used as type hints. No methods will be changed or removed from these interface in a breaking way.
However, we reserve the ability to add methods to these interfaces in minor releases to support new features.

TLDR: It should be safe to add it in a minor release. NW for tests.

tacituseu’s picture

+++ b/core/modules/views/src/Plugin/views/field/EntityField.php
@@ -1093,6 +1093,13 @@ public function getValue(ResultRow $values, $field = NULL) {
   /**
    * {@inheritdoc}
    */
+  public function isComputed() {
+    return FALSE;
+  }

#2852067: Add support for rendering computed fields to the "field" views field handler went and did "Update the EntityField plugin to support computed fields.", so can't just return FALSE.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

vacho’s picture

Only patch reroll to contribute to this cause.

daffie’s picture

Issue tags: +Needs tests

Needs testing for each of the different handler with a computed field.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

vsujeetkumar’s picture

Status: Needs work » Needs review
FileSize
9.54 KB

Re-roll patch created and fixed test, Please review.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Lendude’s picture

Status: Needs review » Needs work
Issue tags: -Novice

As @daffie pointed out in #75 we need tests for all the changed handlers that isComputed() does indeed return FALSE, and we need test coverage for the change in query().

mohit_aghera’s picture

Status: Needs work » Needs review
FileSize
12.21 KB
4.53 KB

@Lendude

need tests for all the changed handlers that isComputed() does indeed return FALSE

I've added test cases for few field handlers. Can you please confirm if the approach is correct?

we need test coverage for the change in query().

I am not sure how we can test it.
One test case I saw in FieldKernelTest.php where we are testing query using testQuery() method.

However, in our case I want to test that whenever $this->isComputed() is true, no further code gets related to
$this->ensureMyTable(); gets executed.
Any idea how can test this one?

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

smustgrave’s picture

Status: Needs review » Needs work

@mohit_aghera one way to check your tests is to upload a tests-only patch with the full one. So the tests only patch will fail and regular ones passes then you know it was a good test.

Moving to needs work based on your other questions though

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

webdrips’s picture

FileSize
18.63 KB

Rerolling #82 for 10.2

webdrips’s picture

webdrips’s picture

FileSize
12.26 KB

Ignore last patch; let's try this again

webdrips’s picture

webdrips’s picture

Third time is a charm: re-roll for 10.2