Problem/Motivation
I did some grepping to find @todo items that reference closed issues
grep -r "@todo .*[\r\n]* https://.*drupal.org/.*" . | grep -o '/[0-9]\+' | while read -r line ; do
markup=$(curl --silent "https://www.drupal.org/node$line" | hxnormalize -x)
status=$(echo $markup | hxselect '.field-name-field-issue-status .field-item' | sed 's/<\/\?[^>]\+>//g')
if [[ "$status" == *"Closed"* ]]; then
echo "[#$line]" | sed 's/\///g'
fi
done | uniq39 were found on the initial run. These should be cleaned up.
See #96 for a script to sort the results.
Proposed resolution
Create child issues for each of the closed @todo items. In that child issue:
- If it can be confirmed that the @todo is truly addressed in the referenced issue, follow the instructions of the @todo then remove it
- If the circumstances of the @todo are not truly addressed, find out if the @todo should be referencing a different existing issue, or create a new one to address the needs of the @todo.
- As issues are completed, update the issue summary to document that, so it's not neccessary to rely on drupal.org dynamically representing the issue status.
Many of these issues can get a novice tag, but this can be omitted if the solution seems like it will be more complex.
Remaining tasks
See if the search used to find these issues can be improved. If additional completed @todos are found, add them to the issue summary.
Follow the steps in proposed resolution. Create child issues and complete them, update the table below as they are updated/completed
Comments
Comment #2
bnjmnmComment #3
quietone commentedIssue #2552791: MigrateSqlSource should use dependency injection is listed twice in the above list. It is a duplicate of #2681869: Provide clean way to merge configuration into migration plugins which removed a todo and added a new one,
The added todo is correct and the issue referenced is open, #2804611: Migrate sources and destinations need a way to get their requirements.
I've updated the table in the IS to show that these migration issue are complete.
Comment #4
bnjmnmI spot three @todos referencing #2552791, a closed issue. Those @todo items should either be removed from the codebase or they should reference a new issue
I removed the duplicate (thanks!), and the "completed", as the grep is still finding references to that closed issue.
Comment #5
xjmNice novice meta!
Since these are docs corrections, we'd backport them all the way to the production branch.
Comment #7
richardbporter commentedI tried running the shell script in the description and received the following error multiple times:
I installed html-xml-utils via Homebrew on OSX. It's probably not necessary but I'm assuming it makes it easier to find the files and line numbers of these @todos. Any ideas?
Comment #8
richardbporter commentedComment #9
bnjmnmIt’s probably unnecessary to run the script again, it was largely provided to document how the issues were identified. Searching the codebase for the node ids of the issue (such as 2999549 for the last one listed) is the easier + recommended way to find them now that they’ve already been identified.
Comment #10
ballistic101 commentedIn case it is useful, this should fix that script:
The
[^]needed to be[^>].Comment #11
richardbporter commentedComment #12
richardbporter commentedComment #13
richardbporter commentedComment #14
richardbporter commentedComment #15
richardbporter commentedComment #16
richardbporter commentedComment #17
richardbporter commentedComment #18
richardbporter commentedComment #19
richardbporter commentedComment #20
quietone commented@richardbporter, thanks for the updates. To encourage novice contributors I think it would be helpful that this is not assigned to anyone. I hope you don't mind but I am changing to unassigned.
Comment #21
richardbporter commentedNo, not at all. I wasn't sure if meta issue should be assigned or not.
Comment #22
quietone commentedAdded #2002138: Use an adapter for supporting typed data on ContentEntities
Comment #23
bnjmnmUpdated shell command in issue summary to one that works on my updated OS
Comment #24
quietone commentedUsed the new script to get an up to date list of issues. Sorted the results and removed the duplicates. Then Updated IS with the results. And finally removed the status column because we can get that information for the status of the issue in the 'fixed by' column.
Comment #25
quietone commentedReally remove the status column.
Comment #29
spokjeComment #31
spokjeRan the grep-script on the current
10.1.x-branch and updated the IS with the current@todos which have a link to a closed d.o. issue.Sorted the issues by node ID ascending.
Comment #32
spokjeComment #33
spokjeComment #34
spokjeComment #35
spokjeComment #36
spokjeComment #37
spokjeComment #38
spokjeComment #39
spokjeComment #40
spokjeComment #41
spokjeComment #42
spokjeComment #43
spokjeComment #44
spokjeComment #45
spokjeComment #46
spokjeComment #47
spokjeComment #48
spokjeComment #49
spokjeComment #50
spokjeComment #51
spokjeComment #52
spokjeComment #53
spokjeComment #54
spokjeComment #55
spokjeComment #56
spokjeComment #57
spokjeComment #58
spokjeComment #59
spokjeComment #60
spokjeRan the grep-script on the current 10.1.x-branch and updated the IS with the current @todos which have a link to a closed d.o. issue.
Sorted the issues by node ID ascending.
Comment #61
spokjeComment #62
spokjeComment #63
spokjeComment #64
spokjeComment #65
spokjeComment #66
spokjeComment #67
spokjeRan the grep-script on the current 11.x-branch and updated the IS with the current @todos which have a link to a closed d.o. issue.
Sorted the issues by node ID ascending.
Comment #68
spokjeComment #69
spokjeComment #70
spokjeComment #72
spokjeComment #73
spokjeComment #74
spokjeComment #75
spokjeComment #76
spokjeComment #77
spokjeComment #78
spokjeRemoving `Novice`-tag, since simply opening a new issue for each @todo item referencing closed issues has shown to be non-productive.
Those issue will basically be un-noticed and be stuck in the queue for a long time.
However, opening issues with a proposed solution (even if not accepted) has been proven fruitfull: Either the proposed solution gets committed, or a better approach is suggested.
This is however not exactly novice-material.
Comment #79
spokjeComment #80
spokjeComment #81
spokjeComment #82
spokjeComment #83
spokjeComment #84
spokjeComment #85
spokjeComment #86
spokjeComment #87
spokjeComment #88
spokjeComment #89
spokjeComment #90
spokjeComment #91
quietone commentedFound an issue fixing one of these during RTBC queue triage.
Comment #92
spokjeComment #93
spokjeComment #94
quietone commentedComment #95
quietone commentedComment #96
quietone commentedI wanted to update this so ran the script in the issue summary sending the output to a file, todo-list.txt. There were 51 results and it was difficult to compare with the list in the issue summary. So, I wrote a script to sort the output and create a new table. Of course, I then had to update the second column by hand. It should be easier to maintain in the future if the first column is sorted.
I checked all the children and found a duplicate an updated the table.