Last week, I drove up to Minneapolis and attended Twin Cities DrupalCamp. I have only made it to the conference once before, way back in 2016, to present about the beginnings of Drupal Commerce 2.x. This is the first time Twin Cities DrupalCamp has been held at the end-of-summer/beginning-of-fall period. Twin Cities DrupalCamp was always held in June, which always conflicted with other events and family time at the end of the school year.
Twin Cities DrupalCamp was on Thursday and Friday. Each day had four session slots, with the afternoon set aside for an unconference time. I enjoyed this format. It can be mentally taxing to sit through sessions all day. It was a nice break of pace to have more casual conversations about different topics in the afternoon. After all, one of the best parts of getting together at a conference is for those serendipitous moments.
All of the session recordings are now available on YouTube: https://www.youtube.com/playlist?list=PLztBsFl4ot8t3uTki5JGMydmBdZPFOCaU. Thank you, Kevin Thull, for providing the recording equipment and recordings for so many conference sessions through your Drupal Recording Initiative.
It was a short trip for me. I drove to Minneapolis Wednesday afternoon and went home Friday afternoon. It's usually a 5-6 hour drive. However, the trip took a bit longer, about 7 hours, because the rental company gave me a Tesla Model 3. That was pretty cool because I have never driven a Tesla, let alone any electric car. The extra time was due to chargers not being as easily accessible off the interstate as if going to a gas station, and, of course, the actual charge time. It was a cool experience. And it only cost roughly $30 in charging fees, versus the two probably tanks of gas costing $120 ($3.75 a gallon at 16 gallons.)
Save time upgrading from Drupal 7 to Drupal 10 using Retrofit
Twin Cities DrupalCamp was also my first time talking about Retrofit for Drupal. On Thursday morning, I gave my "Save time upgrading from Drupal 7 to Drupal 10 using Retrofit" talk. You can download the slides as well.
The session was well attended and led to some great discussions, included in the recording at the end. Overall there was a lot of positive feedback. It led to some more interesting discussions about Drupal 7 during the unconference on Friday.
Unfortunately I missed a few sessions on Thursday. After I gave my session I had to take a work call. Then I missed lunch and the Tiffany Farriss keynote, but I had the rare opportunity to get an in-real-life lunch with my manager. Luckily, I knew the sessions were going to be recorded!
I am ready to watch A WordPresser in a Drupal World over the weekend. Open source projects should always be reviewing their developer experience and finding ways to make it easier to onboard developers from other platforms.
I am also going to watch Decoupled Drupal Dev on Docker with Docksal Doing the Dirty Work. Doing decoupled application development in Drupal is weird. When you're using Symfony or Laravel it's very easy to have the frontend and backend code in the same repository, in fact those framework applications can mount the application for you. With how Drupal handles rendering, it's a bit more difficult because we can't completely remove the theme system and have non-admin or non-API routes "just" served from a single page application. Also, you may not want this approach if you're using a full-stack framework like Next.js. I have set up a workflow using DDEV and networking between projects. I'm really curious to see what J.D. has setup.
I was able to catch Building In Public- How live-streaming software development can supercharge your programming abilities. I was excited to see this since I do coding via live-streaming. It was really cool getting to meet Mark Dobossy and his journey with live-streaming. He isn't a Drupal developer. He's an Angular and Ionic developer. If I'm remembering correctly, J.D. (who also live-streams!) suggested Mark should give this talk, since he's local to the area.
So, as a plug, here are all of our Twitch channels:
- Mark (FiniteSingularity): https://www.twitch.tv/finitesingularity
- J.D (JDDoesDev): https://www.twitch.tv/jddoesdev
- Me (mglaman): https://twitch.tv/mglaman
Thursday night there was a social at the House of Balls, where we had some delicious BBQ. While I didn't partake, there was definitely karaoke.
Friday was a really packed day.
The morning kicked off with Matthew Tift and Habits of an Effective Drupal Contributor. Even though I am definitely not a first-time contributor, I am sure I have various habits that I can improve to be an even more effective contributor. I really enjoyed this session, especially grounding myself in the basics that newcomers experience. It has been 10 years since I was in that position.
Next I caught Brian Perry's The Drupal API Client Project session. The Drupal API Client project was one of the funded projects from the Pitchburg Innovation Contest. There are plenty of JSON:API or GraphQL clients. But there isn't a Drupal client. Yes, technically Drupal implements specifications and there isn't anything Drupal-specific. But it is something needed for brand presence, as you can see from Brian's presentation when you search NPM for
drupal. I am really excited about this project because of my history of API-first e-commerce with Centarro and my new work at Acquia (yet to be announced.)
When you see that Steve Persch is giving a session, you just go. The Fourth Decade of Website Deployments covered the ways creating websites has evolved over time – from simple servers to edge distribution, to the micro-ization of all the things, to the future of edge computing. I haven't watched the recording yet so I don't know how much was caught on camera (he had a few pointed to catch the props.) But it's a great watch regardless.
After lunch I caught Cooking with Caching: Drupal code served fast! by Tess Flynn (socketwench.) It was a fun themed session. Caching is a complex topic and it covered many components of Drupal's caching.
I stuck around for the first unconference session. We had a table to discuss the concept of a Drupal 7 soft landing. There are a few options for Drupal 7 sites, and they are all outlined on the Drupal 7 End of Life landing page. There are a few problems.
Do people know they even have a Drupal 7 site? Some people will read this and go "how not?" the others have worked with non-profits or very small businesses. One of the folks at the table (I'm so sorry your name is escaping me!) doesn't even do Drupal anymore, but knows he built several sites on Drupal 7 and those organizations may have no idea their website will be running on end-of-life software. He felt is in his good conscience to make sure they were on a stable platform.
THEMES. We discussed a lot about themes. Migrating from Drupal 7 to Drupal 10 will require writing your theme to move from PHPTemplate to Twig amongst other changes. I've been working on Retrofit to support themes and PHPTemplate overrides, but will it be enough? Moving to Backdrop also requires reworking your theme. Backdrop still uses PHPTemplate but has made some of the same internal changes of variables available to templates that Drupal has done.
A proper workflow of what an organization needs for their migration. Do organizations really have a great way to understand their Drupal 7 migration? Do they know part of the migration is evaluating the amount of module dependencies and compatibilities? Do they have any custom code? If the site is only a few modules and no custom code, it could be extremely easy to migrate. Do they have a custom theme? Chances are, yes. Are they considering a redesign/refresh as part of the upgrade? These kind of workflows can help organizations make decisions. Or, it could be a template that smaller agencies can use when creating proposals for clients.
Twin Cities DrupalCamp 2024
It hasn't been announced if there will be a Twin Cities DrupalCamp 2024. But I have a good feeling there will be. I'm looking forward to attending next year!
Want more? Sign up for my weekly newsletter