Zum Inhalt springen

A sunshine castle suckling pig Stuttgart TYPO3camp #t3cs

From May 12 to 14, the 7th TYPO3camp Stuttgart took place in the castle of the University of Hohenheim. And this time everything was a little bigger than before.

With more than 230 visitors, TYPO3camp Stuttgart is the largest barcamp on the topic of TYPO3. Record!
This year, an additional session room was available, and all sessions were well attended.
With 9 access points and 235 meters of "WLAN cable", we were able to provide the entire area with a stable WLAN.

New this year was the "TYPO3 Students Day", which started on Friday afternoon in the run-up to the camp. The project <link skilldisplay.at/index.php was aimed at students who have had little or no contact with TYPO3 so far. On Friday afternoon there were introductory sessions about TYPO3. Benni Mack and Thomas Löffler talked about the history of TYPO3 and explained the basics of a CMS. Wolfgang Wagner showed how to install TYPO3 yourself and explained the most important options of the install tool. Afterwards, Florian Weiss from Skilldisplay showed the first steps in the backend. For the participants of the Students Day we had provided hosting packages with TYPO3.

Until Sunday afternoon, there were further presentations aimed at TYPO3 beginners and based on the <link skilldisplay.at/index.php paths of Skilldisplay.

The actual camp traditionally began on Friday evening with the warm-up party in the castle. More than half of the participants had already arrived in the evening.

Saturday started with a hearty breakfast, which was once again provided by <link www.esskultur.biz/>Esskultur and was, as always, very tasty. As was the entire catering over the weekend. Many thanks to Esskultur!

Afterwards, the topics of the day were found in the session planning. It was great that the participants were asked for their preferred topics first. Numerous sessions were found very quickly. The few gaps in the session plan were then filled just as quickly with sessions already prepared by the participants.

On Saturday afternoon there was a 3-hour workshop by Andrea Schmuttermair on the topic of extension programming with Extbase. The participants learned step by step how to create an extension for TYPO3 themselves.

Here is some information about the sessions we participated in or held ourselves.

TYPO3 from the console

Helmut Hummel (aka Console-Helmut) showed the TYPO3 developer community his TYPO3 Console, which is installed via Composer. Afterwards, simpler calls are available on the console (shell). Interestingly, the extensions can be activated or deactivated in this way, for example. It was an interesting presentation for budding console freaks.

Own page types

In this session, Xaver introduced us to an extension that can be used to map almost all customer requirements using different page types. Depending on the page type, a page can function as news, event or simply as a page in the navigation. Other extensions can also be hooked into this system and declare further page types.

The chosen solution was therefore to define a separate page type for news reports, for example, and the pages could then be filled with any content as usual. The creation of readable, search engine-friendly URLs is of course also much easier this way.

TypoScript menus

In the beginner sessions of the Students Day, Wolfgang showed how to create navigation menus with TypoScript. As an example, a classic nested unsorted list was created.

Deployment

Thomas Löffler presented his preferred deployment tool <link about.gitlab.com/features/gitlab-ci-cd/>Gitlab CI. Two different configurations were demonstrated. On the one hand, how you can automate a TER release for your TYPO3 extension and on the other hand, how you can also use GitLab for your own projects.

Caching Framework

Benni Mack told us step by step which caches are used, from the browser to the server to the TYPO3 system. With regard to TYPO3 in particular, he went into detail about each individual cache and told us what data is stored in cache_pages, cache_hash and the like.

The standard backends for the caches were chosen so that they work on as many systems as possible. However, this also means that they are not necessarily the best choice in terms of performance. Each admin has to check for himself which cache (APCu, MemCached, Redis,...) he uses to get the most performance out of his TYPO3.

PageSpeed 100

Markus Sommer showed how to achieve 100 points with Google PageSpeed. The basics are: Compress images as much as possible, minify CSS, JavaScript and HTML.

Further measures include inserting the critical CSS (above the fold) as inline CSS and only loading the other CSS when it is actually needed. This can be done via JavaScript as soon as further elements move into the viewport through scrolling.

In addition to the optimization options in TYPO3 or in the template, optimizations on the server via .htaccess are also possible or usually necessary.

Intelligent TYPO3

How can TYPO3 be made more intelligent? The idea is to automate certain tasks. DKD offers a service to which you can send an image and which then extracts the metadata. This is then sent back to TYPO3 and inserted into the description, keywords and alt tag fields. This process can either be started directly in the filelist or initiated via a scheduler task.

Another idea would be a chat. A chat with a TYPO3 bot. You write to the bot that you want to edit Olli's last data record and in response the bot sends you back the direct link for editing.

For all this work, a service from the Microsoft Azure Cloud works in the background, which is why DKD's services cannot be offered free of charge.

Bootstrap

One request from the audience was a detailed explanation and analysis of the TYPO3 bootstrap process. Helmut Hummel agreed to explain every single line.

He went into the autoloader, explained the different request handlers, how and when the connection to the TYPO3 database is created, when the packages are loaded and thus the ext_localconf.php is loaded.

He also explained the different ApplicationContexts and why the CachingFramework has to be initialized twice. Every step up to shutDown() was roughly explained and thus even more was explained than just the actual bootstrap process.

TYPO3 Scheduler

Wolfgang showed how to set up the scheduler in TYPO and which tasks can be automated with it. Common tasks are, for example, updating the extension list or cleaning up database tables or the recycler.

Image manipulation via TypoScript

Markus from Skilldisplay showed the possibilities of image manipulation via TypoScript. From image generation and the combination of different images to image effects, he presented a few classic use cases (watermarks).

Favicons

Riona dealt with favicons, Apple-touch icons and tiles and presented her findings to the interested audience. Even some "old hands" were able to take home some new information.

TYPO3 Integrator Best Practices

In a discussion led by Andreas, the methods of a classic TYPO3 integration were discussed. In principle, one should follow the conventions of Extbase extensions (directory structures, file naming, etc.). As Benjamin Kott, responsible for fluid_styled_content, also took part in the discussion, we also learned some interesting background information about the development of fluid_styled_content.

Security and tracking of data

Jochen gave some examples of how spammers and phishers try to get hold of our data.

In the second part, we learned where our data is actually recorded when we visit the website of a news portal, for example. Amazing and somehow frightening.

The topic of 2-factor authentication for TYPO3 also came up. There are extensions that support the Google Authenticator or the <link www.yubico.com/>YubiKey, for example.

TYPO3 Forms

The new form framework is one of the big new features in TYPO3 8 LTS. Björn showed the development history of the new extension, starting from the old form extension in TYPO3 4.x up to the current framework, with which much more is possible than just contact forms. The functions and configuration can be adapted relatively easily in the extension's configuration files, e.g. to write your own finishers. Finishers define what actually happens to the data entered after a form is submitted.

Responsive images and cropping in the backend

Another new feature in TYPO3 8 LTS is the ability to define different cropping variants. For example, you could define a different image section for smartphones than on tablets or desktops.

However, in order for these variants to actually be used, adjustments to the templates of the content elements are necessary. A JavaScript is also required that actually reads and implements the information, which can then be attached to the IMG tag as a data attribute, for example.

How this works can be seen, for example, in the Introduction Package.

URL handling in the TYPO3 core

For years, many users have wanted to create readable, search engine-friendly URLs with TYPO3 on-board tools. Andreas Wolf is currently working on a concept for this. However, the whole thing is more complicated than you might think at first glance. Especially when it comes to creating readable URLs for news articles, for example, which may be displayed on different pages, it quickly becomes very complex.

Our conclusion

From our point of view, the 7th TYPO3camp Stuttgart was a complete success! The mix of session topics was well-balanced, with something for both beginners and professionals. The beginner sessions in particular were very well received.

The networking between the sessions and also in the evenings was very good and inspiring.

We are already looking forward to the 2018 edition!

Session planning t3cs17

Session planning t3cs17

Networking t3cs17

Networking t3cs17

Wifi for the outdoor area at Typo3Camp Stuttgart