Seit 2012 blogge ich auf über Themen aus meinem Arbeitsalltag, welche ich mit der Allgemeinheit teilen möchte, um anderen evtl. dadurch zu helfen. Zuerst habe ich in deutscher Sprache meine Artikel geschrieben, bin dann aber dazu übergegangen, meine Artikel in englischer Sprache zu verfassen, um eine größere Zielgruppe anzusprechen. 

Sunday, June 16, 2024 – email, double opt-in, double opt-out, tripple opt-in, tripple opt-out, email security

From double to tripple: Preventing unintended opt-in / opt-out confirmations

Today, double opt-in is the de facto standard for web services that require user subscriptions. This process is commonly used for newsletter sign-ups, user account creation or event registration/cancellation.A typical double opt-in process works as following: Users sign up for a service (e.g. newsletter) by entering their email address The…

Read more

Tuesday, December 12, 2023 – sentry, typo3, debugging

TYPO3 Sentry Integration: Testing and Debugging with cURL

Configuring the TYPO3 extension sentry_client is a straightforward process that ensures seamless integration with Sentry, the robust error tracking and monitoring platform. Once the sentry_client extension is configured, it becomes crucial to verify whether Sentry is successfully receiving events from your TYPO3 instance. The documentation…

Read more

Tuesday, October 03, 2023 – typo3, querybuilder, slow, xdebug, profiling

The pitfalls of reusing TYPO3 QueryBuilder: Analyzing a performance bottleneck

TL;DR: Do never reuse an instance of the TYPO3 QueryBuilder for queries, even if the query is the same but with different parameters, since this causes a significant performance decreasement when processing larger amount of records.I was recently involved in refactoring an older codebase in a TYPO3 project. One part of that codebase was a data…

Read more

Thursday, September 14, 2023 – typo3, image processing, distorted image, exif

The significance of the PHP exif module in TYPO3 and why it should always be enabled

TL;DR: If using original portrait images created with modern camera systems, you should ensure that the PHP exif module is active, so that portrait images do not get distorted.People who know me most likely also know, that I like to work on challenging and complex TYPO3 tasks. Yesterday, I faced an unusual situation in TYPO3, which took me some…

Read more

Thursday, July 13, 2023 – typo3, backend module, ckeditor

How to use CKEditor in a TYPO3 backend module

In TYPO3 backend modules, it can be useful to provide a CKEditor instance, for example when creating content like dynamic HTML emails. The user then has the possibility to enrich the email content with basic formatting like making text appear in bold, italic or underline or even add links.I sometimes use this possibility on websites, where my…

Read more

Saturday, June 03, 2023 – typo3, formengine, custom element

Invalid custom formengine element causing persistence issue in TYPO3 backend

TL;DR: Always make sure, that a custom TYPO3 formengine element returns valid HTML in $resultArray['html']Some days ago I stumbled across this issue on TYPO3 forge with the title “TCA IRRE does not save, maybe if there are to many objects”. Since I also use inline elements in my extensions and I never experienced the reported problem, I was in…

Read more

Sunday, May 21, 2023 – t3version, crawler, optimization

Optimizing t3versions for improved TYPO3 version analysis

My t3versions TYPO3 version analysis and statistics service is running for over five years now. During the years, I had to learn, that crawling and analyzing most likely the whole WWW for TYPO3 websites is sometimes challenging.In order to find new websites using TYPO3, I regulary perform a crawling process, which checks over 260 million…

Read more

Friday, May 05, 2023 – TYPO3 12.4, CKEditor 5, plugin

How to create a custom CKEditor 5 plugin for TYPO3 12.4

CKEditor is a popular WYSIWYG (What You See Is What You Get) editor used for creating rich-text content on the web. For many years, CKEditor 4 has been the go-to solution for content editors and developers alike. However, with the ever-evolving web technologies, CKEditor 4 has now been deprecated and replaced with the newer version, CKEditor…

Read more

Monday, May 01, 2023 – TYPO3 12.4, password, validation, security

How to extend Password Policy validation in TYPO3 12.4

With TYPO3 version 12, the new global password policies feature has been introduced (see forge issue 97387. It allows to define one or multiple password validators tobe used in different scopes. The TYPO3 core includes 2 password validators, which are configured in the passwordpolicy named default. This password policy is used in frontend and…

Read more

Sunday, March 26, 2023 – TYPO3, table wizard, performance

TYPO3 table wizard limitations in TYPO3 11.5+

I recently updated a TYPO3 website for one of my clients from TYPO3 10.4 to 11.5. The whole update went prettysmooth and the client was happy with the new version except one thing. The table wizard in TYPO3 11.5 (TCA renderType='textTable') was causing some problems, as it now was always rendered.The table wizard is really helpful if you want…

Read more

Saturday, December 31, 2022 – TYPO3, extension

TYPO3 12 not working after extension install

While making some of my extensions compatible to TYPO3 v12, I stumbled across the problem, that the wholeTYPO3 website did not work anymore (frontend/backend) after the extension has been installed. Obviously therewas no error message in the logs available, and it took me some time to figure out, why the website was not working.With TYPO3 11.5,…

Read more

Sunday, October 09, 2022 – TYPO3, plugin, extbase, configurePlugin

Problem with all extbase plugins during TYPO3 11.5 update

In a TYPO3 project, where I was updating the website from TYPO3 10.4 to version 11.5, I suddenly faced the situation,that all extbase plugins did not work anymore. The following error message was displayed (example for TYPO3 ext:news):The default controller for extension "News" and plugin "Pi1" can not be determined.Please check for…

Read more