TYPO3Camp Vienna 2016
TYPO3Camps have become increasingly popular and have been growing beyond the German borders for a few years now. From May 6 to 8, we attended the first international TYPO3Camp in Vienna and, like many other participants, we are very enthusiastic about how well this camp was organized right from the start. We at jweiland.net supported this camp as a premium sponsor.
In a city with a history like Vienna, the location where the event was held naturally had to be a historic one. And this certainly applies to the University of Vienna, one of the oldest universities in Europe.
Like many other imposing buildings in Vienna, the university scored highly with its meter-high walls, green inner courtyard, ornate domed ceilings and its location close to the city. Yes, the comparison with the Stuttgart TYPO3Camp at the University of Hohenheim came up again and again. Is there going to be a battle?
Even though the majority of participants were German-speaking, the "international" theme was taken seriously and all sessions were held in English. Even the corridor discussions were held in English immediately and without grumbling in the presence of our international friends.
The camp began on Saturday with the welcome and the subsequent keynote speech by Mathias Schreiber on the future of TYPO3.
We were able to participate in the following sessions.
Introduction Doctrine (Morton Jonuschat)
Dbal as an abstraction layer has had its day. Of course you are proud of what you built years ago, but the source code is getting on in years and there are only 2 core developers left who are familiar with the structure. It's about time, high time, that this system was replaced. Doctrine has already proven itself in many other systems, such as Symfony, and has therefore found its way into the TYPO3 system. Morton then showed how the old database methods, which still work, can be replaced by the new methods.
t3monitoring (Georg Ringer)
Georg presented his new server-client solution <link de.slideshare.net/GeorgRinger1/typo3-monitoring-with-extt3monitoring _blank - "presentation on slideshare.net">t3monitoring, which can be used to detect insecure TYPO3 cores and extensions, as a further option for automated monitoring of TYPO3 installations. Thanks to Bootstrap, the server backend module looks very tidy and can be operated quickly and intuitively. Filters and other detailed views can be used to uncover more and more information about security problems and extension updates. The extensions (server and client) are publicly available on Github, but the extension developer appeals to people's good conscience to pay for his work according to the price scale presented.
Ajax handling (Markus Klein)
This was not simply about querying the database and returning something, but about how to let Extbase render content with the help of the standalone view and then return it to the website using the JSON view.
Helmut Hummel then took over in the last few minutes and presented his typoscript_rendering extension. Using the ViewHelper provided, special URIs can be generated that are slower than eID scripts, but still faster than the usual Ajax calls based on pagetype. The advantage of the hook it uses (checkDataSubmission): Everything is already initialized (TypoScript, page, frontend users, etc.). Only the rendering of the page content itself has not yet been carried out. Certain GET parameters can now be used to determine what is to be rendered: A specific page content, a plugin or even a TypoScript object path.
TYPO3 Backstage Development (Oliver Hader)
The TYPO3 core team has developed a few concepts and also picked up a few existing concepts to make working with TYPO3 more effective. Oliver presented 3 of them.
Backend apps
The editor should no longer be overwhelmed by all possible data record types in the list module. Developers should be able to work with modules more easily so that editors can create individual modules for each extension or use case. For example, events, news and addresses would receive individual backend modules. In short: what belongs together, stays together.
JobQueue
There are always tasks that take longer than the max_execution_time. Even on the shell, certain timeouts can occur depending on the provider. Here the core wants to develop a system that can split tasks into smaller parts. This means that a task would no longer be aborted, but would continue with the next cycle.
EventSourcing
Currently, TYPO3's data record history is permanently linked to the sys_log table. If the sys_log table is emptied or old entries are deleted using the scheduler, the history from this period can no longer be used. This is where EventSourcing comes in. A table logs every new data record and its subsequent changes. The original data record can thus be restored in the sum of all log entries of a data record.
FormEngine (Markus Klein)
Since TYPO3 7.5, a new FormEngine has been working under the hood. All previous hooks are passé and have been replaced by the new options using renderType and NodeResolver. Markus has registered a new render class via the NodyRegistry that can display a Google map. This new render class can now be specified using the renderType option, which overwrites the standard rendering. Instead of an input field for the latitude, the Google map now appears. A little more JavaScript and Latitude and Longitude can be edited very easily with the movable Google marker.
XSS in Fluid ViewHelper (Helmut Hummel)
Helmut Hummel showed us in a question and answer session that it makes a big difference whether we pass fluid variables to our Fluid ViewHelper via renderChildren() or as parameters. Fluid variables are only escaped in the case of renderChildren(). This is a security aspect that should not be neglected, especially with regard to link generation.
Extension Mask
Gernot Ploiner presented version 2 of the Mask extension. Mask can be thought of as a kind of wizard with which new types of content elements can be created very easily. Only core functions are used, the content elements created then also use Fluid for rendering. Version 2 brings some new field types, and newly created fields can also be configured much more finely. The new version should be available in the TER shortly.
TYPO3 for Beginners
Jo Hasenau briefly presented the possibilities for beginners in the TYPO3 universe to find information and documentation and to get in touch with the community.
Extension cart
Some of you may still know the extension wt_cart. The new extension cart can be seen as a direct successor, but has been reprogrammed. This is why it has a different extension key, as a direct update from wt_cart to cart is not possible. Too much has changed under the hood.
cart can be used to operate small stores that only have a few products, for example, and for which larger store solutions such as tt_products, commerce or even Magento are therefore oversized. You can either create products directly or simply use normal content elements as products. The extension is currently still in the "open beta" phase and is not yet available in the TER. <link de.slideshare.net/extcode/20160507-presentation-slides-about-shopping-cart-for-typo3 _blank - "Presentation of cart">The link to the Github repository can be found in the slides.
Sitepackages
Since TYPO3 3.x, it has been possible to outsource templates as a separate extension. HTML templates, TypoScript and TSconfig files are thus kept out of the database and encapsulated in a separate template extension. <link de.slideshare.net/benjaminkott/typo3-the-anatomy-of-sitepackages _blank - "Presentation on slideshare.net">Benjamin Kott showed here how he sets up his site packages and what advantages there are compared to the "old method" of storing everything under fileadmin/.
Skill Display
In addition to the "TYPO3 Certified Integrator" certification, there is now also the "TYPO3 Certified Editor", and the "TYPO3 Certified Developer" will soon follow. One way to prepare for these exams is the Skill Display platform. The status of your own learning progress is also visible here. This is not only helpful for the learner, but also a good source of information for potential employers.
T3Store
There are thousands of TYPO3 extensions for all possible use cases. Getting and keeping an overview is particularly difficult for beginners. The project <link t3store.webprofil.at _blank>T3Store by Gernot Ploiner and his team takes a different approach to the classic TER. Extensions are sorted into specific categories, making it easier to find what you are looking for. Registered users can also rate and comment on extensions. The project is still at an early stage of development.
Interestingly, a new version of TER is being worked on in parallel, which will offer similar features. Perhaps a mutually beneficial cooperation is possible here?
Our sessions
Two sessions were held by Jochen Weiland: "Introduction to the scheduler" and "Using SOLR in TYPO3".
The entire <link trello.com/typo3campvienna _blank - "Session plans Saturday and Sunday">session plan was organized via Trello and can still be found there.
Our conclusion
Although the camp took place in Vienna for the first time, everything was very well organized. The distances between the venues (warm-up party, camp, social event) were also pleasantly short and easy to manage on foot. The university as a venue was very impressive and the historical ambience was perfect.
All in all, the camp was a lot of fun, provided a lot of information and was very well organized. We are looking forward to the second TYPO3camp in Vienna in 2017!











