Configuration 

Extension configuration 

Admin Tools > Settings > Extension Configuration > opinion

Name Type Default
string (empty)
string [Opinion]
int 5
int 10
int 180
boolean 1
string ADMCMD_*,logintype,user,pass,redirect_url,tx_felogin_login
recipients
Type
string
Default
(empty)

Comma-separated email addresses that receive the feedback. Invalid addresses are ignored. Without a valid recipient the feedback is still stored, its delivery status is "failed".

subjectPrefix
Type
string
Default
[Opinion]

Prefix of the email subject. The subject continues with category, severity and the beginning of the message, for example [Opinion] [bug/high] The teaser image is cropped.

redeliverMaxAttempts
Type
int
Default
5

Delivery attempts, counting the first one, after which opinion:redeliver gives up on a feedback. 0 retries without limit. Deliver again in the admin module is always possible.

rateLimit
Type
int
Default
10

Feedback a backend user may send per hour, administrators included. Only valid submissions count. Above the limit the dialog shows a notice and the endpoint answers 429 with a Retry-After header. 0 switches the limit off.

retentionDays
Type
int
Default
180

Age in days after which opinion:cleanup deletes feedback records and their screenshots.

enabled
Type
boolean
Default
1

0 hides the feedback triggers for everybody and rejects submissions.

Email sender 

The email is sent from $GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromAddress']. The backend user who sent the feedback becomes reply-to, so the team can answer directly.

Collected details 

The tab Collected details of the extension configuration has a switch for every detail that is attached to the feedback. All are on by default. A switched-off detail is not collected by the browser and is removed on the server, even if a request sends it.

The sender (name, username, email address) is always kept, the team needs it to answer.

Browser 

Collected by the browser. Cookies, localStorage and sessionStorage are never read.

Setting Detail
collect_client_url Page URL
collect_client_title Page title
collect_client_userAgent User agent
collect_client_userAgentData Browser brands, platform, mobile (User-Agent Client Hints)
collect_client_language Browser language
collect_client_languages Preferred languages
collect_client_timezone Time zone
collect_client_screen Screen size and color depth
collect_client_viewport Viewport size
collect_client_devicePixelRatio Device pixel ratio
collect_client_colorScheme Color scheme (light/dark)
collect_client_reducedMotion Reduced motion preference
collect_client_online Online state
collect_client_timestamp Time in the browser

Server 

Determined on the server, never taken from the request body.

Setting Detail
collect_system_typo3Version TYPO3 version
collect_system_applicationContext Application context
collect_system_phpVersion PHP version
collect_system_ipAddress IP address (anonymised)
collect_system_requestUserAgent User agent sent to the server

Page and module 

Sent by the entry point and validated on the server. Entries marked "admin panel" come from the admin panel tab Info > General; images and document size are only known when the page was rendered without cache, like in the admin panel itself.

Setting Detail
collect_context_page Page uid and title
collect_context_site Site (frontend)
collect_context_language Language (frontend)
collect_context_workspace Workspace (frontend)
collect_context_module Module (backend)
collect_context_url Module URL (backend)
collect_context_pageType Page type (admin panel)
collect_context_cacheState Cache state and reasons (admin panel)
collect_context_uncachedElements Number of uncached elements (admin panel)
collect_context_parseTime Parse time (admin panel)
collect_context_documentSize Document size (admin panel)
collect_context_frontendUser Simulated frontend user and groups (admin panel)
collect_context_imagesOnPage Images on the page (admin panel)

URLs 

deniedUrlParameters
Type
string
Default
ADMCMD_*,logintype,user,pass,redirect_url,tx_felogin_login

Query parameters that are removed from the page URL (browser) and the module URL (backend) before the feedback is stored and sent, so preview, login or session parameters do not end up in the email. Comma-separated and case-insensitive; a trailing * matches a prefix, ADMCMD_* covers all preview parameters. For an array parameter like tx_felogin_login[hash] the base name tx_felogin_login is matched. All other parameters and the fragment are kept as sent.

The request token of backend URLs (token) is always removed. An empty value removes nothing else.

Who may send feedback 

Administrators always may. Other backend users need the option options.opinion.enable in their user or group TSconfig. It shows the feedback triggers to the user and accepts their submissions:

User or group TSconfig
options.opinion.enable = 1
Copied!

Sending feedback also needs a valid email address in the user account, so the team can answer. Users without one still see the trigger, but get a note with a link to their user settings instead of the form; the endpoint rejects their submissions as well.