Two weeks ago, there was WordCamp Europe. It took place in Belgrade, Serbia, and for me it was the fifteenth WordCamp in total, my second WordCamp Europe, and my third time giving a workshop. This time, I had the honor to do that with my friends Carl Alexander and Giuseppe Mazzapica.
Wednesday: Arrival Day
Belgrade has, so far, been my longest travel for a WordCamp. As usual, I went there one day before the first official day.
Good moooarning … Europe!
On my way to #WCEU now, and I'm sure not only the weather will get better. š
Looking forward to a fantastic long weekend with #WordPress friends and future friends! š¤ #HMGoes pic.twitter.com/XMqVaQqGSb
— Thorsten Frommen (@thorstenfrommen) June 13, 2018
Traveling
My alarm clock went off at 5:30 AM. I took the train to Dusseldorf, from there by plane to Vienna, with the next and last stop being Belgrade. It was not without a 40 minutes delay, though, because the plane was late from a previous flight.
At the airport I was awaited by a taxi driver. Together with a fellow WordCamper from Germany, I boarded the taxi, and the driver brought us, one after the other, to our desired destinations.
Kafeterija and Manufaktura
I met several of my colleagues at co(ffee|-working) shop called Kafeterija. We had some iced coffee, juice, and diverse discussions about software, tooling and other nerdy things.
Later that afternoon, we crossed the street and were already at the Manufaktura, our place for dinner and evening fun. The food (and beer) was really, really good, however, getting a bottle of wine and some empty glasses was not really that easy a task. Just the bottle would have been easy, but, you know, thatās not how you want to drink wine. When not alone. š Donāt make me explain why that was the case. It is … complicated.
There also was a band playing, which was nice, but loud. Too loud to easily talk, so we moved outside, where we stayed for quite a while.
Thursday: Contributor Day
As more and more the case, WordCamp Europe 2018 started with its Contributor Day. This is where attendees contribute to WordPress as a whole, meaning not only the software, but all other parts of the project and its ecosystem, for example, translations, security, coding standards, and marketing.
Opening Remarks
Remkus de Vries kicked of Contributor Day with a brief introductory presentation, and some stats.
Whuah! This thing is really happening! @DeFries is about to open the contributor day of #WCEU! pic.twitter.com/ztVS7PPwEg
— Taco Verdo at #WCAsia (@TacoVerdo) June 14, 2018
After that, the leads of all contributing teams had a minute or two on stage to share their plans for the day.
Contributing
I sat down at the Coding Standards table, led by Juliette Reinders Folmer. After a quick round of introductions, we took on various Trac tickets, GitHub issues, or pieces of PHP_CodeSniffer output, and started working on them.
Look at all these lovely people contributing to #WordPress at #WCEU Contributor Day ā¤ā¤ā¤
Thank you, you rock! pic.twitter.com/LtRlyolYPL
— Milana Cap at #WCAsia (@DjevaLoperka) June 14, 2018
I planned to review some existing patches for the WordPress Coding Standards. I say āplannedā, because, in the end, I didnāt really do anything at all. Almost. Actually. Arrrhhh…
Seems there were some Wi-Fi issues. While I had been able to update my local development copy of WordPress (in about 5 minutes or so :D), simply navigating on GitHub was a pain. And it got worse over time.
When it took me more than ten minutes to load up an issue (with some comments), I called it quits for the day.
Headache
Since I had a pretty bad headache for almost all morning, I stepped out to go for a walk. Well, when I was about 10 minutes away from the venue, it started raining like hell. So I got back, hiding under a bridge here and there.
I drank enough, ate enough, had fresh air, walked around. But nothing seemed to help me get rid off the headache. So I headed back to my Airbnb, and slept for a bit. That helped!
(Net)Working
Back at the Contributor Day venue, I did some networking, and also sat down to go over and finalize the workshop slides for next day. I did that next to Lara Schenck, whom I got to know the evening before, and who was going over the slides of her own workshop.
Once we were done for the time being, we hopped on a taxi to go to the volunteer social; and it followed the best and most hilarious conversation of all WCEU 2018…
Me: Do you have Wi-Fi?
Driver: Yes, sure! Password is … one, two, three, four, five, six, seven, eight.
Lara: Whoah, that is a great password…!? š
Getting in a taxi together with @laras126.
Me: Do you have Wi-Fi?
Driver: Yes, sure! Password is … one, two, three, four, five, six, seven, eight.
Lara: Whoah, THAT is a great password…!?
š¤£š¤£š¤£#WCEU
— Thorsten Frommen (@thorstenfrommen) June 20, 2018
Volunteer Social
The volunteer social, in some buildingās 25th floor, was fun. Meeting lots of people I had not seen before that day, eating awesome food, free drinksāwhich, for me, were one beer and a couple soft drinks.
I left after about two hours already, because I needed to getāand actually also catch up onāsome sleep, and I still had some final finishing touches to do on the workshop slides for early next day.
Friday: WordCamp Europe Day 1
So! WordCamp was about to start. In a quite unusual way for me, though, as you will soon learn…
An Introduction to Unit Testing (for WordPress)
Together with Carl Alexander and Giuseppe Mazzapica, I had the honor to kickstart one of the first content formats of WordCamp Europe 2018: our three-hours workshop about unit testing (for WordPress).
The structure of the workshop was as follows. We started with an introductory presentation that took about 25 minutes off our time, because we wanted all attendees to have some basic common knowledge about testing in general, and unit testing in particular. After that, we started the actual hands-on time, which was somewhat like a game with four levels. Attendees could choose between the PHP codebase of a sample plugin, and a JavaScript codebase integrating two simple Gutenberg blocks.
If thereās one thing for you to take from this workshop, itās this slide – @thorstenfrommen @gmazzap @twigpress #UnitTesting #WCEU pic.twitter.com/VVQiMpjEC2
— WordCamp Europe (@WCEurope) June 15, 2018
In level one, people had to run the test runner, understand why the tests we gave them were failing, and fix the production code (not the test). So, people should get to know the test runner itself, the output it produces, learn how to read tests, and use them to debug and eventually fix actual bugs in the code we wrote.
Levels two through four then were about writing tests. Starting simple, we provided almost all of the individual test methods, and the attendees had to fill in some values, or create assertions and expectations. Next step was the introduction of both function and object mocks. The final stage would have been to take a test case full of empty test methods, and apply all the things learned so far. We did not get to that stage (although we could have), because we thought it wiser to give people more time to complete level three.
Right now at #WCEU:
Testing. Failing. Fixing. Testing. Failing. Fixing, for real. Testing. Happiness!
Testing. Failing. Fixing. Testing. Failing. Fixing, for real. Testing. Happiness!
Testing. …
With @twigpress and @gmazzap at @WCEurope. pic.twitter.com/XSyr9MPQuP
— Thorsten Frommen (@thorstenfrommen) June 15, 2018
Overall, I think the workshop was pretty good. We sure had fun hosting it, and the (little) feedback we got was throughout positive.
As always: the slides are available online. Also, we pushed a new branch with all solutions to all our exercises, both PHP and JavaScript! š
At the #UnitTesting workshop at @WCEurope that I hosted together with my friends @twigpress and @gmazzap, we promised to tweet out some references to posts and tutorials on (unit) testing, for #JavaScript, #PHP, #WordPress etc.
Well, here they are, #WCEU…š Thread! š¤
— Thorsten Frommen (@thorstenfrommen) June 19, 2018
And last but not least, to stick to the promise we made during the workshop, I tweeted out some posts about (unit) testing. If you have more awesome references, please tell us.
Thank you, Gary Jones and Alain Schlesser, for having been awesome teaching assistants!
Lunch
After three hours of unit tests, we went for a quick lunch, and a couple minutes closed-eyes time. Then we already met to talk through the script for the upcoming design patterns workshop, where Gary, Giuseppe and I signed up as teaching assistants.
Dependency Injection and Design Patterns in Real Life
Alain Schlesser and David Mosterd hosted another three-hours workshop. The topic was design patterns, and the application of dependency injection that comes with a lot of these patterns.
Workshop in Rosetta Exercise: Adding the first feed with @schlessera and @DavidMosterd. #WCEU pic.twitter.com/ohHaNH5DZm
— WordCamp Europe (@WCEurope) June 15, 2018
All in all, the workshop was quite advanced, but as Alain and David seem to have communicated that well enough, they did not run into any bigger problems and/or unmet (false) expectations.
I did not have to do much as a teaching assistant, and the code that I saw was quite good, given that most of the people, presumably, did not have much experience with design patterns, and maybe even object-oriented programming in general.
Human Made Team Dinner
And then the first WordCamp day was already over. A colleague of mine gave me a ride back to the old town, and that only took us about 50 minutes. Usually, you can manage that distance in about 12-15 minutes, but, you know, rain, and lots of taxis, regular cars, busses, more rain, and trams. It did take a while.
Later that evening, we had a superb team dinner with all people from Human Made who made it to Belgrade, which were about 20 or so. Awesome and way too much food, tasty drinks, interesting and diverse conversations, and live music made it an allround awesome time.
Party
After the dinner, we went to the party that we hosted together with yoast and SiteGround. It was situated on a boat, which had a swimming pool (!) in the middle of the dance floor. As we heard, that had been quite a splashy surprise to some guest earlier that evening. š
.@SiteGround @humanmadeltd @yoast party with our friends at #WCEU pic.twitter.com/uBC1WzOMY6
— JosĆ© RamĆ³n PadrĆ³n GarcĆa (Mon) (@monchomad) June 15, 2018
I had some good conversations, but did not stay for longer than maybe one and a half hours or so.
Saturday: WordCamp Europe Day 2
Time for the second and also last day of the WordCamp.
Advanced Gutenberging
Yes, really. After having spent six hours in workshops the day before, I started again in another three-hours workshop. This time as a regular attendee.
Zac Gordon and Julien Melissas hosted a more advanced Gutenberg workshop, and to make it really fit (and not overlap) with all the other Gutenberg madness going on at WordCamp Europe, they adapted the content pretty much until the evening before.
Now at #WCEU:
Advanced Gutenberging š¤£
Gonna be some fun times with @zgordon and @JulienMelissas, for sure!#React #Gutenberg #WordPress @WCEurope pic.twitter.com/FfHyqulIKi
— Thorsten Frommen (@thorstenfrommen) June 16, 2018
One of the key take-aways was how to include React (i.e., the WordPress-specificĀ abstractions of both React and React DOM) into the frontend to be able to create dynamic React-powered Gutenberg blocks. Not that this is hard, but it is nothing seen too often in Gutenberg tutorials or custom blocks, not to mention core blocks.
Advanced #Gutenberg Workshop at #WCEU
Flying co-pilot while my bud @JulienMelissas walks through the code pic.twitter.com/05AmpWqNnU
— Zac Gordon (@zgordon) June 16, 2018
The workshop itself was about building a simple reaction UI to like posts. This allowed Julien and Zac to introduce advanced concepts and technologies such as wp.data
, which is the WordPress-specific state or data handling layer inspired by Redux, but at the same time to actually apply these concepts in a small and thus easy-to-grasp context.
Thank you to everyone at #WCEU who signed up early and packed the house for our Advanced #Gutenberg #React and #Redux Workshop!!! pic.twitter.com/Zr6n85SLHI
— Zac Gordon (@zgordon) June 16, 2018
Some people were asking about the usage ofĀ data-*
attributes, so I happily shared my post on using HTML5 data attributes that I published about a year ago.
Lunch
During the long lunch break, the German WordPress community present in Belgrade met for a group photo.
Not everyone could or wanted to make it, but it was great seeing the 40+ German(-speaking) people in one spot. š
How to Create User Generated Content for Your WordPress Website and Business
In the afternoon, I decided to go for a group of lightning talks, and the first one was about user-generated content. Sven Lehnert shed some light on possibilities around and advantages of giving your users a means to contribute content to your website.
āAllowing guest posts on your site especially using @buddypress allows your audience to be part of your siteās growth.ā @svenl77 #WCEU pic.twitter.com/YfkEGM8Hm6
— David Bisset (@dimensionmedia) June 16, 2018
I have only been involved in one project with user-generated content, so I could not relate that much to the topic. Content-wise it was pretty interesting nevertheless, though. Also maybe because privacy, which is a hot topic currently anyway, is to be concerned when it comes to user-generated content, or anything, actually.
Taming the WP Options Table
Next up was Ben Greeley who talked about the options table, and how (not) to use it appropriately.
How to fix ātoo many rows in wp_optionsā issue:
– Delete unneeded rows
– non essential options to ānoā
– Autoload to ānoā
– turn off sync/unneeded plugins@bengreeley #WCEU pic.twitter.com/RCZlBkBsBW
— David Bisset (@dimensionmedia) June 16, 2018
The talk didnāt have much news to me, but I think for several other folks in the room. It was a nice summary of important Dos and Donāts.
What We Forget to Test
Last lightning talker was my colleague K. Adam White, sharing his lessons learned about documentation. Not just documentation as in a project readme, but anything really.
āProgamming isnāt the hard part of day-to-day development, itās everything else we spend MORE time on – communication, code reviews, bug reports, etc.ā @kadamwhite #WCEU pic.twitter.com/x0bHYO1nh6
— David Bisset (@dimensionmedia) June 16, 2018
The talk was great, and included lots of best practices, references, and ideas regarding how best to document your projects, products, tools, processes and lots more. From what I saw both in the room and on Twitter, people really liked the talk, which is just great for everyone.
https://twitter.com/shadraouf/status/1007968129652281344
Beyond Gutenberg
The last talk I visited was by MatĆas Ventura, who talked about the latest updates to Gutenberg.
Blocks provide a higher order of semantics, which relates more directly to the experience of both creators and consumers of content. Taken from @matias_venturaās talk at #WCEU pic.twitter.com/aEtFIQNvZV
— Omar Reiss (@OmarReiss) June 16, 2018
While the talk included some nice features I didnāt know existed (e.g., the ability to paste Markdown into Gutenberg and have it automatically parsed and converted into the appropriate blocks), I expected a different kind of focus. The description said the talk ādives on the technical side of the projectā, but I didnāt really feel it did (in the way that I had hoped).
Video of @matias_ventura demoing the (currently experimental) #Gutenberg columns block. #WCEU pic.twitter.com/hFbwmQWSfN
— David Bisset (@dimensionmedia) June 16, 2018
Gutenberg is and will stay an important topic for along time, and there is so much happening at all times, so it was not a bad decision at all to attend this talk.
Closing Remarks
Well, and then it was all over. š
Closing Remark on #WCEU and some stats. So sad itās over! ššš pic.twitter.com/mJfIcKgkjw
— WP1x1 (@WP1x1) June 16, 2018
Mad props to all the organizers and volunteers for creating an allround awesome event!
54 organizers, 170 volunteers to make #WCEU a hyuge success pic.twitter.com/zKXTOZ9nlj
— zetaraffix@mastodon.social šššŖšŗ (@zetaraffix) June 16, 2018
One of the most important things to learn in the WordCamp Europe closing remarks in general is when and where the event is about to happen in the upcoming year. And for 2019, WordCamp Europe will happen in Berlin, Germany, where I am living, in case you didnāt know. š
The next WordCamp Europe in 2019 will take place in Berlin, Germany š©šŖ
Thank you #WCEU for being here and see you again next year! https://t.co/1ucBPI1lWh
— WordCamp Europe (@WCEurope) June 16, 2018
I am so looking forward to this special event!
Right after the closing remarks, we did an ad-hoc photo shooting with all Humans around. No idea really why most of the people did what they were doing. Noone can remember anyone asking for us to do anything particular funny. š
Missing one @noeltock and one @AnaFranciscaS, team @humanmadeltd at #WCEU ā¤ļø pic.twitter.com/Rh3smN4GnU
— Petya Raykovska (@petyeah) June 16, 2018
After Party
Yeah, and then there was that after party. One unlike any other I know, and lots of other people, too. Many people followed the theme and dressed up in a retro-futuristic way.
We're already excited for the #WCEU after party. pic.twitter.com/qzv5Iftcv6
— Codeinwp (@codeinwp) June 13, 2018
And there was a band. Did I mention the band? Fitting the theme, they, and their music, seemed out of this world. Having played in several bands for more than ten years, I can say they really did a really good job, really! š And they also had a broad and diverse set list. Cannot recommend them enough.
The difference between #WCUS And #WCEU? The dance floor!! pic.twitter.com/02XEgk2cwX
— Joost de Valk (@jdevalk) June 16, 2018
Wow, what did you think of that #wceu band? @lanche86, @jennybeaumont and team know how to throw a party! pic.twitter.com/0lsKwPGACV
— Mendel (@ifyouwillit) June 16, 2018
An amazing band at an amazing after party. #wceu pic.twitter.com/QOHaAVX1b9
— Morten Rand-Hendriksen is elsewhere (@mor10) June 17, 2018
So as I said about #WCEU ? Awesome party!!!! pic.twitter.com/79DuErIZfD
— Joost de Valk (@jdevalk) June 16, 2018
Sunday: Extra Day
Because I didnāt find a good and also reasonable-priced flight back on Sunday, I stayed for one more day in Belgrade.
World Cup 2018
Together with two colleagues, and several other WordCampers, I watched both the Germany and the Switzerland World Cup matches. But yeah, both were not really great, although the Swiss team at least didnāt lose, nor look all too bad.
Canāt stop watching this gif. Help. pic.twitter.com/HK00nn9cRC
— The Redmen TV (@TheRedmenTV) June 17, 2018
Summary
I really loved being at WordCamp Europe 2018. I think it was a successful event in all regards, and I just canāt wait for June 2019, where the next WCEU will happen, in my home country, Germany. Thatās the reason I applied as an organizer! š
After 12 times having been a speaker, workshop host, and/or Contributor Day table lead, I thought it was time to (hopefully) be an organizer. And why not start with a @WCEurope, right!? š
So I just completed the #WCEU Call for Organizers survey. š¤ pic.twitter.com/CeWAFj3AKi
— Thorsten Frommen (@thorstenfrommen) June 17, 2018
See you in Berlin?
Leave a Reply