Zum Inhalt springen

Since most of the jweiland.net project team had already arrived the day before, we first met for a cozy dinner together, where we met some familiar faces from the TYPO3 community.

The next morning, the event started at the Geno Hotel, which this time was decorated under the motto "South Seas - Surfing - Aloha". We were greeted at the entrance with fans, sunscreen and Hawaiian flower necklaces, the "leis".

Most of the camp was a very rainy affair this year. So the next morning, more or less soaked through, we met at the FAT CAT, where breakfast awaited us in the form of very appealing sandwiches and lovingly prepared coffee. We then got straight down to session planning.

This year, the organizing team was pleased to receive a large number of session and talk proposals. It didn't take long for the schedule for Saturday and Sunday to be almost completely filled on the first day of the event.

As in the previous year, the social event took place in the Paulaner Brauhaus with the usual hearty food.

Here is an excerpt from the sessions and talks:

Special highlights this year were Stefan Völker's breathing training, which provided us with maximum relaxation, and the unique opportunity to have the TYPO3 logo engraved on site by the tattoo heroes from Karlsruhe. A few brave souls seized this opportunity straight away. Meanwhile, the less adventurous among us made do with non-permanent stick-on tattoos, which were also handed out.

For us personally, there was a third highlight, as this year three colleagues and the boss took part in the certification process to prove their expertise once again. We can proudly announce that we are now three certified integrators and one certified editor richer.

Traditionally, the Coding Night took place again this year on Thursday evening, where we worked together on the further development of TYPO3, but also on improving the documentation.

End-to-end tests with Playwright

Testing websites in the frontend, for example after an upgrade has been carried out or a new feature has been added, can be time-consuming, especially for large websites, and there is a risk of overlooking something.

Volker Kemeter showed us how the open source software Playwright can be used to automatically run predefined tests to check the site in the frontend. Playwright also has a code generator with which you can very easily define your own tests, for example to call up key pages, check cookie banners, send test emails or forms, run through the navigation, but also to check the website for W3C conformity or accessibility and many other aspects.

Keynote

In his opening keynote, Benni Mack posed the question of whether a content management system is still needed at all in the age of artificial intelligence. However, it quickly became clear that GenAI can currently be used to support the creation, translation and personalization of content, but cannot replace a CMS.

This was followed by 3 days of exciting sessions on a wide range of topics related to TYPO3 development. Here is an excerpt:

TYPO3 v13 for integrators

Wolfgang Wagner once again gave us a good introduction to three of the most important new features of TYPO3 v13: Site Sets, the new content object PAGEVIEW and Content Blocks (even if the latter have not yet made it into the core).

With Site Sets it is possible to provide a preconfigured site set definition from Site Settings, TypoScript but also PageTSConfig in a site package or an extension, which can be applied per site configuration (per root page) via the backend module "Site Management">"Sites". As before, constants can also be defined or overwritten here via the constants editor. However, these no longer end up in the sys_template table, but in a YAML file directly in the extension or site package. This means that the TypoScript can disappear completely from the database.

The new PAGEVIEW content object makes it even easier to output Fluid templates and integrate backend layouts, as it requires less configuration. In addition, more standard variables can be accessed in the Fluid template. To take advantage of the object, however, some conventions must be observed, such as a slightly different directory structure.

The content blocks facilitate and accelerate the creation of individual content elements, page or data record types. This is particularly interesting for those who are just getting to grips with TYPO3. Here, too, the creation works with YAML files. A TCA configuration is then automatically generated from these.

Web Design for Everyone

All of us can be affected by barriers, whether they are physical or mental limitations or language barriers in foreign countries. Around 15% of the world's population is affected.

The presentation demonstrated that accessible websites can also be visually attractive. Various concepts were shown using the example of the Berufswahlapp (https://berufswahlapp.de/). For people with color blindness, for example, a black and yellow presentation is more suitable than black and white.
Key message: Don't see accessibility as an obstacle, but as a key issue for the future.

Upgrade TYPO3 v4 to v12

Patricia Ottmar proved to us that the foolhardy attempt to upgrade a TYPO3 v4 installation to v12 can succeed. Using a case study, she showed us the steps she took (or simply skipped) "because we can" ;-). It is important to memorize the necessary upgrade wizards and execute them in sequence, but self-written wizards can also be very helpful. The upgrade wizard for the step from v4 to v6 is particularly important, as it adapts the file references for the file abstraction layer introduced in v6.2, creates the required data records and moves files to the fileadmin directory.

To make upgrading as easy as possible, she recommended using only as many third-party extensions as absolutely necessary from the outset and not forgetting the upgrade wizards for these extensions. She also gave us alternatives and migration tools for frequently used extensions that are not available for current versions of TYPO3, such as tt_news and gridelements. Last but not least, she gave us tips for upgrading our own site packages or extensions and mentioned helpful tools such as rector or fractor.

TYPO3 Agencies and AI: An Experience Report

Fabian Stein's session looked at the role and impact of Artificial Intelligence on TYPO3 agencies. Fabian predicted that AI could replace small businesses in about five years and emphasized the need for a European solution to minimize risks and privacy issues.

Managers are more enthusiastic about AI than developers, and customers are also very interested. Fabian therefore recommends creating internal guidelines for dealing with AI and encouraging the community to work together. The balance between performance and quality of AI is also a key issue.

He mentioned technical approaches such as the RAG workflow and pre-prompting, which can help to generate specific information. Open source LLM such as LAMA 3.1 and European initiatives such as Gaia-X and OpenGPT-x were also mentioned.

Fabian concluded by emphasizing that specialist knowledge is the best protection against being replaced by AI.

A major challenge was the installation of the Carrera racetrack, which finally succeeded on Sunday - albeit in a slimmed-down form - and could finally be played on.

Embeddings - the lesser known Hero of AI

Embeddings are areas in a multidimensional space. These areas are described by vectors. You can imagine them (very simplified) like a three-dimensional axis cross, but with thousands of dimensions containing many data points spread across the entire space, representing all kinds of words or phrases such as "apple", "fruit", "pear", "banana" and so on. The more similar they are, the closer they are to each other.

These relationships (distance, angle, correlation...) can be expressed by mathematical formulas, and these formulas can in turn be described using PHP. By using the OpenAI API (or an alternative) to retrieve the information of the data point and a calculation in the PHP class, the distance between two words or two phrases can be calculated.

The model gives feedback on inputs based on the calculated distance between the described objects, which is like a probability.

Of course, such models generally tend to bring out certain biases, which just goes to show that the result always depends on the data the model finds on the web or has been trained with.

Many applications already use embeddings, for example:

  • Video conferencing applications that are able to check the mood of participants
  • Online stores that display similar products or recommendations based on an order
  • Search engines that allow the user to perform a targeted search

Embeddings can be stored in vector databases or file system caches.

Settings and Configuration Management

In his session, Benjamin Franzkes focused on the new site sets introduced in TYPO3 13 and their advantages compared to previous configuration methods.

An important aspect is the composition capability, whereby sets can be defined as dependencies, e.g. a set can depend on several subsets. One or more site sets can be selected for each page in the site configuration. The settings are made available as TS constants and in the new PAGEVIEW content object via the settings.* property.

Benjamin emphasized that imports should be avoided in the future and dependencies in site sets should be used instead. Site sets prevent duplicate embeddings and are inherited by all pages of a website, but cannot be used for individual pages. Nested pages with their own configuration do not inherit the settings of the parent page. The sys_template table is no longer required thanks to site sets. Settings from extensions are loaded first, followed by sys_template (if available) and other configurations. Changes to the settings via event or hook are not possible.

Ask the Doctors

Once again this year, the popular doctors were "in the house" to relieve us of our web development woes. The specialists Benni Mack, Susanne Moog and Oliver Hader as well as the charming receptionist Benjamin Kott eagerly administered infusions, stuck plasters and handed out face masks to paying patients (for a good cause).

In many cases, a doctor's order or even a referral to an expert provided the solution, but for a few long-suffering patients, a few warm, compassionate words had to suffice.

In this session in particular, laughter was probably the best medicine.

The Secret Way to Success as a TYPO3 Developer

Finally, the fabulous Mathias Bolt Lesniak revealed the secret of how to be successful as a developer. Which isn't really a secret at all, but it's like so many things: you only know the stumbling blocks after you've fallen over them, or as Donald Rumsfeld put it: "you cannot know what you don't know".

With this in mind, he not only gave us important topic-related aspects that are worth focusing on and personal insights that he has had on his path as a developer, but also what a good mindset is and which attitudes are better to say goodbye to.

Last but not least, he explained the importance of going for a walk and showed us that in this large, diverse open source community, there is more that unites us than divides us. And that we should therefore not see each other as competitors, but instead support and enrich each other.

Social Night

The Social Night with buffet, food pavilions, cocktails and disco was the grand finale of the Developer Days this time. This was good for everyone, who either compensated for all the sitting on the dance floor or took advantage of the pleasant weather to sit outside and party for a very long time. This meant that breakfast could be taken a little later and more comfortably the next morning if required.

This page contains automatically translated content.

Updated: 14.12.2024