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.
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…
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…
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…
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…
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…
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…
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…
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…
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…
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…
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…
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…