As Neos Con 2023 had an extended four day program the sprint was a bit shorter. For three days the participants met at the queo office in Berlin, discussed concepts and worked on prototypes. Possible solutions were challenged in regard to improving Neos and serving the community while keeping quality high and maintenance effort low in the future.
What might sound like a tedious event if you've never been there actually happened in an atmosphere of such playful excitement, accompanied by nerdy jokes, tasty shared meals and long standing as well as new friendships, that I am really happy to have experienced the spirit of the Neos community.
Improved Neos setup/healthcheck
The probably most vivid example of how changes are considered in order to find effective solutions was the handling of the broken graphical Neos setup tool.
As most experienced developers use the command line for setting up new Neos installations, the graphical tool is prone to breaking without notice. Unfortunately the packages for the GUI tool (Flow part, Neos part) are unrelated to the command line setup, so that they cause rather high additional maintenance. Yet the GUI setup is frequently used by people who are new to Neos. The propulsive question in the discussion about a reconception of the GUI tool therefore was how to rebuild it in a way that keeps maintenance low, adds benefit for those who maintain it and still makes it easy for newbies to get in touch with Neos.
As the use of console commands is inevitable in the long run anyways, the discussion resolved in the concept of a setup that checks if Neos is configured correctly. If this is not the case the user is interactively guided through the necessary console commands to get the system into a working state. This way new users will get in touch with the console from the very beginning, while experienced users will benefit from the system check capabilities. As the information is available in JSON format, it also eases monitoring. Altogether the system will help new users to gain confidence using the console while adding huge benefits to experienced users as well. The concept can be found here and the pull requests are already open: Neos part, Flow part.
Neos setup for Docker
Another new feature that is great especially for people who want to try out Neos is the new docker setup in the development distribution that adds proper configuration of Neos and Docker containers and automatically runs all needed commands to set up Neos when starting the containers for the first time. This way after cloning the repository setting up Neos becomes a one-liner for anyone using Docker.
Neos 9 and Flow 9
Of course, a big topic were the upcoming releases of Flow 9 and Neos 9. Existing features and packages, like for example Neos SEO, needed adaptations in order to work with the event sourced content repository and are now Neos 9 ready. Apart from that, for Neos 9 it is also planned to include Sebastian's workspace module and the Flowpack Media UI as well as to upgrade the CKEditor to TypeScript and add drag & drop functionality and a new date & time picker to the editor (check this ticket for details & progress.) Regarding Flow 9 the steps necessary to refactor the proxy class building to fully support PHP 8.2 were settled and updating the Doctrine ORM integration was discussed in order to enable new features and support PHP 8 attributes.
- A discussion to plan the simplification of our current build pipeline setup.
- A first setup of Mautic for use by the Neos marketing team was done.
- The full range of new Neos 9 packages was set up for distribution through packagist.
I am quite amazed by the experience of the sprint. I found that the heart of the Neos community has an incredibly playful and constructive way of developing the system further. Proper disassembly of problems and potentials and refinement of a common vision are favored over formalized control mechanisms. The results are a very welcoming atmosphere, a great environment to learn and a focus on what to do instead of how to organize it.
As a newbie I was occupied a lot with getting my Neos 9 up and running in order to be able to try it out and contribute. In retrospect I could have definitely approached the more experienced Neos developers more actively by joining conversations and asking questions.
Still, now knowing the spirit of the most passionate Neos community members, I feel way more comfortable with asking questions online and hope to spend more time working with Neos in order to participate in terms of code as well.