Problem/Motivation

When threading is enabled on comments, there is no mechanism to limit how far a comment will indent. This poses a problem for sites that wish to have a defined maximum threading level for threaded comments.

Proposed resolution

  1. Add a configuration to allow the maximum threading depth to be defined.
  2. Allow the site builder to decide whether replying to the deepest comment is allowed. If allowed, the reply will be displayed with the same indent as the parent comment. If not allowed, then replies are totally denied.

Remaining tasks

None.

User interface changes

User perspective

When the thread depth is limited, depending on the Limited depth settings configuration the user can either reply on the deepest comment, case when the reply will be displayed with the same indent as the parent comment, or replying access is completely denied.

Site builder perspective

The Threading (internally, default_mode) field setting is converted from a check box into radios, exposing three options:

  • Flat list
  • Threaded (no depth limit)
  • Threaded (limited depth)

The first two options are the current options of the checkbox.

When Threaded (limited depth) is selected, the site builder is able to define a thread deep and the reply policy. Site builders can decide whether replying to the deepest comment is allowed.

Backwards compatibility note

The reason why it was opted to add a new default_mode is to ensure a more safe backwards compatibility. The current threaded comments fields will work without needing any update path.

API changes

None.

Data model changes

  • The comment field default_mode setting has a new option CommentManagerInterface::COMMENT_MODE_THREADED_DEPTH_LIMIT
  • New comment field setting: thread_limit.
CommentFileSizeAuthor
#70 2786587-58-v3-10.1.x.patch32.84 KBevonasek
#69 2786587-58-v2-10.1.x.patch32.58 KBevonasek
#68 2786587-58-10.1.x.patch31.8 KBevonasek
#65 2786587-v3-58-9.5.x.patch35.81 KBevonasek
#64 2786587-v2-58-9.5.x.patch35.81 KBevonasek
#63 2786587-58-9.5.x.patch35.82 KBevonasek
#58 2786587-58-9.3.x.patch81.17 KBpfrenssen
#58 2786587-58-9.2.x.patch81.16 KBpfrenssen
#48 2786587-48.including-2879087.patch76.57 KBclaudiu.cristea
#48 2786587-48.patch24.89 KBclaudiu.cristea
#48 2786587-48.interdiff.txt725 bytesclaudiu.cristea
#47 2786587-47-unofficial-8.9.x-including-2879087.patch76.87 KBclaudiu.cristea
#47 2786587-47-unofficial-8.9.x.patch25.2 KBclaudiu.cristea
#47 2786587-47-unofficial-8.9.x.interdiff.txt717 bytesclaudiu.cristea
#46 2786587-46-unofficial-8.9.x-including-2879087.patch76.87 KBclaudiu.cristea
#46 2786587-46-unofficial-8.9.x.patch25.2 KBclaudiu.cristea
#45 2786587-45-unofficial-8.9.x-including-2879087.patch76.83 KBclaudiu.cristea
#45 2786587-45-unofficial-8.9.x.patch25.16 KBclaudiu.cristea
#44 2786587-44.including-2879087.patch76.57 KBclaudiu.cristea
#44 2786587-44.patch24.89 KBclaudiu.cristea
#44 2786587-44.interdiff.txt2.2 KBclaudiu.cristea
#42 2786587-42.including-2879087.patch75.97 KBclaudiu.cristea
#42 2786587-42.patch24.29 KBclaudiu.cristea
#42 2786587-42.interdiff.txt25.78 KBclaudiu.cristea
#41 2786587-41-including-2879087-2886800.patch66.76 KBclaudiu.cristea
#41 2786587-41.patch19.97 KBclaudiu.cristea
#41 2786587-41.interdiff.txt18.49 KBclaudiu.cristea
#40 2786587-40.patch15.17 KBclaudiu.cristea
#40 2786587-40-including-2879087-2886800.patch61.67 KBclaudiu.cristea
#36 2786587-36.patch15.6 KBclaudiu.cristea
#36 2786587-36.interdiff.txt21.94 KBclaudiu.cristea
#31 download.png132.93 KBJax
#23 interdiff-2786587-18-22.txt2.61 KBnick.james
#22 add_thread_depth-2786587-22.patch13.05 KBnick.james
#19 interdiff-2786587-15-18.txt1.03 KBnick.james
#18 add_thread_depth-2786587-18.patch12.71 KBnick.james
#16 interdiff-2786587-11-15.txt6.14 KBnick.james
#15 add_thread_depth-2786587-15.patch11.68 KBnick.james
#11 add_thread_depth-2786587-11.patch9.86 KBnick.james
#5 interdiff-2786587-2-5.txt526 bytesmroycroft
#5 comment_depth_with_schema-2786587-5.patch4.02 KBmroycroft
#2 add_comment_depth_config-2786587-2.patch3.5 KBmroycroft

Issue fork drupal-2786587

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

mroycroft created an issue. See original summary.

mroycroft’s picture

Attached proposed patch.

mroycroft’s picture

Status: Active » Needs review
Issue tags: +Needs tests

Status: Needs review » Needs work

The last submitted patch, 2: add_comment_depth_config-2786587-2.patch, failed testing.

mroycroft’s picture

mroycroft’s picture

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 5: comment_depth_with_schema-2786587-5.patch, failed testing.

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.

nick.james’s picture

Version: 8.5.x-dev » 8.4.x-dev
nick.james’s picture

Version: 8.4.x-dev » 8.5.x-dev
jhedstrom’s picture

Status: Needs work » Needs review
jhedstrom’s picture

  1. +++ b/core/modules/comment/comment.install
    @@ -195,3 +196,29 @@ function comment_update_8400() {
    +/**
    + * Set a value for thread_depth for all existing comments.
    + */
    +function comment_update_8500() {
    

    Since this adds an update hook, the upgrade path needs to be tested. Check out Drupal\Tests\comment\Functional\Update\CommentUpdateTest, as I think a new test method can just be added to that, and verify that the settings are indeed updated.

  2. +++ b/core/modules/comment/comment.install
    @@ -195,3 +196,29 @@ function comment_update_8400() {
    +        $field->setSetting('thread_depth', 100);
    
    +++ b/core/modules/comment/src/Plugin/Field/FieldType/CommentItem.php
    @@ -112,6 +113,21 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
    +      '#max' => 100,
    

    The max thread depth should probably be a constant on the CommentInterface instead of hard-coding the number wherever it's used.

nick.james’s picture

nick.james’s picture

FileSize
6.14 KB

Status: Needs review » Needs work

The last submitted patch, 15: add_thread_depth-2786587-15.patch, failed testing. View results

nick.james’s picture

nick.james’s picture

FileSize
1.03 KB
nick.james’s picture

Status: Needs work » Needs review
jhedstrom’s picture

Just a few minor tweaks/questions:

  1. +++ b/core/modules/comment/src/Plugin/Field/FieldType/CommentItem.php
    @@ -112,6 +113,21 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
    +      '#default_value' => ($settings['thread_depth']) ? $settings['thread_depth'] : CommentManagerInterface::COMMENT_MAX_THREAD_DEPTH,
    

    With the update hook, and the default value above, shouldn't this always be set now?

  2. +++ b/core/modules/comment/tests/src/Functional/Update/CommentUpdateTest.php
    @@ -71,4 +72,41 @@ public function testPublishedEntityKey() {
    +    $results = $entity_query->execute();
    +
    +    // Check that none of the existing comment fields have the thread_depth setting.
    +    /** @var \Drupal\field\FieldConfigStorage $field_config_storage */
    +    $field_config_storage = \Drupal::entityTypeManager()->getStorage('field_config');
    +    foreach ($results as $id) {
    ...
    +    $results = $entity_query->execute();
    

    I think an assert that these $results are non-empty would be valuable. Otherwise, here, and below, if for whatever reason it didn't load any comments, none of the assertions in the foreach loops would run.

nick.james’s picture

FileSize
13.05 KB
nick.james’s picture

FileSize
2.61 KB

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.

Kwadz’s picture

Is there something missing to include the patch in the next release?

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.

maticb’s picture

#22 works fine, but you should fix the null warning on line 119 in CommentItem.php: '#default_value' => $settings['thread_depth'] ?? 0,

(I added ?? 0)

thronedigital’s picture

bump

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.

Jax’s picture

FileSize
132.93 KB

#22 works fine, but you should fix the null warning on line 119 in CommentItem.php: '#default_value' => $settings['thread_depth'] ?? 0,

This only happens if you don't run the update_N hook since that hook should populate the setting for the existing fields.

The patch has in CommentViewBuilder.php:

-        if ($comment_indent > $current_indent) {
+        if ($comment_indent > $current_indent && $comment_indent <= $thread_depth) {

followed by some additional lines in the else. Wouldn't it be easier to just do:

if ($comment_indent > $thread_depth) {
  $comment_indent = $thread_depth;
}

and leave the existing if/else alone?

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.

claudiu.cristea’s picture

Status: Needs review » Needs work
  1. +++ b/core/modules/comment/comment.install
    @@ -195,3 +196,25 @@ function comment_update_8400() {
    +function comment_update_8500() {
    
    +++ b/core/modules/comment/tests/src/Functional/Update/CommentUpdateTest.php
    @@ -71,4 +72,49 @@ public function testPublishedEntityKey() {
    +   * Tests comment_update_8500().
    ...
    +   * @see comment_update_8500()
    

    The update number needs... update :)

  2. +++ b/core/modules/comment/comment.install
    @@ -195,3 +196,25 @@ function comment_update_8400() {
    +  /** @var \Drupal\field\Entity\FieldStorageConfig $field_config_storage */
    +  $field_config_storage = Drupal::entityTypeManager()->getStorage('field_config');
    +  foreach ($results as $id) {
    +    $field = $field_config_storage->load($id);
    +    if ($field) {
    +      $settings = $field->getSettings();
    +      if (empty($settings['thread_depth'])) {
    

    This not the proper way to update a config entity. Please apply https://www.drupal.org/node/2949630.

  3. +++ b/core/modules/comment/comment.install
    @@ -195,3 +196,25 @@ function comment_update_8400() {
    +        $field->setSetting('thread_depth', CommentManagerInterface::COMMENT_MAX_THREAD_DEPTH);
    
    +++ b/core/modules/comment/src/CommentManagerInterface.php
    @@ -20,6 +20,11 @@
       /**
    +   * Maximum thread depth for comments.
    +   */
    +  const COMMENT_MAX_THREAD_DEPTH = 100;
    
    +++ b/core/modules/comment/src/Plugin/Field/FieldType/CommentItem.php
    @@ -43,6 +43,7 @@ public static function defaultStorageSettings() {
    +      'thread_depth' => 10,
    
    @@ -112,6 +113,21 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
    +      '#max' => CommentManagerInterface::COMMENT_MAX_THREAD_DEPTH,
    
    +++ b/core/modules/forum/config/optional/field.field.node.forum.comment_forum.yml
    @@ -25,6 +25,7 @@ default_value:
    +  thread_depth: 10
    
    +++ b/core/profiles/standard/config/install/field.field.node.article.comment.yml
    @@ -25,6 +25,7 @@ default_value:
    +  thread_depth: 10
    

    Not a very big fan of settings a hard limit or suggesting a value. What if existing sites went beyond this value? I would rather allow a "not limited" value, which may be stored as "0". Then we update the existing sites with "0" and also default to "0" on new field instance.

  4. +++ b/core/modules/comment/src/CommentViewBuilder.php
    @@ -102,7 +108,7 @@ public function buildComponents(array &$build, array $entities, array $displays,
    -        if ($comment_indent > $current_indent) {
    +        if ($comment_indent > $current_indent && $comment_indent <= $thread_depth) {
    
    @@ -114,6 +120,12 @@ public function buildComponents(array &$build, array $entities, array $displays,
    +          // Adjust indentation relative to the defined thread depth.
    +          if ($comment_indent > $thread_depth) {
    +            $indent_adjustment = $comment_indent - $thread_depth;
    +            $build[$id]['#comment_indent'] -= $indent_adjustment;
    +            $current_indent -= $indent_adjustment;
    +          }
    

    I disagree with the approach. We should not flatten the depth to the max thread depth. Instead we should hack into access control and deny access to reply when the comment has the max depth. Meaning also that the Reply link will disappear.

  5. +++ b/core/modules/comment/tests/src/Functional/Update/CommentUpdateTest.php
    @@ -71,4 +72,49 @@ public function testPublishedEntityKey() {
    +    $this->assertNotEmpty($results, t('Unable to grab existing comment field configs or none exist.'));
    ...
    +      $this->assertArrayNotHasKey('thread_depth', $settings, t('thread_depth setting should not exist.'));
    ...
    +    $this->assertNotEmpty($results, t('Unable to grab existing comment field configs or none exist.'));
    ...
    +      $this->assertArrayHasKey('thread_depth', $settings, t('thread_depth setting should exist.'));
    +      $this->assertEquals(CommentManagerInterface::COMMENT_MAX_THREAD_DEPTH, $settings['thread_depth'], t('thread_depth setting should be set to max value'));
    

    You can omit assertion messages. But if you still want to keep them, don't translate them.

munish.kumar’s picture

Hi,

I am picking this issue and working on the #33 feedback.
Thanks,

claudiu.cristea’s picture

Assigned: Unassigned » claudiu.cristea

Fixing #33.

claudiu.cristea’s picture

Title: Add thread depth configuration to comments » [PP-1] Add thread depth configuration to comments
Assigned: claudiu.cristea » Unassigned
Status: Needs work » Needs review
Related issues: +#2879087: Use comment access handler instead of hardcoding permissions
FileSize
21.94 KB
15.6 KB

Unfortunately we cannot switch to an "access based" approach (#33.4) because the access is not properly checked. See #2879087: Use comment access handler instead of hardcoding permissions to find out why. I will block this issue on #2879087: Use comment access handler instead of hardcoding permissions .

Fixed #33.1, 2, 3 and 5. Posting the partial work.

claudiu.cristea’s picture

Status: Needs review » Postponed

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.

claudiu.cristea’s picture

claudiu.cristea’s picture

Status: Active » Needs review
FileSize
61.67 KB
15.17 KB

For now just rerolled and provided a patch on top of #2879087: Use comment access handler instead of hardcoding permissions for testing purposes.

claudiu.cristea’s picture

FileSize
18.49 KB
19.97 KB
66.76 KB

Had some more thoughts on #33.4 and I think we can offer a field configuration option. A site builder will be able to chose between allowing replying on the same level as the parent comment or totally disable the reply when the maximum depth is hit. Still needs tests.

claudiu.cristea’s picture

Title: [PP-2] Add thread depth configuration to comments » [PP-1] Add thread depth configuration to comments
Assigned: claudiu.cristea » Unassigned
Issue tags: -Needs tests +Needs issue summary update, +Needs change record
FileSize
25.78 KB
24.29 KB
75.97 KB

Changes:

  • Now site builders are able to configure each comment field whether replying to the deepest comment is allowed. If allowed, the reply will be displayed with the same indent as the parent comment. If not allowed, then replies are totally denied.

Remaining tasks:

  • Create change notice.
  • Update IS.
claudiu.cristea’s picture

claudiu.cristea’s picture

FileSize
2.2 KB
24.89 KB
76.57 KB

Changes:

  • The CommentOrphanTest test had a bug that only surfaced with this patch.
  • The commented_entity is already in context when replying.
  • Fixed coding standards.
claudiu.cristea’s picture

To Whom It May Concern: Here's an unofficial version of #44 to be used w/ Drupal 8.9.x.

claudiu.cristea’s picture

Ouch, bad merge.

The patch to be reviewed is #44.

claudiu.cristea’s picture

Oh! $sandbox should be always passed by reference in update & post-update scripts.

claudiu.cristea’s picture

FileSize
725 bytes
24.89 KB
76.57 KB

OK, fixed passing $sandbox by reference for 9.2.x. Thinking more on this... this is hard to be cough by the update test if the config being tested is in the first batch, because not passing $sandbox by reference will always run only the first batch. We should trick somehow the update test to limit the batch size to 1. In this way it would be more easy to detect this bug. Or better adding a Drupal Coder rule to check is the var is passed by reference?

claudiu.cristea’s picture

pfrenssen’s picture

Status: Needs review » Needs work

The code looks pretty good, but I did some extensive testing and found 2 bugs:

  1. --- a/core/modules/comment/src/CommentAccessControlHandler.php
    +++ b/core/modules/comment/src/CommentAccessControlHandler.php
       protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) {
    +    // Forbid if this reply, to a threaded comment, is about to exceed the
    +    // maximum thread depth.
    +    if (isset($context['commented_entity']) && isset($context['parent_comment'])) {
    +      // ...
    +    }
         return AccessResult::allowedIfHasPermission($account, 'post comments');
    

    There is a bug here when the thread depth limit is set to 1 and the creation of child comments is denied. In this case it is not allowed to reply to root level comments, but this initial if statement bypasses the access check if $context['parent_comment'] is empty.

    Root level comments do not have a parent comment, so this means that for root level comments the user will always be allowed access to create a child comment.

    It's probably a good idea to add a test to ensure that when the depth level is set to 1 and the mode is set to THREAD_DEPTH_REPLY_MODE_DENY that the comments do not include a "Reply" link.

  2. --- a/core/modules/comment/src/CommentViewBuilder.php
    +++ b/core/modules/comment/src/CommentViewBuilder.php
    +    // Compute the comment maximum indent if any.
    +    $max_indent = NULL;
    +    if ($commented_entity) {
    +      // The maximum indent could determined only on non-orphan comments.
    +      $thread_limit_settings = $entity->getCommentedEntity()
    +        ->getFieldDefinition($entity->getFieldName())
    +        ->getSetting('thread_limit');
    +      $max_indent = $thread_limit_settings['mode'] === CommentItemInterface::THREAD_DEPTH_REPLY_MODE_ALLOW ? $thread_limit_settings['depth'] - 1 : NULL;
    +    }
    

    There is a functional disparity between the 2 different reply modes in this section. This is trying to "fix" the comment depths so that comments that are "deeper than allowed" appear on the same level as the parent comment. However since this is limited to the reply mode THREAD_DEPTH_REPLY_MODE_ALLOW I was able to get a comment thread to show up that was deeper than allowed by following these steps:

    1. Create a comment field and configure it with a max depth of 2 and allowing child replies.
    2. Create a long comment thread of minimum 5 comments, by always replying to the last comment.
    3. Observe that the comment thread is shown only up to depth 2 as is expected.
    4. Edit the comment field configuration and change toggle the reply mode to deny any child comments.
    5. Reload the page: now the comment thread is shown up to a depth of 5. This is not expected since the maximum depth is 2.

    I think the right solution is to also allow "fixing" the depth when the reply mode is set to THREAD_DEPTH_REPLY_MODE_DENY.

claudiu.cristea’s picture

Status: Needs work » Needs review

@pfrenssen thank you for your detailed review. The changes are in the merge request.

#50.1: There's now logic of having the maximum depth < 2. That would be a flat list. On UI, a user cannot enter a depth < 2. On API I've used assert() to do the check.

#50.2: You're right. While fixing this point, I've noticed that, in #48, I've broken the "threaded with no limit" mode. No test complained, so I've added regression testing coverage.

pfrenssen’s picture

Status: Needs review » Needs work

I wanted to practice working with merge requests so I merged in the latest changes from the base branch, but now there is a failure regarding the composer lock file checksum, which doesn't make much sense since this MR doesn't change any dependencies. I am suspecting that the hash is also incorrect in 9.2.x but the latest test is green. Strange. I don't think it looks like we can solve this inside this issue though.

I have just 2 very small remarks. One is to change the data type of a parameter in a test helper method, and a minor nit in a comment. Apart from these this looks good to go from me.

claudiu.cristea’s picture

Status: Needs work » Needs review

MR remarks addressed

pfrenssen’s picture

Status: Needs review » Postponed

Thanks! This looks good to me, but we need to wait for #2879087: Use comment access handler instead of hardcoding permissions to be merged before this can be set to RTBC. Postponing on that issue.

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.

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.

pfrenssen’s picture

FileSize
81.16 KB
81.17 KB

I rebased the main MR onto 9.4.x and have made a copy of the original branch available as 2786587-thread-depth-limit-9.2.x.

Since the dynamically generated patches will now only apply to 9.4.x, here are backported patches for older versions of Drupal.

idimopoulos made their first commit to this issue’s fork.

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.

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.

evonasek’s picture

FileSize
35.82 KB

I figured out that in recent D9.5.2 some code from recent comment patches is already present, so I create a patch for it. If somebody needs a complete patch for version 9.5.x(PHP 8 .1).

evonasek’s picture

FileSize
35.81 KB
evonasek’s picture

FileSize
35.81 KB

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.

evonasek’s picture

FileSize
31.8 KB

D10.1.5 patch

evonasek’s picture

FileSize
32.58 KB

The previous file is not correct. D10.x

evonasek’s picture

FileSize
32.84 KB

Fixed version v3

paintingguy’s picture

Right on! This is a much needed option for the comments. Thank you !
How do I add this for D9?