Anyone can contribute to the development of Neos and Flow

A brief recap of the Neos Sprint in Hamburg, with some tips for anyone who wants to help Neos move forward.

Reading duration: approx. 3 Minutes

Three-Day Code Sprint in Hamburg

Together with my colleagues from punkt.de —Weiye and Joachim—and our two core developers, Daniel and Sebastian, I attended the Neos Sprint at sitegeist in Hamburg at the end of March. For Joachim, Weiye, and me, it was our first code sprint, and we were very curious to see how the Neos team organizes itself and how we could contribute to the project.

What can we actually do to help?

Feeling a bit self-conscious at first, the three of us newcomers tried to find our footing. Where can we find work to do? Where are we needed? Is there a list of tasks we can look at? Do I even have the skills to tackle any of these tasks?

The personal warmth and approachability of the core developers quickly lowered our inhibitions about asking supposedly “stupid” questions—and each of us found an issue on GitHub that we could try our hand at. In most cases, the right Core contact person naturally emerged from the task itself. While Joachim and Weiye were working onNeos, I took on a task fromFlow, the framework that Neos is built on.


Contribution Guide: Getting Started

Basic questions about contributing to projects are explained in detail onneos.io. If you still have questions, theNeos Slackis a good place to start.

Before long, we had active pull requests on GitHub, where we discussed our implementations with the core developers—both on-site and in other parts of the world. Through this collaboration, we learned the pull request workflow and were often called out—more often than we would have liked—by the review tools that check code style and run tests.

The thrill of seeing all the tests turn green and getting the green light from the core developers involved in the review made it all the more rewarding. After that, the pressure of hitting the button that merged our implementation into the project left us exhausted but proud and highly motivated as we exited the pull request. We didn’t allow ourselves much of a break, though—we immediately dove into the next task.

Contribution Guide:
Find tasks

Pending tasks and issues are documented in the issue trackers for Neos and Flow.

An introduction to pull requests can be found in the GitHub documentation.

My Personal Success

I am particularly proud of thefeature I was able to implement for the Flow framework. It allows package developers to generate translation files in XLIFF format for any language. If an XLIFF file with labels for the default language already exists, the translation files for the new languages are automatically populated with the existing labels, so that the developer only needs to enter the translations.

My issue in the Flow project
My pull request in the Flow project

What did we learn during the sprint?

  • In an impromptu presentation by Sebastian Kurfürst and Bernhard Schmitt, we were introduced to the basics of Event Sourcing and CQRS—technologies that are set to be implemented in Neos in the future.
  • We now have a basic understanding of how we can contribute to Neos and Flow. I can recommend participating in a sprint to anyone who’s having trouble getting started with the project.
  • Even the smallest contributions to the projects are very valuable and gratefully accepted. From correcting a typo in the documentation to translating labels in the Backend, to bug fixes and implementing new features—every contribution helps.
  • Above all, we had the opportunity to work with many nice people—both from the Neos Core Team and from our host, sitegeist—and got to know them on a personal level during our shared activities.
  • And one very important lesson: There are no stupid questions.


By the way...

Shortly before the Neos Sprint, Joachim developed a Vagrant box based on the punkt.de-proServer, in which the Neos development project is loaded when the box is started. This box served as the foundation for Joachim, Weiye, and me during the sprint, and is freely available to any motivated contributor.

Contribution Guide: Get Started

Our Vagrant box, based on the punkt.de-proServer, provides an easy-to-install development environment.

To use the box, you must have Vagrant and VirtualBox installed.

Share:

More articles

challenge accepted
Maik Peuser, Entwicklung at punkt.de
Working at punkt.de