Seit 2012 blogge ich auf www.derhansen.de ü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, January 12, 2025 – macbook, copy, files

How to efficiently transfer a huge amount of files from one MacBook to another

As a web developer working on various projects, I often deal with project sources that include tens or even hundreds of thousands of files. This happens because modern development environments, especially those using Node.js or PHP, rely on extensive package ecosystems. These packages, installed from source, often contain a massive number of…

Read more

Tuesday, December 31, 2024 – TYPO3, doctrine, ordering, querybuilder, extbase, repository

Sorting by UIDs with MySQL FIELD function in TYPO3 13.4+ using Doctrine DBAL 4

Back in 2017, I wrote this blogpost about how to use the MySQL FIELD function in TYPO3 with Doctrine DBAL. The function is used to applya special ordering of records by a given list of uids (e.g. from FlexForm) to a query using QueryBuilder and then uses the extbase datamapper to transform the raw Doctrine query result to an array of domain…

Read more

Monday, September 23, 2024 – TYPO3, extend backend module, extbase, action

Extending an existing extbase backend module with a custom action in TYPO3 v12+

One part I really like about TYPO3 is its extendability. The TYPO3 core and its APIs contain many PSR-14 events and hooks, which developers can use to customize or extend the functionality of the system. My TYPO3 extension sf_event_mgt has an extbase based backend module, which allows editors to manage events and event registrations. It is for…

Read more

Friday, July 26, 2024 – tObserver, TYPO3 Monitoring

tObserver TYPO3 monitoring service shutdown

TL;DR: My free TYPO3 monitoring service tObserver will shut down on 1st of August 2024The evolution of tObserverBack in 2015 I was working for a company which provided TYPO3 website development and hosting. We had to manage hundreds of TYPO3 websites and with each TYPO3 core or extension security update, we had to identify, which of our managed…

Read more

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