When a comment is deleted, all replies (descendant comments) to it are also removed. We have a warning message on the delete confirm page, but it often leaves me wonder whether there are descendants, and I had to go back and double check. This patch tries to list all descendant comments, if any exists, on the confirmation page. The code may need some clean up, but I think it's a nice-to-have feature.

(This is my first attempt on patching core, hope the patch doesn't look too bad...)

Comments

JirkaRybka’s picture

I didn't check the patch yet :( No time.

But a big +1 from me. Also note, that with FLAT comments, we currently have hidden descendants: Also deleted along, but otherwise rather random and completely impossible to see anywhere (except perhaps PhpMyAdmin). There's other issue on that elsewhere (dealing with entirely other bit of that workflow), but for now it makes this fix even more important.

catch’s picture

Status: Needs review » Needs work

Patch works fine, and is a massive, massive, usability improvement for the reasons JirkaRybka outlines above.

The page description should read:

"The following replies" not "Following replies", and only single quotes required.

Also ideally the patch should be rolled from the root of your drupal directory, with the -p option, and without windows line breaks.

Otherwise code style and everything looks fine to my not very picky eyes. Marking as needs work, but these are minor gripes, and it's lovely.

dami’s picture

Status: Needs work » Needs review
StatusFileSize
new1.86 KB

Thanks for your review and encouragement! I was on windows and used TortoisCVS, and I don't have cvs access on linux box at work...Anyway, just rerolled patch with 'diff -up', changed wording as catch suggested. Hope I have done it right this time.

dries’s picture

Version: 6.x-dev » 7.x-dev

Moving to Drupal 7.

dami’s picture

Dries, can I know why we can't put it in 6.x? It doesn't change any API. We are still in beta2, and I think this is a usability improvement. Thanks.

catch’s picture

Version: 7.x-dev » 6.x-dev
Category: feature » bug

I know we're late in the cycle but I'd agree with dami here. It's quite scary not knowing how many children you're going to kill when you push that button. And as JirkaRybka points out, there's no way to even go back and find out if you use "flat" comment settings. I've been using the 'nasty hack'[sic, Heine] flatcomment module for precisely this reason.

I guess there could be a performance concern if a comment had dozens of children, but then presumably that applies to the actual deletion process as well.

I'm going to drop this back down to D6 for one last chance, although I understand the reasons for postponing it at this stage. Also marking as a bug report since it's unpredictable deletion of users' data ;)

catch’s picture

Version: 6.x-dev » 7.x-dev

Back to D7 :)

birdmanx35’s picture

Just tested this patch, the code still applies to Drupal 6 HEAD. It applied cleanly, and the feature is quite nice!

+1 from me.

catch’s picture

Still applies and the functionality is great. I'm marking this RTBC since birdmanx35 also reviewed positively.

See also JirkaRybka's comments on: http://drupal.org/node/175841#comment-605205 in regard to comment deletion.

catch’s picture

Status: Needs review » Reviewed & tested by the community
dries’s picture

Status: Reviewed & tested by the community » Needs work

Code should use l() instead of constructing its own URL. I'm not sure I'm willing to classify this as a big usability improvement -- it adds clutter to me.

catch’s picture

It's not a big win if you have comments set up to be threaded - because then you can work out visually what's going to go beforehand. However if you use the flat setting, you have no way of knowing which comments are replies to which (and users don't care most of the time) - which leads to very unpredictable data loss.

If no-one gets to it I'll work on a re-roll with l() soonish.

Jaza’s picture

Version: 7.x-dev » 8.x-dev

Moving.

pillarsdotnet’s picture

Status: Needs work » Needs review
Issue tags: +Needs backport to D6, +Needs backport to D7
StatusFileSize
new2.59 KB

Re-rolled as requested.

Status: Needs review » Needs work

The last submitted patch, comments-list_descendents_on_delete_confirm-193409-14.patch, failed testing.

pillarsdotnet’s picture

Status: Needs work » Needs review

Trying again...

pillarsdotnet’s picture

Status: Needs review » Needs work

The last submitted patch, comments-list_descendents_on_delete_confirm-193409-16.patch, failed testing.

pillarsdotnet’s picture

Status: Needs work » Needs review
StatusFileSize
new5.18 KB

One more time...

pillarsdotnet’s picture

pillarsdotnet’s picture

kscheirer’s picture

Status: Needs review » Needs work

The last submitted patch, comments-list_descendents_on_delete_confirm-193409-19.patch, failed testing.

andypost’s picture

Version: 8.0.x-dev » 8.1.x-dev
Category: Bug report » Feature request
Issue summary: View changes
Status: Needs work » Postponed
Issue tags: +Usability, +Needs issue summary update
Related issues: +#89181: Use queue API for node and comment, user, node multiple deletes

Nice UX feature.
There could be a lot of descendant comments so we need to decide how to display them properly

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.

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.

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.

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.

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.

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.

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.

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.

smustgrave’s picture

Status: Postponed » Postponed (maintainer needs more info)
Issue tags: +stale-issue-cleanup

Thank you for sharing your idea for improving Drupal.

We are working to decide if this proposal meets the Criteria for evaluating proposed changes. There hasn't been any discussion here for over 8 years which suggests that this has either been implemented or there is no community support. Your thoughts on this will allow a decision to be made.

Since we need more information to move forward with this issue, the status is now Postponed (maintainer needs more info). If we don't receive additional information to help with the issue, it may be closed after three months.

Thanks!

smustgrave’s picture

Status: Postponed (maintainer needs more info) » Closed (outdated)

Since there's been no follow up on this one, going to close out. If still a valid feature though please re-open.

Thanks all!