Feature #83847

Epic #85006: Reduce falsely reported broken links

Linkvalidator should remove repaired links from report after editing record

Added by Sybille Peters almost 2 years ago. Updated 27 days ago.

Status:
Under Review
Priority:
Should have
Category:
Linkvalidator
Target version:
-
Start date:
2018-02-11
Due date:
% Done:

0%

PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

This change will improve the workflow for editors, who fix broken links.

In the reports view you can click on the pencil to edit the record. If you edit and close, the backend will automatically jump back to the Report view. If the broken link was fixed, I would expect it to be removed from the list of broken links.

This is currently not the case. It makes fixing links very tedious in case you have several because you have to keep switching to the "Check links" tab and recheck. If you don't do that you can easily loose track in the long list of broken links (what was already fixed and what not?) Also, it is possible to deactivate the "Check Links" tab so not all editors can initiate unlimited crawling. In that case you are out of luck.

Reproduce

  1. Create 3 broken links in the body text of a content element (e.g. text & media)
  2. Info > Linkvalidator > Check links (current page, check all link types)
  3. Switch to "Report" tab. You should see 3 broken links in list
  4. click on pencil icon to edit the record.
  5. Remove one of the broken links
  6. click on save and close

Expected Result

You should now see only 2 broken links in list

Actual Result

There are still 3 broken links. You must go back to "Check links" tab and check again.

Possible solutions

When the editor edits, only a specific field of a record gets editied, e.g. tt_content.bodytext or pages.url.

Only one of the following solutions should be implemented:

  1. Recheck if the broken links in the field that the editor just edited are still in the field. If not, remove them from list.
  2. Recheck all links in record / field that was just edited. Update the list
  3. Change visual appearance of all broken links corresponding to edited record (e.g. dim it) to indicate that we are currently not sure if links are still broken. Display an icon to recheck broken links. This will default to behaviour 1 or 2.
  4. Try to determine a diff of what changed and only do a recheck for that

These are the pros and cons:

  1. Is very lightweight. No link checking on the fly is necessary. We just check if the links are still in the field. This has the disadvantage: If new broken links are introduced or a broken link is changed, the new broken links will not be added to the list. I think this is the best solution currently, but the biggest problem is having too many falsely reported broken links not removed from list. We optimize for reducing falsely reported broken links.
  2. for number 2 (recheck of all links in record): There may be a large number of links. External link checking may have delays. The timeout is currently set to 10. So if we have slow external webpages or there are problems, a recheck may take 30 seconds or more (as worst case). So, this is probably something we want to do asynchronously. But then we don't have the refreshing of the list.
    • for number 3 this could actually be easily done by using sys_history which can be checked for matching records that match recuid, tablename, userid, timestamp (range). This then contains previous field in history_data. The links can be extracted and compared. (this only makes sense for RTE)
      1. This is clunky and a little more helpful than previously but not very helpful.

linkvalidator.png View (80.2 KB) Sybille Peters, 2019-10-16 20:07

needsrecheck.png View (70.5 KB) Sybille Peters, 2019-10-18 20:38

History

#1 Updated by Sybille Peters almost 2 years ago

  • Assignee set to Sybille Peters

#2 Updated by Sybille Peters almost 2 years ago

  • Subject changed from Linkvalidator should remove fixed links from report after editing record to Linkvalidator should remove repaired links from report after editing record
  • Description updated (diff)

#3 Updated by Sybille Peters over 1 year ago

  • Tracker changed from Bug to Feature

#4 Updated by Sybille Peters over 1 year ago

  • Target version set to next-patchlevel

#5 Updated by Sybille Peters over 1 year ago

  • Parent task set to #85006

#6 Updated by Gerrit Code Review over 1 year ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57131

#7 Updated by Gerrit Code Review over 1 year ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57131

#8 Updated by Sybille Peters over 1 year ago

  • Target version deleted (next-patchlevel)

#9 Updated by Sybille Peters over 1 year ago

  • Description updated (diff)

#10 Updated by Gerrit Code Review over 1 year ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57131

#11 Updated by Gerrit Code Review over 1 year ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57131

#12 Updated by Gerrit Code Review over 1 year ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57131

#13 Updated by Gerrit Code Review over 1 year ago

Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57131

#14 Updated by Susanne Moog 10 months ago

  • Status changed from Under Review to Accepted

Patch has been abandoned.

#15 Updated by Gerrit Code Review about 2 months ago

  • Status changed from Accepted to Under Review

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#16 Updated by Gerrit Code Review about 2 months ago

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#17 Updated by Gerrit Code Review about 2 months ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#18 Updated by Gerrit Code Review about 2 months ago

Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#19 Updated by Sybille Peters about 2 months ago

#20 Updated by Sybille Peters about 2 months ago

  • Description updated (diff)

#21 Updated by Sybille Peters about 2 months ago

  • Description updated (diff)

#22 Updated by Sybille Peters about 2 months ago

  • Description updated (diff)

#23 Updated by Sybille Peters about 2 months ago

  • Description updated (diff)

#24 Updated by Sybille Peters about 2 months ago

  • Description updated (diff)

#25 Updated by Sybille Peters about 2 months ago

  • Description updated (diff)

#26 Updated by Sybille Peters about 2 months ago

I now made it configurable:

  • default: Mark broken links of previously edited record as needing recheck

  • with mod.linkvalidator.actionAfterEditRecord=recheck: recheck broken links.

#27 Updated by Gerrit Code Review about 2 months ago

Patch set 11 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#28 Updated by Gerrit Code Review about 1 month ago

Patch set 12 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#29 Updated by Gerrit Code Review about 1 month ago

Patch set 13 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#30 Updated by Sybille Peters about 1 month ago

  • Description updated (diff)

#31 Updated by Gerrit Code Review about 1 month ago

Patch set 14 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#32 Updated by Gerrit Code Review 28 days ago

Patch set 15 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#33 Updated by Gerrit Code Review 27 days ago

Patch set 16 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#34 Updated by Gerrit Code Review 27 days ago

Patch set 17 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

#35 Updated by Gerrit Code Review 27 days ago

Patch set 18 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/57131

Also available in: Atom PDF