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. 

Friday, June 26, 2020 – Acceptance Testing, GitHub Actions, MailHog, TYPO3 CMS

Testing email delivery of a TYPO3 extension with Codeception, MailHog and GitHub Actions

Some weeks ago I published my blogpost about how to create a GitHub Actions build pipeline for a TYPO3 Extension that executes Unit-, Functional- and Acceptance tests. The extension tested in that blogpost was only a simple demo extension and for me this was a preparation to finally migrate the CI pipeline for my TYPO3 extension…

Read more

Tuesday, May 05, 2020 – codeception, Composer, GitHub Actions, PHP, tests, TYPO3

Unit-, Functional- and Acceptance-Tests for a TYPO3 Extension with GitHub Actions

Back in 2017 at TYPO3 Camp Munich I held a talk about Unit-, Functional- and Acceptance-Tests for a TYPO3 Extension with GitLab CI. I never really used that setup for my Open Source Extensions, since they all are hosted on GitHub. But since november 2019 GitHub Actions are available, so I finally took some time to migrate my GitLab CI…

Read more

Wednesday, April 29, 2020 – setToDefaultOnCopy, TCA, TYPO3

How to add a replacement for the removed TCA Option "setToDefaultOnCopy" in TYPO3 10.4

The TYPO3 TCA Option "setToDefaultOnCopy" has been removed in TYPO3 10 in order to reduce the amount of checks in DataHandler and the amount of available options in TCA. The documentation says, that "This option was only there for resetting some `sys_action` values to default, which can easily be achieved by a hook if needed. If an…

Read more

Thursday, April 02, 2020 – limit, subset, system categories, TYPO3

How to limit the TYPO3 category tree to a subset of categories for extension records

In many TYPO3 projects I've been working in, the TYPO3 category system is used to structure content by one or multiple categories. A typical category tree I often see is build up as shown in the example below: Full TYPO3 category tree This is a very plain way to create a category tree and the structure in the example is limited…

Read more

Wednesday, February 19, 2020 – %20-%20, apache, dash, Excel, rewrite

Apache rewrite rule to replace %20-%20 with a dash (#) in URLs

Some old(?) versions of Microsoft Excel replace a dash (#) in an URL with "%20-%20". The following example shows, how Excel transforms URLs: Original URL: https://www.domain.tld/some/path/#my-anchor URL when clicked in Excel: https://www.domain.tld/some/path/%20-%20my-anchor This may lead to unexpected behavior on webserver…

Read more

Friday, November 22, 2019 – FAQ, irfaq, Symfony Console, TYPO3

TYPO3 Extension "Plain FAQ" released

Today I released the first public version of my latest TYPO3 Extension called "Plain FAQ". The name already says it - the extension is a very simple solution to manage Frequently Asked Questions in TYPO3. Below follow some of the facts about the Extension: Compatible with TYPO3 8.7 and 9.5 Based on Extbase and Fluid Covered with unit…

Read more

Monday, September 02, 2019 – dependency, Extbase, There is no column with name

How to fix TYPO3 error "There is no column with name 't3ver_oid' on table"

Recently the following error message showed up in a project I was updating to TYPO3 9.5: There is no column with name 't3ver_oid' on table 'tx_news_domain_model_news'. When you see this message in a TYPO3 project, you should of course first check, if the field is really available in the mentioned table and second, you should check,…

Read more

Sunday, August 25, 2019 – cache, development, disable, nginx

How to disable the nginx TYPO3 cache set by ext:nginx_cache in development context

When you run TYPO3 on nginx webservers, you can use the nginx FastCGI cache to really increase the performance of your website. Basically, the nginx FastCGI cache stores pages rendered by TYPO3 in the webservers memory. So once a page is cached in the nginx FastCGI cache, it will be delivered directly from the webservers memory which is…

Read more

Monday, April 01, 2019 – datamapper, Extbase, repository, wrong results

Extbase $query->statement() - What can possibly go wrong?

Last week I had to resolve a problem in a 3rd party Extension, where an Extbase Plugin returned unexpected results when used multiple times on the same page. The problem showed up in the frontend, where the plugin listed some products by a given category. When the plugin was present one time on a page, the output was as following…

Read more

Monday, March 18, 2019 – #86270, config.tx_extbase.objects, controller, Extbase, extend, model

Extending Extbase domain models and controllers using XCLASS

In TYPO3 9.5 LTS it has been deprecated (see notice) to extend Extbase classes using TypoScript config.tx_extbase.objects and plugin.tx_%plugin%.objects. In order to migrate existing extensions, which extends another TYPO3 extension, you should now use XLASSes. For my TYPO3 Extension sf_event_mgt I also provide a small demo extension,…

Read more

Tuesday, July 10, 2018 – census, statistics, TYPO3, typo3 version analyzer

TYPO3 usage statistics for july 2018

TR;DR - I analyzed 48.146.633 websites for TYPO3 usage - the results with aggregated charts can be found here. I'm proud to introduce my latest side project called t3versions. It is a Python (Django) web application to identify, if a website is running TYPO3 and if so, which major version is being used. As a result, TYPO3 websites are…

Read more

Sunday, April 15, 2018 – Index column size too large, mysql 5.6, mysql 5.7, TYPO3

TYPO3 MySQL database import fails with "Index column size too large. The maximum column size is 767 bytes"

I recently migrated a TYPO3 7.6 Website to TYPO3 8.7 and while importing the migrated TYPO3 database on the production server, the import failed with the following MySQL error: ERROR 1709 (HY000) at line 2060: Index column size too large. The maximum column size is 767 bytes. The error occurred for the import of the TYPO3 table…

Read more