Extension configuration

Extension configuration is used for global settings which should be the same for the entire TYPO3 installation.

It is configured in the backend, via Settings | Extension Configuation or using the file settings.php.

EXT:backend

EXT:brofix

EXT:brofix | linkTargetCacheExpiresLow

External link target cache (in seconds) for checking

Checking tab

default:

0 (means use TSconfig value linkTargetCache.expiresLow)

available values:

any integer value

For a description see the TSconfig option linkTargetCache.expiresLow.

EXT:brofix | linkTargetCacheExpiresHigh

External link target cache (in seconds) for checking

Checking tab

default:

0 (means use TSconfig value linkTargetCache.expiresHigh)

available values:

any integer value

This should be a slightly higher value than EXT:brofix | linkTargetCacheExpiresLow or 0.

For a description see the TSconfig option linkTargetCache.expiresHigh.

EXT:brofix | combinedErrorNonCheckableMatch

(since TYPO3 v12)

Non-checkable match

Checking tab

default:

"regex:/^(httpStatusCode:(401|403):|libcurlErrno:60:SSL certificate problem: unable to get local issuer certificate)/"

available values:

either a regex starting with regex: or a string

If result from link target checking match this, consider the link target (URL) as non-checkable. This is written to the database table and displayed in the backend module. It is possible to filter by this status. By default, these links are not displayed (since the default filter in the backend shows only broken links).

Currently, these are the known status:

  • 1: broken

  • 2: ok

  • 3: not possible to check ("non-checkable")

  • 4: is excluded

This should also improve handling of cloudflare protected sites as these typically return 403 HTTP status code. The link checking status is no longer considered broken, it is now considered "not-checkable", since the actual link check result cannot be obtained.

What kind of results from link checking, make the URL "non-checkable" can be configured via Exension Configuration "combinedErrorNonCheckableMatch".

This can be either a regular expression (with prefix "regex:" and enclosing delimeters (e.g. "/"). Or it can be a list of strings, separated by comma.

This is matched against a combination of the link checking result, consisting of:

<errorType> ":" <errorCode> ":" <exceptionMessage>

To match HTTP status code 401, you could use:

httpStatusCode:401:

The possible errorTypes and errorCodes can be seen in the class ExternalLinktype or via the database field tx_brofix_broken_links.url_response.

This is the default value:

regex:/^(httpStatusCode:(401|403):|libcurlErrno:60:SSL certificate problem: unable to get local issuer certificate)/

EXT:brofix | excludeSoftrefs

Do not use these softreference parsers (comma separated list) when parsing content

Checking tab

  • default: url

  • available values: any softref parser keys, separated by comma

This is a workaround for a TYPO3 core bug, see see https://forge.typo3.org/issues/97937

EXT:brofix | excludeSoftrefsInFields

In which fields should excludeSoftrefs apply

Checking tab

default:

"tt_content.bodytext"

available values:

any softref parser keys, separated by comma

This is a workaround for a TYPO3 core bug, see see https://forge.typo3.org/issues/97937

Usually, you will want to apply this in any rich text fields where link tags are used.

EXT:brofix | tcaProcessing

Perform TCA processing

Checking tab

default:

"default"

available values:

"default" | "full"

Changes how the TCA processing is done. The default setting may not work for some configurations and especially for Flexforms. In that case, it should be set to "full". This setting is still experimental, so it is not on by default.

This setting results in 2 changes:

  1. Use of the FormDataGroup

  2. If the entire row is fetched for TCA processing. If "full" is on, the entire row is fetched. If the value is "default", only the fields defined in "searchFields" are fetched, in addition to some fields such as type, relevant fields for language evaluation and header.

By default, one of the following class names to use as FormDataGroup for TCA processing will be used based on the value of tcaProcessing:

  • "default": SypetsBrofixFormEngineFieldShouldBeChecked

  • "full": SypetsBrofixFormEngineFieldShouldBeCheckedWithFlexform

EXT:brofix | overrideFormDataGroup

Override FormDataGroup for processing TCA

Checking tab

default:

"" (empty, which means the default FormDataGroup based on tcaProcessing is used)

available values:

any valid class name which implements FormDataGroupInterface as fully qualified class name, for example MyvendorMyextensionFormEngineMyFormdatagroup

Changes how the TCA processing is done.

EXT:brofix | showEditButtons

(since TYPO3 v12)

Show button to edit entire record, only the field with a broken link or both.

Report tab

default:

"Both" (both buttons are displayed)

available values:

"Both", "Edit field", "Edit full"

EXT:brofix | traverseMaxNumberOfPagesInBackend

Maximum number of pages to traverse in Backend ...

Report tab

default:

1000

available values:

any number, 0 turns feature off

Set the maximum number of pages traversed in the backend module. This should be limited so that loading the broken link list in the backend does not feel sluggish and slow. A good rule of thumb is to always keep the time required to load a page in the Backend always under 1 second. Depending on the performance of your site, you should use a limit such as 1000 (thousand).

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['brofix']['traverseMaxNumberOfPagesInBackend'] = 1000;

Note

Remember that even though pagination is applied, Broken Link Fixer will always traverse through all subpages of the current page (unless the level is restricted in the form). The traversing of the pages is not cached and may cause considerable delays.