Configuration
Administrators configure Context Reporter in System > Context Reports: the Settings button is at the top right of the report list. The settings have the sections General, Privacy, Reports & storage, Email and Webhook. Only administrators can open them.
Where settings are stored
The settings of the module are stored in the TYPO3 registry (table
sys_, namespace tx_contextreporter), not in
config/. Each section is saved on its own; the page
shows when and by whom the settings were last saved.
Values in $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['context_reporter']
take precedence over the module. They are shown read-only on the settings
page. Use this to pin values per environment, for example to switch off
deliveries on a staging system that runs on a copy of the production
database:
if (!\TYPO3\CMS\Core\Core\Environment::getContext()->isProduction()) {
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['context_reporter']['email']['enabled'] = false;
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['context_reporter']['webhook']['enabled'] = false;
}
The keys are the setting names below, grouped by section, for example
['reporting']['retentionDays']. Each key is pinned on its own; keys that
are not set in the system configuration stay editable. The extension has no
Extension Configuration form.
General
-
- Type
- boolean
- Default
- true
Enables reporting for backend users. It can be disabled for individual users or groups with user TSconfig. Stored reports remain available when reporting is disabled.
-
- Type
- string
- Default
- site name
Shown in reports, email subjects and webhook payloads. When empty, the TYPO3 site name (
$GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename']) is used.
-
- Type
- string
- Default
- (empty)
Optional stable key, for example
customer-portal, that helps receiving systems to route reports. Up to 64 letters, digits, dots, hyphens and underscores.
-
- Type
- string
- Default
- application context
Production,Staging,Development,Testingor a custom name of up to 50 characters. When empty, the TYPO3 application context is used.
Privacy
The Privacy section also lists what every report contains and what it never contains, see Allowlist first.
-
- Type
- boolean
- Default
- true
Share the backend user UID of the reporter. The report history uses it to show who reported a problem.
-
- Type
- boolean
- Default
- true
Share the username of the reporter.
-
- Type
- boolean
- Default
- false
Share the real name of the reporter.
-
- Type
- boolean
- Default
- false
Share the email address of the reporter. Required for email.replyToReporter.
-
- Type
- boolean
- Default
- false
Share the backend user groups (UID and title) and the administrator flag.
-
- Type
- boolean
- Default
- true
Share browser and operating system, user agent, language, time zone, window and screen size, pixel ratio, color scheme and the reduced motion preference.
-
- Type
- boolean
- Default
- false
Adds up to ten error and warning entries of the reporter from the backend log (
sys_) of the last 30 minutes, shortened. Log messages can contain record titles, file names or other sensitive diagnostic text, see Recent backend errors. Enable this only if everyone who receives reports may see such text.log
Reports and storage
-
- Type
- integer
- Default
- 5120
Maximum size of a screenshot in KB (100 to 15360). Larger screenshots are compressed in the browser, first as PNG, then as JPEG with a lower resolution. Screenshots are stored in the database; the limit must stay below the
max_allowed_packetof MariaDB or MySQL, see Storage.
-
- Type
- integer
- Default
- 20
Protects the destinations against floods (0 to 1000).
0disables the limit.
-
- Type
- integer
- Default
- 0 (keep forever)
How long reports, their screenshots and delivery history are kept: forever (
0), 30, 90, 180 or 365 days, or a custom number of days (1 to 3650). Reports are only removed when an administrator runs the cleanup; changing the setting removes nothing.
The section also shows how many reports, screenshots (with their size) and delivery attempts are stored, and a preview of the cleanup. With the default retention, the history grows with every report.
Emails are sent with the mail transport of TYPO3
($GLOBALS['TYPO3_CONF_VARS']['MAIL'], Admin Tools > Settings >
Configure Installation-Wide Options). Context Reporter has no SMTP settings
of its own.
-
- Type
- boolean
- Default
- false
Sends every report by email. Requires at least one recipient.
-
- Type
- string
- Default
- (empty)
Up to 20 email addresses, separated by commas, semicolons or line breaks.
-
- Type
- string
- Default
- (empty)
Sender address of the email. When empty, the TYPO3 default mail sender (
$GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromAddress']) is used.
-
- Type
- string
- Default
- (empty)
Sender name, used together with email.senderAddress.
-
- Type
- string
- Default
- [{project.name}] {report.title} ({report.id})
Subject with markers.
-
- Type
- string
- Default
- EXT:context_reporter/Resources/Private/Templates/Email/Report.txt
Plain text template with markers. It must be a
.txtfile belowResources/of an extension, for examplePrivate/ EXT:my_sitepackage/Resources/Private/Templates/Email/ContextReport.txt. Other paths are rejected, so no other file of the installation can end up in an email.
-
- Type
- boolean
- Default
- true
Attaches the screenshot.
-
- Type
- boolean
- Default
- true
Attaches the report as JSON file, without the screenshot.
-
- Type
- boolean
- Default
- false
Uses the reporter as Reply-To address. Only works when privacy.reporterEmail is enabled.
Email status and test email
Next to the form, the Status panel explains whether reports can be sent by email with the saved settings: whether delivery is switched on, the recipients, the sender that is used, the TYPO3 mail transport (host and port, sendmail binary or DSN scheme and host; credentials are never shown) and the attachments. It warns when
- email delivery is switched off or no recipient is configured,
- the TYPO3 transport is
null(emails are discarded) ormbox(emails are written to a file), - emails are spooled and only sent by
vendor/bin/typo3 mailer:spool:send, - the transport points to a local mail catcher such as Mailpit, for example in DDEV projects, so emails do not reach real mailboxes,
- no valid sender address is configured.
Send test email sends a short message without report data to the saved recipients, also while email delivery is switched off. Transport errors are shown without credentials.
Tip
If reports do not arrive by email, check the status panel first: in most cases email delivery is switched off, no recipient is saved, or the TYPO3 mail transport is a local mail catcher or a spool.
Webhook
-
- Type
- boolean
- Default
- false
Sends every report to the webhook endpoint.
-
- Type
- string
- Default
- (empty)
HTTPS endpoint that receives a JSON
POSTrequest. Accepts an environment variable reference. Webhook URLs often contain access tokens, so a stored URL is never shown again: the settings page only shows scheme and host. Leave the field empty to keep the stored URL.
-
- Type
- string
- Default
- (empty)
Signs each request with HMAC-SHA256, see Verifying the signature. Accepts an environment variable reference.
-
- Type
- string
- Default
- Authorization
Name of an additional authentication header, for example
X-Api-Key.
-
- Type
- string
- Default
- (empty)
Value of the authentication header, for example
Bearer <token>. The header is only sent when a value is set. Accepts an environment variable reference.
-
- Type
- boolean
- Default
- true
Embeds the screenshot as base64 in the request.
-
- Type
- integer
- Default
- 10
Timeout in seconds (1 to 30). The reporter waits for the delivery.
-
- Type
- boolean
- Default
- false
Allows plain
http://URLs. Only for local development.
The webhook is configured by trusted administrators: the endpoint can be any host the TYPO3 server can reach. See Webhook: trusted administrators for the consequences and how to pin the webhook settings.
The secret fields are write-only: the settings page shows whether a value is configured, configured via an environment variable, or whether the environment variable is missing, but never the value. Leave a field empty to keep the stored value, or tick Remove the stored value.
Send test webhook posts the event test with the saved
settings, also while webhook delivery is switched off, see
Test deliveries. Test deliveries are not added to the
delivery history.
Secrets from environment variables
webhook.url, webhook.secret and
webhook.authHeaderValue accept a value of the form
%env(NAME)%, both in the settings page and in the system configuration.
The value is read from the environment variable NAME when a report is
delivered, so the secret itself is not stored in the database or in a
configuration file. Settings that are entered directly are stored in
sys_; prefer environment variables for production secrets.
The resolved value is sent to the webhook endpoint, as signing key or header value. Any environment variable of the web server process can be referenced, so only reference variables that are meant for the webhook, and see Webhook: trusted administrators.
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['context_reporter']['webhook']['secret']
= '%env(CONTEXT_REPORTER_WEBHOOK_SECRET)%';
Secrets are never shown in the backend, and they are removed from stored error messages.
User TSconfig
Disable reporting for a user or group:
options.contextReporter.enable = 0
The toolbar button, the context menu item and the editing form button are removed, and the server rejects reports from this user.
Hide the context menu item for a table (standard TYPO3 option). Files and
folders use the tables sys_file and sys_file_storage:
options.contextMenu.table.tt_content.disableItems = contextReporterReport
options.contextMenu.table.sys_file.disableItems = contextReporterReport
The list view of the file list shows the actions of
options.file_list.primaryActions as buttons and all other actions in the
More options menu. The extension ships this user TSconfig, which is
the TYPO3 default plus the report action:
options.file_list.primaryActions = view, metadata, translations, delete, contextReporterReport
If your project defines its own list, add contextReporterReport to it to
keep the action visible.
Access
- Every backend user can create reports, unless disabled with TSconfig.
- A report can only reference pages and records that the reporter can access (web mounts, page permissions and table permissions), and files and folders in the reporter's file storages and file mounts, with read permission. File metadata can only be reported for accessible files. In a workspace, only live records and versions of the current workspace can be reported. See Protection of reports.
- The System > Context Reports module, including the settings, test deliveries, the cleanup and the review state, is available to administrators only.
- Reporters can download their own reports.