move-elevator/typo3-toolbox

A TYPO3 toolbox so handy, it makes even missing plugins feel insecure.

Maintainers

Package info

github.com/move-elevator/typo3-toolbox

Type:typo3-cms-extension

pkg:composer/move-elevator/typo3-toolbox

Statistics

Installs: 2 190

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0


README

Extension icon

TYPO3 extension typo3_toolbox

Supported TYPO3 versions License last commit

This extension provides several tools for TYPO3 integrators and developers.

Features:

  • Adds an event listener to minify HTML output
  • Adds an event listener to add save and close button
  • Adds a xClass for TYPO3 asset collector which will automatically render noscript tags beside CSS link tags, which can be adopted to optimize CSS preloading (see: https://web.dev/articles/defer-non-critical-css)
  • Adds a view helper which can return the uid of the first content element on a page X
  • Adds a CSS view helper that enables the rendering of a noscript variant and allows inline styles to be replaced by a key-value-based inlineReplacements option flag
  • Adds a sentry middleware and frontend module ...
  • Adds a custom TYPO3 page renderer template which removes some unnecessary spaces and changes the order of inline CSS injection

Requirements

  • PHP 8.4
  • TYPO3 13.4

Installation

Composer

composer require move-elevator/typo3-toolbox

Configuration

Sentry

Add the following environment variables to your .env file to configure Sentry:

SENTRY_DSN=''
SENTRY_ENVIRONMENT=''
SENTRY_RELEASE=''

If you want to use the Sentry frontend monitoring as well, you can use the shipped Sentry Monitoring Service JavaScript or just adopt this.

For example:

<f:asset.script
    defer="1"
    identifier="sentryMonitoringService"
    nonce="{f:security.nonce()}"
    priority="1"
    src="EXT:typo3_toolbox/Resources/Public/JavaScript/Service/SentryMonitoringService.min.js"
/>

Sentry monitoring is enabled by default for frontend and backend issue/ performance tracking, but can be disabled via the extension configuration if required.

Disable backend issue tracking:

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['typo3_toolbox']['sentryBackendEnabled'] = 0;

Disable frontend issue/ performance tracking:

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['typo3_toolbox']['sentryFrontendEnabled'] = 0;

Documentation

Middlewares

Middleware Path/ Parameter Description
SentryMiddleware /api/sentry Returns sentry environment data as json which is consumed in the frontend.

TypoScript

The extension ships a site set (Toolbox) that includes the following TypoScript configuration:

  • Admin Panel (Config.typoscript): Enables the TYPO3 admin panel and sets the custom page renderer template.

Page TSconfig

The site set also provides default Page TSconfig via page.tsconfig:

  • TCEMAIN (TCEMAIN.tsconfig): Configures default user/group permissions and table-specific copy behavior for pages and tt_content (disables prepending "[Translate to...]" on copy, keeps copied elements visible).
  • Clipboard (Mod.tsconfig): Enables the clipboard in the web list module.
  • Link Validator (Extensions/LinkValidator.tsconfig): Enables validation for db, file and external link types and sets a 10-second timeout for external link validation.

User TSconfig

The extension provides a default user.tsconfig that configures the admin panel modules:

  • Enabled: cache, edit, preview
  • Disabled: debug, info, publish, tsdebug

License

This project is licensed under GNU General Public License 2.0 (or later).