TYPO3 Camp Central Germany 2020

What do rubber ducks, water bottles, and cake have in common? You could find all of them—and much more—at the TYPO3 Camp Mitteldeutschland 2020.

all included

Alexander Böhm
Unser Spezialist für TYPO3 Backend-Berechtigungen, TypoScript und Integrations-Themen.

$x != $u;

Christiane Helmchen
ist stets darauf bedacht, dass unsere Software anständig getestet und stabil gestaltet wird.

while(problem){ this->makeSolution()}

Ursula Klinger
geht nicht, gibt´s nicht - und wenn ich das mit Stricknadeln fixen muss
Reading duration: approx. 4 Minutes

But we weren’t just at the first TYPO3 Camp of the year in Dresden for the giveaways—we were there to listen to interesting talks, exchange ideas, and meet nice people. Our positive experiences from previous years motivated us once again this year to make the somewhat longer trip to Saxony. So, on Thursday at noon, under sunny skies, three of us from Pünktchen hopped on the train headed for Dresden.

The camp took place once again at the German Hygiene Museum. After registration and breakfast, things got underway with an introduction to the camp, the sponsors, and the session schedule.
As with previous camps, the organization was flawless, and the session schedule quickly filled up with exciting topics.

Of course, refreshments were also provided—including breakfast, a hot lunch, and cake and rolls in the afternoon. On Friday evening, we headed to the Bärenzwinger student club for a social event. Over delicious soup and sausages, we spent a great evening with the other camp participants at this cool venue.

For those who couldn’t make it to Dresden, we’ve put together a small selection of the topics below, including links for further reading.

Rubber Duck

TYPO3 10 Themes

There were some very interesting talks on TYPO3 10. Here are a few highlights from the ones we attended:

Routing / Slugs / Notification API

In our opinion, one of the best new features in TYPO3 10 is the automatic regeneration of descriptive paths (slugs) when renaming a page. This applies not only to the page in question but also to all subpages. In addition, corresponding redirects are automatically created for the old paths.

The Notification API —which has also been enhanced in TYPO3 10—proves to be very helpful in this regard. A notification informs you of the changes that have been made and gives you the option to undo them. This kind of additional user interaction via the Notification API—using buttons or links—was not possible before TYPO3 10.

Event Handling (PSR-14)

The PSR-14 standard was designed and developed in collaboration with Symfony, Zend, and TYPO3. This makes it possible to use event handling instead of signal/slot starting with TYPO3 10. The use of Signal/Slot is still possible but is not recommended. The hooks currently available in TYPO3 10 cannot yet be replaced by events.

https://news.typo3.com/archive/typo3-version-102-treasure-hunting
https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Hooks/EventDispatcher/Index.html

An overview of important core events can be found in the TYPO3 documentation. All existing events are listed in the "Configuration" module at Backend.

Dependency Injection (PSR-11)

And yet another PSR! Since TYPO3 10, dependency injection is no longer possible via the @inject annotation, and @TYPO3\CMS\Extbase\Annotation\Inject is no longer recommended. Now you can either use the `Inject` method as before or use dependency injection according to PSR-11. The second option also works outside the Extbase context.

Frontend Login

The frontend login extension (felogin) has finally been migrated to Extbase and Fluid for TYPO3 10.

The email templates for the frontend login have also been migrated to Fluid and now allow for sending both HTML and plain-text emails. The password reset feature now validates the entered password. For anyone who does not yet want to or cannot use the new frontend login, there is a feature toggle in the Maintenance area to switch back to the old version of felogin. This ensures that existing customizations and templates can continue to be used after a TYPO3 update.

Miscellaneous

In addition to these topics, there are of course other cool improvements and features—such as those in the link validator, the Form Framework, and the middleware—that we can’t list here in their entirety.
Instead, we recommend checking out the recordings from the TYPO3 Camp livestream on Friday and Saturday, as well as the release notes for the various versions of TYPO3 10.

However, there’s bad news for Internet Explorer users: TYPO3 10 no longer offers support for Internet Explorer in the Backend. For you, this means that new developments for the Backend will no longer be tested with Internet Explorer and may not function properly.

Other Topics

In addition to TYPO3 10, there were other interesting topics that we’d also like to share with you.

Various TYPO3 Extensions

  • Benni Mack presented the “menus” extension, which uses Fluid instead of HMENU. This extension delivers many different menus on a single page more efficiently.
  • The long journey from `fl_staticfilecache` to `nl_staticfilecache` and finally to `staticfilecache`: Tim Lochmüller is the lead maintainer of this extension and gave a brief presentation on it. This extension makes it possible to generate static HTML pages directly from within TYPO3—another potential performance boost. The extension also supports HTTP/2 and push headers.
  • Anyone who needs more JSON-LD markup in their application to provide structured data should take a look at the schema extension by Chris Müller. It allows you to generate the required markup both via the API and using ViewHelpers.
  • The convenient configuration of Solr servers and cores within Site Handling is also worth mentioning here. This eliminates a large portion of the Typoscript, which—especially for sites with many languages and cores—consisted of various conditions and was therefore difficult to follow. Furthermore, this is a good example for anyone who wants to add their own fields to the Site Configuration.
Create a New Site Configuration
GrumPHP

Testing with GrumPHP

GrumPHP can be used for quality control in projects by running a wide variety of tests and linters via Git hooks. This can, for example, prevent a Git commit that violates best practices established by the team.

In his talk, Andreas Kießling not only confidently presented a wide variety of examples and configurations, but also kindly shared the link to his settings for TYPO3 extensions.

Our Contribution to the Camp

We, too, were able to share our knowledge with the camp participants through an interesting presentation on “Extending Frontend Permissions.” Ursula Klinger presented an implementation option for cases where using frontend groups becomes too complex or difficult to manage.

To this end, the individual permission attributes are essentially assigned to the user and the pages/content elements, and, among other things, a class that implements the QueryRestrictionInterface is added.

Conclusion

On Saturday afternoon, the camp was unfortunately already over; there was applause for the sponsors and organizers of the event, as well as an awards ceremony for the top three talks from the past two days. For us, it was another great camp, and we rounded out the afternoon with a visit to the German Hygiene Museum.

Of course, we didn’t just sit around on the drive back on Sunday—quite the opposite. We discussed, experimented, and took notes until our laptop batteries ran out, so we could quickly put what we’d heard and learned to use for ourselves and our client projects.

We’re already looking forward to the next TYPO3 Camp Mitteldeutschland in 2021—maybe in Leipzig this time.

Share:

More articles

Das sind keine Augenringe, das sind Schatten großer Taten.
Schorsch, Hosting-Experte at punkt.de
Working at punkt.de