Task #84717

Updated by Sybille Peters almost 2 years ago

see "decisions:Breaking LinkValidator (Serialised Array vs. JSON)":https://decisions.typo3.org/t/breaking-linkvalidator-serialised-array-vs-json/360/11 

 Can be converted to JSON as suggested in #83338 for scheduler. 

 Specifically the field tx_linkvalidator_link.url_response is used to handle results of link check, including the error message: 

 It may contain something like this: 

 a:2:{s:5:"valid";b:0;s:11:"errorParams";a:2:{s:9:"errorType";s:7:"network";s:7:"message";s:30:"Network error / invalid domain";}} 

 So, we have: 

 * bool valid (currently only used if _GP('showalllinks') is set, not really used, maybe we can remove this entirely) 

 *errorParams array:* 

 * errorParams array, depends on type of link: 
   * external: 
      * string errorType 
      * string message (should be removed also, we should get the error message when generating the report, depending on current language of BE user) 
      * exception 

 some depends on type of 
   * page (internal) link: 

 *page (internal) link:* 

     * in addition to errorType and message: contains additional information about page / content element 

   * other: ... 

 Also, the errorParams array includes an errorType and the (localized) error message. This does not really make sense anyway, because it is localized while checking links. It should be localized while viewing results because checking links and viewing the results may be done by different users at different times (and checking may also be done via the scheduler). 

 I am not creating another issue for this, but this should be considered when handling the array differently.  

 It might also make sense to store the errorType in a seperate database field for easier aggregation of results.