JoomlaCamp 2017: Recap

Written by Thorsten Frommen

Thorsten is a certified PHP engineer, web development professional and tester. He has been working on the web since 2000, and with (and on) WordPress since 2005. Thorsten is a Senior WordPress Engineer at Human Made.

Since the first official German WordCamp in Hamburg in June 2014, Thorsten fell in love with both the WordPress community and WordCamps, in particular, where he likes to both gain and share knowledge.

Yesterday, I was at JoomlaCamp 2017 in Essen. As a WordPress engineer. And it was great! 🙂

Zzz…

Since I decided against traveling to Essen the day before the camp, I had to get out of bed pretty early—at 5:30 AM. Take a shower, grab my stuff, a coffee and something to eat, and then off to my more than two hours long train ride.

JoomlaCamp

Kick-off

The day was planned to be in BarCamp style, so there was no schedule yet. We had a round of introductions in which all attendees gave away their name and also two hashtags, describing their interest, or mood, or … content management system. 😀

Clients from Hell

My first session was about different kinds of clients that might not be the easiest to work together with. Although some of these client archetypes obviously came from a place really hot, full of lava, demons and all this, the session was great fun—and true.

Tool Time 😀

The second session was not a talk, but rather some sort of show me yours, I’ll show you mine regarding tools in a web developer’s everyday life. I heard looots of stuff that I already use, in private or when working as a WordPress engineer at Inpsyde. Git, PhpStorm, JIRA, Trello, Slack, … But I also learned of several things I would like to evaluate sometime soon. For example, Dash (or for Windows: Velocity), deevop, AkquiseManager, Troi, and also Affinity (Photo and Designer).

Security Crash Course

In session number three, David Jardin then talked about security, and what (easy) things everyone should keep in mind. Using real passwords, keeping your installation up-to-date, and not using a whole bunch of extension, which maaybe not even come with an (automated means to update) should be possible for users of any level.

After the security talk, I took a pre-lunch selfie with David, and another man with the hat. The picture was for my colleague Robert, who is our man with the hat. (Explanation: both are part of the CMS Garden, and the hat is part of their dress code. 😉 )

Route to Nowhere

Next, I sat down with a few Joomla developers to have a look at a problem they are having with a heavily updated part of the Joomla core: the router. Under certain circumstances, there are both incorrect URLs generated, and URLs are incorrectly parsed and resolved. We were able to reproduce the bug, and narrow it down a little more. Solving such deeply intertwined behavorial logic might sometimes take no more than an additional line of code. Debugging this whole thing to finally come to the conclusion about that very line of code, takes by far longer. So we were unable to fix it right away.

Analyzing Joomla Websites

In slot number five, I myself hosted a discussion about analyzing Joomla websites. Maybe you read my post about having a scanner for CMS websites, and how to detect if a particular website is powered by Joomla. I summarized what I have in my for my Master thesis, and what I researched specifically with regards to Joomla websites. It was a good discussion, and I learned a few things that I will have to deepen my knowledge about in the next couple months. For example, the body classes of a Joomla website most probably do not contain the ones I listed in the other post. The template has absolute control over what happens there, and there is no rule about having these classes, or not.

Internet of Things

The sixth sensesession included Arduino, Lego, LEDs, a humidity sensor, and much more. It was about the Internet of Things, and ended in a Joomla website being able to communicate (via WebSockets) and inform about a failed login, or an article being visited, and stuff like that. Different devices (e.g., one with an LED display) listened to the communication and reacted to certain messages. It was pretty cool, but also not that much Joomla. As a side blownote: with something like the WordPress REST API, such things would become more straightforward and easier. 😉

Composer

The last talk I attended was about Composer, the PHP package and thus dependency manager. Since I am using Composer both privately and at Inpsyde for more than two years now, the talk didn’t have much news for me. I also had to leave shortly before the end to catch my train home.

Summary

I’m glad I did this!

It was a nice day, I learned lots of new things (e.g., that life as a Joomla developer is not that much different than being a WordPress engineer—no I won’t mention something like Composer etc.), and I also am thankful for the people who took part in my discussion.

If time allows, I might go to a JoomlaCamp again, yep.

Funny aside: throughout the day, there were quite a few references to WordPress. 😀 Not sure if it was only because of me, or not. 😉

Did That Yourself?

What about you? Have you ever been to some event that is not (directly) about something you are (heavily) involved with? Maybe even something that included some sort of conflict potential?

I really can only recommend doing this, and if only for a single time. It will broaden your horizon as well as knowledge. And maybe you will even have a little fun, too…

2 Comments

Thanks for your interesting read on Joomlacamp 2017. As Joomla developer I went to WordCamp Netherlands 2016. I met a lot of friendly people who use WordPress as tool to create websites. They were as passionate about WordPress as I am about Joomla. I had a great time, friendly conversations and learned new things.

Regarding your comment of using the WordPress REST API: I am aware that WordPress 4.4 core has a REST API feature since October 2015. I hope that we get something similar in Joomla soon too 🙂 I’ve experimented with REST & IoT in the past. I decided to use MQTT because it is somewhat lighter then REST and supports many-to-many communication. The slides of my “Internet of Things” presentation are available: http://slides.db8.nl/joomlacamp17-communicating-with-iot.html