Conference Day 1
Welcome to Neos Conference 2022
Microservices running on kubernetes are ubiquitous. For every serious application security and identity management is a crucial aspect and its implementation can be difficult. Worse, it’s often neglected, poorly implemented, and intrusive in the code. Recently, identity management servers have appeared that allow one to outsource and delegate all aspects of authentication and authorization. Of these servers, one of the most promising is Keycloak open source, flexible, agnostic of any technology and is easily deployable and adaptable on kubernetes. In this talk I will walk you through the basic architecture of keycloak and how one can leverage it to offload authentication and authorization for their microservices.
PHP’s package manager „Composer” is one of the best of its kind. In recent years, the only point of criticism has largely been the consumption of resources, both memory-wise as well as from a runtime perspective. With version 2 and later minor releases, these areas have received major improvements and we are now left with a very efficient tool that facilitates our everyday work. Join me while I try to recall the past 5 years of trying to make things faster and more efficient and learn about some Composer internals along the way. It will be quite a ride - I promise!
Rendering images with optimal quality and minimal payload size is surprisingly complex because of the range of user-devices and network conditions. The talk will cover the standards behind responsive images and show the implementation in vanilla Neos and with Sitegeist.Kaleidoscope.
Usertracking aside images are the major payload of recent websites and while the standards regarding image rendering in HTML are not overly complex the details get complicated fast. Especially in a CMS like Neos where most of the work has to be automated.
In the main part of the talk I will give an overview about the relevant html-standards for responsive images like img.sizes, img.srcset and picture + source, how those actually work and should be used for optimal user experience. Following that I will demonstrate how this is implemented using off the shelf Neos and compare this to the optimized workflow we implemented with our package Sitegeist.Kaleidoscope. The talk will conclude with some generic tips and a checklist for debugging and optimizing image rendering in Neos.
How a pandemic changed the way we work forever
In early 2019 we were asked to provide a possible solution for hosting a Neos website in an on-premise setting. We recommended a single application server. This single application server is now a 50-Node application cluster with distributed services and multiple redundancies. At the same time we were approached by another agency, asking whether we would like to assist them in relaunching the aged website of a German healthcare company. This website now has 11 sites, 200.000 nodes, 130 GB assets, 14 languages in 22 countries, 220 editors and serves about 250.000 page requests every day. We would like to show you how we overcame organisational, technical and also pandemic-related challenges to get this site up and running.
Delivering an intuitive editing experience is key to a great user experience with Neos. However, it can be tricky to get everything just right. In this talk, we’ll discuss some tips and tricks for developers that will help you deliver an excellent experience for your editors.
Aim of this talk is to showcase that PHP is perfectly capable of being used as a language for executing Machine Learning Tasks.
As part of this lecture, I will open up with a short talk on what Machine Learning is and how it works from mathematical point of view.
Next, I will proceed showcasing how PHP8 can be used to load large data sets and execute various tasks such as doing various Text Mining tasks and developing a fully working Neural-network based Recommender System.
Neos is continuously developed further and new releases are done regularly. But why should I upgrade my site? And when should I do it? Last but not least, how (hard is it?) Answers to these questions based on years of upgrading a wide range of setups, from current to (very) legacy!
- never upgrade – until their hoster tells them, PHP 5.6 will be switched off.
- never, ever use a dot-zero release and wait for the first few bugfix releases.
- automate updates and delploy them to production untested.
All of these have a reasoning behind it, and I’ll try to look into it and explain what I think about it. That should help you find the way that fits you and your project (and is “correct”, as far as I am concerned).
After I hopefully answered the question about why and when one should upgrade Neos setups, the question of how to upgrade remains. I’ll try to answer that, too, by drawing from experience gathered during the past years. Of course there is no silver bullet or proven recipe that caters to all those needs, but expect some guideline to help you with your next update!
I have been upgrading small and big sites with a pretty wide range of complexity. Some had next to no 3rd party packages, others had massive amounts of Fusion code or used complex PHP code to integrate with external systems. Some were upgraded regularly, rarely leaving out a release, while others had skipped as much as three major releases.
It’s essential to write a test for any code change. Regardless of which test you write, they will make you confident that another code change won’t break your code. However, some developers tend to be reluctant a lot regarding UI testing. Are those tests slow, flaky, hard to write and maintain?
In my session, I want to introduce Cypress to you and explore its possibilities by writing the first tests for Neos / Neos Con website - so that we can overcome those concerns together.
Conference Day 2
Another year, another talk about the Event-Sourced Content Repository :) Nope. We'll outline our plans how we'll ship the New Content Repository with Neos 9.0 - and what YOU need to change in your applications to get it ready.
The development of a complex Neos project is not done by single developers. A team of specialists will be involved in different parts of your project workflow. And not all of them are developers.
How can you provide a great development (and operational) experience that automates as much as possible? And how can end-to-end tests or measurements for core web vitals be integrated into the development pipeline? Are containers the answer? And what can a CI tool do for you?
In this talk we will have a 360° look at the DevOps lifecycle and build the perfect project pipeline using tools like GitLab CI, Kubernetes, Helm, Playwright and Lighthouse CI.
Learn how to write a web application using the latest and greatest in the React world. React v17, TypeScript 4, Formik, Material-UI 5, and Redux Toolkit.
Redux toolkit is the official, opinionated, batteries-included toolset for efficient Redux development written by Redux’s creators. You can read more about the Redux Toolkit here. https://redux-toolkit.js.org/
You will learn the following:
React Router 6 Material UI Formik and Yup validation TypeScript in React, the easy way State management using Redux Toolkit.
Learn why website accessibility is so important and what you as a developer or project / product manager can do to improve it for your current web project. You'll learn what accessibility means in the digital world, why it can be advantageous for your business, how it improves general user experience and much more.
With the given solutions for Event Sourcing for Symfony ( PHP) I was not very impressed. There are some Event Stores belonging to an CQRS and EventSourcing Infrastructure for PHP. But I was searching for a slim solution that could be used without getting familiar to the whole concept with different components of the solution and without changing the whole infrastructure to get it run.
I also looked on the slim Neos solution that is based on the Flow Framework, but it is not possible to run it under the Symfony Framework. For this reason I started working on a Symfony Bridge of Neos Eventsourcing with Sebastian Kurfürst in December 2020. I wanted to be able to use it for upcoming projects with symfony.
A short time later I got the possibility to use it for an “Proof of Concept” for one of the biggest international discount retailer companies. They own a shipping container app that handles the logistic beetween China and Europe/US. On the journey of a ship over the ocean a lot of different milestones have to be reached (load / unload / taxes…). The idea is to use CQRS and Event Sourcing for the milestones concept which is the heart of the application.
In my proposed presentation I will show how the Event Sourcing Adapter is used in a “Proof of Concept” for an discount retailer company. Our journey starts with the separation of the read and write model. It highlights the Neos Event Store and shows the workflow beginning with an command and ending with a projection in the read model. CQRS is an ongoing process and I will summarizes the findings of our journey at the end.
From the theoretical perspective, excellent concepts on Micro Services, Micro Frontends, et cetera have emerged. Practical implementations have shown limitations of the concepts. Thus, a critical look on the architectural distribution of Micro components is required: Is the increasing divergence between architectural design and practical distribution just a passing challenge or is it here to stay?
This talk brings back these kinds of question into the realm of academic theory and tries to provide a critical retrospect on what cannot be sugar-coated any longer and what could lead to new ideas for the future.
For developers, it's often hard to find examples which go beyond a todo list app or inevitable pet store. Let's put an end to this and look at a real-world project which features many elements you'd like to use in a modern Flow application.
In this talk I'll walk you through Cabana, a Flow application based on PHP 8.1, Event Sourcing, CQRS, GraphQL and which comes with a user interface running on React 18, Typescript and Relay. After getting the big picture, we'll look into detail solutions which sometimes required several days or even weeks of trial-and-error until they made sense and worked out.
If you are interested in Flow + GraphQL + React, this talk is for you.
Since Fusion components are increasingly provided with their own API, it’s time to have a look at that in detail. The props array is both flexible for changes and flawed regarding stability and testability. I’ll discuss two current alternative approaches as well as a new idea for type-safe Fusion.
Arrays don’t make for good API specifications, especially when literally anyone can override those specifications in the way that we know from Fusion prototypes and their props arrays. Typos can cascade through the component hierarchies undetected, leading to broken leaf components while EEL silently catches all errors giving real challenges for integrators when debugging the code.
PropTypes are one approach to enforce component APIs to a certain extent, while PresentationObjects take an even stricter stance virtually eliminating integration errors for good using PHP capabilities. Both methods have their ups and downs which will be discussed, leading to the topic of a completely new concept in the world of Fusion Rendering and what it could look like.
What is Neos Con?
Neos Con started as a simple idea: Let’s bring the Neos community together and learn even more from each other. Neos Con features high class speakers and deep-dive tech and developer talks.
Meet the "who-is-who" of the international Neos community: team members, developers, agencies, organisations and (maybe) future colleagues and friends.
Why Neos Conference?
Neos Con - Reaching beyond yourself
Neos Conference is on a mission to inspire people by demonstrating cutting edge technology, encourage everybody to think “out-of-the-box”, and connecting technological entrepreneurs with enthusiasts. Therefore the conference is for developers, technical leads, CTOs, and everyone who’s willing to learn something new and wants to challenge the status quo!
All talks impart sophisticated technology-knowledge about modern concepts, methods and not your average step-by-step online-tutorial to the audience. Neos Con is about the “why” and not about the “what”, it’s about understanding the bigger picture and not the 21st 3-step-manual, it’s about learning something new and sharing knowledge with each other, it’s about growing beyond yourself, it’s about getting inspired, and last but not least, it’s about having fun together.
About 60% of the talks will be about Neos & Flow - obviously, it’s the Neos Con ;-) In addition, 40% are not-Neos-related topics and add deep insights about technology, testing and sustainability for example.
What you get with your ticket!
A ticket grants you entry to Neos Conference on April 29/30, 2022, all talks and direct access to the Neos Core Team and guest speakers.
- International speakers, covering about 30 topics on 2 tracks
- Direct contact and networking possibilities to all speakers & Neos core team members
- Full coverage of drinks and food during the conference
- Exclusive t-shirt, stickers, and other great swag
- Amazing events before, during and after the conference like Community Warum-Up, Neos Con Social Event and After-Conference Neos Sprint (for everyone from beginners to experts!)
Rewatch all previous Talks
We would not be here, without the contribution of so many people around the world, as well as Neos Conference would not be such a success without the sponsoring of multiple great companies!
We're really grateful for all the trust and support our partners shared with us.
Official Neos Conference Media Partner
Neos Conference is organized by
Neos Conference Code of Conduct
All Neos Conference participants, speakers, sponsors and volunteers are required to comply with this Code of Conduct. The organisers will enforce it throughout the event. We expect everyone involved to work together to help ensure a safe environment for all.