Drupal Planet

Last week I visited the city of Prague to attend the European DrupalCon 2022. The even was held between September 20th and 23rd, and was attended by over 1,200 people.

This was my first physical conference since DrupalCamp London 2020, and the first DrupalCon I have attended since DrupalCon Dublin 2016. Despite the worries about covid I was still pretty exited to attend the event. I arrived on Monday night and as the event didn't start properly until Tuesday afternoon it gave me a small chance to explore the city of Prague before the conference started.

There were so many talks, sessions, meetings, and events during DrupalCon that I could write for pages and pages about the conference. I am quite sure, however, that no one would actually read all of that I'll just post a couple of highlights from each day and provide a sum up at the end.

Image removed.

Tuesday

After the initial welcoming talk the conference started with an introduction to some of the initiatives that are being worked on at the moment, each one introduced by a member of the initiative team. The initiatives discussed where CKEditor 5, project browser, project update bot, GitLab integration, localize.drupal.org, distributions and recipes, and automatic updates.

Read more.

Drupal Planet

If you look over this blog, or know me, you will see that I’ve now have reasonably significant experience as both a Salesforce and Drupal developer. The last couple weeks I have been thing about what from my Drupal experience supports my work as a Salesforce developer.

I think there are three parallels that are encouraged in Drupal developers that helped me learn to be a good Salesforce developer quickly.

  1. Embrace, don’t fight, Platform Constraints
  2. Extend the Platform’s Strengths
  3. Leverage Events

Embrace Salesforce Platform Constraints

Both Drupal and Salesforce run in constrained environments. Web applications, regardless of their purpose, have to protect themselves against bad actors and bad neighbors. There are execution timeouts and memory limits, for both platforms. Salesforce adds a variety of additional limits and governors, but they are all logical extensions about memory and time. Lots of other platforms allow developers to ignore resource use until they reach a crisis point. Don’t believe me, just check the memory used by Chrome, Electron Apps, or any other Chromium-based application.

Working in resource constrained environments forces you to think through how to use the resources you do have efficiently. While these platforms aren’t like working on hardware with highly limited resources, they still can test your resourcefulness.

Drupal and Salesforce both provide ways to run large jobs across many processing contexts. New developers on both platforms often only resort to using batch and queueable operations as a last resort, but learning to use those solutions is critical to success on most interesting projects. When you try to avoid them you create solutions that appear to work and fail at scale.

Coming to Salesforce from Drupal, I already knew and understood the importance of asynchronous batch processing. So when solutions needed batch processing it was second nature to learn that part of the platform.

Extend the Platform’s Strengths

For all Salesforce’s push and marketing to avoid code, Salesforce developers are often taught that once you write code you just do everything in your code. The interfaces you can use to extend the platform’s existing solutions are treated as advanced topics. But when you work with Drupal, you are encouraged from the start to create modules that build on and extend the platform’s existing strength. Drupal developers are encouraged to leverage the features and utilities all around them.

This has always been true, but even more after Drupal’s move to leverage Symphony plugins and services. As a developer used to extending the platform, I came to Salesforce looking for ways to extend the platform’s declarative tools.

Often Salesforce developers create powerful solutions built purely in code triggered by record changes or simple buttons. They look passed Apex Actions that extend the Flow declarative automatons, platform events, and other tools that extend the system. But when you embrace a platform’s basic structures you often create more flexible solutions than your could with pure code.

The mind set of extending a platform, which I brought with me from my Drupal work helps me create tools and solutions that are designed to adapt over time.

Leverage Events

Event driven architectures are not new, but their popularity continues to grow. Where platforms used to follow informal patterns that equated to event systems, now we see formal event structures being build to replace old habits.

Drupal and Salesforce both have had event frameworks for a long time: Drupal had hooks (events by naming convention), Salesforce had triggers.

Both have seen major upgrades to their event patterns in recent versions. Platform events in Salesforce, still making their full power clear to a lot of developers. Symphony brought proper events to Drupal in version 8 and continue to help push the platform forward.

I have learned to leverage the events systems on both platforms. Understanding them as tightly constrained state machines, and learning to push them to their limits, helps me get the most from both platforms.

My experience with Drupal hooks and events has made it obvious to me when to leverage Salesforce’s Platform events. As Salesforce increases the number of places you can use them in their declarative tools, it increases the value of this approach.

So What?

As a developer, what you learn in one part of your career can make you stronger in the next. As a field we’re not actually that creative. Even if the details are different, the concepts will often carry forward because they are built on the same fundamentals. Whatever platform you are using today, learn how to make it sing – it’ll help you learn the next faster and better.

The post What I Brought from Drupal to Salesforce appeared first on Spinning Code.

Drupal Planet

We had hardly learned the Czech greeting “Dobrý den” when the time came to say goodbye. The long-awaited DrupalCon Prague, Europe’s biggest Drupal conference, rushed by like a shooting star leaving vivid memories. Let’s collect them one by one right now! The same happy author who wrote the expectations of a first-time attendee is here for you again with a recap of the most memorable moments of DrupalCon Prague 2022.

Drupal Planet

Last week I visited the city of Prague to attend the European DrupalCon 2022. The even was held between September 20th and 23rd, and was attended by over 1,200 people.

This was my first physical conference since DrupalCamp London 2020, and the first DrupalCon I have attended since DrupalCon Dublin 2016. Despite the worries about covid I was still pretty exited to attend the event. I arrived on Monday night and as the event didn't start properly until Tuesday afternoon it gave me a small chance to explore the city of Prague before the conference started.

There were so many talks, sessions, meetings, and events during DrupalCon that I could write for pages and pages about the conference. I am quite sure, however, that no one would actually read all of that I'll just post a couple of highlights from each day and provide a sum up at the end.

Image removed.

Tuesday

After the initial welcoming talk the conference started with an introduction to some of the initiatives that are being worked on at the moment, each one introduced by a member of the initiative team. The initiatives discussed where CKEditor 5, project browser, project update bot, GitLab integration, localize.drupal.org, distributions and recipes, and automatic updates.

Read more.

Drupal Planet

If you look over this blog, or know me, you will see that I’ve now have reasonably significant experience as both a Salesforce and Drupal developer. The last couple weeks I have been thing about what from my Drupal experience supports my work as a Salesforce developer.

I think there are three parallels that are encouraged in Drupal developers that helped me learn to be a good Salesforce developer quickly.

  1. Embrace, don’t fight, Platform Constraints
  2. Extend the Platform’s Strengths
  3. Leverage Events

Embrace Salesforce Platform Constraints

Both Drupal and Salesforce run in constrained environments. Web applications, regardless of their purpose, have to protect themselves against bad actors and bad neighbors. There are execution timeouts and memory limits, for both platforms. Salesforce adds a variety of additional limits and governors, but they are all logical extensions about memory and time. Lots of other platforms allow developers to ignore resource use until they reach a crisis point. Don’t believe me, just check the memory used by Chrome, Electron Apps, or any other Chromium-based application.

Working in resource constrained environments forces you to think through how to use the resources you do have efficiently. While these platforms aren’t like working on hardware with highly limited resources, they still can test your resourcefulness.

Drupal and Salesforce both provide ways to run large jobs across many processing contexts. New developers on both platforms often only resort to using batch and queueable operations as a last resort, but learning to use those solutions is critical to success on most interesting projects. When you try to avoid them you create solutions that appear to work and fail at scale.

Coming to Salesforce from Drupal, I already knew and understood the importance of asynchronous batch processing. So when solutions needed batch processing it was second nature to learn that part of the platform.

Extend the Platform’s Strengths

For all Salesforce’s push and marketing to avoid code, Salesforce developers are often taught that once you write code you just do everything in your code. The interfaces you can use to extend the platform’s existing solutions are treated as advanced topics. But when you work with Drupal, you are encouraged from the start to create modules that build on and extend the platform’s existing strength. Drupal developers are encouraged to leverage the features and utilities all around them.

This has always been true, but even more after Drupal’s move to leverage Symphony plugins and services. As a developer used to extending the platform, I came to Salesforce looking for ways to extend the platform’s declarative tools.

Often Salesforce developers create powerful solutions built purely in code triggered by record changes or simple buttons. They look passed Apex Actions that extend the Flow declarative automatons, platform events, and other tools that extend the system. But when you embrace a platform’s basic structures you often create more flexible solutions than your could with pure code.

The mind set of extending a platform, which I brought with me from my Drupal work helps me create tools and solutions that are designed to adapt over time.

Leverage Events

Event driven architectures are not new, but their popularity continues to grow. Where platforms used to follow informal patterns that equated to event systems, now we see formal event structures being build to replace old habits.

Drupal and Salesforce both have had event frameworks for a long time: Drupal had hooks (events by naming convention), Salesforce had triggers.

Both have seen major upgrades to their event patterns in recent versions. Platform events in Salesforce, still making their full power clear to a lot of developers. Symphony brought proper events to Drupal in version 8 and continue to help push the platform forward.

I have learned to leverage the events systems on both platforms. Understanding them as tightly constrained state machines, and learning to push them to their limits, helps me get the most from both platforms.

My experience with Drupal hooks and events has made it obvious to me when to leverage Salesforce’s Platform events. As Salesforce increases the number of places you can use them in their declarative tools, it increases the value of this approach.

So What?

As a developer, what you learn in one part of your career can make you stronger in the next. As a field we’re not actually that creative. Even if the details are different, the concepts will often carry forward because they are built on the same fundamentals. Whatever platform you are using today, learn how to make it sing – it’ll help you learn the next faster and better.

The post What I Brought from Drupal to Salesforce appeared first on Spinning Code.

Drupal Planet

We had hardly learned the Czech greeting “Dobrý den” when the time came to say goodbye. The long-awaited DrupalCon Prague, Europe’s biggest Drupal conference, rushed by like a shooting star leaving vivid memories. Let’s collect them one by one right now! The same happy author who wrote the expectations of a first-time attendee is here for you again with a recap of the most memorable moments of DrupalCon Prague 2022.

Drupal Planet

The first-in-a-long-time offline DrupalCon held in Prague was a much awaited event for all Drupalists in Europe. The Lemberg Solutions team couldn't miss it either, so we packed our laptops and rushed away.

Drupal Planet

This blog has been re-posted and edited with permission from Dries Buytaert's blog.

DrupalCon Europe 2022 Driesnote presentation

Last week, over 1,200 Drupalists gathered in Prague for DrupalCon Europe. It was great to see everyone together in person.

In good tradition, I delivered my State of Drupal keynote. You can watch the video of my keynote or download my slides (380 MB).

Image removed.

Why the Open Web should win

Today the web is ingrained in every aspect of our daily lives. We use it for work, to socialize, to pay our bills, get healthcare, and gain access to information.

As more transactions, collaborations and interactions are taking place online, there is now a greater responsibility to ensure that the web is inclusive of every person, and accounts for everyone's safety.

When people are excluded from being able to access online experiences, they are also excluded from rewarding careers, independent lifestyles, and the social interactions and friendships that bring people together.

For those reasons, we need to do everything we can to protect and grow the Open Web.

Image removed.

Caring about Drupal is caring about the Open Web

In my keynote, I made the point that Drupal is an important player in the preservation and growth of the Open Web.

I kicked off my keynote talking about some of my personal reasons for using Drupal, most of which have to do with the future of the Open Web.

After all these years, I continue to upload my photos to my website, despite there being plenty of simpler alternatives (e.g. Facebook or Instagram). I do this for a number of reasons.

First, my photos are precious to me, and I don't want them to get lost. I look at news stories about MySpace and Facebook losing users' content. I like that I'm in control of my own data, including my backups.

Second, I don't like how proprietary platforms limit my creative freedom. Pages and templates within a closed platform tend to look the same. It's hard to stand out, or even just express yourself the way you want to. With Drupal, I'm unrestricted in how I share my photos.

Third, I don't like how these platforms treat my friends and family. Many of them use invasive tracking. For that reason, I don't use trackers or ads on my website. My site aspires to the privacy of a printed book.

All of these are reasons why I want both Drupal and the Open Web to win. We don't want to live in a world where proprietary platforms reign supreme. We need more "Good Software". Software that is open, flexible, secure, accessible, and pro-privacy.

Making security, privacy, accessibility, multilingual capabilities, usability, and ease of maintenance top priorities is hard work work, but it's worth it. Caring about Drupal is the same as caring about the Open Web.

Drupal's growth and influence

Image removed.

The good news is that Drupal has grown into a powerful platform for ambitious site builders. Drupal empowers millions of ambitious site builders to create Open Web experiences.

However, we have to get better at promoting what we're good at to ensure more people understand how powerful and influential Drupal is. That influence becomes really clear when you look at Drupal's end users.

Making Drupal's high bar easier to achieve

Because of Drupal's impact on the digital landscape, we keep a high bar with regards to stability, reliability, accessibility, security, backwards compatibility, and more. With great impact comes great responsibility.

This high bar can make contribution difficult and slow, and is sometimes what keeps people from contributing back more to Drupal.

Unfortunately, we can't lower the bar. However, we can make it easier to achieve our high bar. That's why we are moving from Drupal's homegrown collaboration tools to GitLab.

GitLab streamlines and automates various steps of the contribution process. Check out the Drupal.org GitLab video from the Drupal Association for an update.

Welcoming more people to Drupal 10

Another way to accelerate innovation is to grow our capacity and attract more people to Drupal.

The best way to attract new people to our community is by making easy-to-use software that solves real world problems.

Since my previous DrupalCon keynote, I'm happy to report that we've made a lot of progress on our key initiatives. A few key highlights:

  • Olivero became stable/default
  • CKEditor5 became stable/default
  • We're almost PHP 8.2 ready
  • We upgraded to Symfony 6
  • And we made Drupal Core smaller

Each of these initiatives is significant because they make Drupal and the Open Web more approachable.

In addition, the Project Browser initiative and Automatic Updates initiative saw tremendous progress. Videos below.

To learn more about Drupal's strategic initiatives, you can watch the Drupal Core Initiative Leads keynote. Highly recommended for those that want to contribute.

Upgrading to Drupal 10

Drupal 10 is scheduled to be released in mid-December. And after the Drupal 10 release, users will have 11 months to upgrade from Drupal 9 to Drupal 10. Drupal 10 will require PHP 8.1, something to plan for as well.

Image removed.
Drupal 10 will be released on December 14, 2022. This gives site owners until November 2023 to update from Drupal 9 to Drupal 10.

Luckily, the upgrade path has never been easier. In the video below, we compare the upgrade path from Drupal 8 to Drupal 9 to the upgrade from Drupal 9 to Drupal 10. As you can see, the Drupal 9 to 10 upgrade is much more automated. It will be the easiest yet!

The update to Drupal 10 is required because some of Drupal 9's third-party dependencies will reach end-of-life. If you don't upgrade within 11 months, you will be running a site with unmaintained third-party dependencies.

Image removed.
We recently released the first Drupal 10 beta release. At the time we released Drupal 10 beta-1, 3 times as many modules were ready compared to when we released Drupal 9 beta-1. More than a 1,000 modules are already ready for Drupal 10!
Image removed.
Thanks to various focused initiatives, Drupal is starting to get easier. Drupal 8 was peak difficulty.

Thank you

I hope we can all find ways to care about building the web we want to see for the future. Making Drupal better means making the Open Web better.

I'd like to thank everyone that was involved in making DrupalCon Prague, Drupal 10, and the key initiatives described above a resounding success.

Last but not least, I'd like to encourage even more people to get involved. It might not always be easy, but it's well worth it.

Drupal Planet

We’re so excited to share about a program that we're working on inside of the Lullabot team – Healthy Minds @Work. This is a science-based app and program shown to help strengthen your well-being skills. The Healthy Minds program was built by neuroscientists and is designed to teach and measure skills associated with emotional well-being using meditation and other contemplative practices.

A group of 'Bots get together to discuss the program and the 30-Day Challenge that's been going on inside Lullabot.