Json | Html

rss

Tag1 Consulting: Migrating Your Data from Drupal 7 to Drupal 10: Assumptions of the API

As pointed out in the first article, the Migrate API scope is to move over content and configuration. Porting modules and themes are out of scope. With that in mind, let’s take a closer look at some of the assumptions and limitations. In addition to what will be presented in today’s article, I highly recommend reviewing the official documentation for upgrading from Drupal 7. Drupal is ever-evolving and the Migrate API documentation gets updated regularly. Of particular importance, review the page on known issues when upgrading from Drupal 7, as things get added and removed from that list as issues are discovered and fixed.

mauricio read more
08.05.2024

rss

1xINTERNET blog: 1xINTERNET supports the new Drupal Starshot

Dries announced the Starshot initiative, a default CMS config for easy Drupal project creation, prioritizing no-code and low-code features. 1xINTERNET supports the strategy to promote Drupal through pre-configured application and will contribute to Starshot's success.

read more
08.05.2024

rss

The Drop Times: Which CMS Powers Your Country's Official Website? A Global CMS Usage Analysis

A growing trend is seen in governments favouring free and open-source solutions (FOSS) for their official websites. The potential benefits of FOSS include enhanced security, flexibility, and cost savings. But how widespread is this trend, and which specific systems are gaining traction? To understand the scope of this trend, we examined the official websites of 195 countries globally. This analysis digs deeper into the trend of governments favouring free and open-source solutions for their online presence, uncovering which CMS systems—including Drupal, WordPress, and others—are most preferred for official government communication. read more
08.05.2024

rss

Dries Buytaert: State of Drupal presentation (May 2024)

This week, approximately 1,400 Drupal enthusiasts came together for DrupalCon North America in Portland, Oregon. As a matter of tradition, I delivered my State of Drupal keynote, often referred to as "DriesNote". In case you missed it, you can watch the video or download my slides (385 MB).

This year's keynote was inspired by President John F. Kennedy's famous "Moonshot" speech. After being global leaders, the U.S. had fallen behind in the Space Race. Challenged by the Soviet cosmonaut program, President Kennedy rallied Americans around the ambitious goal of landing on the moon before the decade was out.

Drupal Starshot, a new version of Drupal

Drupal has always been known for its low-code capabilities. However, many competitors now offer similar features, and in some areas, they even surpass what Drupal provides. While Drupal is celebrated for its robustness, it can be challenging for newcomers, especially those with limited technical expertise. So in my keynote, I was excited to introduce Drupal Starshot, our "Moonshot" to make Drupal more accessible and easier to use.

Twenty-three years after Drupal's inception, we are preparing to launch a second official version of Drupal. For the time being, we're calling this second version "Drupal CMS". It will be built on top of Drupal Core and common contributed modules, and available as a separate download alongside Drupal Core.

Wireframe of the Drupal.org download page featuring two options: Drupal CMS (Drupal Starshot) and Drupal Core, with Drupal CMS being promoted as the preferred starting point for most.

Drupal Starshot will be designed to have a great out-of-the-box experience. It will enable Ambitious Site Builders without Drupal experience to easily create a new Drupal site and extend it with pre-packaged recipes, all using their browser.

The vision for Drupal Starshot is the outcome of highly productive brainstorming sessions with Drupal Core Committers, the Drupal Association, colleagues at Acquia, various Drupal agencies, and others.

From an implementation standpoint, it will primarily rely on the Project Browser and Recipes initiatives, while also incorporating elements from the Experience Builder initiative. We actually started prototyping Drupal Starshot a few weeks ago and showcased our progress at DrupalCon. Our goal is to launch a first version of Drupal Starshot within 8 months.

At DrupalCon, hundreds of people pledged to get involved, and we had two "super BoFs" with over 50 people each. If you're interested in getting involved with the Drupal Starshot project, you can register your interest at https://drupal.org/starshot. Additionally, join the conversation in the #Starshot channel on Drupal Slack.

Drupal's brand refresh and marketing strategy

Alongside our technical efforts, we've launched a bold marketing strategy. At DrupalCon Lille, I discussed the need for a fresh marketing approach. Since then, we've made tremendous progress.

I introduced a Drupal brand refresh, which includes updated brand guidelines to ensure a consistent and modern visual identity. This refresh aims to invigorate our brand – making it more vibrant and appealing to newcomers, while still honoring our history and representing our diverse, global community.

I couldn't cover all the details around the brand refresh in my keynote, so I'm expanding on them in this blog post. For a detailed explanation of Drupal's refreshed brand, check out this video by Shawn Perritt: Drupal 2024 brand refresh explained.

Our efforts went beyond just a brand refresh. The Marketing Committee has also guided the community in developing a comprehensive marketing toolkit, which includes messaging guides, pitch decks, and more. All these resources will be available at https://www.drupal.org/marketing.

Let's reach for the stars

As we advance with Drupal Starshot, I recall President Kennedy's famous words:

We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win.

Embracing the Drupal Starshot initiative reflects a similar ethos; we're not choosing the easy path, but the one that tests our strength, creativity, and ability to do hard things. The success of Drupal Starshot will be a testament to the incredible collective power of the Drupal community. It's a challenge we are also unwilling to postpone, and intend to win.

Drupal Starshot is more than a technological leap; it represents a shift in how we think, innovate, and collaborate. It's about reaching for the stars and making the Open Web accessible to everyone.

Thank you for being part of this journey. I can't wait to see where it takes us together. The feedback from the last two days at DrupalCon has been overwhelmingly positive. I am more committed than ever and excited to pledge a significant amount of my time to this mission, and to the future of Drupal.

read more
08.05.2024

rss

Acquia Developer Portal Blog: DrupalCon Portland Day 1 Recap

DrupalCon Portland (2024 edition) kicked off with a bang at the Oregon Convention Center yesterday. This is the third time the conference has been at this venue–and I’ve been fortunate enough to attend all three. And, this year’s iteration is shaping up to be a really significant entry in the DrupalCon codex. 

read more
07.05.2024

rss

The Drop Times: Detailed Overview of the 2024 Drupal Developer Survey Results

The 2024 Drupal Developer Survey, led by Jeff Geerling, Chris Urban, and Michael Richardson, provided a comprehensive overview of the global Drupal community. With 648 developers from 65 countries, including significant contributions from the United States, France, and India, the survey showcased a mature developer base, with 76% aged between 30 and 49. Despite regional variations in sentiment, community engagement remained strong, with 65% participating in Drupal events, and 80% expressing optimism for Drupal's future. Notable trends included the rise of decoupled architectures and the endorsement of DDEV as the preferred choice for integrated development environments (IDEs) and local environment managers. The survey also highlighted opportunities for the Drupal Association to enhance its visibility and communication efforts. These insights will inform strategies for fostering growth and innovation within the ecosystem. read more
07.05.2024

rss

The Drop Times: Tim Hestenes Lehnen Delves into 'Fog & Fireflies': A Journey of Magic and Metaphor

Discover the enchanting world of 'Fog & Fireflies' as Tim Hestenes Lehnen shares the story behind his latest fantasy novel in an exclusive interview with Kazima Abbas. Uncover the inspiration, themes, and secrets that await within the pages of this captivating tale. read more
07.05.2024

rss

The Drop Times: Introducing Drupal Starshot and Charting a New Course for the Future

Discover the highlights from DrupalCon Portland 2024, where Dries Buytaert presents the latest innovations including Drupal Starshot. Explore the significant strides toward enhancing usability, inclusivity, and the global impact of Drupal on maintaining an open, accessible web. Join the movement shaping the future of digital experiences. read more
07.05.2024

rss

Specbee: Using Drupal 10’s Asset Library to Streamline Asset Handling

Drupal 7 lacked a streamlined mechanism for handling assets, which necessitated the development of more efficient solutions like the Asset Library introduced in Drupal 8 and the latest versions. Asset library solves the problem of loading JS and CSS files on every page. However, unless specified, Drupal does not load these assets as it can affect front-end performance. Let’s learn more about asset libraries in Drupal 10 and how to work with them. What is an Asset Library in Drupal An Asset library in Drupal is nothing but a YAML data structured inside a THEMENAME.libraries.yml file and they contain only CSS and JS files. They are the bundles of CSS and JavaScript files that present inside a module or theme and perform together for style and functionality. The Asset Library in Drupal provides a centralized and organized repository for managing various types of digital assets. Assets Library boasts various features designed to enhance usability, scalability, and flexibility. Asset Library in Drupal is designed to support responsive web design, ensuring that assets are displayed consistently on various devices. Drupal places a strong emphasis on accessibility, and the Asset Library follows these standards to ensure a positive user experience for all. Drupal's Asset Library includes version control features, allowing users to manage and track changes to assets over time. Performance Optimization Define an Asset Library Let’s declare a new Asset library named custom-slider. custom-slider:   version: 1.0   CSS:     theme:       css/custom-slider-theme.css: {}   js:     js/custom-slider.js: {}Some of the attributes used include: Minified: If the file is already minified, set this to True to avoid minifying it again, else default value is False. Preprocess: Default value is True, set to False to exclude a file from Aggregation. Type (Javascript Only):        ◦ The default value is a file, if you leave it blank.       ◦ For external files, use type as external like: //cdn.com/js/example.js: {type: external}Assets Loading Order By default, all JS files are loaded in the order in which files are listed. By default, JS files are loaded in the footer. Set header: true for a library to get loaded in the header. For example: jquery.ui:   header: true   js:     assets/vendor/jquery.ui/ui/core-min.js: {}SMACSS Categorization Drupal follows a SMACSS-style categorization and all CSS files are loaded first based on their category and then by the order. SMACSS categorization is used to set the weight of CSS files, this will not work for JS files. To set CSS weights there are 5 different levels:       ◦ base – This rule consists of styling HTML elements only. CSS_BASE = -200       ◦ layout – Macro management of page or arrangements of elements on the page, including any grid system. CSS_LAYOUT = -100       ◦ component – Components are reusable and discrete UI elements. CSS_COMPONENT = 0       ◦ state – Styles that deal mostly with client-side changes such as hovering links, opening modal dialog, etc. CSS_STATE = 100       ◦ theme – This is purely visual styling such as box-shadow, backgrounds, borders, colors, etc. CSS_THEME = 200 Attach an Asset Library 1. Globally:  We can attach the asset library globally via the THEMENAME.info.yml file, but this approach would work only for a Theme. For any modules you should use hook_page_attachments_alter() or similar. For example: name: 'My Custom Theme' type: theme description: 'A custom Drupal 9 theme for demonstration purposes.' package: Custom core_version_requirement: ^8 || ^9 || ^10 base theme: false libraries:   - THEMENAME/global-styling   - THEMENAME/global-scripts2. Conditionally, via a preprocess function using #attached:  If you need to restrict the library to a particular page or element, then this is the best way to add libraries. For example:Taking a case where we need to attach a library to our page, then we can use hook_page_attachments_alter(): /** * Implements hook_page_attachments_alter(). */ function custom_module_page_attachments_alter(array &$attachments) {   // Adding stylesheet to the page.   $attachments['#attached']['library'][] = 'custom_module/custom-styles';     // Add a custom JavaScript file to the page.   $attachments['#attached']['library'][] = 'custom_module/custom-scripts';   }Or hook_preprocess_page(): /** * Implements hook_preprocess_page(). */ function custom_module_preprocess_page(&$variables) {   // Adding stylesheet to the page.   $attachments['#attached']['library'][] = 'custom_module/custom-styles'; }Similarly, with different preprocess functions we can attach a library using the #attached render array property like: /** * Implements hook_page_attachments_alter */ function custom_module_attachments_alter(array &$page) {   // Get the current path.   $path = $current_path = \Drupal::service('path.current')->getPath();   // If we're on the node listing page, add our retro library.   if ($path == '/node') {     $page['#attached']['library'][] = 'custom_module/custom-styles';   } }3. Inside a Twig template file: Use attach_library() in twig template. {# Attach a CSS library #} {% attach_library('my_theme/global-styling') %} {# Attach a JavaScript library #} {% attach_library('my_theme/global-scripts') %}Final Thoughts Assets Library in Drupal (versions 8 and above) has a profound impact on web development. It centralizes the management of CSS and JavaScript files within modules or themes, ensuring consistency and ease of maintenance across a website or application. By bundling these assets together, developers can efficiently control the presentation and functionality of their digital creations. If you’re looking to implement fantastic features of Drupal like this one in your next project, we have a team of Drupal experts who can help you. We’d love to talk! read more
07.05.2024

rss

Capellic: Frontend performance optimization for Drupal websites: Part 3

This is part 3 of a series of articles that defines our approach to frontend performance optimization. In this part we challenge the prevailing wisdom of the monolithic CSS file. read more
07.05.2024

rss

Horizontal Digital Blog: Try this one weird trick with the Migrate API

One of the key concepts of the Drupal Migrate API is the so-called process pipeline, in which we pass a value that is transformed by a series of process plugins. From time to time we find ourselves in the middle of a process pipeline wishing we could easily reference the current value in the process pipeline. I even created an issue on Drupal.org asking for this feature. As it turns out, the feature already exists! That is, as long as you know this one weird trick... read more
06.05.2024

youtube

embed image

Driesnote: DrupalCon Portland 2024

Belgium-born Drupal founder Dries Buytaert is a pioneer in the open-source web publishing and digital experience platform space. In his traditional Driesnote at DrupalCon Portland 2024, he presents an update on the project and Drupal's development. read more
Drupal Association 06.05.2024

rss

Talking Drupal: Talking Drupal #449 - Agile Methodologies

Today we are talking about Agile Methodologies, How to pick the best one, and why they matter with guest Chris Wells. We’ll also cover CKEditor Text Transformation / AutoCorrect as our module of the week.

For show notes visit: www.talkingDrupal.com/449

Topics
  • Drupal FL Camp talk
  • Fundamentals of Agile
  • How do you square long term planning
  • What is Redfin Solutions's preferred methodology
  • What is Crystal Agile Methodology
  • Do other methodologies have web specific versions
  • Would you agree that large companies can use different agile methodologies
  • Have you ever used Scrumban
  • Listener Question: Shivan xamount:: Story points are usually equated to fibonacci numbers. These are not supposed to correlate to hours, what do you think about that?
Resources Guests

Chris Wells - chrisfromredfin.dev chrisfromredfin

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Matthew Grasmick - grasmash

MOTW Correspondent

Martin Anderson-Clutz - mandclu

  • Brief description:
    • Have you ever wanted CKEditor to autocorrect symbols like the copyright mark, the “not equals” sign, and fractions, from their text equivalents? There’s a module for that
  • Module name/project name:
  • Brief history
    • How old: created in Mar 2024 by Gedvan Dias of Redfin Solutions
    • Versions available: 1.0.0-alpha1, which works with CKeditor 4 on Drupal 8, and 2.0.0-alpha1, which works with CKEditor 5 on Drupal 9 and 10
  • Maintainership
    • Actively maintained, was released just a few weeks ago
    • Not much documentation of its own, but the module leverages CKEditor’s Automatic text transformation, which has a fair bit of documentation on CKEditor.com
    • Number of open issues: only 1 open issues, which is the Project Update Bot’s automatically-created Drupal 11 compatibility issue
  • Usage stats:
    • 8 sites
  • Module features and usage
    • By default the module enables four categories of transformations: 'symbols', 'mathematical', 'typography', and 'quotes'
    • You can override the module’s plugin if you want a different set enabled, but the module also provides a hook you can use to alter the active sets or define custom transformations, similar to using emojis in Slack, for example
read more
06.05.2024

rss

Drupal lead Dries Buytaert announces the guiding star for a new version of the Drupal CMS 23 years after its creation

PORTLAND, Ore., 6 May 2024—Twenty-three years after creating Drupal as a university student and hundreds of thousands of websites later, Dries Buytaert announced today that a new, parallel version of Drupal will launch at the end of 2024. Built on top of Drupal core and common contrib modules, and released in parallel, this new version will make the incredible power of Drupal more usable for all. Drupal is an Open Source CMS that is foundational to a great digital experience platform. Its reliable, highly secure, and flexible tools build the versatile, structured content needed to create dynamic web experiences.

Drupal Starshot is not a fork of Drupal - rather it is the aggregation of Drupal Core with the best of the contrib ecosystem and our most innovative strategic initiatives to make the power of Drupal easier to unlock for everyone. Empowering users with those capabilities is as crucial at the enterprise scale as it is for SMBs. 

This new, parallel version of Drupal will incorporate the best of the 50,000+ modules created over the past decade into a curated, out-of-the-box experience for organizations wishing to build powerful websites quickly.

“We built this amazing platform to power the most robust digital experiences. And now we will make it more accessible to non-developers,” said Dries. “Drupal Starshot is an initiative that will deliver this new version of Drupal within eight months.”

“The Drupal Association is excited to support the Drupal Starshot initiative and to begin marketing this version of Drupal as the first, best stop for those interested in understanding what Drupal can do,” said Owen Lansbury, Chair of the Drupal Association’s board of directors.

On 6 May, founder and project lead Dries Buytaert gave an inspiring keynote—also known as the Driesnote—introducing this new initiative: Drupal Starshot.

Dries described how, much like the race to space in the 1960s, Drupal is also in a race. The web is moving forward, with or without Drupal. Drupal has a long history of being a leader in the Open Web, but it needs its “Moonshot” moment. Dries reiterated how the future of Drupal’s success will come from broadening its usability to a wider audience. The way to do this, Dries said, is to open Drupal’s powerful tools to non-developers.

What is Drupal Starshot, and how does it differ from the Drupal we know today? Drupal Starshot does not replace the existing Drupal Core. In fact, Drupal Starshot will be built on top of Drupal Core, but have a different governance model to move fast, allowing for more innovation more quickly. 

After Drupal Starshot is introduced, when someone visits the Drupal.org download page we will promote two Drupal experiences: Drupal Core will still be promoted to expert users who want to build their Drupal solution from the core framework up. When Drupal Starshot is selected, it will automatically download core and a collection of recipes that take Drupal from a framework to something closer to a complete product, making it easier for new users to try and test out Drupal, all from right in their browser.

Drupal Core will still be the fundamental building block of Drupal Starshot and can still be used independently from Drupal Starshot for custom builds.

How will this new Drupal be different?

The Drupal that exists today, known as “Drupal Core,” will continue to exist and will be maintained by core maintainers. The Drupal Starshot initiative will introduce this parallel version of Drupal with a fully featured out-of-box experience. Starshot is not a fork, and not a separate migration or upgrade path from Drupal core, but instead helps guide Drupal users through many of the decisions they need to make to build on top of Drupal core as base. 

Features that Drupal Starshot will include are:

  • Next generation page builder
  • Project Browser + Recipes
  • Automatic updates
  • Key contributed modules
  • Easy configuration
  • Default content
  • And possibly more!

Drupal community members who are interested in contributing to the development of Drupal Starshot can submit their interest via this interest form or join Dries at several Birds of a Feather sessions happening during DrupalCon Portland.

Watch the full Driesnote on the Drupal Association YouTube Channel. 

About DrupalCon

This year, DrupalCon North America is a four-day conference held in Portland, Oregon, from 6-9 May. Over 1,300 professionals and Drupal users collaborate on the project for a week. The Drupal Association is a non-profit organization that caters to the needs of Drupal and its worldwide community. It focuses on the growth of the Drupal community and supports the project’s vision to create a safe, secure, and Open Web for everyone. 

About Drupal and the Drupal Association

Drupal is a powerful open-source content management system for everyone, from small nonprofits to enterprises. It is used by millions of people and organizations worldwide, made possible by a community of 100,000-plus contributors and enabling more than 1.3 million users on Drupal.org. The Drupal Association is a non-profit organization dedicated to accelerating the Drupal software project, fostering the community, and supporting its growth.

read more
Drupal Association 06.05.2024

rss

Drupal Association blog: Drupal lead Dries Buytaert announces a completely new Drupal CMS 23 years after its creation

PORTLAND, Ore., 6 May 2024—Twenty-three years after creating Drupal as a university student and hundreds of thousands of websites later, Dries Buytaert announced today that a new version of Drupal will launch at the end of 2024. Drupal is an Open Source CMS that is foundational to a great digital experience platform. Its reliable, highly secure, and flexible tools build the versatile, structured content needed to create dynamic web experiences.

This new version of Drupal will incorporate the best of the 50,000+ modules created over the past decade into a curated, out-of-the-box experience for organizations wishing to build powerful websites quickly.

“We built this amazing platform to power the most robust digital experiences. And now we will make it more accessible to non-developers,” said Dries. “Drupal Starshot is an initiative that will deliver this new version of Drupal within eight months.”

“The Drupal Association is excited to support the Drupal Starshot initiative and to begin marketing the new version of Drupal as the first, best stop for those interested in understanding what Drupal can do,” said Owen Lansbury, Chair of the Drupal Association’s board of directors.

On 6 May, founder and project lead Dries Buytaert gave an inspiring keynote—also known as the Driesnote—introducing this completely new version of Drupal: Drupal Starshot.

Dries described how, much like the race to space in the 1960s, Drupal is also in a race. The web is moving forward, with or without Drupal. Drupal has a long history of being a leader in the Open Web, but it needs its “Moonshot” moment. Dries reiterated how the future of Drupal’s success will come from broadening its usability to a wider audience. The way to do this, Dries said, is to open Drupal’s powerful tools to non-developers.

What is Drupal Starshot, and how does it differ from the traditional version of Drupal? Drupal Starshot will leverage Drupal Core but have a different governance model to move fast, allowing for more innovation more quickly. 

After Drupal Starshot is introduced, when someone visits the Drupal.org download page, both traditional Drupal Core and Drupal Starshot will be available (under a different name, still to be determined). When Drupal Starshot is selected, it will automatically download the features that the user wants for their use case, making it easier for new users to try and test out Drupal, all from right in their browser. Drupal Core will still be the fundamental building block of Drupal Starshot and can still be used independently from Drupal Starshot for custom builds.

How will this new Drupal be different?

The Drupal that exists today, known as “Drupal Core,” will continue to exist and will be maintained by core maintainers. The Drupal Starshot initiative will introduce a new version of Drupal with a fully featured out-of-box experience.

Features that Drupal Starshot will include are:

  • Next generation page builder
  • Project Browser + Recipes
  • Automatic updates
  • Key contributed modules
  • Easy configuration
  • Default content
  • And possibly more!

Drupal community members who are interested in contributing to the development of Drupal Starshot can submit their interest via this interest form or join Dries at several Birds of a Feather sessions happening during DrupalCon Portland.

Watch the full Driesnote on the Drupal Association YouTube Channel. 

About DrupalCon

This year, DrupalCon North America is a four-day conference held in Portland, Oregon, from 6-9 May. Over 1,300 professionals and Drupal users collaborate on the project for a week. The Drupal Association is a non-profit organization that caters to the needs of Drupal and its worldwide community. It focuses on the growth of the Drupal community and supports the project’s vision to create a safe, secure, and Open Web for everyone. 

About Drupal and the Drupal Association

Drupal is a powerful open-source content management system for everyone, from small nonprofits to enterprises. It is used by millions of people and organizations worldwide, made possible by a community of 100,000-plus contributors and enabling more than 1.3 million users on Drupal.org. The Drupal Association is a non-profit organization dedicated to accelerating the Drupal software project, fostering the community, and supporting its growth.

read more
06.05.2024

rss

Drupalize.Me: DrupalCon Portland 2024: Issue Queue Initiatives

DrupalCon Portland 2024: Issue Queue Initiatives

This Wednesday, May 8, I'm speaking at DrupalCon Portland 2024 as part of the Drupal Project Initiatives Keynote. The keynote is kicking off Contribution Day on Wednesday first thing in the morning. I'll be highlighting initiatives and programs that are helping people contribute in a strategic way, and as a result, increasing throughput in the core issue queue. Throughput is the rate that a project’s issues are resolved and committed. And it’s one way to gauge the health of an open source project like Drupal.

Check out these resources to learn more about the initiative and programs I highlight in this presentation.

Amber Matz read more
06.05.2024

rss

LostCarPark Drupal Blog: Drupal Advent Calendar 2024 - Call for Ideas

Drupal Advent Calendar 2024 - Call for Ideas lostcarpark_admin
Image
Body

DrupalCon Portland starts today, so it seems a good time to start thinking about the 2024 Advent Calendar!

Advent Calendar? In May?

If there’s one thing I learned last year, it’s start early! We had a few hairy moments last year, and a couple of later nights than I would have liked, so this year I want to get the ball moving early.

Why a Drupal Advent Calendar?

For fun, mostly!

But also to promote the great Drupal projects and the people working on them.

It started on a whim in 2022, when I had the idea at the last possible moment, as I was falling asleep on the last day of November. As there wasn’t…

read more
06.05.2024

rss

CKEditor: Enhance Your Drupal Experience with the Free CKEditor 5 Plugin Pack

Enhance Drupal with the CKEditor 5 Plugin Pack: all premium and free tools available at no cost for diverse web projects. read more
06.05.2024

rss

The Drop Times: Embracing the Community Spirit: DrupalCon Portland 2024

Today is an exciting day as DrupalCon Portland kicks off. The Drupal community eagerly awaits this event for its wealth of sessions, interactions, and updates. From the highly anticipated Driesnote, where Dries Buytaert shares his latest thoughts and plans, to various featured sessions that delve into specific topics, there's much to look forward to.

At this year’s conference, we're seeing updates on various initiatives and a host of workshops and trainings from different organizations. We also have the Healthcare Summit and the Return of the Nonprofit Summit, a great opportunity for Drupal users working in the nonprofit sector to connect and learn from one another.

Recognizing the need to continuously attract new talents to the Drupal community, DrupalCon 2024 has made significant efforts to reach out to students. This includes targeted advertising to local student communities and focusing on the career-enhancing opportunities at the DrupalCon job fair. Mentorship programs, resume help, and a special student discount ticket priced at only $50 are also included.

Another exciting addition this year is the community-designed DrupalCon T-shirt. The Drupal Association ran a contest for the official T-shirt design, receiving many creative entries. The winning design will be announced at the event and featured on the free attendee T-shirt.

Now, let’s look back at what we covered last week:

Alka Elizabeth, sub-editor, TDT, sat down with Thor Andre Gretland, the dynamic Head of Sales and Business Advisor at Frontkom. They discussed the exciting synergies between Gutenberg and Drupal. Thor shared his extensive knowledge about the groundbreaking Drupal Gutenberg project. During this discussion, it was revealed that the Frontkom team has four updates for the community, including major enhancements that will be part of the Drupal Gutenberg 4.0 release, set to be unveiled here at DrupalCon Portland 2024.

Additionally, Alka Elizabeth talked with Angie Byron, the Community Director at Aiven and a highly respected figure in the open-source community. Throughout their conversation, Angie shared her experiences and the pivotal decisions that have shaped her career. She discussed her challenges and transformations, such as introducing automated testing in Drupal, her leadership roles in various community projects, and her advocacy for diversity and inclusion within tech communities. Dive into the interview here

Last week, I had the opportunity to share insights directly from the Drupal Initiative Lead keynote speakers at DrupalCon Portland. Among the speakers were Cristina Chumillas, Janez Urevc, Ted Bowman, Fran Garcia-Linares, Jürgen Haas, and Mateu Aguiló Bosch, who were all set to provide valuable updates and insights on various aspects of Drupal and its ecosystem.

LagoonCon Portland 2024 is set to take place on  May 6, 2024. Following its successful debut in Pittsburgh last year, this free event hosted by amazee.io is designed for developers and tech leaders to dive into discussions about Lagoon. Alka Elizabeth, sub-editor at The Drop Times, has penned an article featuring detailed discussions with the speakers of Lagoon Portland,  Toby Bellwood, the Lagoon Product Lead at amazee.io, Christoph Weber, Solutions Architect at Pronovix, and Bryan Gruneberg, CEO and CTO at Workshop Orange. 

Norah Medlin brings over two decades of software development immersion to Stanford WebCamp, offering a strategic blueprint for maximizing project success. In her session on forging high-value partnerships and driving transformative change, she unveils essential insights for navigating the complexities of modern project management. 

Linux Foundation has launched the 2024 World of Open Source: Global Spotlight Survey, designed to examine the nuances of open-source technology in different regions and industries.

DrupalCon Barcelona 2024 is calling for submissions of case studies highlighting exceptional Drupal website projects developed between October 2023 and September 2024. The Drupal Camp Pune 2024 organisers seek talented individuals passionate about technology and community building to volunteer and add a unique touch to the array of planned activities.

DevOps professionals on the making can take the Pantheon WebOps certification exam onsite at the DrupalCon Portland venue. The exam registration is free of charge. 

Additionally, Carlos O. launched the IXP Fellowship initiative to help aspiring Drupal developers bridge the skills gap. The program sought community feedback through a survey to define competencies for inexperienced developers aiming to become junior professionals.

Other generic updates are here: Maotic, for the first time, has become a mentor organization for the coveted Google Summer of Code project for 2024. Learn about their winning projects here. Drupal is introducing an experimental navigation module in version 10.3 prior to introducing it officially in Drupal 11. Selwyn Polit's online reference book, "Drupal at your fingertips" is now officially listed in Drupal.org. Last year's Drupal Pitch-burgh contest-winning project, Drupal API Client, has released version 1.0. A new Drupal podcast has begun. Platform.sh DevRel Team has started a new podcast series called 'ChangeMode'. Marine Gandy hosts the show. 

We acknowledge that there are more stories to share. However, due to selection constraints, we must pause further exploration for now.

Stay tuned with The Drop Times. We are here to ensure you don't miss out on anything happening at the event. Our volunteers are on the ground to keep you updated with interviews, featured articles, coverage of sessions, and short video interviews with attendees and speakers.

To get timely updates, follow us on LinkedIn, Twitter and Facebook. Also, join us on Drupal Slack at #thedroptimes.

Thank you,
Sincerely
Kazima Abbas
Sub-editor, The DropTimes.

read more
06.05.2024

rss

The Drop Times: Women in Drupal Luncheon at DrupalCon Portland 2024: A Convergence for Change

Delve into the experiences of women in technology at DrupalCon Portland 2024 with the "Women in Drupal Luncheon" on May 7. This crucial session features Sebastianna Skalisky, Laura Johnson, Jenna Harris, and Shanice Ortiz from Four Kitchens, who will discuss overcoming obstacles and fostering inclusion in the tech sector. Engage with these influential leaders as they share strategies for navigating a male-dominated industry, enhancing female leadership, and advocating for systemic change. Join for a compelling dialogue to empower women and expand their impact on technology. read more
06.05.2024

rss

Connect with Event Organizers at DrupalCon Portland '24

There are many opportunities to connect with fellow event organizers throughout the week at DrupalCon Portland 2024.

All Week

Community Events Booth
Expo Hall - #106
Visit with the EOWG board and other event organizers in the Expo Hall. Be sure to bring some of your stickers and swag to share with the community!

Monday, May 6 - 2:00 - 3:00pm

Event Organizers Roundtable BOF
Room G132, Table 1
Open discussion time for Drupal Event Organizers to gather and for others who are interested in organizing their own events or learning more about the Event Organizers Working Group.

Wednesday, May 8 - 9:00am - 5:00pm

Contribution Day
Room B115-116
Find us to help improve the Community Events page.

Thursday, May 9 - 9:00am - 4:00pm

Community Summit 
Room C120-122
EOWG Board members will present a panel at 9:15am. Join us for a day of community discussions. The summit is open to everyone in the Drupal community, at no additional cost.

Not joining DrupalCon? Join us online any time:

Open Meeting via Slack!
Tuesday, May 14 starting at 16:00 UTC / 12:00 pm ET

  • Initiative Updates
  • Camp Reports
  • DrupalCon Report

Join us to discuss these and other topics in the #event-organizers channel.

If there is something you want to share or discuss related to your camp, meetup, or other events organizer topics either leave a message in the Slack channel or comment on the Drupal.org meeting agenda issue.

read more
froboy 05.05.2024

rss

Event Organizers: Connect with Event Organizers at DrupalCon Portland '24

There are many opportunities to connect with fellow event organizers throughout the week at DrupalCon Portland 2024.

All Week

Community Events Booth
Expo Hall - #106
Visit with the EOWG board and other event organizers in the Expo Hall. Be sure to bring some of your stickers and swag to share with the community!

Monday, May 6 - 2:00 - 3:00pm

Event Organizers Roundtable BOF
Room G132, Table 1
Open discussion time for Drupal Event Organizers to gather and for others who are interested in organizing their own events or learning more about the Event Organizers Working Group.

Wednesday, May 8 - 9:00am - 5:00pm

Contribution Day
Room B115-116
Find us to help improve the Community Events page.

Thursday, May 9 - 9:00am - 4:00pm

Community Summit 
Room C120-122
EOWG Board members will present a panel at 9:15am. Join us for a day of community discussions. The summit is open to everyone in the Drupal community, at no additional cost.

Not joining DrupalCon? Join us online any time:

Open Meeting via Slack!
Tuesday, May 14 starting at 16:00 UTC / 12:00 pm ET

  • Initiative Updates
  • Camp Reports
  • DrupalCon Report

Join us to discuss these and other topics in the #event-organizers channel.

If there is something you want to share or discuss related to your camp, meetup, or other events organizer topics either leave a message in the Slack channel or comment on the Drupal.org meeting agenda issue.

read more
05.05.2024

rss

De-jargoning Drupal – working with the community to open up Drupal’s terminology

This blog post was written by Promote Drupal committee member Emma Horrell.

If you’re familiar with Drupal, you will have learned its language. You will be familiar with words like Views, Blocks and Paragraphs, and you will appreciate their respective features and functions. But for those new to Drupal, getting to grips with what words mean can mean a steep learning curve. 

The start of the Drupalisms issue

User research to improve the Drupal admin UI raised an interesting finding. When the Drupal community was asked to complete an exercise where they grouped terms from the UI into categories that made sense to them, the results showed people were unable to place some of the terms. Further investigation indicated that people weren’t sure what these outlier terms meant (and therefore they had struggled to sort them).

How we speak Drupal matters

We wanted to address this finding from the research because we recognised the importance of people understanding Drupal terminology to enable and empower them to use Drupal confidently and competently. We strongly felt that Drupal language shouldn’t be a barrier to people new to the community learning and we wanted to take the opportunity to address this. It felt like the most logical place to start was to identify Drupal terms that caused confusion - ‘Drupalisms’. With a core team of community volunteers behind it, issue 3381734 was begun.

First endeavours to identify Drupalisms

With the issue live, we set to work, picking out terms that matched the ‘Drupalisms’ brief – in other words, terms which we felt were confusing to new Drupal users. Our initial list included words like: ‘Node’, ‘Blocks’, ‘Structure’, ‘Entity’, ‘Paragraphs’. As the issue queue gained momentum, more words flooded in, and people expressed opinions on aspects of Drupal terminology – for example, questioning Drupal’s use of ‘Site Builders’, ‘Developers’ and ‘Themers’ to describe the roles and functions of the Drupal community.

Drupalisms BoF at DrupalCon Lille

Attending DrupalCon Lille presented the chance to run a Drupalisms BoF to encourage people from the community to come together and collaborate on this issue. We spent the time looking at our initial list of terms, thinking of more, and thinking about how we would describe them to people new to Drupal. This exercise helped us appreciate the importance of preventing language being a blocker to new Drupal users and therefore affirm the importance of the issue.

Establishing regular meetings to work together  

Coming together after the BoF, we reflected on possible ways forward. We established that our original goal to identify Drupalisms was part of something bigger, an impetus to make sure our language opens up Drupal to everyone, to ensure we are being as accessible and inclusive as possible. We all agreed this was not something fixable quickly, and we committed to a regular pattern of fortnightly meetings to work on the issue.

Acknowledging challenges and opportunities

Our initial meetings were spent discussing the issue in more depth. We thought about the varied mental models, expectations, native languages and levels of understanding people bring to Drupal, and how their prior experiences (sometimes with other Content Management Systems) shapes their language perceptions. We considered the roles that glossaries tooltips and micro-copy can play in helping people make sense of our terminology in different contexts. We thought about the past – and how historic events had led to the language we use in Drupal today, and then ahead to the future, thinking about the impact of changing terminology and the possible consequences. We also established that language is an emotive subject, and therefore that making decisions about language should be based on evidence over opinions.

Adopting a methodical approach towards a controlled vocabulary

Ralf Koller suggested an objective, multi-step approach to working on the issue inspired by various sources including Abby Covert’s book ‘How to make sense of any mess’, Sophia Prater’s Object-Oriented-User-Experience (OOUX) methodology and the writings of other content design specialists like Erica Jorgensen. The stages we are working through are as follows:

  1. Noun foraging – making a full list of all the Drupal terms
  2. Evaluating/prioritising the most confusing terms based on responses from the community and also how easy it is to define them
  3. Deciding which terms to include in a controlled vocabulary
  4. Producing translations of these terms
  5. Developing a ‘words we don’t say’ list
  6. Establishing a process to maintain the vocabulary going forwards

Collaborating with other open-source Content Management Systems

Addressing issues of CMS language more broadly, and acknowledging that Drupal is not alone in wanting our vocabulary to be intuitive and easy-to-understand, I’ve reached out to others in the wider open-source CMS community to think of ways we can use our collective force to develop a more consistent approach to CMS terminology. It’s early days but there is interest, and we’re looking to establish a date for an initial meeting.  

Where we are now and how you can help

We’re working together on the first stage of the process - the noun foraging, gathering terms from many sources. Our current list stands at around 400 terms and we know there will be more. If you would like to join in helping us with this piece of work or you are interested to know more, please comment in the issue queue, join the Drupal Slack channel #drupalisms-working-group, message me on Drupal Slack or email me directly at emma.horrell@ed.ac.uk and I can provide more information or add you to the meeting series. You can also read the ongoing meeting notes from the issue queue.

read more
Emma Horrell 05.05.2024

rss

Drupal Association blog: De-jargoning Drupal – working with the community to open up Drupal’s terminology

This blog post was written by Promote Drupal committee member Emma Horrell.

If you’re familiar with Drupal, you will have learned its language. You will be familiar with words like Views, Blocks and Paragraphs, and you will appreciate their respective features and functions. But for those new to Drupal, getting to grips with what words mean can mean a steep learning curve. 

The start of the Drupalisms issue

User research to improve the Drupal admin UI raised an interesting finding. When the Drupal community was asked to complete an exercise where they grouped terms from the UI into categories that made sense to them, the results showed people were unable to place some of the terms. Further investigation indicated that people weren’t sure what these outlier terms meant (and therefore they had struggled to sort them).

How we speak Drupal matters

We wanted to address this finding from the research because we recognised the importance of people understanding Drupal terminology to enable and empower them to use Drupal confidently and competently. We strongly felt that Drupal language shouldn’t be a barrier to people new to the community learning and we wanted to take the opportunity to address this. It felt like the most logical place to start was to identify Drupal terms that caused confusion - ‘Drupalisms’. With a core team of community volunteers behind it, issue 3381734 was begun.

First endeavours to identify Drupalisms

With the issue live, we set to work, picking out terms that matched the ‘Drupalisms’ brief – in other words, terms which we felt were confusing to new Drupal users. Our initial list included words like: ‘Node’, ‘Blocks’, ‘Structure’, ‘Entity’, ‘Paragraphs’. As the issue queue gained momentum, more words flooded in, and people expressed opinions on aspects of Drupal terminology – for example, questioning Drupal’s use of ‘Site Builders’, ‘Developers’ and ‘Themers’ to describe the roles and functions of the Drupal community.

Drupalisms BoF at DrupalCon Lille

Attending DrupalCon Lille presented the chance to run a Drupalisms BoF to encourage people from the community to come together and collaborate on this issue. We spent the time looking at our initial list of terms, thinking of more, and thinking about how we would describe them to people new to Drupal. This exercise helped us appreciate the importance of preventing language being a blocker to new Drupal users and therefore affirm the importance of the issue.

Establishing regular meetings to work together  

Coming together after the BoF, we reflected on possible ways forward. We established that our original goal to identify Drupalisms was part of something bigger, an impetus to make sure our language opens up Drupal to everyone, to ensure we are being as accessible and inclusive as possible. We all agreed this was not something fixable quickly, and we committed to a regular pattern of fortnightly meetings to work on the issue.

Acknowledging challenges and opportunities

Our initial meetings were spent discussing the issue in more depth. We thought about the varied mental models, expectations, native languages and levels of understanding people bring to Drupal, and how their prior experiences (sometimes with other Content Management Systems) shapes their language perceptions. We considered the roles that glossaries tooltips and micro-copy can play in helping people make sense of our terminology in different contexts. We thought about the past – and how historic events had led to the language we use in Drupal today, and then ahead to the future, thinking about the impact of changing terminology and the possible consequences. We also established that language is an emotive subject, and therefore that making decisions about language should be based on evidence over opinions.

Adopting a methodical approach towards a controlled vocabulary

Ralf Koller suggested an objective, multi-step approach to working on the issue inspired by various sources including Abby Covert’s book ‘How to make sense of any mess’, Sophia Prater’s Object-Oriented-User-Experience (OOUX) methodology and the writings of other content design specialists like Erica Jorgensen. The stages we are working through are as follows:

  1. Noun foraging – making a full list of all the Drupal terms
  2. Evaluating/prioritising the most confusing terms based on responses from the community and also how easy it is to define them
  3. Deciding which terms to include in a controlled vocabulary
  4. Producing translations of these terms
  5. Developing a ‘words we don’t say’ list
  6. Establishing a process to maintain the vocabulary going forwards

Collaborating with other open-source Content Management Systems

Addressing issues of CMS language more broadly, and acknowledging that Drupal is not alone in wanting our vocabulary to be intuitive and easy-to-understand, I’ve reached out to others in the wider open-source CMS community to think of ways we can use our collective force to develop a more consistent approach to CMS terminology. It’s early days but there is interest, and we’re looking to establish a date for an initial meeting.  

Where we are now and how you can help

We’re working together on the first stage of the process - the noun foraging, gathering terms from many sources. Our current list stands at around 400 terms and we know there will be more. If you would like to join in helping us with this piece of work or you are interested to know more, please comment in the issue queue, join the Drupal Slack channel #drupalisms-working-group, message me on Drupal Slack or email me directly at emma.horrell@ed.ac.uk and I can provide more information or add you to the meeting series. You can also read the ongoing meeting notes from the issue queue.

read more
05.05.2024

rss

Drupal 7 End-of-Life is coming Jan 5, 2025

On January 5th, 2025, Drupal 7 will reach its end of life at 14 years old. But don't worry! The Drupal Association and the Drupal community are here to support you in getting ready for the upgrade to Drupal 10.

What does end-of-life mean for you? 

Drupal 7 end-of-life means that the community will no longer be providing new features, bug-fixes, or security updates for Drupal 7. If you do not update before January 5th, 2025, security issues may be publicly disclosed without fixes or other support.  

  • Drupal 7.x branches for all projects will be marked unsupported. 
  • Drupal 7 XML feeds for packaging will be shut off. 
    • This will impact the way drush works 
  • All Drupal.org-based testing for Drupal 7 will be unsupported.
  • Drupal 7 may be flagged as insecure in third-party scans.
  • Drupal 7 issues that are reported to the security team, even highly critical ones, maybe made public without a fix or prior notice. 
  • Drupal 7 sites will display a message that they are insecure. 

To put it simply: there will be no further extensions.  It is time to upgrade to Drupal 10.

Upgrading to modern Drupal is not just about security. Starting with the release of Drupal 8 in 2016, Drupal has been consistently adding more and more powerful features to support content editors, marketers, developers, and site owners.

Modern Drupal also includes a new release strategy that makes upgrades significantly easier, and upcoming releases will even support Automatic Updates, and a Project Browser to allow you to install extensions to Drupal without using Composer on the command line. 

Learn more about the features of modern Drupal.

Finding a migration partner

The Drupal Association maintains a list of certified partners who have a proven track record of supporting migrations at every scale and budget. Only organizations that have made significant contributions back to the Drupal project can become partners, so you know these organizations are true Drupal experts. 

Find your migration partner. 

Resources for your Drupal 10 migration

Do you have an internal Drupal team? We also have a variety of resources to help you with doing the migration to Drupal 10 on your own. These include educational videos, sessions from previous DrupalCons, migration guides and articles, and additional utilities/software libraries to make the migration process easier than it has ever been before.

Learn about migration.

Need more time?

There are some certified partners who are offering their own commercial support for Drupal 7 beyond end of life. These are not official programs of the Drupal security team, though these vendors are in conversation with both the Drupal Association and the security team to coordinate responsible disclosure.

Learn about commercial support.

Finding help at DrupalCon

DrupalCon North America is being held in Portland, OR from May 6-9, 2024. This is the last North American DrupalCon before the Drupal 7 end-of-life. 

Additional support may be available from your peers in the General Contribution room.

Special pricing is available for: 

  • Students who have recently completed Drupal curriculum
  • Non-profit organizations
  • Government employees, with a bundled rate for our Government Summit.

Register today!

______________

The Drupal Association is a global non-profit organization based in the United States with a mission to drive innovation and adoption of Drupal as a high-impact digital public good, hand-in-hand with our open source community.

read more
hestenet 05.05.2024

rss

Promet Source: DrupalCon 2024: Sessions to Watch for Government

Note: This blog was first published on May 24, 2023, and has been updated to reflect new information and insights. Takeaway: DrupalCon Portland 2024 offers valuable sessions, summits, and exhibitors useful to State and local government agencies. As an attendee, you'll have the opportunity to learn from industry experts, discover powerful tools and solutions, and network with peers facing similar challenges in the government space. read more
04.05.2024

rss

The Drop Times: Best of Both Worlds: Thor Andre Gretland on Gutenberg and Drupal's Synergy

Discover the innovative journey of Drupal Gutenberg through the insights of Thor Andre Gretland, Head of Sales and Business Advisor at Frontkom. In an exclusive interview with The DropTimes, Thor Andre unveils how Gutenberg is revolutionizing the Drupal ecosystem, enhancing content creation, and bridging communities. Learn about the groundbreaking collaboration between WordPress and Drupal, the challenges addressed, and the future of open-source CMS development. From improving user experience to addressing digital marketing needs, this interview is a deep dive into the evolving world of content management. read more
04.05.2024

rss

Joachim's blog: Refactoring with Rector

Rector is a tool for making changes to PHP code, which powers tools that assist with upgrading deprecated code in Drupal. When I recently made some refactoring changes in Drupal Code Builder, which were too complex to do with search and replace regexes, it seemed like a good opportunity to experiment with Rector, and learn a bit more about it.

Besides, I'm an inveterate condiment-passer: I tend to prefer spending longer on a generalisation of a problem than on the problem itself, and the more dull the problem and the more interesting the generalisation, the more the probability increases.

So faced with a refactoring from this return from the getFileInfo() method:

    return [
      'path' => '',
      'filename' => $this->component_data['filename'],
      'body' => [],
      'merged' =>$merged,
    ];

to this:

    return new CodeFile(
      body_pieces: $this->component_data['filename'],
      merged: $merged,
    );

which was going to be tedious as hell to do in a ton of files, obviously, I elected to spend time fiddling with Rector.

The first thing I'll say is that the same sort of approach as I use with migrations works well: work with a small indicative sample, and iterate small changes. With a migration, I will find a small number of source rows which represent different variations (or if there is too much variation, I'll iterate the iteration multiple times). I'll run the migration with just those sources, examine the result, make refinements to the migration, then roll back and repeat.

With Rector, you can specify just a single class in the code that registers the rule to RectorConfig in the rector.php file, so I picked a class which had very little code, as the dump() output of an entire PHP file's PhpParser analysis is enormous.

You then use the rule class's getNodeTypes() method to declare which node types you are interested in. Here, I made a mis-step at first. I wanted to replace Array_ nodes, but only in the getFileInfo() method. So in my first attempt, I specified ClassMethod nodes, and then in refactor() I wrote code to drill down into them to get the array Array_ nodes. This went well until I tried returning a new replacement node, and then Rector complained, and I realised the obvious thing I'd skipped over: the refactor() method expects you to return a node to replace the found node. So my approach was completely wrong.

I rewrote getNodeTypes() to search for Array_ nodes: those represent the creation of an array value. This felt more dangerous: arrays are defined in lots of places in my code! And I haven't been able to see a way to determine the parentage of a node: there do not appear to be pointers that go back up the PhpParser syntax tree (it would be handy, but would make the dump() output even worse to read!). Fortunately, the combination of array keys was unique in DrupalCodeBuilder, or at least I hoped it was fairly unique. So I wrote code to get a list of the array's keys, and then compare it to what was expected:

        foreach ($node->items as $item) {
            $seen_array_keys[] = $item->key->value;
        }
        if (array_intersect(static::EXPECTED_MINIMUM_ARRAY_KEYS, $seen_array_keys) != static::EXPECTED_MINIMUM_ARRAY_KEYS) {
            return NULL;
        }

Returning NULL from refactor() means we aren't interested in this node and don't want to change it.

With the arrays that made it through the filter, I needed to make a new node that's a class instantiation, to replace the array, passing the same values to the new statement as the array keys (mostly).

Rector's list of commonly used PhpParser nodes was really useful here.

A new statement node is made thus:

use PhpParser\Node\Name;
use PhpParser\Node\Expr\New_;

        $class = new Name('\DrupalCodeBuilder\File\CodeFile');
        return new New_($class);

This doesn't have any parameters yet, but running Rector on this with my sample set showed me it was working properly. Rector has a dry run option for development, which shows you what would change but doesn't write anything to files, so you can run it over and over again. What's confusing is that it also has a cache; until I worked this out I was repeatedly confused by some runs having no effect and no output. I have honestly no idea what the point is of caching something that's designed to make changes, but there is an option to disable it. So the command to run is: $ vendor/bin/rector --dry-run --clear-cache. Over and over again.

Once that worked, I needed to convert array items to constructor parameters. Fortunately, the value from the array items work for parameters too:

use PhpParser\Node\Arg;

        foreach ($node->items as $array_item) {
                $construct_argument = new Arg(
                   $array_item->value,
                );

That gave me the values. But I wanted named parameters for my constructor, partly because they're cool and mostly because the CodeFile class's __construct() has optional parameters, and using names makes that simpler.

Inspecting the Arg class's own constructor showed how to do this:

use PhpParser\Node\Arg;
use PhpParser\Node\Identifier;

                $construct_argument = new Arg(
                    value: $array_item->value,
                    name: new Identifier($key),
                );

Using named parameters here too to make the code clearer to read!

It's also possible to copy over any inline comments that are above one node to a new node:

            // Preserve comments.
            $construct_argument->setAttribute('comments', $array_item->getComments());

The constructor parameters are passed as a parameter to the New_ class:

        return new New_($class, $new_call_args);

Once this was all working, I decided to do some more refactoring in the CodeFile class in DrupalCodeBuilder. The changes I was making with Rector made it more apparent that in a lot of cases, I was passing empty values. Also, the $body parameter wasn't well-named, as it's an array of pieces, so could do with a more descriptive name such as $body_pieces.

Changes like this are really easy to do (though by this point, I had made a git repository for my Rector rule, so I could make further enhancements without breaking what I'd got working already).

        foreach ($node->items as $array_item) {
            $key = $array_item->key->value;

            // Rename the 'body' key.
            if ($key == 'body') {
                $key = 'body_pieces';
            }

And that's my Rector rule done.

Although it's taken me far more time than changing each file by hand, it's been far more interesting, and I've learned a lot about how Rector works, which will be useful to me in the future. I can definitely see how it's a very useful tool even for refactoring a small codebase such as DrupalCodeBuilder, where a rule is only going to be used once. It might even prompt me to undertake some minor refactoring tasks I've been putting off because of how tedious they'll be.

What I've not figured out is how to extract namespaces from full class names to an import statement, or how to put line breaks in the new statement. I'm hoping that a pass through with PHP_CodeSniffer and Drupal Coder's rules will fix those. If not, there's always good old regexes!

read more
03.05.2024

rss

ThinkDrop Consulting: Introducing Operations Site Runner: a self-hosted CI/CD platform using GitHub Actions and DDEV.

Introducing Operations Site Runner: a self-hosted CI/CD platform using GitHub Actions and DDEV. admin

I've been building and designing automation systems for almost 20 years. I built DevShop on top of Aegir to implement continuous integration and quality control over 10 years ago.

Running CI systems is hard. Really hard. There needs to be an active task runner. A dashboard. API integrations. Tooling. Network Access. It can be incredibly complicated. In the Enterprise? Forget it.

I've been imagining a new system for many years, and here it is.

read more
03.05.2024

rss

5 Unmissable Attractions to Explore Around DrupalCon Portland 2024

Portland, Oregon – the Rose City, home to an array of charming experiences that extend beyond the walls of this year's much-anticipated DrupalCon. While knowledge sharing and the industry buzz at the Oregon Convention Center will undoubtedly be the main draw, the locale offers a diversity of attractions, from serene parks to bustling markets. For those fortunate enough to attend DrupalCon, it would be a miss not to maximize your time and immerse yourself in the unique culture Portland has to offer. Here are five more local attractions, in addition to our previous recommendations, that promise to enrich your DrupalCon experience and provide unforgettable memories.

1. Cruise the City on E-Scooters around Peace Memorial Park

SW corner of NE Oregon St and, NE Lloyd Blvd, Portland, OR 97232

Arriving in Portland, the first thing visitors often notice is the city's commitment to sustainability and the vibrant outdoor lifestyle. What better way to experience this than by gliding through the renowned bike paths and urban green gardens on an E-Scooter? A stone's throw away from the Oregon Convention Center, Peace Memorial Park provides a picturesque setting that is perfect for a leisurely ride. With the Willamette River flowing alongside and the skyscrapers beyond the riverbank, this sanctuary of serenity is a stark contrast to the bustling city center.

2. Discover the charm of Portland’s most historic rose garden

400 SW Kingston Ave, Portland, OR 97205, United States

Known as the City of Roses, Portland proudly hosts the International Rose Test Garden, the oldest of its kind in the United States that has been in continuous operation. With the arrival of spring, there's no better moment to witness the garden's vibrant first blooms. Showcasing over 10,000 roses across 610 varieties, the garden not only offers a breathtaking display but also serves a crucial role in the cultivation and testing of new rose species. As a sanctuary for hybrid roses from across the globe, the garden continues its legacy of innovation and preservation in the heart of Portland.

3. Savor Artisanal Coffee at Roseline Coffee Cafe & Roastery

321 NE Davis St, Portland, OR 97232

Portland is known for its craft coffee culture, and Roseline Coffee Cafe & Roastery stands as a testament to this. Just moments from the convention center, this local favorite offers a welcoming reprieve from the conference crowds. Here, you can try blends and single-origin roasts that represent the pinnacle of Portland's coffee craft. Whether you’re an espresso aficionado or simply in need of a caffeine hit, the experience at Roseline will elevate your DrupalCon visit.

4. Explore Exhibitions At The Portland Art Museum

1219 SW Park Ave, Portland, OR 97205

Just a brief drive from the Oregon Convention Center, the Portland Art Museum stands as Oregon's largest and one of the nation's oldest art institutions. Nestled within two historic buildings in Portland’s South Park Blocks, a key part of the city's cultural district, the museum boasts an extensive and diverse art collection. Visitors can purchase Portland Art Museum tickets online or at the museum, with adult admission priced at $25. The Museum offers a wide array of exhibitions, from in-depth retrospectives of individual artists to comprehensive historical surveys and significant traveling exhibitions from across the globe. These exhibitions showcase pieces from the museum's own collection alongside masterpieces loaned from other museums and private collections worldwide.

5. Immerse Yourself in the Quirkiness of the Portland Saturday Market

2 SW Naito Pkwy, Portland, OR 97204

If your stay in Portland includes the weekend, the Portland Saturday Market offers a vibrant immersion into the local eccentricity and artisanal zeal that define the City of Roses.

A visit to this lively gathering can be enriching and is just a short drive away from the Oregon Convention Center. Wandering through the maze of stalls, you’ll find an array of handcrafted delights – from jewelry to leather goods, pottery to fine art – all lovingly crafted by the city’s talented makers. The sounds of live music and the aroma of delectable local cuisine will captivate your senses, while the palpable sense of community will remind you of the inclusive spirit that saturates Portland's identity. Whether you're making a purchase or simply taking in the scene, the Saturday Market encapsulates the heart and soul of the city, making it a must-visit destination.

---

With these five enriching experiences, your DrupalCon excursion will extend far beyond the convention doors. You'll build lasting connections with both the Drupal community and the diverse tapestry of Portland. Whether you're charting a solo adventure or teaming up with fellow tech enthusiasts, these local highlights are poised to enhance your trip with a delightful blend of tranquility, creativity, and community.

read more
Amanda.L 03.05.2024

rss

Drupal Association blog: 5 Unmissable Attractions to Explore Around DrupalCon Portland 2024

Portland, Oregon – the Rose City, home to an array of charming experiences that extend beyond the walls of this year's much-anticipated DrupalCon. While knowledge sharing and the industry buzz at the Oregon Convention Center will undoubtedly be the main draw, the locale offers a diversity of attractions, from serene parks to bustling markets. For those fortunate enough to attend DrupalCon, it would be a miss not to maximize your time and immerse yourself in the unique culture Portland has to offer. Here are five more local attractions, in addition to our previous recommendations, that promise to enrich your DrupalCon experience and provide unforgettable memories.

1. Cruise the City on E-Scooters around Peace Memorial Park

SW corner of NE Oregon St and, NE Lloyd Blvd, Portland, OR 97232

Arriving in Portland, the first thing visitors often notice is the city's commitment to sustainability and the vibrant outdoor lifestyle. What better way to experience this than by gliding through the renowned bike paths and urban green gardens on an E-Scooter? A stone's throw away from the Oregon Convention Center, Peace Memorial Park provides a picturesque setting that is perfect for a leisurely ride. With the Willamette River flowing alongside and the skyscrapers beyond the riverbank, this sanctuary of serenity is a stark contrast to the bustling city center.

2. Discover the charm of Portland’s most historic rose garden

400 SW Kingston Ave, Portland, OR 97205, United States

Known as the City of Roses, Portland proudly hosts the International Rose Test Garden, the oldest of its kind in the United States that has been in continuous operation. With the arrival of spring, there's no better moment to witness the garden's vibrant first blooms. Showcasing over 10,000 roses across 610 varieties, the garden not only offers a breathtaking display but also serves a crucial role in the cultivation and testing of new rose species. As a sanctuary for hybrid roses from across the globe, the garden continues its legacy of innovation and preservation in the heart of Portland.

3. Savor Artisanal Coffee at Roseline Coffee Cafe & Roastery

321 NE Davis St, Portland, OR 97232

Portland is known for its craft coffee culture, and Roseline Coffee Cafe & Roastery stands as a testament to this. Just moments from the convention center, this local favorite offers a welcoming reprieve from the conference crowds. Here, you can try blends and single-origin roasts that represent the pinnacle of Portland's coffee craft. Whether you’re an espresso aficionado or simply in need of a caffeine hit, the experience at Roseline will elevate your DrupalCon visit.

4. Explore Exhibitions At The Portland Art Museum

1219 SW Park Ave, Portland, OR 97205

Just a brief drive from the Oregon Convention Center, the Portland Art Museum stands as Oregon's largest and one of the nation's oldest art institutions. Nestled within two historic buildings in Portland’s South Park Blocks, a key part of the city's cultural district, the museum boasts an extensive and diverse art collection. Visitors can purchase Portland Art Museum tickets online or at the museum, with adult admission priced at $25. The Museum offers a wide array of exhibitions, from in-depth retrospectives of individual artists to comprehensive historical surveys and significant traveling exhibitions from across the globe. These exhibitions showcase pieces from the museum's own collection alongside masterpieces loaned from other museums and private collections worldwide.

5. Immerse Yourself in the Quirkiness of the Portland Saturday Market

2 SW Naito Pkwy, Portland, OR 97204

If your stay in Portland includes the weekend, the Portland Saturday Market offers a vibrant immersion into the local eccentricity and artisanal zeal that define the City of Roses.

A visit to this lively gathering can be enriching and is just a short drive away from the Oregon Convention Center. Wandering through the maze of stalls, you’ll find an array of handcrafted delights – from jewelry to leather goods, pottery to fine art – all lovingly crafted by the city’s talented makers. The sounds of live music and the aroma of delectable local cuisine will captivate your senses, while the palpable sense of community will remind you of the inclusive spirit that saturates Portland's identity. Whether you're making a purchase or simply taking in the scene, the Saturday Market encapsulates the heart and soul of the city, making it a must-visit destination.

---

With these five enriching experiences, your DrupalCon excursion will extend far beyond the convention doors. You'll build lasting connections with both the Drupal community and the diverse tapestry of Portland. Whether you're charting a solo adventure or teaming up with fellow tech enthusiasts, these local highlights are poised to enhance your trip with a delightful blend of tranquility, creativity, and community.

read more
03.05.2024

rss

The Drop Times: Exclusive Insights from Keynote Speakers of DrupalCon Portland 2024

Step behind the curtain of DrupalCon Portland's keynote lineup and immerse yourself in a world of innovation and expertise. Join us as we unveil exclusive insights from industry leaders, including Cristina Chumillas, Janez Urevc, Ted Bowman, Fran Garcia-Linares, Jürgen Haas, and Mateu Aguiló Bosch, offering a tantalizing glimpse into the transformative sessions awaiting attendees read more
03.05.2024

rss

Announcing the inaugural Project Update Working Group members

Congratulations to the inaugural members of the new Project Update Working Group.

This is a new working group tasked with helping maintainers prepare contributed projects for the next major release of Drupal core.

The inaugural members are as follows:

  1. Norah Medlin (tekNorah) (provisional)

  2. Vladimir Roudakov (vladimiraus)

  3. Sven Decabooter (svendecabooter)

  4. Naveen Valecha (naveenvalecha)

  5. Kristen Pol (Kristen Pol)

  6. Matt Glaman (mglaman)

  7. Darren Oh (Darren Oh)

  8. Mark Casias (markie)

  9. Kim Pepper (kim.pepper)

  10. Björn Brala (bbrala)

  11. Lucas Hedding (heddn)

  12. Pedro Cambra (pcambra)

  13. Allan Chappell (generalredneck)

  14. Jakob Perry (japerry)

  15. Timo Huisman (Timo Huisman) (provisional)

The group will work in the coming weeks to establish processes and changes required to Drupal.org to facilitate the role.

If you wish to get in touch and say congratulations, you can find them in the #project-update-working-group channel on slack.

read more
larowlan 03.05.2024

rss

Drupal Core News: Announcing the inaugural Project Update Working Group members

Congratulations to the inaugural members of the new Project Update Working Group.

This is a new working group tasked with helping maintainers prepare contributed projects for the next major release of Drupal core.

The inaugural members are as follows:

  1. Norah Medlin (tekNorah) (provisional)

  2. Vladimir Roudakov (vladimiraus)

  3. Sven Decabooter (svendecabooter)

  4. Naveen Valecha (naveenvalecha)

  5. Kristen Pol (Kristen Pol)

  6. Matt Glaman (mglaman)

  7. Darren Oh (Darren Oh)

  8. Mark Casias (markie)

  9. Kim Pepper (kim.pepper)

  10. Björn Brala (bbrala)

  11. Lucas Hedding (heddn)

  12. Pedro Cambra (pcambra)

  13. Allan Chappell (generalredneck)

  14. Jakob Perry (japerry)

  15. Timo Huisman (Timo Huisman) (provisional)

The group will work in the coming weeks to establish processes and changes required to Drupal.org to facilitate the role.

If you wish to get in touch and say congratulations, you can find them in the #project-update-working-group channel on slack.

read more
03.05.2024

rss

Four Kitchens: Aligning diverging websites with an upstream platform through Drupal

Mike Goulding

Senior Drupal Engineer

Mike has been part of the Four Kitchens crew since 2018, where he works as a senior engineer and tech lead for a variety of Drupal and WordPress projects.

January 1, 1970

The Columbia SPS homepage

For higher ed institutions, the need to manage updates for multiple websites is an ongoing struggle. Each site should reflect the distinct identity of a given school or department. But as each website’s CMS, frontend design, and backend architecture diverge, any organization will need to grapple with the necessary upkeep.

Columbia School of Professional Studies (SPS) faced this situation with three separate websites. One site presents summer courses, another targets high school students with pre-college offerings, and the third is the traditional SPS website. Each domain serves a different audience and is managed by a small team.

As each website continued to diverge, users found it difficult to recognize them as part of the same school. Worse yet, the three websites were on two different versions of Drupal and had grown difficult to maintain, as one platform was reaching its end of life.

SPS came to Four Kitchens seeking an upstream solution to provide relief. In this preview of an upcoming presentation at DrupalCon Portland 2024’s Higher Education Summit, the Config Split module has a newer feature that cleared the way for an efficient resolution.

How an upstream platform streamlines diverging websites

Columbia SPS needed a solution that would resolve multiple nagging issues. In much the same way that a design system streamlines operations by creating a centralized content resource, an upstream platform enables multiple websites to share a single codebase.

Along with bringing the organization’s Drupal instances into alignment and reducing technical debt, the approach offered three core advantages:

  • Increased efficiency: Enable the university to maintain multiple websites with less effort. When you update code in one place, it impacts every site in the organization.
  • Greater consistency: Align user experience and simplify internal planning for site updates.
  • Streamlined development: Shared code, security updates, and component access. No matter what site Columbia’s team works on, they know what processes to expect.

To make sure each site could still offer a distinct experience, Columbia didn’t want to share content or merge each website into one. They primarily wanted to make each easier to manage for their team.

Offer shared (but distinct) experiences through Config Split

Creating an upstream platform for Columbia SPS hinged on the Configuration Split Drupal module. Put simply, this module allows you to apply a different configuration to a website to suit specific scenarios. You can use Config Split to make sure you only see error logs on your test environment (not your live site).

The Columbia SPS Summer Session website

However, Columbia SPS still wanted its three websites to offer distinct features. To enable this flexibility, we used a newer feature in the 2.x versions of the module called Config Patch. This feature allows Columbia SPS to apply part of a website configuration to each website.

For example, each university website may share the same article structure. But one website can support a distinctive CTA component at the bottom. Columbia SPS now has that flexibility — and it doesn’t cause chaos from a website maintenance standpoint.

With Config Patch, Columbia can use a single code repository to maintain three sites that have their own distinct details within the same baseline features. We also provided SPS with a base demo site that keeps Config Split from allowing too much flexibility. Adding rules to settings.php provides a home for the logic for each site to make sure they follow the proper configuration.

Plus, the demo site functions as a mold if the organization needs to add a new website. Along with providing support for the organization’s current needs, the upstream platform provides support for the future.

Avoiding pitfalls of upstream platforms in higher ed

Implementing an upstream solution for Columbia SPS enabled the university to run its separate sites more efficiently and provide a more consistent experience. Just as importantly, the institution escaped the shadow of a Drupal 7 migration, which stands as a major benefit for the organization.

However, adopting an upstream platform carries its own complications. For all the advantages Columbia SPS gained, the organization also needs to be mindful of a few potential pitfalls of an upstream platform:

  1. Bringing distinct site features back into alignment is difficult: If Columbia SPS wanted to roll back a configuration that was previously split, the sites can be difficult to manage locally.
  2. Shifting priorities for Drupal updates: Platform updates must be made against the demo site first to maintain alignment between each web property.
  3. Increased work for developing multiple features: An upstream platform reduces complexity, but working in a single repository presents its own challenges. Creating distinct features for individual websites requires a little more work on the part of your development team.

Upstream platforms offer efficiency and consistency for higher ed

Navigating the specific needs for multiple websites is a persistent challenge for higher ed institutions. On the one hand, delivering a consistent experience drawn from a single codebase is easier to manage, especially for a small, centralized IT team. On the other hand, individual departments and schools have specific design and functionality needs. They should be able to offer website experiences distinct from the look and feel of your core website.

With an upstream platform, you gain the functionality to serve both needs. The solution introduces new complexity, but with an experienced development partner, a multisite platform allows your team to work more efficiently. Better still, if your organization needs to maintain multiple platforms as your websites have diverged, you gain key benefits from addressing needed upgrades.

Would this kind of solution help your organization? Let us know how we can help.

Details

If you’re going to DrupalCon Portland 2024, please make sure to attend the Higher Education Summit to hear directly from Mike and the team at Columbia SPS.

Where: Oregon Convention Center (777 NE Martin Luther King Jr. Blvd, Portland, OR 97232), Room C123-124

When: Thursday, May 9, 2024, 9:00am – 4:00pm

For tickets and session details, click here.

The post Aligning diverging websites with an upstream platform through Drupal appeared first on Four Kitchens.

read more
03.05.2024

rss

The new Navigation module and Layout Builder

Navigation module makes use of Layout Builder to construct the navigation toolbar.

There have been some questions about this decision in Slack. This post discusses the background.

In #3397058: Convert navigation sections to blocks and use the menu system the navigation module added a plugin system and config entity for 'navigation blocks'. These were very nearly identical to block plugins and block config entities. The primary difference was the config entities did not depend on a theme like block config entities do.

In #3411099: Create an administration UI for managing Navigation Blocks a UI was added for editing and managing navigation blocks. This duplicated further code from the block module.

#3438895: Add the new Navigation to core as an Experimental module was the issue to add the navigation module to core. This point was the first time that many core committers had looked at the code. As part of a Framework Manager review of the issue, the amount of duplication between the block and navigation modules was raised.

Until this point the navigation module lived in contrib and did not have a chance to change code in core. But now that it was a merge request against core, changing core was a possibility. As a result the Framework Managers made an attempt to modify the theme-assumption in the block system to support the navigation use-case. This resulted in a less than ideal scenario where Block::getTheme() could return null or an empty string in some scenarios. Whilst it was possible to fix all calls in core, the impact this could have on contrib and custom code felt like it would be problematic.

At this point the idea of using Layout Builder's section storage as a data-model for the blocks in navigation was floated. Layout Builder's section storage provides a data-model that allows placing and configuring block plugins but without block config entities. There is no dependency between these block placements and a theme. Layout Builder also includes an API for limiting which blocks can be used where, which was also a requirement for the navigation module. Not all block plugins would work inside the navigation toolbar.

The Framework Managers worked on the core merge request to assess the feasibility of this change. The net result was the removal of 4,000 lines of code but with largely the same functionality. As a result, the version of the navigation module that was committed to Drupal 10.3.0 and 11.x depends on the Layout Builder module.

Sites who don't use Layout Builder for building entity displays can continue to use their preferred approach. Having Layout Builder enabled doesn't change how entities are rendered unless you enable it on a per entity-bundle-display basis. Prior to 10.3 there were performance issues from the number of block plugins derived by Layout Builder. But from 10.3 sites can now control and prevent this.

The Navigation initiative has created a list of follow-up issues for the usability of Layout Builder when configuring the navigation toolbar. Some of these overlap with existing usability issues for Layout Builder. In addition the recently announced Experience builder initiative will invest in improving Layout Builder usability. Finally, the Dashboard initiative is also using Layout Builder for handling block placements. When we standardise on a solution and work together to improve it, it will lead to improvement across the board.

read more
larowlan 02.05.2024

rss

Drupal Core News: The new Navigation module and Layout Builder

Navigation module makes use of Layout Builder to construct the navigation toolbar.

There have been some questions about this decision in Slack. This post discusses the background.

In #3397058: Convert navigation sections to blocks and use the menu system the navigation module added a plugin system and config entity for 'navigation blocks'. These were very nearly identical to block plugins and block config entities. The primary difference was the config entities did not depend on a theme like block config entities do.

In #3411099: Create an administration UI for managing Navigation Blocks a UI was added for editing and managing navigation blocks. This duplicated further code from the block module.

#3438895: Add the new Navigation to core as an Experimental module was the issue to add the navigation module to core. This point was the first time that many core committers had looked at the code. As part of a Framework Manager review of the issue, the amount of duplication between the block and navigation modules was raised.

Until this point the navigation module lived in contrib and did not have a chance to change code in core. But now that it was a merge request against core, changing core was a possibility. As a result the Framework Managers made an attempt to modify the theme-assumption in the block system to support the navigation use-case. This resulted in a less than ideal scenario where Block::getTheme() could return null or an empty string in some scenarios. Whilst it was possible to fix all calls in core, the impact this could have on contrib and custom code felt like it would be problematic.

At this point the idea of using Layout Builder's section storage as a data-model for the blocks in navigation was floated. Layout Builder's section storage provides a data-model that allows placing and configuring block plugins but without block config entities. There is no dependency between these block placements and a theme. Layout Builder also includes an API for limiting which blocks can be used where, which was also a requirement for the navigation module. Not all block plugins would work inside the navigation toolbar.

The Framework Managers worked on the core merge request to assess the feasibility of this change. The net result was the removal of 4,000 lines of code but with largely the same functionality. As a result, the version of the navigation module that was committed to Drupal 10.3.0 and 11.x depends on the Layout Builder module.

Sites who don't use Layout Builder for building entity displays can continue to use their preferred approach. Having Layout Builder enabled doesn't change how entities are rendered unless you enable it on a per entity-bundle-display basis. Prior to 10.3 there were performance issues from the number of block plugins derived by Layout Builder. But from 10.3 sites can now control and prevent this.

The Navigation initiative has created a list of follow-up issues for the usability of Layout Builder when configuring the navigation toolbar. Some of these overlap with existing usability issues for Layout Builder. In addition the recently announced Experience builder initiative will invest in improving Layout Builder usability. Finally, the Dashboard initiative is also using Layout Builder for handling block placements. When we standardise on a solution and work together to improve it, it will lead to improvement across the board.

read more
02.05.2024

rss

Mario Hernandez: Integrating Drupal with Storybook components

Hey you're back! 🙂 In the previous post we talked about how to build a custom Drupal theme using Storybook as the design system. We also built a simple component to demonstrate how Storybook, using custom extensions, can understand Twig. In this post, the focus will be on making Drupal aware of those components by connecting Drupal to Storybook.
If you are following along, we will continue where we left off to take advantage of all the prep work we did in the previous post. Topics we will cover in this post include:

  1. What is Drupal integration
  2. Installing and preparing Drupal for integration
  3. Building components in Storybook
  4. Building a basic front-end workflow
  5. Integrating Drupal with Storybook components

What is Drupal integration?

In the context of Drupal development using the component-driven methodology, Drupal integration means connecting Drupal presenter templates such as node.html.twig, block.html.twig, paragraph.html.twig, etc. to Storybook by mapping Drupal fields to component fields in Storybook. This in turn allows for your Drupal content to be rendered wrapped in the Storybook components.

The advantage of using a design system like Storybook is that you are in full control of the markup when building components, as a result your website is more semantic, accessible, and easier to maintain.

Building more components in Storybook

The title component we built in the previous post may not be enough to demonstrate some of the advanced techniques when integrating components. We will build a larger component to put these techniques in practice. The component we will build is called Card and it looks like this:

When building components, I like to take inventory of the different parts that make up the components I'm building. The card image above shows three parts: An image, a title, and teaser text. Each of these parts translates into fields when I am defining the data structure for the component or building the entity in Drupal.

Building the Card component

  • Open the Drupal site in your code editor and within your code editor navigate to the storybook theme (web/themes/custom/storybook)
  • Create two new directories inside components called 01-atoms and 02-molecules
  • Inside 02-molecules create a new directory called card
  • Inside the card directory add the following four files:
    • card.css: component's styles
    • card.twig: component's markup and logic
    • card.stories.jsx: Storybook's story
    • card.yml: component's demo data
  • Add the following code snippet to card.yml:
---
modifier: ''
image: <img src="https://source.unsplash.com/cHRDevKFDBw/640x360" alt="Palm trees near city buildings" />
title:
  level: 2
  modifier: ''
  text: 'Tours & Experiences'
  url: 'https://mariohernandez.io'
teaser: 'Step inside for a tour. We offer a variety of tours and experiences to explore the building’s architecture, take you backstage, and uncover the best food and drink. Tours are offered in different languages and for different levels of mobility.'
  • Add the following to card.twig to provide the markup and logic for the card:
{{ attach_library('storybook/card') }}

<article class="card{{ modifier ? ' ' ~ modifier }}{{- attributes ? ' ' ~ attributes.class -}}" {{- attributes ? attributes|without(class) -}}>
  {% if image %}
    <div class="card__image">
      <figure>
        {{ image }}
      </figure>
    </div>
  {% endif %}

  <div class="card__content">
    {% if title %}
      {% include "@atoms/title/title.twig" with {
        'level': title.level,
        'modifier': title.modifier,
        'text': title.text,
        'url': title.url,
      } only %}
    {% endif %}

    {% if teaser %}
      <p class="card__teaser">{{ teaser }}</p>
    {% endif %}
  </div>
</article>
  • Copy and paste these styles into card.css.

  • Finally, let's create the Storybook card story by adding the following to card.stories.jsx:

import parse from 'html-react-parser';

import card from './card.twig';
import data from './card.yml';
import './card.css';

const component = {
  title: 'Molecules/Card',
};

export const Card = {
  render: (args) => parse(card(args)),
  args: { ...data },
};

export default component;

Let's go over a few things regarding the code above:

  • The data structure in card.yml reflects the data structure and type we will use in Drupal.
    • The image field uses the entire <img> element rather than just using the image src and alt attributes. The reason for this is so when we get to Drupal, we can use Drupal's full image entity. This is a good practice for caching purposes.
  • card.twig reuses the title component we created in the previous post. Rather than build a title from scratch for the Card and repeat the code we already wrote, reusing the existing components keeps us DRY.
  • card.stories.jsx in the Storybook story for the Card, notice how the code in this file is very similar to the code in the title.stories.jsx. Even with complex components, when we port them into Storybook as stories, most times the code will be similar as what you see above because Storybook is simply parsing whatever is in .twig and .yml files. There are exceptions when the React code may have extra parameters or logic which typically happens when we're building stories variations. Maybe a topic for a different blog post. 😉

Before we preview the Card, some updates are needed

You may have noticed in card.twig we used the namespace @atoms when nesting the title component. This namespace does not exist, and we need to create it now. In addition, we need to move the title component into the 01-atoms directory:

  • In your code editor or command line (whichever is easier), move the title directory into the 01-atoms directory
  • In your editor, open title.stories.jsx and change the line
    title: 'Components/Title' to title: 'Atoms/Title'. This will display the title component within the Atoms category in Storybook's sidebar.
  • Rather than have you make individual changes to vite.config.js, let's replace/overwrite all its content with the following:
/* eslint-disable */
import { defineConfig } from 'vite'
import yml from '@modyfi/vite-plugin-yaml';
import twig from 'vite-plugin-twig-drupal';
import { join } from 'node:path'
export default defineConfig({
  root: 'src',
  publicDir: 'public',
  build: {
    emptyOutDir: true,
    outDir: '../dist',
    rollupOptions: {
      input: {
        'reset': './src/css/reset.css',
        'styles': './src/css/styles.css',
        'card': './src/components/02-molecules/card/card.css',
      },
      output: {
        assetFileNames: 'css/[name].css',
      },
    },
    sourcemap: true,
  },
  plugins: [
    twig({
      namespaces: {
        atoms: join(__dirname, './src/components/01-atoms'),
        molecules: join(__dirname, './src/components/02-molecules'),
      },
    }),
    // Allows Storybook to read data from YAML files.
    yml(),
  ],
})

Let's go over some of the most noticeable updates inside vite.config.js:

  • We have defined a few things to improve the functionality of our Vite project, starting with using src as our app root directory and public for publicDir. This helps the app understand the project structure in a relative manner.

  • Next, we defined a Build task which provides the app with defaults for things like where should it compiled code to (i.e. /dist), and rollupOptions for instructing the app which stylesheets to compile and what to call them.

  • As part of the rollupOptions we also defined two stylesheets for global styles (reset.css and styles.css). We'll create these next.

    Important

    This is as basic as it gets for a build workflow and in no way would I recommend this be your front-end build workflow. When working on bigger projects with more components, it is best to define a more robust and dynamic workflow that provides automation for all the repetitive tasks performed on a typical front-end project.
  • Under the Plugins section, we have defined two new namespaces, @atoms and @molecules, each of which points to specific path within our components directory. These are the namespaces Storybook understands when nesting components. You can have as many namespaces as needed.

Adding global styles

  • Inside storybook/src, create a new directory called css
  • Inside the css directory, add two new files, reset.css and styles.css
  • Here are the styles for reset.css and styles.css. Please copy them and paste them into each of the stylesheets.
  • Now for Storybook to use reset.css and styles.css, we need to update /.storybook/preview.js by adding these two imports directly after the current imports, around line 4.
import '../dist/css/reset.css';
import '../dist/css/styles.css';

Previewing the Card in Storybook

Remember, you need NodeJS v20 or higher as well as NVM installed on your machine.

  • In your command line, navigate to the storybook directory and run:
nvm install
npm install
npm run build
npm run storybook

A quick note about the commands above:

  • nvm install and npm install are typically only done once in your app. These commands will first install and use the node version specified in .nvmrc, and will install all the required node packages found in package.json. If you happen to be workign on another project that may use a different version of node, when you comeback to the Storybook project you will need to run nvm use in order to resume using the right node version.
  • npm run build is usually only ran when you have made configuration changes to the project or are introducing new files.
  • npm run storybook is the command you will use all the time when you want to run Storybook.

After Storybook launches, you should see two story categories in Storybook's sidebar, Atoms and Molecules. The title component should be under Atoms and the Card under Molecules. See below:

Installing Drupal and setting up the Storybook theme

We have completed all the prep work in Storybook and our attention now will be all in Drupal. In the previous post all the work we did was in a standalone project which did not require Drupal to run. In this post, we need a Drupal site to be able to do the integration with Storybook. If you are following along and already have a Drupal 10 site ready, you can skip the first step below.

  1. Build a basic Drupal 10 website (I recommend using DDEV).
  2. Add the storybook theme to your website. If you completed the excercise in the previous post, you can copy the theme you built into your site's /themes/custom/ directory, Otherwise, you can clone the previous post repo into the same location so it becomes your theme. After this your theme's path should be themes/custom/storybook.
  3. No need to enable the theme just yet, we'll come back to the theme shortly.
  4. Finally, create a new Article post that includes a title, body content and an image. We'll use this article later in the process.

Creating Drupal namespaces and adding Libraries

Earlier we created namespaces for Storybook, now we will do the same but this time for Drupal. It is best if the namesapces' names between Storybook and Drupal match for consistency. In addition, we will create Drupal libraries to allow Drupal to use the CSS we've written.

  • Install and enable the Components module
  • Add the following namespaces at the end of storybook.info.yml (mind your indentation):
components:
  namespaces:
    atoms: src/components/01-atoms
    molecules: src/components/02-molecules
  • Replace all content in storybook.libraries.yml with the following:
global:
  version: VERSION
  css:
    base:
      dist/css/reset.css: {}
      dist/css/styles.css: {}

card:
  css:
    component:
      dist/css/card.css: {}
  • Let's go over the changes to both, storybook.info.yml and storybook.libraries.yml files:

    • Using the Components module we created two namespaces: @atoms and @molecules. Each namespace is associated with a specific path to the corresponding components. This is important because Drupal by default only looks for Twig templates inside the /templates directory and without the Components module and the namespaces it would not know to look for our component's Twig templates inside the components directory.
    • Then we created two Drupal libraries: global and card. The Global library includes two CSS stylesheets (reset.css and styles.css), which handle base styles in our theme. the Card library includes the styles we wrote for the Card component. If you noticed, when we created the Card component, the first line inside card.twig is a Twig attach library statement. Basically card.twig is expecting a Drupal library called card.

Turn Twig debugging on

All the pieces are in place to Integrate the Card component so Drupal can use it to render article nodes when viewed in teaser view mode.

  • The first thing we need to do to begin the integration process is to determine which Twig template Drupal uses to render article nodes in teaser view mode. One easy way to do this is by turning Twig debugging on. This used to be a complex configuration but starting with Drupal 10.1 you can now do it directly in Drupal's UI:

    • While logged in with admin access, navigate to /admin/config/development/settings on your browser. This will bring up the Development settings page.
    • Check all the boxes on this page and click Save settings. This will enable Twig debugging and disable caching.
    • Now navigate to /admin/config/development/performance so we can turn CSS and JS aggregation off.
    • Under Bandwidth optimization cleared the two boxes for CSS and Javascript aggregation then click on Save configuration.
    • Lastly, click the Clear all caches button. This will ensure any CSS or JS we write will be available without having to clear caches.
  • With Twig debugging on, go to the homepage where the Article we created should be displayed in teaser mode. If you right-click on any part of the article and select inspect from the context menu, you will see in detail all the templates Drupal is using to render the content on the current page. See example below.

    Note

    I am using a new basic Drupal site with Olivero as the default theme. If your homepage does not display Article nodes in teaser view mode, you could create a simple Drupal view to list Article nodes in teaser view mode to follow along.

In the example above, we see a list of templates that start with node...*. These are called template suggestions and are the names Drupal is suggesting we can assign our custom templates. The higher the template appears on the list, the more specific it is to the piece of content being rendered. For example, changes made to node.html.twig would affect ALL nodes throughout the site, whereas changes made to node--1--teaser.html.twig will only affect the first node created on the site but only when it's viewed in teaser view mode.

Notice I marked the template name Drupal is using to render the Article node. We know this is the template because it has an X before the template name.

In addition, I also marked the template path. As you can see the current template is located in core/themes/olivero/templates/content/node--teaser.html.twig.

And finally, I marked examples of attributes Drupal is injecting in the markup. These attributes may not always be useful but it is a good practice to ensure they are available even when we are writing custom markup for our components.

Create a template suggestion

By looking at the path of the template in the code inspector, we can see that the original template being used is located inside the Olivero core theme. The debugging screenshot above shows a pretty extensive list of templates suggestions, and based on our requirements, copying the file node--teaser.html.twig makes sense since we are going to be working with a node in teaser view mode.

  • Copy /core/themes/olivero/templates/content/node--teaser.html.twig into your theme's /storybook/templates/content/. Create the directory if it does not exist.
  • Now rename the newly copied template to node--article--teaser.html.twig.
  • Clear Drupal's cache since we are introducing a new Twig template.

As you can see, by renaming the template node--article--teaser (one of the names listed as a suggestion), we are indicating that any changes we make to this template will only affect nodes of type Article which are displayed in Teaser view mode. So whenever an Article node is displayed, if it is in teaser view mode, it will use the Card component to render it.

The template has a lot of information that may or may not be needed when integrating it with Storybook. If you recall, the Card component we built was made up of three parts: an image, a title, and teaser text. Each of those are Drupal fields and these are the only fields we care about when integrating. Whenever when I copy a template from Drupal core or a module into my theme, I like to keep the comments on the template untouched. This is helpful in case I need to reference any variables or elements of the template.

The actual integration ...Finally

  1. Delete everything from the newly copied template except the comments and the classes array variable
  2. At the bottom of what is left in the template add the following code snippet:
{% set render_content = content|render %}

{% set article_title = {
    'level': 2,
    'modifier': 'card__title',
    'text': label,
    'url': url,
  }
%}

{% include '@molecules/card/card.twig' with {
  'attributes': attributes.addClass(classes),
  'image': content.field_image,
  'title': article_title,
  'teaser': content.body,
} only %}
  • We set a variable with content|render as its value. The only purpose for this variable is to make Drupal aware of the entire content array for caching purposes. More info here.
  • Next, we setup a variable called article_title which we structured the same way as data inside card.yml. Having similar data structures between Drupal and our components provides many advantages during the integration process.
    • Notice how for the text and url properties we are using Drupal specific variables (label and url), accordingly. If you look in the comments in node--article--teaser.html.twig you will see these two variables.
  • We are using a Twig include statement with the @molecules namespace to nest the Card component into the node template. The same way we nested the Title component into the Card.
  • We mapped Drupal's attributes into the component's attributes placeholder so Drupal can inject any attributes such as CSS classes, IDs, Data attributes, etc. into the component.
  • Finally, we mapped the image, title and teaser fields from Drupal to the component's equivalent fields.
  • Save the changes to the template and clear Drupal's cache.

Enable the Storybook theme

Before we forget, let's enable the Storybook theme an also make it your default theme, otherwise all the work we are doing will not be visible since we are currently using Olivero as the default theme. Clear caches after this is done.

Previewing the Article node as a Card

Integration is done and we switched our default theme to Storybook. After clearing caches if you reload the homepage you should be able to see the Article node you wrote but this time displayed as a card. See below:

  • If you right-click on the article and select Inspect, you will notice the following:
    • Drupal is now using node--article--teaser.html.twig. This is the template we created.
    • The template path is now themes/custom/storybook/src/templates/content/.
    • You will also notice that the article is using the custom markup we wrote for the Card component which is more semantic, accessible, but in addition to this, the <article> tag is also inheriting several other attributes that were provided by Drupal through its Attributes variable. See below:

If your card's image size or aspect ratio does not look as the one in Storybook, this is probably due to the image style being used in the Article Teaser view mode. You can address this by:

  • Going to the Manage display tab of the Article's Teaser view mode (/admin/structure/types/manage/article/display/teaser).
  • Changing the image style for the Image field for one that may work better for your image.
  • Preview the article again on the homepage to see if this looks better.

In closing

This is only a small example of how to build a simple component in Storybook using Twig and then integrate it with Drupal, so content is rendered in a more semantic and accessible manner. There are many more advantages of implementing a system like this. I hope this was helpful and see the potential of a component-driven environment using Storybook. Thanks for visiting.

Download the code

For a full copy of the code base which includes the work in this and the previous post, clone or download the repo and switch to the card branch. The main branch only includes the previous post code.

Download the code

read more
02.05.2024

rss

Best Drupalcon Portland 2024 sessions to learn Drupal

I have gone through all the Drupalcon sessions in Portland and selected those that I think are perfect for someone learning Drupal. Here is the result.

NOTE: Did I miss anything that you think it should be highlighted here? Please let me know 😊.

Have fun, learn and meet the community

Trivia night
https://events.drupal.org/portland2024/session/trivia-night
When: Thursday, May 9, 2024 - 18:30 to 21:05
Why: General culture about Drupal

Birds of a Feather
https://events.drupal.org/portland2024/session/birds-feather
When: Monday, May 6, 2024 - 08:00 to 17:00
Why: Learn and interact with the discussions

Learn how Drupal is used in the real world 

Harvard College: Don't Call it a Redesign
https://events.drupal.org/portland2024/session/harvard-college-dont-call-it-redesign
When: Thursday, May 9, 2024 - 14:20 to 14:45
Why: learn about current trends and on going work from real agencies in the real world

How Los Angeles Department of Water and Power Revolutionized the Web Utility Experience
https://events.drupal.org/portland2024/session/how-los-angeles-department-water-and-power-revolutionized-web-utility
When: Thursday, May 9, 2024 - 11:30 to 11:45
Why: Learn about current trends and on going work from real agencies in the real world

How Drupal Rescued Georgia Tech’s International Students During and Post-Pandemic
https://events.drupal.org/portland2024/session/how-drupal-rescued-georgia-techs-international-students-during-and-post
When: Thursday, May 9, 2024 - 11:30 to 11:45
Why: Learn about current trends and on going work from real agencies in the real world

How Acquia and Drupal Power Robust, Modern, and Secure Digital Experiences
https://events.drupal.org/portland2024/session/how-acquia-and-drupal-power-robust-modern-and-secure-digital-experiences
When: Thursday, May 9, 2024 - 11:00 to 11:25
Why: Learn about current trends and on going work from real agencies in the real world

Get trained

TRAINING | Evolving Web
https://events.drupal.org/portland2024/session/training-debug-academy
When: Thursday, May 9, 2024 - 09:00 to 16:00
Why: Introduction to Building Sites with Drupal

TRAINING | Evolving Web
https://events.drupal.org/portland2024/session/training-evolving-web
When: Thursday, May 9, 2024 - 09:00 to 16:00
Why: Drupal Theming with SDC and TailwindCSS

First-time contributor workshop
https://events.drupal.org/portland2024/session/first-time-contributor-workshop
When: Wednesday, May 8, 2024 - 10:30 to 17:00
Why: Learn to give something back while you learn something new

General Contribution
https://events.drupal.org/portland2024/session/general-contribution
When: Monday, May 6, 2024 - 16:10 to 17:00
Why: It’s not necessarily a place to get trained, but a place where you can start contributing while volunteers will help you on how to do it.

Learn about Drupal capabilities

Access Control Strategies for Enterprise Drupal Websites
https://events.drupal.org/portland2024/session/access-control-strategies-enterprise-drupal-websites
When: Tuesday, May 7, 2024 - 16:10 to 17:00
Why: Learn how the powerful Drupal access control works

Using Layout Builder: Practical Advice from the Field
https://events.drupal.org/portland2024/session/using-layout-builder-practical-advice-field
When: Tuesday, May 7, 2024 - 15:00 to 15:50
Why: Learn about the powerful Layout Builder

Protecting your site with Automatic Updates
https://events.drupal.org/portland2024/session/protecting-your-site-automatic-updates
When: Tuesday, May 7, 2024 - 15:00 to 15:50
Why: Learn to stay secure

Secure, Performant, Scalable and Green: The big wins of a static Drupal website
https://events.drupal.org/portland2024/session/secure-performant-scalable-and-green-big-wins-static-drupal-website
When: Tuesday, May 7, 2024 - 15:00 to 15:50
Why: Learn to build static websites while leveraging the power of Drupal 

Unleashing the power of ECA: No-code coding for ambitious site builders
https://events.drupal.org/portland2024/session/unleashing-power-eca-no-code-coding-ambitious-site-builders
When: Tuesday, May 7, 2024 - 13:50 to 14:40
Why: Learn some low code capabilities in Drupal

Learn about teamwork and collaboration
https://events.drupal.org/portland2024/session/price-silence-hidden-costs-withholding-feedback-teams
When: Tuesday, May 7, 2024 - 16:10 to 17:00
Why: Because teamwork is the name of the game

Getting started using Personalization
https://events.drupal.org/portland2024/session/getting-started-using-personalization
When: Tuesday, May 7, 2024 - 11:30 to 12:20
Why: I personally believe that personalisation is the next big thing in Drupal and the web

Navigation changes in Drupal’s Admin UI
https://events.drupal.org/portland2024/session/navigation-changes-drupals-admin-ui
When: Monday, May 6, 2024 - 15:00 to 15:50
Why: Learn about the new navigation interface 

Drupal's next leap: configuration validation — it's here!
https://events.drupal.org/portland2024/session/drupals-next-leap-configuration-validation-its-here
When: Monday, May 6, 2024 - 15:00 to 15:50
Why:  Configuration is a powerful but complex topic in Drupal worth to explore

Lightening Talk: 5 new free things you get from CKEditor 5 Plugin Pack
https://events.drupal.org/portland2024/session/lightening-talk-5-new-free-things-you-get-ckeditor-5-plugin-pack
When: Monday, May 6, 2024 - 13:05 to 13:15
Why: Learn more about the editor in the core of the Drupal editorial experience

Mastering Consistency: Expanding content across multiple sites and touch points
https://events.drupal.org/portland2024/session/mastering-consistency-expanding-content-across-multiple-sites-and-touch-points
When: Monday, May 6, 2024 - 09:00 to 09:50
Why: Learn how flexible is Drupal when it comes to content shareability

Learn strategy and where Drupal is heading

Drupal Project Initiatives Keynote
https://events.drupal.org/portland2024/session/drupal-project-initiatives-keynote
When: Wednesday, May 8, 2024 - 09:00 to 10:00
Why: Learn about Drupal future

Lightning Talk: Is the Redesign Dead?
https://events.drupal.org/portland2024/session/lightening-talk-redesign-dead
When: Monday, May 6, 2024 - 15:55 to 16:05
Why: Learn new trends in development

Drupal.org Update
https://events.drupal.org/portland2024/session/drupalorg-update
When: Monday, May 6, 2024 - 15:00 to 15:50
Why: The engineering team will give you insights on what’s happening and what’s coming soon

So I logged in, now what? The Dashboard initiative welcomes you
https://events.drupal.org/portland2024/session/so-i-logged-now-what-dashboard-initiative-welcomes-you
Monday, May 6, 2024 - 13:30 to 14:20
Why: learn how the new interface will welcome you in the near future.

Driesnote
https://events.drupal.org/portland2024/session/driesnote
When: Monday, May 6, 2024 - 10:45 to 11:45
Why: Do we need to explain why the most important session in Drupalcon will give you insights in the immediate future of Drupal?
 

read more
alexmoreno 01.05.2024

rss

Elevate Your Marketing Game at DrupalCon Portland 2024

In the digital age, staying updated with the latest marketing strategies and tools is crucial for every marketing professional. DrupalCon Portland 2024 might not be an event that was on your radar as a marketer, but this year is different. DrupalCon Portland 2024 has worked hard to curate some of the best speakers in the content management space for its new marketing track. This conference is transforming from a developer-focused conference to a full blown web conference, providing marketers an opportunity to enhance their expertise, network with industry leaders, and gain insights into the latest trends and technologies. Here's what you can gain from attending, along with a sneak peek into some of the key sessions that promise to enrich your marketing prowess.

Comprehensive Learning Opportunities

At DrupalCon Portland 2024, the focus is on actionable insights and strategies that can be applied immediately. Whether you're a content strategist, a digital marketer, or lead a team of developers, the conference offers a diverse range of sessions tailored to meet your interests. These sessions will cover everything from content consistency across multiple platforms to the integration of AI in web and marketing strategies.

Session Spotlight:

AI + Atomic Content:  Managing Personalized, Omni-channel Content at Scale: Explore how to manage personalized, omni-channel content at scale, a vital skill in today’s customer-centric marketing environment.

Networking with Peers and Industry Leaders

One of the primary benefits of attending DrupalCon is the opportunity to connect with peers and thought leaders from across the globe. These interactions provide a chance to share ideas, challenges, and solutions, fostering a valuable exchange of knowledge that can lead to future collaborations and innovations.

Session Spotlight:

DrupalCon's Next Top Content Model: Delve into advanced content strategy tools that clarify requirements and enhance mutual understanding within your marketing team.

Gaining a Competitive Edge

The marketing track at DrupalCon Portland 2024 is designed to equip you with cutting-edge skills and insights that will help you drive your organization forward and set you apart in the competitive job market. Learn how to leverage Drupal and other technologies to maximize your digital presence and effectiveness.

Session Spotlight:

Transforming Drupal into a MarTech LeadGen Machine: Learn the secrets to turning your website into a lead generation powerhouse, ensuring that your digital efforts translate into tangible results.

Insight into Future Trends

Staying ahead in marketing means anticipating changes and adapting quickly. DrupalCon provides a forward-looking perspective on the future of marketing, particularly how emerging technologies like AI are reshaping the landscape.

Session Spotlight:

Navigating Tomorrow: The Future of Websites in the Age of AI and Content Proliferation: Understand the seismic shifts in website management and content creation driven by AI and the insatiable demand for new content.

Practical Takeaways for Immediate Application

Every session at DrupalCon is crafted to provide practical knowledge and strategies that you can immediately implement in your work. From enhancing your content strategies to integrating sophisticated tech solutions, the takeaways are designed to have an immediate impact on your marketing effectiveness.

Session Spotlight:

The 30-Minute Content Strategist: From Concept to Plan: Equip yourself with a rapid, effective content strategy formulation that you can apply the moment you return to the office.

A Tailored Experience

DrupalCon Portland 2024 offers a uniquely tailored experience, allowing you to customize your itinerary based on your specific interests and professional needs. Whether your focus is on technical SEO, content management, or user experience, the sessions are structured to provide deep dives into each area.

Attending DrupalCon Portland 2024 is more than just an educational experience; it's an investment in your professional future. With sessions designed to bridge the gap between theory and practice and opportunities to connect with industry leaders, the benefits of attending extend well beyond the conference itself. Ready to transform your approach to digital marketing? Join us at DrupalCon Portland 2024 and be part of shaping the future of web and marketing.

read more
_doyle_ 01.05.2024

rss

Drupal 11.0.0-alpha 1 will be released on the week of April 29, 2024

Last month, we announced that depending on readiness of the codebase to 11.0.0 beta requirements today on April 26, 2024, Drupal 11 would be released either on the week of July 29, 2024 or the week of December 9, 2024.

The Drupal 11 codebase progressed a lot since then, it is based on Symfony 7 and jQuery 4, and the deprecated APIs have been removed. However, while we are making rapid progress on PHPUnit 10 support, we need to fully complete that update to PHPUnit 10 before a beta release, which will not quite be ready for next week.

To help the community prepare for Drupal 11, we decided to make Drupal 11.0.0-alpha1 available next week (on the week of April 29, 2024), alongside Drupal 10.3.0-beta1. This also means that those attending DrupalCon Portland 2024 the week after can already try out the first tagged version of Drupal 11, and modules can add Drupal 11 compatibility confident that all runtime APIs are stable.

We are giving ourselves an additional couple of weeks to run down the last PHPUnit 10 issues and any other remaining beta blockers ready for a stable Drupal 11.0.0 release on the week of July 29, 2024. Assuming all goes well, we'll make a final decision by May 10th and release a beta shortly afterwards.

read more
Gábor Hojtsy 26.04.2024

youtube

embed image

New field creation experience in Drupal 10.2

Learn more about the improved UX for creating and managing fields in Drupal 10.2, coming December 2024. read more
Drupal Association 14.12.2023

youtube

embed image

Drupal policy access based (demo)

Drupal Association 14.12.2023

youtube

embed image

HIGHLIGHTS FROM DRUPALCON LILLE 2023

Relive some of the best moments of DrupalCon Lille 2023 (17-20 October 2023) - Lille Grand Palais, Lille, France. Production by Kuoni Tumlare | Congress read more
Drupal Association 30.11.2023

youtube

embed image

HIGHLIGHTS FROM DRUPALCON LILLE 2023

Relive some of the best moments of DrupalCon Lille 2023 (17-20 October 2023) - Lille Grand Palais, Lille, France. Production by Kuoni Tumlare | Congress read more
Drupal Association 29.11.2023

youtube

embed image

USERS & EDITORS - Website Caching for Everyone

DrupalCon Lille 2023 TL:DR: Website caching is a necessity in these days of online shopping, Core Web Vitals, and high latency internet in space. Learn about the different layers of cache that can help speed up a website and how to deal with the issues that can crop up from them. — Website caching is a necessity in these days of online shopping, Core Web Vitals, and high latency internet in space. But it’s also incredibly complicated, with sometimes 5 or more different layers active at a time. Knowing how to deal with caching and the issues that can crop up will go a long way in helping you manage your websites. Whether you are a website administrator for a small business, a seasoned front-end developer just getting into Drupal, or a senior PHP developer with years of experience in Drupal, you probably run into caching issues daily, and this session will provide many tips on dealing with them. We will take you on a tour of each of the common caching methods, from browser cache and HTTP headers to server-side in-memory object cache with Drupal modules, and how to use content delivery networks to store full-page output. We’ll start basic, talking about what a header is and work our way to Drupal’s cache bins, showing you how to debug stale content along the way. Attendees with leave this session being able to: - Explain the difference between the layers of cache involved in a web request - Understand different caching strategies at play in Drupal - Troubleshoot multiple layers of cache Targeted audience: - Developers, both front-end and back-end, will learn many advanced techniques - Drupal site administrators will learn the basis of caching - DevOps/SysAdmins will learn more about the services they may need to support read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Single Directory Components in Core

DrupalCon Lille 2023 Twig was introduced into Drupal core over 10 years ago. Since then, improvements to Drupal’s front-end API have been minimal. Meanwhile, other front-end ecosystems have implemented a superior developer experience including hot-reloading, tooling for automation, component libraries, shared component repositories, and more. read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS - Innovation and the future of Drupal

DrupalCon Lille 2023 read more
Drupal Association 27.11.2023

youtube

embed image

UX sells: How we can all promote Drupal with an ecosystem-led, human-centred approach

DrupalCon Lille 2023 AGENCY & BUSINESS How do people decide on Drupal? - that's been the question on our minds in the “Promote Drupal” group supporting the Drupal.org redesign. We sought answers in Drupal personas research. Applying UX and content design concepts – like Jobs To Be Done, journey mapping, content priority guides and usability testing – we unravelled the anatomy of the decision-making process to identify what really speaks to those undecided about Drupal. And we discovered it's not all about Drupal.org. In this session I’ll share what we learned, how we learned it and explain how anyone in the community (from developers, to editors, to agency partners) can use evidence-based, UX-driven insights to effectively market Drupal in their day-to-day work. You’ll learn: - How to use practical empathy to reframe Drupal’s strengths - Effective ways to dispel Drupal myths and misconceptions - The power of behavioural psychology to change minds and guide choices read more
Drupal Association 27.11.2023

embed image
Powered By Combinary

youtube

embed image

ICT Greenhouse Gas Emissions Are Exploding – How Drupal Community Should Engage and Contribute ...

DrupalCon Lille 2023 MAKERS & BUILDERS ICT is quickly becoming a bigger source of greenhouse gas emissions than flying. A recent study by Lancaster University estimated our emissions to be between 2.1 and 3.9 per cent of global emissions. This means software spews out between 1,222,000,000 and 2,270,000,000 tons of carbon dioxide equivalent to atmosphere – every single year. Even if Drupal usage might be just a drop in a bucket, we are still responsible for the planet,the future generations and need to do our part. In this session, I’ll explain the importance of the matter, how one could approach it, and what each and everyone of us can do about the emissions. I will also show three ways of mitigating the issue with measuring the environmental impact, reducing waste, and minimising software. Further, there will be practical guidance that fits Drupal in specific and CMS/DXP platforms in general. After the session, you most probably end up having“oh crap” and “yes, we can do it” thoughts. When returning from DrupalCon, you feel compelled to make changes in the ways you think, code, design, and host sites – for the best of the planet. I’ve written a “Green Code” book that explains the same matters on a more generic level. It is freely available on Exove’s website. read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY EXPERIENCES - Automating software updates: How clients can benefit

DrupalCon Lille 2023 As a client, you want your shiny new Drupal platform to keep working with as few security and performance issues as possible. You also know that all projects require support and maintenance, with software updates being a key part of essential maintenance for every site. However, you may not be aware that manually updating software takes time, is open to human error, and usually doesn’t happen as quickly as you may wish - leaving you open to security risks. In this session, SystemSeed CTO, Evgeniy Maslovskiy, will share two of our client case studies and demonstrate the impact of automated testing on site performance, security, and client budgets. You’ll learn: - Why automated testing is better than manual testing for site performance and security - The difference automated testing has made to two different SystemSeed clients through the real statistics that we will share - How we build automated testing into our overall project process - and what impact that has on delivery dates. - Why many agencies aren’t interested in this type of efficiency, even though it benefits you - How to ask your new or existing agency if they are willing and able to set up and run automated tests for your projects - Where to start with automated testing as a client - How to sell automated testing to your boss as a success tool for your project This session is ideal for client representatives including Product owners, Heads of Web and Digital, CTOs, CFOs, CEOs and Heads of IT read more
Drupal Association 27.11.2023

youtube

embed image

KEYNOTE - Fly Higher - How to lead fearlessly

DrupalCon Lille 2023 "What’s the number one thing that holds people back from realising their true potential? Fear. It could be fear of failure, fear of rejection, fear of looking stupid, fear of making mistakes. The point is, these fears can really get in the way. So, whether you are looking for greater collaboration, better teamwork or more confident leadership, it all starts in the same place. It starts with courage. Sarah will show how you can change your relationship with you biggest fears in order to lead authentically, more skilfully and ultimately with more confidence. read more
Drupal Association 27.11.2023

youtube

embed image

USERS & EDITORS - Next Drupal admin UI improvements

DrupalCon Lille 2023 After getting Claro as the default Drupal administration theme, now we can focus on improving the administration experience beyond the visuals. We will cover several existing and future initiatives that will improve the default experience users have with Drupal's administration UI, both for site builders and for content editors. Whether you want to see what's coming next or you want to get involved, we will walk through which exciting changes are happening and where, which parts of the existing interface will be improved and which new features are around the corner. read more
Drupal Association 27.11.2023

youtube

embed image

USERS & EDITORS - Hosted login: The future of the login

DrupalCon Lille 2023 Identity has become an important part of business, using hosted login service is the easiest way to ensure your user data is protected. In this session we will explain what hosted login is, how to easily implement this service on your drupal website and what are the benefits of use it. We will show how to work with one of the most used Identity provider on the market and demonstrate the most recent authentication features available like Passkey, FingerPrint, PaswordLess. Passkey will be a replacement of the way we claim the user information and we will see how easy is implement those features in our website using hosted login. read more
Drupal Association 27.11.2023

youtube

embed image

How to manage large software projects with multiple teams, multiple stakeholders, and ...

DrupalCon Lille 2023 CLIENTS & INDUSTRY Over the past years we have created a re-usable Drupal application with a full Commercetools shop integration for a large pan European B2B food retailer. The application is deployed on more than 20 websites and the shops connect with different ERP systems ranging from SAP to custom solutions. In total our applications serve more than 250.000 unique visitors per month, and the shops generate more than 1 billion € annual revenue. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - How JSON:API 1.1 will make Drupal better

DrupalCon Lille 2023 Drupal's JSON:API implementation is one of the best ones around. Recently JSON:API released version 1.1 of the specification. There is a lot of new goodies. Extensions and profiles enable describing implementation specific features like Drupal's filtering. Possibilities to use describeBy to link to OpenAPI or JSON schema specification. @-members which could add JSON-LD information to responses. read more
Drupal Association 27.11.2023

youtube

embed image

Mastering the AI Renaissance: Redefining Media Content Creation with Cutting-Edge Tools

DrupalCon Lille 2023 USERS & EDITORS The emergence of Generative AI in March 2023 marks a groundbreaking 'iPhone moment' in technology, with profound implications for the way we work. Within media content editorial teams, we are exploring the potential of integrating AI tools into content creation workflows to benefit aspects such as content drafting, video production and advanced content search. In this talk, I will present novel approaches to using AI to enhance editorial workflows, improve content quality, and tailor content to target audiences. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Performance Audits: The Top 8 Problems We Find & How To Fix Them

DrupalCon Lille 2023 In this talk, Tag1 Consulting, the leading experts in Drupal performance, provide a brief overview of our performance audit process, review the most common problems we’ve found across dozens of audits, show you quick wins that can be implemented in hours, and discuss more fundamental architectural issues. Our team helped create most of Drupal’s performance capabilities (BigPipe, Cache, Dynamic Page Cache, Memcached, etc.) so we’re frequently involved in performance audits as well as integrating performance testing into DevOps tooling. First, we’ll share an overview of our audit process - knowing where to focus, and how to iterate, as well as properly diagnosing problems, triaging, and choosing what to fix within your given constraints (e.g., time, money) is critical to success. Then, we’ll walk you through the top 8 most common problems we find, issues we see in almost every audit, and show you the fixes that we would usually suggest. Some are quick wins that almost everyone can implement in a matter of hours. Others, on the other hand, are more fundamental issues, which require more work to fix as they are related to the architecture of the project. We will explain how to avoid those when planning your next project. Lastly, we’ll give you a quick preview of the work we are doing with Google to improve Drupal’s Core Web Vitals to provide you with a few more quick wins to speed up your site. read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY - How we integrated and scaled Opigno LMS into a global ecosystem

DrupalCon Lille 2023 The Opigno distribution brings great opportunities both for employees as well as customers to serve as a modern Learning Management System (LMS) and add to the value of Nestlé's digital offerings. Opigno provides a platform to better support trainings and deeper content interactions, but how do you integrate it effectively in a global company that already has its own Drupal distribution and strict security guidelines that must be followed? We will present the challenges that we encountered and how we solved them to create a basis for a platform that is now being used in different countries all over the world to bring additional value to Nestlé's customers and partners. The session topics will include: - Use of Opigno in combination with the current market websites for a better customer experience based on the example of Nestle Professional. How we are using Opigno's capabilities to help different markets with much needed functionality. - Integration of Opigno into the Nestlé ecosystem in parallel to the existing Nestlé Drupal Lightnest distribution. - Technical challenges of making Opigno compliant with Nestlé security procedures and preparing it for a world-wide rollout. This session is targeted to product owners, business owners, and architects considering using a Learning Management System to enhance their content offerings and better engage their customers and visitors. read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY - Drupal Translate Interface on steroids

DrupalCon Lille 2023 Whether you're a product owner, a digital strategist, or a Drupal team lead, this session will provide you with valuable insights on executing large-scale multilingual digital transformation programs on Drupal. We managed to deploy over 50 different decoupled sites for a client and we identified a common pain point when it comes to translation. We will showcase our solution of providing translations in Drupal, understanding the needs of multilingual countries, and the distinction between multilingual versus intercountry dimensions. Topics to be presented include: - Identifying all translation strings - Providing guidance for people and business owners that need to translate this (videos, screenshots) - Providing a common interface - try to use translations between countries - note: Canadian French is different than Belgium French and etc - Keeping track of all changes (using design systems, backlog, release, and changelog) - Optimizing the process and try to reduce any technical involvement when it comes to translations - Considering any 3rd-party dependencies Business leaders will get the shared knowledge of a big team (over 100 people working on a platform for a couple of years) and all the issues that the team solved. By showing the different steps we went through, it will help a business leader to make decisions at an earlier stage for their project. read more
Drupal Association 27.11.2023

youtube

embed image

Management lessons for small and medium-sized agencies from a fast-growing, billion-dollar business

DrupalCon Lille 2023 AGENCY & BUSINESS "Successfully running a small agency is not easy. The CEO and their team (if they have one) usually have to wear many hats and juggle multiple roles every day. Company strategy, recruitment, staff management, sales, operations, DevOps, client account management, marketing and much more usually falls to the same one or two people - and often they are also part of the project delivery team as well. Most of the time, the people juggling all these roles have had to learn how to do them through necessity whilst on the job and can find themselves making it up as they go along. Does any of that sound familiar? The good news is that those of us in smaller organisations can learn a lot from big players in the industry by understanding and replicating some of the practices that they consider ‘business as usual’. In this session, Julie Sheward, SystemSeed Chief Operating Officer, will share some of the key lessons that she brought with her from her previous roles leading regional and global business operations teams at Thoughtworks and show you how they were implemented at SystemSeed over a six-month period. You’ll also hear from Anthony as CEO at SystemSeed about the pains and gains of taking these big business ideas and applying them to a much smaller team. He’ll share some facts and figures, and also explain how some key initiatives at SystemSeed are drawing on Julie’s experience for future growth. What you’ll learn: - What’s worked for us (and what hasn’t) over the past 6 months - with numbers. - Three ‘big agency’ lessons you can employ at your small agency as soon as you get home. - The mindset of a big agency operations manager, and how it can help you create a better business for yourself. - Two things that many big agencies do that smaller agencies should ignore. - What to watch out for as your agency grows - and how to overcome the issues. This session is for you if you are an owner, CEO, CTO, Head of department, or a manager at a small or medium-sized agency. You will come away with a better understanding of how big agencies become successful as well as actionable tips to help you get out of the weeds in your own agency. " read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - A Drupal core maintainer shares peer code review best practices

DrupalCon Lille 2023 "Improve your teams' peer code review process, your code maintainability, and your Drupal contributions. Learn from a Drupal core release manager—with over ten years of Drupal core experience—how to give an efficient and effective peer code review. Peer code reviews are essential, improving maintainability, increasing productivity, and reducing costs. They can reduce the rate of defects (bugs) introduced into a codebase by as much as 80-90 percent. Most importantly, they build a shared understanding of the application within a team, and are an opportunity for developers to mentor each other. Drupal core's peer code review process has two phases: An initial peer code review cycle with one or more other contributors. A final stage of code review by a Drupal core committer (one of the 15 people like xjm who can accept changes into Drupal core's production codebase). As a result, the core committers are exposed to all the peer review (good and not-so-good) that is done by contributors throughout Drupal core issue queue. This makes committers ideal mentors as well as subject matter experts on both best practices and pitfalls to avoid. In this session, you will also discover research and psychological principles for when code review is effective and when it is not. You will learn how to structure your change sets for reviewers, which can improve the whole team's code and maintainability. Finally, you will learn about automation and tooling that can help reviewers focus on what's most important." read more
Drupal Association 27.11.2023

youtube

embed image

Wrap Up Ceremony Auditorium - DrupalCon 2024 city Announcement

DrupalCon Lille 2023 read more
Drupal Association 27.11.2023

youtube

embed image

One Theme To Rule Them All: Using StarterKits to accelerate theme development and reduce ...

DrupalCon Lille 2023 MAKERS & BUILDERS Drupal added a new StarterKit Theme Generator Tool as an experimental feature in Drupal 9.3, and promoted it to "stable" in 10.0. While the tool hasn't received much attention, it will revolutionize the way agencies and product teams create themes for years to come! This session will cover: - What the StarterKit tool does out of the box - How to make your own StarterKit theme - How Olivero implements StarterKit - How this tool can accelerate theme development - How it can help with theme maintenance To get the most out of this session, attendees should have basic knowledge of Drupal theme creation and object-oriented PHP. read more
Drupal Association 27.11.2023

youtube

embed image

How UNESCO built and now runs a Drupal Site Factory and a design system for its Web Overhaul and...

DrupalCon Lille 2023 CLIENTS & INDUSTRY With hundreds of websites built upon various (and often outdated) technologies, and maintained by cross-cultural teams all across the globe, UNESCO faced by 2020 a major challenge: how to normalize and industrialize this complex ecosystem, connected to various Information Systems, and be able to scale for the next 15 years at last. Guess what? The answer was Drupal + a design system!! After almost one year of hard work, UNESCO launched its first website built upon this webfactory in April 2021. Since then, many websites were released on this new technical architecture and design system, including www.unesco.org in November 2021, for the Institution's 75th birthday. In this session, Sylvain and Maxime will showcase how they redesigned and rebuilt the entire UNESCO web ecosystem/Web Factory upon Drupal, having in mind: scalability (hundreds of websites to be developed on this factory), IS interoperability (lots of other web components are plugged to this factory), security, and maintainability. The rock-solid basis includes the following: - An interconnected Drupal web Factory with 6 installation profiles for UNESCO's various needs and use cases - A strong design system based on bootstrap to handle the design of every new website, inside the factory or outside the factory - A global coordination/project management designed to onboard multiple agencies to work on mutiple web projects on this base This session is intended to provide the audience with real feedback on failures and successes encountered for 3 years and be able to learn from these in order to succeed in building and running Drupal Website Factories. read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS - How to sell your company

DrupalCon Lille 2023 amazee.io recently got acquired by another company (Mirantis). read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS-Why we moved the database drivers to their own modules and what we want to do next

DrupalCon Lille 2023 In Drupal 9.4 the database drivers for MySQL, MariaDB, PostgreSQL and SQLite were moved to their own modules. This session is about why we did that and what we want to do next. We had a number of problems with the old situation: 1. Having contributed modules with a database driver copy their driver files to the directory drupal_root/drivers is not very composer friendly. 2. The database driver classes are unfortunately not enough to make Drupal work for a specific database. All database drivers need to override things like (views and other) plugins and entity storage classes. Those overrides need to live in a module 3. Tests are not always the same for every database driver. Those overrides also need to live in a module. 4. The by Drupal core supported database drivers are the example for contributed database drivers. Just like the Drupal core module and themes are the example for the contributed module and themes. 5. Database drivers should be able to extend another database driver. Just like modules can do. Having the by Drupal core supported database drivers in their own modules makes it possible to do: A. Create a new database driver for MySQL that allows queries to be run asynchronously. For instance with multiple blocks on a page, the block data can be loaded in parallel from the database instead of synchronously. PHP 8.1 has added the Fibers functionality and that allows I/O and database queries to run asynchronously. The database driver for MySQLi allows Drupal to use asynchronous queries. B. Store content entity data in a document format. Content entity data is now stored in multiple tables and with a high number of entities, getting entity data out of the database will become slow. When used in combination with authenticated users and a lot of content, will result in Drupal becoming slow. Storing content entity data in a document format will make it fast again. The only database that a the moment has enough functionality to make it work with Drupal is MongoDB. Using caching is great, but has it limitations. If we make hard Drupal calls a lot faster, we can use Drupal without any caching or with a lot less. PHP is fast enough for this. Databases are fast too. Only storing data following the relational database rules makes will result in complicated queries for getting the data out of the database. Complicated queries with large amounts of data will result in a performance nightmare. That is why we are using so much caching with Drupal sites. For anonymous users this is not a problem, only with authenticated users is caching a lot of times not possible. The solution is to store content entity data in a document format. In that way we almost always can get the data out of the database with a simple query (and therefor a fast query). When all queries are simple queries, the resulting Drupal page call will be fast. I have already build a database driver for MongoDB. The driver is in the form of a Drupal module and the project can be found here: https://gitlab.com/daffie/mongodb867. It is based on Drupal 8.6.7 it hacks Drupal core with a (plus)1.5 MB patch file. This is totally not maintainable. To fix that problem I have started to work on Drupal core to make the MongoDB database driver module work without patching/hacking Drupal core. I would like to end with a group discussion about what we want to do next. What does the group think. Do they have other/new ideas. Hopefully get other people involved in what is next. This can also happen after the official session. I am the main contributor in having the database drivers moved to their own modules, I am also the subsystem maintainer for the Database API and I have over 500 Drupal core commit credits. read more
Drupal Association 27.11.2023

youtube

embed image

OPEN WEB COMMUNITY - IaC with Terraform

DrupalCon Lille 2023 Concept of IaC is increasingly getting popular lately. The practice of setting up a stack or resources on cloud with a script/ template is not only considered necessary but a must have in any project. In this session we will go through why this is important. We will dive into some basics of terraform. We will go through a demo creating AWS EC2 to setup a vanilla Drupal. We will automate this with Azure Devops. Contents * What is IaC * Task categories in IaC * IaC Tools * What is Terraform * Terraform architecture and Stage commands * Demo/ video * Questions read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS - Why a culture of open source contribution is good for your business

DrupalCon Lille 2023 Many business owners view open source code contribution on company time as a drain on billable hours. As a company committed to the Drupal open source project, PreviousNext has had a formalised approach to code contribution baked into company culture, policies and processes. Rather than being a cost to the company, its helped us retain staff at a rate that's almost triple the industry average, high levels of profitability and retention of long term clients. This talk will share the details of how we did this within our own company and how it can be applied to your own company or team tomorrow. It will also explore how company sponsored contribution is the key to the longevity and viability of open source projects like Drupal. read more
Drupal Association 27.11.2023

youtube

embed image

How we delivered a language learning website to rural internet-less schools in South Africa using...

DrupalCon Lille 2023 OPEN WEB COMMUNITY In South Africa, 78% of Grade 4 learners (around 9-10 years old) cannot read for meaning in English. That's because they're required to switch from learning in their home language to English in that year. It's incredibly tough problem, and something we've started to tacking using an innovative little "offline server" boxes and Drupal. read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY - Empathy-Driven Design: How Drupal Prioritizes Accessibility for End Users

DrupalCon Lille 2023 In the digital era, website accessibility has become essential to user experience. Drupal, a popular open-source content management system, has made accessibility a top priority in its development process. Assume there is a website where you may apply for jobs or where you can complete a college project. People who are blind cannot apply for employment on the site if accessibility is not taken into account. Someone taking classes cannot finish their assignments independently because the site does not operate for them. We will introduce a few Drupal modules that help you incorporate into the site to enhance accessibility and user experience. This abstract will explore how Drupal has embraced an "accessibility-first" approach, placing the needs of all users, including those with disabilities, at the forefront of its design philosophy. Finally, we will discuss the challenges that Drupal faces in ensuring ongoing accessibility and the future steps it can take to maintain its leadership in accessibility and put users first. At the end of this session, the attendees should be able to: 1. Identify the legal and ethical implications of failing to prioritise accessibility in Drupal web development. 2. Understand the benefits of using accessible modules in Drupal for all users, not just those with disabilities. 3. Understand how to maintain and update Drupal accessibility modules to ensure ongoing compliance with accessibility standards. 4. Gain knowledge on how to test the accessibility of Drupal websites and modules using automated and manual testing tools. Target Audience: This session is targeted to Product owners, Business owners, Accessibility specialists, UX/UI professionals, Project managers, Content creators, Webmasters, Consultants and Quality Assurance Engineers. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Behavior Driven Development: Behat and Drupal for acceptance tests

DrupalCon Lille 2023 Behavior Driven Development (BDD) is a software development process that originates from TDD (Test Driven Development). The main idea is based on how the software must be understood from both technical and business points of view, focused on its value to the user through User Stories. read more
Drupal Association 27.11.2023

youtube

embed image

Goodbye to traditional web agencies and management models - Welcome to common sense and ...

DrupalCon Lille 2023 AGENCY & BUSINESS Keeping staff commited to an agency may seem like a daily challenge, especially with today's younger generation. We will share our lessons learned from our journey growing our agency from 8 to 27 people over the last 4 years . Our growth was not driven by the figures but by the search for meaning and relying on our collective intelligence. We will share our motivation to look after our evolutionary purpose - the tools we used to define our mission vision and values in teams. How we built a survey to measure the employee well-being and the customer satisfaction. We'll come back on our personal and team Objectives and Key Results (OKRs) that are shared transparently through the agency. We'll explain how the PCM - Process Communication Model helped us to get to know each other better and to communicate better. read more
Drupal Association 27.11.2023

youtube

Beyond the Build Episode 3: Specbee and The Michael J. Fox Foundation for Parkinson’s Research

We interviewed Drupal agency Specbee and their client The Michael J. Fox Foundation to hear how they are building a site for a diverse audience of funders, patients, families and industry researchers in the Parkinson’s community. The Michale J. Fox Foundation was drawn to Drupal’s large community and accessibility when they rebuilt their site on Drupal. Drupal’s flexibility enabled them to make their site more user friendly by making their Parkinson’s research papers easier to find and save for researchers in the field. See how open source and open science came together to make a successful partnership. read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS - Mastering Agency Outsourcing: Strategies for Success in Government Projects

DrupalCon Lille 2023 Successful and growing agencies can find themselves short on senior staff when working on large government contracts. These are typically high-profile projects with significant budgets and come with specific requirements such as security vetting of staff. High-quality delivery is essential, so the agency needs to be careful about who they add to their talent pool to fulfill the client’s needs. However, finding highly skilled supplementary resources that will gel with the in-house team is hard and places an additional management burden on running the agency. SystemSeed often works as a partner to other agencies on government contracts, and we have seen what works and what doesn’t work in this process. This session will delve into the world of agency outsourcing for government projects, sharing invaluable lessons learned and opportunities for growth. Through an anonymous case study and practical tips, you'll discover how to augment your team effectively and create strong partnerships with other agencies. We’ll look at pitfalls to avoid, as well as practical ways to get this sort of partnership right; when to share sensitive information (and when to hold it back); and making the most of knowledge transfer between internal and external team members. This session is perfect for agency directors, operations managers, and senior-level freelancers looking to navigate the complexities of outsourcing and achieve success in government projects. What you will learn: - The benefits of agency outsourcing for government projects - Key factors to consider when selecting an outsourcing partner - Common pitfalls in agency outsourcing and how to avoid them - Best practices for fostering successful collaborations between agencies - Tips and tricks to shortcut your learning curve and start off on the right foot with your partner agency. Who should attend: - Agency directors - Operations managers - Senior-level freelancers in the Drupal community Don't miss this opportunity to gain valuable insights and practical strategies for mastering agency outsourcing in government projects! read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY - Innovating personalisation with Rules as Code and Drupal

DrupalCon Lille 2023 Anyone who has ever needed to understand what government benefits them or someone they cared for was entitled to know the web of perplexing rules and regulations involved with lodging a claim. read more
Drupal Association 27.11.2023

youtube

embed image

OPEN WEB COMMUNITY - Next-level Contribution: Project Maintainership on Drupal.org

DrupalCon Lille 2023 Drupal is inseparable from its open-source community, and contribution is a key part of its success. While contribution can take many forms, this session will focus on empowering Drupal contributors to create and maintain projects on Drupal.org. read more
Drupal Association 27.11.2023

youtube

embed image

VisitBritain’s Digital Customer Experience Programme (DCXP) - how Drupal is playing a central ...

DrupalCon Lille 2023 CLIENTS & INDUSTRY VisitBritain is the national tourism agency for England, Scotland, Wales and Northern Ireland; VisitEngland is the national tourism agency for England. Collectively, they are responsible for promoting Great Britain and Northern Ireland as a tourist destination worldwide and growing visitor numbers, stimulating domestic tourism, and contributing to Great Britain and Northern Ireland's economic growth. CTI Digital is the lead digital agency responsible for VisitBritain’s Digital Customer Experience Programme (DCXP), were engaged to deliver a new, integrated digital ecosystem with a single global content management system and digital asset management system. The Drupal based platform is playing a central role in a wider £multi-million digital transformation and new organisation-wide digital strategy to enable the organisation to better serve key industry and consumer audiences. Deep structural improvements were required to the customer experience and governance practices across 11 websites. Given the scale of the project, this work is being delivered over four years, with the first new public website for travel consumers going live in late 2022. This session is intended for any organisation or agency embarking upon an ambitious digital transformation looking to learn about: - How to audit and review large digital estates efficiently - The importance of strategic decision making at the start and how these affect later decisions - Creating a global design system to meet the needs of diverse unrelated audiences - Designing a DXP to accelerate innovation in a cost effective manner - Drupal’s role in achieving enhanced digital governance - VisitBritain's framework to measure success - Challenges we faced and how these were combatted Visit Britain are the national tourism agency, a non-departmental public body funded by the Department for Culture, Media & Sport (DCMS) https://www.visitbritain.org/about-us Sites currently live on the new DCXP powered by Drupal - Visit Britain https://www.visitbritain.com/en - Visit Britain Shop https://www.visitbritainshop.com/world/en Drupal and Magento hybrid solution where Magento is headless (Drupal head) read more
Drupal Association 27.11.2023

youtube

embed image

Leveraging contributed modules: best practices with the EU Cookie Compliance module and web ...

DrupalCon Lille 2023 MAKERS & BUILDERS Striving for GDPR compliance for websites is crucial to safeguarding the privacy and personal data of users, maintaining their trust, and avoiding costly penalties and legal consequences. In this session, we will share the key takeaways of our extensive research into GDPR compliance for Drupal websites and the different tools to aim for it. We will discuss our decision to adopt the EU Cookie Compliance module instead of relying on third-party solutions and demonstrate how we use it alongside tools like Google Tag Manager and Matomo. Our approach exclusively utilizes contributed modules and includes comprehensive configuration options to provide you with all the necessary tools for GDPR compliance while also incorporating user experience improvements. read more
Drupal Association 27.11.2023

youtube

embed image

Government Portal: The story of building a Drupal distribution for the Estonian government

DrupalCon Lille 2023 CLIENTS & INDUSTRY The Estonian Government is using Drupal CMS extensively. In this session, we will introduce the Government Portal - a Drupal distribution that the Estonian Government is using to run the websites of 11 ministries and their agencies. In this session we will cover the following: - Understand the execution of the project end to end. How and why the project was initiated. - How the project was governed? - How the platform has been evolved over the years? - Provide the technical overview, understanding the underlying architecture and the infrastructure used to maintain the platform. We will conclude the session with the key learnings and takeaways we have gained as the developers and maintainers of the platform. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Getting started with Drupal

DrupalCon Lille 2023 This workshop is for people who want to get a solid foundation in Drupal site building. No Drupal experience is required! With hands-on, guided exercises from start to finish, attendees will have the opportunity to get comfortable with Drupal's administration interface and build a simple, fully functional website. You will learn how different concepts relate to each other: nodes, content types, fields, views, users, blocks, taxonomy terms, and menus. By the end of the workshop, you will be able to identify the different building blocks of a Drupal site and know where to look when modifications are needed. Learning objectives: - Step through the Drupal installation process - Create nodes and understand their properties - Create content types and add fields - Configure fields of different types - Create taxonomy vocabularies and terms - Create views to display listings of content - Create, place, and control the visibility of blocks Setup instructions: A working Drupal 10 installation is needed to follow the exercises. Online services like https://pantheon.io/ can be used. You can have a local installation using the Drupal quick-start command: https://www.drupal.org/docs/installing-drupal/drupal-quick-start-command Alternatively, you can use a tool like DDEV, Lando, or Docksal. read more
Drupal Association 27.11.2023

youtube

embed image

USERS & EDITORS - Technical Writing Workshop

DrupalCon Lille 2023 "Are you an architect, consultant, or engineer looking for another way to amplify your expertise? This workshop will share how you can do just that through writing. This workshop explores overcoming the fears of publishing, getting started with an idea, and refining and crafting an article you can be proud of. The advice given in this workshop is meant for people new to writing and can help reinforce information veteran writers may be familiar with. The information is also pliable enough to be adapted to people looking to flesh out a topic for an oral presentation. This workshop aims to dispel the myths around writing, make them feel more comfortable sharing their experience, and provide them with platforms to get started. The workshop covers: - Impostor syndrome - Finding a topic - Creating an outline - Creating a great article This workshop is an excellent fit for you if you’ve ever felt uncomfortable about writing or wanted to write but found yourself thinking: - “What would I write about?” - “I’m not an expert in anything.” - ""I can't narrow down a topic"" " read more
Drupal Association 27.11.2023

youtube

embed image

OPEN WEB COMMUNITY - Making Drupal a Better Out-of-the-Box Product

DrupalCon Lille 2023 Despite the Drupal community's efforts, Drupal still has a reputation for having a steep learning curve, which can discourage new users from adopting it. In this presentation, we will discuss the steps that can be taken to improve Drupal's user experience and address this perception. Our discussion will focus on how we could improve Drupal's user experience by addressing challenges identified through user research. We will also explore ways to enhance the process for working on user experience improvements. After this presentation, participants should have an idea how they could utilize their expertise to contribute to improving Drupal's user experience. read more
Drupal Association 27.11.2023

youtube

embed image

How to use tailwind in hybrid solutions using Drupal/Twig, web components, and React

DrupalCon Lille 2023 MAKERS & BUILDERS If you are building hybrid applications with Drupal with embedded Javascript applications you have probably been confronted with re-using your styles across multiple applications. read more
Drupal Association 27.11.2023

youtube

embed image

OPEN WEB COMMUNITY - What's Next for Drupal Autoupdates

DrupalCon Lille 2023 Exciting progress is being made in finishing a contribute module version of automatic updates for Drupal 10 that is very likely to move into Drupal core and be available for everyone soon. Come and learn about the promises and limitation of automatic updates, the extensive work across PHP communities to develop a PHP TUF library and to create a generic composer stager library for being a new version of your site. We'll also discuss the security models. We hope you will come away with the big picture for what's next as being exciting by some of the important technical pieces. read more
Drupal Association 27.11.2023

youtube

embed image

Getting down to the WHAT, HOW & WHY of consumer preferences through digital transformation and ...

DrupalCon Lille 2023 CLIENTS & INDUSTRY From sourcing the catalogue to conducting a facility-bound survey to delivering insights for world's most loved toy makers, Its a 6 month long process that requires lot of fieldwork and research and honestly doesnt warrant so much time and effort in today's world of set-it-and-forget-it. For our clients, who are one of the largest toys and games maker for kids and young adults alike, we recently ran a point of view on how tech can bring in the much needed breath of fresh air and steps to achieve digital transformation "Nirvana". Innovations included play sets in a virtual environment to perceive granularly; verbal and behavioral feedback to capture what kids are doing rather than solely responding; making parents, the primary buyers, a part of the process and a shopping-style like environment to enact customer experiences that matters. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - How Drupal builds your pages, D10 edition

DrupalCon Lille 2023 Have you ever wondered what happens when a HTTP request reaches your Drupal web site? How does Drupal find the correct code to execute? Which parts of the page come from the cache and which ones are built from scratch? Which queries are executed against the database? And, why not, how much time and memory the request requires to be converted into a response? Whether you are a contrib developer or a simple curious person the answers to those questions will let you better understand how Drupal 10 works. The WebProfiler module can help you in discovering how all the different subsystems of Drupal 10 interact to take a request and return a response. WebProfiler collects data during the build of each page of the site and lets you easily explore the internals of Drupal 10. Follow the journey of a request entering the stack middleware, passing the routing component and the controller through the ViewSubscriber and Twig. Discover how services provide functionalities and how events give the opportunity (or the chance) to write decoupled code. Knowing your system will allow you to find bottlenecks, reduce resources and lower the costs. read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY - Many to One; the journey to a centralized corporate communication website

DrupalCon Lille 2023 At Novartis, one of the world's leading pharmaceutical companies, the Channel Management team faced the daunting task of migrating almost 100 corporate websites, with over 15 million annual page views, from Drupal 7 (Beluga) to Drupal 9 (Arctic). However, instead of simply lifting and shifting, they saw this as an opportunity to consolidate all of their standalone country sites under one single umbrella: novartis.com, with dedicated country sections. read more
Drupal Association 27.11.2023

youtube

embed image

Move contributor experience to a next level using Paragraphs, Layout Paragraphs and Paragraphs...

DrupalCon Lille 2023 USERS & EDITORS Paragraphs contrib module is one of the most used and enjoyed module. It allows site builders to manage autonomously their content on a website. We will talk about how the OVHcloud website was developed a few years ago and how Drupal brought a kind of revolution. We will also explain how we wanted to give more flexibility and autonomy to our end users by setting up Paragraphs. Then, we will mostly focus on leveraging a nice contribution interface based on Layout Paragraphs and Paragraphs set contrib modules (and some custom code too). We will finish by explaining what the next version might look like. read more
Drupal Association 27.11.2023

youtube

embed image

Strategies for Overcoming Common Software Development Challenges: A Management Perspective

DrupalCon Lille 2023 AGENCY & BUSINESS In today's fast-paced technology environment, software development teams face numerous challenges that can hinder their ability to deliver high-quality products on time. These challenges often stem from a lack of effective communication and collaboration between development teams and their management counterparts. In this session, we will explore the most common challenges that development teams face from a management and delivery perspective, as well as practical strategies for overcoming them. Index: Unrealistic Deadlines Poorly Defined Requirements Inadequate Resources Insufficient Communication Scope Creep Lack of Flexibility Poor Quality Control Inadequate Testing Team Member Turnover Lack of Recognition Unrealistic Deadlines: The imposition of unrealistic deadlines can lead to rushed or incomplete work, a poorly tested product, and dissatisfied clients. Poorly Defined Requirements: A lack of clear, detailed requirements can lead to confusion and misunderstandings within the development team. This can result in significant delays and rework, as well as a product that doesn't meet the needs of end-users. Inadequate Resources: Development teams may not have access to the resources they need (such as hardware, software, or personnel), which can hinder progress and negatively impact quality. Insufficient Communication: Poor communication between management and the development team can lead to misunderstandings, delays, and missed opportunities. Scope Creep: When management changes project requirements midstream or adds additional tasks without adjusting the timeline or resources accordingly, it can put undue pressure on the development team and compromise the project's success. Lack of Flexibility: Management may be resistant to changing project requirements or timelines, even when circumstances change. This can be frustrating for the development team and negatively impact project outcomes. Poor Quality Control: If management does not prioritize quality control, it can lead to a buggy, unstable product that does not meet the needs of the end-user. Inadequate Testing: If management does not allocate enough time or resources for testing, it can lead to product failures, security vulnerabilities, or other issues that could have been caught earlier in the development cycle. Team Member Turnover: High rates of team member turnover can negatively impact project continuity, knowledge transfer, and team morale. Lack of Recognition: When management does not recognize or acknowledge the efforts and achievements of the development team, it can lead to low morale and reduced motivation. In conclusion, this session will provide valuable insights and practical strategies for anyone involved in software development management or delivery, from developers and project managers to senior executives. Attendees will leave with a better understanding of the most common challenges that development teams face and the tools and techniques they need to overcome them, ultimately leading to more successful software development projects. read more
Drupal Association 27.11.2023

youtube

embed image

Design Systems, Documentation, and Drupal: Grow your agency and retain clients before you write a...

DrupalCon Lille 2023 AGENCY & BUSINESS Design Systems, Documentation, and Drupal: Grow your agency and retain clients before you write a line of code Throughout the last few years businesses have had to become agile, efficient, and resilient. To do this, we need to ditch the idea of large monolithic websites that are refreshed every few years as technologies change. Instead, by investing in how the work is done before a line of code is even written has the ability to pay dividends for years to come. Beyond just components, a Design System brings together all aspects of a brand to create a foundation for designers and developers to communicate by creating a cross-functional shared library of documentation. By having a single source for a brand’s identity all parties involved in the website process, from copywriters to developers to designers, can rapidly adjust to business needs and continue to deploy a reliable website. During this session we’ll walk through how your agency can use design systems to grow your book of business while tightly coupling your team with your clients. Having all this documentation in place before a site is ever built allows all stakeholders to trust that their needs are met, designers have a repeatable and clear style guideline to work from, and developers can re-use predictable code and components to eliminate long QA cycles. In the end, this leads to a long relationship that can stand the test of the constantly evolving business landscape. read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS - "From Chaos to Calm: Managing a Marketing Team from Home When You Have ADHD"

DrupalCon Lille 2023 Description: Managing a marketing team from home can be challenging at the best of times, but when you're a mum with ADHD, it can feel like an insurmountable task. The constant distractions, the struggle to stay organized, and the pressure to juggle work and family responsibilities can leave you feeling overwhelmed and exhausted. But it doesn't have to be this way. In this talk, we'll explore practical strategies and tools that can help you manage your marketing team from home, even if you have ADHD. We'll cover: Creating a structured routine: How can you establish a routine that works for you and your family, and helps you stay on track with work tasks? Minimizing distractions: What tools and techniques can you use to minimize distractions and stay focused during work hours? Prioritizing tasks: How can you identify the most important tasks and prioritize them effectively, without getting bogged down in details? Communicating effectively: How can you ensure clear communication with your team, despite the challenges of remote work? Managing stress: How can you manage stress and avoid burnout, while juggling the demands of work and family life? By the end of this talk, you'll have a better understanding of how to manage a marketing team from home when you have ADHD, and you'll be equipped with practical tools and strategies that can help you thrive in this challenging environment. Whether you're a mum with ADHD, or anyone struggling with the unique challenges of remote work, this talk is for you. read more
Drupal Association 27.11.2023

youtube

embed image

USERS & EDITORS - The Missing Link: Taxonomists and Taxonomy Governance

DrupalCon Lille 2023 Taxonomies are a key feature of Drupal architecture, but traditional web design teams do not always have the background for design and governance needed to support them. A taxonomist can bring best practices and a wealth of experience to this often overlooked area. This talk explains what skills and deliverables a taxonomist can provide, when to incorporate them into a project, and how to work with them (both in house resources and external consultants). In addition, we'll look at the roles and responsibilities associated with taxonomy governance to ensure a consistant, credible, and useful taxonomy. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - A Drupal inspired Render API for cloud and edge computing

DrupalCon Lille 2023 Design systems are hot and trendy right now because they are cost effective. By collecting documented UI artefacts (components, styles, themes, layouts…), they ease the collaboration between designers and developers, and they allow the reuse of the same design on several Web applications. One of the issues challenging their adoption is their availability as universal corporate assets, agnostic about technical stacks. We solved this by packaging them as WebAssembly microservices, available on the edge, on the cloud and directly in browsers. However, defining an API data format (high-level, declarative, serializable, safe, idempotent, stateless....) for those rendering services was not an easy task. We are Drupal lovers. So, after evaluating other protocols (Protobuf, Graphql, RSC Wire…), we got a fresh look at the Render API and we fell in love again. This 15 year old API is a bit quirky and dusty, but also inspiring, standing the test of time, with clever ways of managing nesting, aggregation, alteration (preprocessing), data bubbling, caching… So, our new API works like a charm, while being strongly and proudly inspired by 15 years of Drupal wisdom. We will show you what we kept, and also what we changed to make data structure flatter, 30% more compact, more consistent and predictable. With some ideas which could find their way to Drupal Core. read more
Drupal Association 27.11.2023

youtube

embed image

OPEN WEB COMMUNITY - Project Browser Initiative: Where We're At and How You Can Help

DrupalCon Lille 2023 Hear from co-initiative leads Leslie Glynn and Chris Wells about the current state of the Project Browser Strategic Initiative, what problems we are trying to solve, what remains to be accomplished to get Project Browser into Drupal core, and where you can chip in to help move the initiative forward. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Design in Figma and deploy a pixel perfect Drupal website in days, not weeks!

DrupalCon Lille 2023 You have the perfect final visual web design masterpiece, ready to be built. You’ve spent months and an eye-watering design budget creating, researching, validating and testing your visual designs. The designs look exquisite and next…a simple build in Drupal. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Drupal's next leap: configuration validation

DrupalCon Lille 2023 Drupal 8 shipped with many exciting new concepts, including "configuration", "configuration and content entities", "validation constraints" and "API-First". The missing link between these has always been the inability to modify configuration through Drupal's REST or JSON:API. Because only content entities have validation constraints. This has been the #1 blocker to the Drupal (JS) Admin UI initiative: validation of configuration unfortunately (but understandably) still is hardcoded in the PHP-based form logic. But … in the background, the foundation was laid during the Drupal 8 cycle to validate configuration. In fact, one contrib module has been doing it since 3 years before this DrupalCon is taking place — no core hacks required. In 2022, Drupal 10's CKEditor 5 module is the first time that Drupal core is using validation constraints instead of form-based validation logic! In 2023, we've been slowly but steadily expanding the foundations throughout Drupal core… Not only does this allow modifying configuration through APIs, it also allows us to eliminate subtle configuration errors that go unnoticed, and thus make Drupal more reliable in general! It also paves the path for the Recipes Initiative as well as the many configuration management-related modules to become much more reliable. Come and find out what you can do with config validation, how you can use it *today* and … if you like: how you can help us reach the finish line :) read more
Drupal Association 27.11.2023

youtube

embed image

How I escaped poverty using Drupal. The emancipating power of free and accessible Drupal training.

DrupalCon Lille 2023 OPEN WEB COMMUNITY How I escaped poverty using Drupal The emancipating power of free and accessible Drupal training. I would like to talk about my journey to become a IT woman in a male dominated work environment while being a single mom on welfare. I would like to advocate for free Drupal tutorials and lift up other people who had a rough path in life. I have never attended any IT studies. In fact, I’m a historian by training and my CV is littered with odd jobs. I had a difficult start in life and I'm the first in my family to attend university (graduated in 2007). Personal circumstances and a tough job market landed me on social welfare at the end of 2017 as a single mother of twee toddlers, one of them with cerebral palsy and lots of special needs. I needed a way to turn our lives around fast. I did not just needed a job. I needed a job that would pay enough to support a family and would give me flexible hours to be able to take care of the children and hop in out of the hospital with my child. I worked my way up to become a Drupal Site Builder by using free tutorials online and a php course offered by the city council. Free tutorials to learn coding and the drupalize.me series are a tool to empower people like me, and should be cherished by the community. Free tutorials and extended documentation deserve more time and love from senior developers. In my presentation, I would like to talk about keeping afloat when you're poor, and about entering Drupal as a way to make a living. I have lots of ‘fun’ stories because I became extremely creative to get my hands on decent secondhand clothing, toys and free food, to the extent of opening up a ‘giveaway shop’ in a squat. Beside this storyline, I also want to talk about the difficulties I encountered when I tried to enter the male dominated IT world. And I want to stress how inspiring Drupal became to me due its open source nature. Now, I have landed a good job at the Dutch Government, I promote Drupal for the government and started the project to build a distribution (GOVNL). I became a member of the Dutch Drupal Association Board this year. Overall, my story has a happy ending and Drupal helped me immensely with this. I know living in a West European country gave me lots off opportunities, like a minimum liveable welfare and healthcare that people in for example the US don’t get. But I still feel my journey can broaden other people’s perspective on society and inspire people to look out for one another. read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS -Exploring Holacracy, Sociocracy, and Reinventing Organizations in a Drupal Agency

DrupalCon Lille 2023 We at NETNODE, a small swiss Drupal agency have successfully adopted and blended principles from Holacracy, Sociocracy, and Reinventing Organizations since late 2019. In this session, I will explore the fascinating world of decentralized leadership and share our experience in creating a thriving work environment without a CEO or job titles. Key Takeaways: Gain an understanding of Holacracy, Sociocracy, and Reinventing Organizations, and learn how these models can create a more adaptive and empowered work culture. Discover how NETNODE successfully transitioned from a more traditional organisation model to a flexible, self-managing organization, while continuing to excel as a Drupal agency. Learn from our experiences, challenges, and successes in adopting these new organizational models and creating a supportive, collaborative, and innovative environment for our team members. Gain insights into the practical steps and tools that can be used to implement and scale these models in your own organization. Session Format: This interactive session will feature a mix of theory and practice, with the first half dedicated to explaining the core concepts and ideas behind Holacracy, Sociocracy, and Reinventing Organizations. The second half will focus on the journey of NETNODE, sharing our experiences in adopting these models, the challenges we faced, and the positive (and negative) outcomes we achieved. There will be ample opportunity for Q&A and group discussion to facilitate knowledge sharing and networking among attendees. Join me in this session to discover how you can break away from traditional organizational structures and create a more resilient, innovative, and efficient workplace through the power of decentralized leadership models. read more
Drupal Association 27.11.2023

embed image
Powered By Combinary

youtube

embed image

Develop, Test and Deploy at scale: quality process for deliveries, experience and tools ...

DrupalCon Lille 2023 AGENCY & BUSINESS Working for multiple clients and multiple websites can be a nightmare, deployment can also be hard and painful. Our customers may increse this stress, and in some cases, sites are not updated for months, even with security updates. Having gone through all these unsatisfying experiences with a growing customer base, we decided many years ago to solve these issues with a quality framework that could be applied to every project. In this session we’d like to share our best practices applied on our projects : a bunch of process to make our life easier and keep our client happy ! We’ve been experimenting and working for years with tools, and we’d like to share our experience on how we’re able to deploy easily with an unquestionably trust in our work. Based on real use cases, we’ll share our experience about deployment, tests, quality process on maintaining sites at scale. We’ll be copresenting this session with one of our valued customer, to provide you with real-life feedback. read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY - From CMS to Page Builder, can Drupal do it all?

DrupalCon Lille 2023 What if you had no intention of using a content on another page? What if you wanted to customize every little detail of any piece of content on your page? Would you still use Drupal? Can it even be possible? Spoiler: just because you can does not mean you should. We did it, using Layout Builder, to deploy a website factory on airbus.com, and this session will try to justify why we did it, how it went (both great & wrong), and how we tried to fix it after that. read more
Drupal Association 27.11.2023

youtube

embed image

USERS & EDITORS - Transform Drupal 10 with collaborative content editing features

DrupalCon Lille 2023 This 20-minute session will include some live demos to help you discover the world of collaborative content editing in Drupal 10, and transform your user experience with some game-changing CKEditor 5 plugins. Learn how to enable real-time collaboration, comments, track changes (content suggestions), notifications, granular revision history, and granular content permissions in Drupal 10. Le’s streamline your content creation process in a few simple steps! read more
Drupal Association 27.11.2023

youtube

embed image

Project First Aid: How to Respond, Recover, and Thrive in the Face of Project Failure

DrupalCon Lille 2023 AGENCY & BUSINESS If you’ve ever delivered a digital project before, you’ll likely know that they can - and do - go wrong. In fact, industry experts estimate that a whopping 70% of digital projects fail. Faced with these kinds of odds, it’s vital to know how best to recognise and respond to a project in peril. Whether your budgets are ballooning or you’re missing milestones, this session aims to arm you with a first aid kit of practical strategies to firefight potential problems and give your project the greatest chance of survival. In this session, you’ll learn: - How to spot the symptoms of an unhealthy project (early!) - Tips for creating a realistic, immediate care plan for a project in crisis - Simple steps to keep your project out of the metaphorical emergency room moving forward This session aims to help anyone delivering digital projects, from agencies to project managers, or architects, to thrive in the face of project failure. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Security by design: protecting Drupal websites without breaking a sweat!

DrupalCon Lille 2023 Have you ever got lost on which security measures you should use in your website? Maybe not, maybe you are an expert and can lock everything like Fort Knox and don't really need a guideline to help you protect your project... but if you're not this session is for you! Here we will present our "Security by design" concept including specific guidelines to better protect your Drupal websites using tools such as core Drupal functionalities and services, a set of community modules and our recommended configurations as well as good coding practices. With these guidelines, we expect to help everyone in the community to build websites with a safer and more robust infrastructure and codebase by making Security a natural element in our development practices. read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS - How to onboard the next generation of Drupal engineers

DrupalCon Lille 2023 This session addresses the challenges of attracting developers to use PHP and sequentially recruiting them in companies and teams where Drupal is the framework of choice. With ten years of experience in growing and onboarding engineers (from 0 to 70+), I would like to share our practices that I believe will need to be applied community-wide and in developmen teams to ensure a sustainable talent inflow for the next generation of contributors to the Drupal ecosystem. Is PHP still an attractive career option? Do PHP developers earn as much as Python or NodeJS developers? Many conversations today revolve around the popularity of PHP compared to other languages and how that reflects in attracting talent. Applying some stoic philosophy, let’s focus on the things we can control. In this session, I will explain the strategy and tactics that we have developed over the last 5 years in our team. I will go through the three main things: • First, you need to reliably find people that can become great developers. • Second, you need to inject your required skills and experiences directly into their veins, fast. • Third, you need to make this a process that runs like a machine all the time. I believe these tactics will be helpful for companies but also in the context of the Drupal community, which will need to start building new talent for the next decade. Drupal can drive the growth of PHP. read more
Drupal Association 27.11.2023

youtube

embed image

Drupal Association Public Board Meeting and Staff + Board + Community Q&A

DrupalCon Lille 2023 Join members of the Drupal Association board and staff for a public board meeting, community discussion and Q&A. The Drupal Association is a 501c3 non-profit based in the United States and serving a global community. At this session you can ask direct questions of board and staff members, ask about the legal and financial structure of the organization, ask about key initiatives and strategic goals, or really anything else as it relates to our work. This is a casual format driven by the audience, so please have questions ready. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Decoupling your search solution with Drupal Search API

DrupalCon Lille 2023 Do you want to build modern search apps with React or similar but still leverage the powerful module family Drupal Search API? We have contributed a new module that exposes the search functionality of Search API with an easy to understand API that lets you build engaging search experiences with the frontend technology of your choice. read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY - Drupal DXP meets AI: Unlocking the Full Potential of Digital Experiences

DrupalCon Lille 2023 In today's digital landscape, delivering exceptional digital experiences is essential for organisations to remain competitive. Imagine a digital experience platform that can learn from your customers, personalise their interactions, and predict their needs - all on its own. That's the power of Drupal DXP with AI. By combining the flexibility and scalability of Drupal with cutting-edge artificial intelligence technologies, we can step into the future of digital experiences. Are you ready to take your digital strategy to the next level? Then this session would be the right choice for you. At the end of this session, the attendees should be able to have a good understanding on: - Various AI-powered tools and techniques can be used with Drupal DXP to enhance personalisation, chatbots and conversational interfaces, data analytics, search and recommendation engines, content creation, and management. - Overview of how Drupal DXP can be integrated with third-party AI tools and services to enhance its capabilities. - The best practices for integrating AI into Drupal DXP, like data privacy, security, and ethical considerations. - The challenges and limitations of using AI in Drupal DXP and the strategies for overcoming these challenges. Target Audience: We aim to make this session a reference for organisations looking to leverage AI to unlock the full potential of Drupal DXP and deliver exceptional digital experiences. - Business leaders and decision-makers who are interested in using AI to enhance their organisation's digital experiences and gain a competitive advantage. - Digital experience professionals working with Drupal are interested in learning more about how AI can be integrated into their work to improve user engagement and satisfaction. - Anyone who is interested in learning about the potential of AI to enhance digital experiences and wants to stay up-to-date with the latest trends and developments in the field. read more
Drupal Association 27.11.2023

youtube

embed image

From zero to a multilingual Next.js site powered by Next-drupal and Drupal Recipes with one command!

DrupalCon Lille 2023 MAKERS & BUILDERS Setting up a decoupled project with Drupal as the backend in 2023 still involves a lot of setup and configuration. At Wunder, we have simplified this process with our “Next.js for Drupal multilingual template”. It’s freely available on GitHub ( https://github.com/wunderio/next4drupal-project/ ) and by cloning it and running just one command you get: * Fully decoupled Next.js website serving content stored in Drupal * Multilingual support in backend and frontend * Preview mode for content editors * On-demand frontend updates when content changes * Metatags and SEO support * Search indexing with Elasticsearch and frontend search interface * Comprehensive demo content (powered by migrate) to showcase the site * Decoupled Webforms * Drupal Paragraphs support (including nested paragraphs) * Frontend authentication support * End to end type safety In our 45-minute workshop, we will guide developers through the process, show how the pieces fit together, and how they can use this template as the base of their future projects. Our template takes advantage of: * the “Next.Js for Drupal” project by Chapter Three ( https://next-drupal.org/ ) * Elasticsearch and ElasticUI * Lando as the local environment * The Zod typescript library for runtime type safety * Next-Auth for authentication * The upcoming Drupal Recipes initiative for automatic configuration of the backend site. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Composer Behind the Scenes

DrupalCon Lille 2023 Ever wondered what happens under the hood when you run a Composer update or why Composer 2 got so much faster? Learn about some of its inner workings, some lesser known parts and why they may be useful to you, as well as upcoming features and future plans. Includes Q&A for anything you always wanted to know about Composer. read more
Drupal Association 27.11.2023

youtube

embed image

Opening Ceremony + Women in Drupal Award

DrupalCon Lille 2023 read more
Drupal Association 27.11.2023

youtube

embed image

Headless CMS Showdown: Live Demo and Comparison of Sanity, Strapi, Directus, and Drupal

DrupalCon Lille 2023 USERS & EDITORS Embark on an exciting journey as we put top headless CMS solutions—Sanity, Strapi, Directus, and Drupal—to the test in a live demo showdown. In this hands-on session, we will showcase each system's features and capabilities, all while conducting a side-by-side comparison to help you determine the best fit for your projects. Key Takeaways: Gain a comprehensive understanding of the features, strengths, and weaknesses of popular headless CMSs, including Sanity, Strapi, Directus, and Drupal. Learn how to choose the most suitable headless CMS for your specific project requirements and business needs. Observe the practical application of each system in real-world scenarios through live demonstrations. Engage in interactive discussions and Q&A sessions to gain insights from industry experts and fellow participants. Session Format: This dynamic and interactive session will be divided into several segments, each dedicated to a live demo of one of the four headless CMSs—Sanity, Strapi, Directus, and Drupal. Our expert presenter will walk you through the setup, configuration, and core features of each solution, demonstrating their ease of use and versatility in real time. Throughout the demonstrations, we will also perform a side-by-side comparison of each system, evaluating their performance in various categories such as Ease of Use, Flexibility, Developer Experience, and Project Activity. Attendees will have the opportunity to ask questions, share experiences, and participate in discussions, fostering an engaging learning environment. By the end of the session, you will have a clear understanding of the headless CMS landscape and be better equipped to choose the right solution for your specific needs. Join us for this unique and informative session as we unravel the world of headless CMSs and empower you with the knowledge to make informed decisions for your next web development project. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Module Builder should be in your developer toolkit

DrupalCon Lille 2023 Your next custom module won't be written by AI, at least not for a while yet. But most of it could be written by Module Builder. This session will explain why Module Builder deserves to be among the essential tools you add to any project to speed up and smooth over your development tasks. Module Builder simplifies your work when writing custom code. Need a route and controller? A form? A config entity type with an admin UI? A kernel test? From a few options, Module Builder creates the boilerplate for all the common Drupal coding patterns. Because Module Builder analyses your codebase, it can generate all hooks, plugins of all types, inject any service - even those you've only just written yourself! read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS - Architecture Decision Records: Collaborative Decision Making that Sticks

DrupalCon Lille 2023 Early in 2021, Lullabot's CEO gave the team a goal: find ways to standardize and simplify our processes across multiple projects. While Lullabot has a long history of sharing Drupal best practices through articles, podcasts, and open source contributions, we wanted to improve our work when teams transitioned between projects or when teams were reformed with different members. read more
Drupal Association 27.11.2023

youtube

embed image

OPEN WEB COMMUNITY - How to learn Drupal 10 site building in a month?

DrupalCon Lille 2023 Learning a CMS shouldn't be hard or a long period of hours to learn new technology. What if I tell you that I have proved the hypothesis of learning Drupal site building in less than a month? read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Managing technical debt: lessons learned and how modern Drupal helps you

DrupalCon Lille 2023 Modern Drupal is amazing and awesome, your site can continue to grow and evolve indefinitely. But it also poses challenges. Technical debt is impossible to avoid when working on software and the longer it lives and the bigger it grows, the larger that challenge becomes. At Dropsolid we have several cases with these challenges: * Keeping track of technical debt, measuring it and making sure it remains under control. * How to make sure clients are engaged and understand the importance of keeping Drupal core and contrib modules up to date? * How can you pick up new core modules like media and content moderation when existing solutions are already in place? * Can and should you make big shifts like moving from paragraphs to layout builder? In this session we will share all the lessons we’ve learned over the years, show some of the challenges we’ve faced and how we’ve overcome them from different angles. Technically, but also regarding client interaction. read more
Drupal Association 27.11.2023

youtube

embed image

USERS & EDITORS - Translation management strategy for editors in Drupal 10

DrupalCon Lille 2023 We have all heard it: “I have a small marketing website and I want it in English too.” It sounds simple, and it can be, but do not make the error to think “it is just a copy of each page, add the language switcher and voila, we’re done.” In this talk I will focus on the approach that we have found to best benefit clients. Drupal’s translation management is a starting point, one that leaves many decisions open. How are menu items handled? How should the language switcher work? How can a screen reader process languages? The focus will be on the structure for translation for the website and how content creators manage the website and the translations. We go beyond the translation of the pages themselves to think about the bigger picture. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - How can QA and DEV work together towards improving automation tests coverage

DrupalCon Lille 2023 As software development cycles become more agile and fast-paced, quality assurance (QA) and development (DEV) teams must work together closely to ensure that software products meet high-quality standards. Automation testing is one key component of this effort, allowing teams to test their code quickly and efficiently. However, achieving high automation test coverage can be challenging without collaboration between QA and DEV. In this session, we will explore how QA and DEV can work together to improve automation test coverage. We will discuss best practices for collaboration, including techniques for creating effective test cases, setting up automated testing environments, and developing strategies for continuous testing. read more
Drupal Association 27.11.2023

youtube

embed image

Having your cake, and eating it too: Using Varnish to serve content from your new Drupal site...

DrupalCon Lille 2023 MAKERS & BUILDERS For many website projects, the scariest thing is the 'big switch' - turning off the old platform and turning on the new one. But what if there was another way? One option is to keep both new and legacy systems running, but using a tool like Varnish to 'split' the traffic between the two systems, only going 'live' with sections as and when they are ready. This is how we managed this exactly problem with www.ul.ie and in this presentation, I'll give a deep dive as to how we did it. Topics to be covered include: - Running your own Varnish instance vs using a 3rd Party provider such as Fastly. - What is achievable 'out of the box' using Fastly - Using VCL snippets to achieve more flexibility - Going all the way with a custom VCL configuration - the risks and rewards - Tricks to make sure Drupal works well in such a configuration read more
Drupal Association 27.11.2023

youtube

embed image

USERS & EDITORS - AI assisted content editing with CKEditor5 & OpenAI in Drupal 10

DrupalCon Lille 2023 If you are struggling with content creation there is a module that, thanks to CKEditor5 and OpenAI integration, allows to generate validated and SEO optimized content, directly from Drupal. We will analyze all the functions available, such as DALL-E API integration to retrieve media content, by means of real use cases. Furthermore, we will explore the future possibilities that come with web products and AI integration. read more
Drupal Association 27.11.2023

youtube

embed image

Drupal 10 localization server upgrade initiative status

DrupalCon Lille 2023 OPEN WEB COMMUNITY A group of volunteers is currently porting the Drupal community translation server (localize.drupal.org) from Drupal 7 to Drupal 10. This platform is an important part of Drupal's infrastructure: if you ever have installed Drupal in any language other than English, you have already (transparently) downloaded translations from Localize, which is also a collaborative tool where contributors from various linguistic and cultural communities coordinate their efforts to get Drupal core and contrib projects translated. In a first phase, we have focused on porting existing features. However, by the time we will give this presentation in Lille, we should be working on new features, such as: UI and UX improvements, web services (for instance to get statistics per language), addressing crediting issues, or even integrating efforts around a translation memory tool for Drupal. Volunteers will be more than welcome to work on issues during the event and take care of our tools. read more
Drupal Association 27.11.2023

youtube

embed image

What is the secure software supply chain and the current state of the PHP and Drupal ecosystem

DrupalCon Lille 2023 MAKERS & BUILDERS In this talk I’ll present the current state of the software supply chain, the big global recent events (SolarWinds, log4shell, codecov, packagist) and the state of the PHP and Drupal ecosystem, the threats and the mitigations that can be applied using tools like Sigstore, Syft, and Grype for digital signatures, SBOM generation, and automatic vulnerability scanning and how to use them for real-world projects to gain unprecedented levels of knowledge of your digital artifacts. There will be also a demo of the mentioned tools in action to implement a secure supply chain pipeline for your Drupal projects. read more
Drupal Association 27.11.2023

youtube

embed image

Defaults, cloning, referencing and content prototypes - editors' UX for similar content creation

DrupalCon Lille 2023 USERS & EDITORS Many websites require a lot of similar or nearly identical content. Traditional approaches to user needs have been field default values - that has limited possibilities - and cloning existing content to be modified. But everybody has seen the somewhat embarrassing copy-paste content where names or dates were forgot to be updated. Referencing content is simple enough method, but the scope of content updates may be hard to check as content is rendered from several entities. The concept of content prototypes provides a powerful middle road approach to mass producing content allowing easily maintainable default content within a content creation process that mitigates user error compared to full cloning. Different approaches have different uses and one is more complex to implement than the other. This session compares the strengths and weaknesses of different content mass creation strategies. By DrupalCon Lille the content prototypes -concept will be in use on a Drupal 10 + commerce production site. Session will include comparison and concrete examples of four different content duplication strategies. read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS - How we integrated AI as a new colleague

DrupalCon Lille 2023 In this presentation, we will dive into our company's journey of integrating AI into our daily operations, specifically through the implementation of ChatGPT, Midjourney, and Copilot. We will discuss the practical applications, benefits, and challenges of embracing AI as a new colleague and how our company's values have guided us through this process. Presentation: Explain what the tools are and how they work for us - How the tool has been integrated into our company's workflow - The benefits, challenges, and lessons learned from incorporating the given tool as a colleague How we are adapting to an AI-Driven Future Our potential concerns and ethical considerations Our company's plans for future AI integration and development Learning Objectives: Gain practical insights into the integration of ChatGPT, Midjourney, and Copilot as AI colleagues, while understanding their unique roles and functionalities in a business context. Develop an awareness of ethical considerations, potential biases, and strategies to address these challenges when implementing AI in the workplace read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - api.drupal.org, a journey from Drupal 7 to Drupal 10

DrupalCon Lille 2023 The api.drupal.org site has been rewritten in Drupal 10+. We will go through some of the biggest technical decisions and their implementation. Some of these decisions include: - To use Drupal or not to use Drupal. - Do not use the "node" module... at all. - Do not use "migrations", yet get a 1-to-1 page parity. - Use of queues for key operations. - Use the new k8s infrastructure. - No custom modules or themes (aka make it all reusable via contrib). You will also learn how to spin up your own "Api Parser" site in a few minutes. This session offers great insight into the architecture of the new site, and also allows for some conversations to be had around the pros and cons of some Drupal staples, like the "node" module, the "migrations", etc. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Layout builder ecosystem Vol.2

DrupalCon Lille 2023 This is a sequel of the presentation that I did 3 years ago on DrupalCon Amsterdam - https://www.youtube.com/watch?v=RQw7pZMzdDM. Three years later Layout builder has become a main building block for many Drupal websites. The ecosystem around Layout builder has more than 90 modules now. What hasn't changed is that still many of us wonder what is the best module to use. During my session I'm going to make a review of my top favorite Layout builder related contributed modules. I will talk about their pros and cons and their possible roadmap. I will also present different scenarios from the real live how and where you can use these modules. read more
Drupal Association 27.11.2023

youtube

embed image

Breaking Barriers: My Inclusive Fairytale as a Tourettes-afflicted Drupal Developer

DrupalCon Lille 2023 OPEN WEB COMMUNITY Join me on a journey as I share my personal story of overcoming Tourette’s Syndrome and how a community can accept people with disabilities and get more inclusive. As a developer, I struggled with doubts and fears about my ability to succeed in the tech industry, especially given my vocal and motoric tics. But through my Drupal internship and later joining a Drupal team maintaining hundreds of projects and clients, I discovered a supportive community that valued my unique skills and contributions. In this talk, I will share my experiences of navigating the challenges of Tourette’s Syndrome in a professional setting like workspaces, conferences or social events. I’ll also discuss the importance of building a culture of understanding and support in tech companies, how they can offer guidance for creating a more inclusive and welcoming environment for all employees but also on how you can react to having a coworker with a disability. Through my story, you’ll gain insights into the power of perseverance and the importance of community in overcoming obstacles. Whether you’re a developer with a disability, or simply interested in learning more about how to create a more inclusive workplace, this talk is for you. Join me on this journey of hope, inspiration, and discovery, and learn how you can help make the Drupal community an all-inclusive place. To summarize: As a community member you will get some practical tips on how to support people with disabilities in a professional workspace, told from a personal perspective. read more
Drupal Association 27.11.2023

youtube

embed image

KEYNOTE: Drupal Core Initiative Leads

DrupalCon Lille 2023 Drupal’s initiatives form powerful teams that make great things happen. Core initiatives self-organize to get new improvements to the base system while community initiatives coordinate event organization, spread diversity best practices, collaborate on promotional materials, and so on. In the fifth instalment of this keynote, we’ll hear from a sampling of the key leaders in the community about what they are working on, what their challenges are and how you can get involved. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS - Marketing Automation With Drupal Commerce & Mautic

DrupalCon Lille 2023 Drupal Commerce is an open-source e-commerce platform. It offers a flexible and scalable solution for building and managing online stores. Drupal Commerce includes features like product creation and management, shopping cart functionality, checkout, payment processing, tax calculation, and order management. But the biggest drawback of Drupal Commerce is that it needs marketing automation features like user segmentation, personalization, campaigns, and lead management. This gap can be filled with Mautic, an open-source marketing automation software platform that enables organizations to automate their marketing activities. The platform also includes advanced segmentation and personalization tools that allow businesses to target campaigns to specific audiences based on behavior, preferences, and demographics. Objective Of The Session: The session's primary focus will be on Drupal Commerce and Mautic integration, which enabled the following use cases. This integration has been facilitated with Axelerant's homegrown Mautic plugin and Drupal Commerce module. Recovering Abandoned Carts Marketing automation can help ecommerce businesses recover lost sales by sending automated emails to customers who have left items in their shopping cart without completing the purchase. For example, when a customer abandons their cart on an ecommerce site, the organization can send an email with a reminder of the products they left behind and a discount offer to encourage the purchase. Upselling And Cross-Selling Marketing automation can help ecommerce businesses increase revenue by offering targeted product recommendations to customers based on browsing and purchase history. For example, a customer who has purchased a pair of shoes on an ecommerce site may receive an automated email with recommendations for complementary items such as socks or shoe care products. Launching Win-Back Campaigns Marketing automation can help ecommerce businesses re-engage customers who haven't purchased in a while by sending them targeted win-back campaigns. For example, a company can send an automated email to a customer who hasn't purchased in 6 months with a special offer or personalized recommendations based on purchase history. read more
Drupal Association 27.11.2023

youtube

embed image

Only permanence is change! How to drive key technical decisions while implementing composable ...

DrupalCon Lille 2023 CLIENTS & INDUSTRY Over the last few years the average Drupal project has changed significantly. From sizeable web builds we are now landing contracts for multi-million dollar composable digital experience platforms with decoupled front-ends, elaborate system architectures and multiple third party integrations. The infrastructure needs also have changed. From a few servers with simple go-to market mechanisms, we are now looking to containerised public clouds, distributed file systems, high availability databases, multivariate cache implementations and a multitude of autoscaling environments to cater for development, integration and deployment pipelines. Our ways of working have shifted also. From a couple of photoshop files completed before development started, we are now taking for granted multidisciplinary agile teams working in tandem with iterative component based design, decoupled JS front-end frameworks, third-party component libraries and automated testing in many parts of the code. Digital does not have an end date – it's in product-mode. We are not really working on projects anymore, are we? Our work often is not governed by a beginning, a middle and an end. We are working on products, platforms or services, with fluid scope, flexible timelines and adjustable budgets. Our work often needs refinement, refactoring, adaptation. We are solving problems, providing solutions and consulting with our clients on an ongoing basis. We are in a constant state of flux. And that comes with a whole set of challenges. How do you make the best technical decisions in such a dynamic environment? How can you know if something is good enough for now and manage scope? How do you quantify and manage the technical debt introduced? How do you document those decisions so they can be revisited later on? How do you give voice to everyone who has something valuable to contribute? How do you create consensus within your team? To manage all these challenges, we created a decision-making framework to help teams make key technical decisions (KTDs) in complex/dynamic projects. We call this framework The KTD process. In this session, FFW will present a battle-tested, heuristic methodology for driving key technical decisions when implementing composable digital experience platforms and digital products for international clients. Topics will include: - A innovative and complex technical architecture of a reference composable digital experience platform built by FFW. - What are/were the architectural/technical problems experienced by the delivery teams when implementing such complex DXP projects, - The KTD process and how we use it to guide architectural decisions at a platform level. - How Tech Connect meetings (part of the KTD process) guide technical implementation details which then inform user story delivery. - How KTD processes run alongside standard agile practices. - Benefits of the approach (governance, audit, alignment, consensus, trust). - Lessons learnt running the KTD process for this particular project. The audience will: - gain a perspective on how key technical decisions, which are by nature disruptive, can be made during the lifecycle of the project (beginning and during). - understand how the KTD process can be used to create alignment, consensus and trust within the organisation. - understand how the KTD process can be used to create a living documentation of the project key decisions, like a time machine that can go back in time. - understand how decisions can be changed and revisited during the lifecycle of the project without making. read more
Drupal Association 27.11.2023

youtube

embed image

TDD - Test-Driven Drupal: an introduction to automated testing and test-driven development in Drupal

DrupalCon Lille 2023 MAKERS & BUILDERS Testing is important. Why? It allows developers to add new features and edit and refactor existing code without the worry of adding regressions, reduces the reliance on manual testing to discover bugs, and by taking a test driven approach, your implementation code is leaner as you only write what is needed for your tests to pass. Drupal 7 includes the SimpleTest module for unit and functional testing, whilst Drupal 8 onward uses PHPUnit - the defacto PHP testing framework, used by other PHP projects including Symfony and Laravel - making it easier for people to test their code. And with testing being one of the Drupal core gates with tests needing to be included with every new feature or bug fix, and core’s 100% pass rate policy, testing has become an essential skill when contributing to core, or when working on your own projects. In this talk, we’ll cover the methodology and terminology involved with automated testing, and then take a test driven approach to creating a new Drupal module. read more
Drupal Association 27.11.2023

youtube

embed image

AGENCY & BUSINESS - For good or for worse: making happy client relationships

DrupalCon Lille 2023 As professional service providers we often walk a fine line in delivering bespoke software to a diverse set of clients. Each with their own traits and desires. Clients want partnerships. So do agencies and service providers. Like in every human relationship, this calls for compromises and the need to give and take. From small to large, contracts and requirements are always contending with core Agile values. No methods, contracts or processes can replace nor dismiss the essential ingredients of understanding, openness, passion and creativity which are key in making software development a success and ensuring happy relationships. Which is often quite hard to achieve. This session is for business owners, sales professionals and client facing experts. It will share some lessons learned (sometimes the hard way) about: • How to do digital projects with inexperienced Agile teams • How to deliver digital services within time and budget • Prevent overpromising • Delivering bad news • Negotiating contracts that are not Agile Imre Gmelig Meijling is business owner of React Online The Netherlands. Imre worked in various roles in different agencies in Europe. He will share 25 years of lessons learned in the digital industry, sometimes the hard way. Among his clients are United Nations, Disney and Konica-Minolta. Imre has also been an active member of the Drupal community since 2006, working on the DrupalCon Europe Community Advisory Comittee. He is former chair of the Dutch Drupal Association and co creator of the Splash Awards and Drupaljam. read more
Drupal Association 27.11.2023

youtube

embed image

USERS & EDITORS - Drupal and the DXP World

DrupalCon Lille 2023 In this session, I'll discuss how combining Drupal with other tools aimed at enhancing the digital experience a company can offer improved access for websites built using Drupal. I will discuss automating marketing, personalizing content, boosting engagement, and gathering information from online access logs to help you make wise business decisions. These days, it's fairly typical for e-commerce websites to use such technologies to increase sales, but many other types of websites can also gain from the extra help. The attendees would end up with the following takeaways: read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY - The Unique Challenges of Design Systems at Scale

DrupalCon Lille 2023 Setting up a design system can help create consistency and guardrails for authors, designers, strategists, developers, and all involved in creating and maintaining websites or applications. But what happens when that design system needs to expand to support numerous applications and websites, each with a different purpose and audience? In this session, we’ll share some challenges we’ve encountered when working with large design systems that need to scale. We’ll discuss the following challenges: - scaling and maintaining design patterns - naming systems at scale - maintaining a “system of systems.” - governance and adoption at scale - component content flexibility and guidance at scale This session is for those already familiar with design systems but unsure how to scale them to multiple websites and applications. read more
Drupal Association 27.11.2023

youtube

embed image

OPEN WEB COMMUNITY - So I logged in, now what? The Dashboard initiative welcomes you

DrupalCon Lille 2023 When you log in into a Drupal Site, by default you land on a mostly empty page which shows you how old your account is in the site. That’s not the best UX out there. We aimed to provide users with useful information and commonly used actions by default in Drupal core. But different personas have different needs, so we had to go deep into the needs of the provided roles in the Drupal standard profile together with the Personas Initiative, but taking into account what other needs the Drupal community might have. That’s how the Dashboard initiative was born. Dashboards will provide a better and personalized experience giving the opportunity to get at first glance information in an easily understandable format, even consisting of charts, graphs, and other visual aids. In this session we will share with the audience the joy of our achievements, tell stories about our journey, and gather feedback about what’s next. There are ways everyone can contribute too, and we will point the audience about what’s needed to get our goal and how they can help. read more
Drupal Association 27.11.2023

youtube

embed image

Defend FOSS: From innovation to positive change, we need to remind the world what we're about.

DrupalCon Lille 2023 OPEN WEB COMMUNITY Open Source technology, practices, and thinking have revolutionized how we innovate, collaborate, and do business. The impact goes beyond our daily work and paying our rent. Open source is everywhere; we won! But there's a downside. We have been so busy with our success that we have forgotten to tell people what makes us and Open Source different. We must remember how radical and important Open Source is. It is extraordinary that we build international communities of experts sharing our best ideas, building businesses, and creating value. Open Source — and we — have the potential to create more positive change in the world. And we need to tell the world ... again. Right now, proprietary systems and vendors are winning pitches in government and elsewhere that should be no-brainers for Open Source solutions. What comes next, and what do we have to do to make sure we can continue to make a positive difference with Open Source in the future? This session will explore open source at different scales, from small but meaningful, to vast and vital to our future. What has open source made possible? What have we done with it in the last 24 years? A look back at our origins, the changes and opportunities open source has enabled from small and personal to large. What could applying open source philosophy and practices — "thinking open source" — bring to society, the world, and the future beyond our daily work and business, from promoting peaceful and democratic societies to providing international development aid? read more
Drupal Association 27.11.2023

youtube

embed image

OPEN WEB COMMUNITY - What can we learn from the 2023 Drupal Local Development Survey?

DrupalCon Lille 2023 The Drupal Local Development Survey aims to help inform the Drupal development community about itself, by asking Drupal devs all over the world about the tools and processes they use to build and maintain amazing Drupal sites. The 2023 survey received over 800 responses from across the globe and was translated into French, Japanese, and Traditional Chinese to help extend it's reach. In this session, we'll take a look at survey results from this year and review some of the lessons it can teach us about how developers are using Drupal, the processes and methodologies they're using, and where they're hosting their sites. We'll also discuss some of the ad-hoc feedback we received in the survey, and ways in which we can improve the 2024 survey to get even more meaningful data from the Drupal community. read more
Drupal Association 27.11.2023

youtube

embed image

CLIENTS & INDUSTRY - Our joint sustainability journey: reducing emissions and technical learnings

DrupalCon Lille 2023 Nestlé and Platform.sh have developed a new test case - focused on Nestlé’s Drupal fleet - which dramatically reduces greenhouse gas emissions in the cloud. Together we will share our approach and the lessons learned in terms of technology, process, and sustainability. During our previous presentation at DrupalCon Prague, we showed how to measure carbon footprint and what actions are the most effective in driving down emissions. Here we will share what happened next, how we’ve also defined a generally applicable set of steps that can help teams to define usage baselines, what we have accomplished, and the results from our technical deep dive. In this session you will learn: · How Nestlé and Platform.sh share a joint commitment to sustainability extending to the cloud. · How you as a Drupal community member can also help to reduce cloud emissions and meet your sustainability goals. Join this session if you: · Want to understand not only how to reduce emissions, but also to increase performance. · Are curious about technical insights from our pilot case, which can be generalized to any instance in the Drupal world, and beyond. read more
Drupal Association 27.11.2023

youtube

embed image

USERS & EDITORS - Using the EditorA11y module to improve accessibility in Drupal

DrupalCon Lille 2023 A good website must be accessible. While Drupal is a very accessible platform, sometimes once a site is built, an editorial team will make updates that do not adhere to accessibility best practices. The Editora11y module is a new module which checks the content automatically and will warn editors and site builders on accessibility errors. This session will introduce the module, and show how to set it up properly. The session will also cover the Editora11y modules ability to preform site wide accessibility checks so site maintainers can review and correct accessibility issues. read more
Drupal Association 27.11.2023

youtube

embed image

MAKERS & BUILDERS-When things take longer than you thought: Moving workloads to background processes

DrupalCon Lille 2023 Your Drupal site needs to assign automatically a taxonomy term to some nodes at creation time. This sounds like a simple task that can be achieved with a hook or event subscriber. Suddenly, editors experience the dreaded White Screen of Dead or random timeout messages when creating new terms that attempt to update thousands of nodes. Even worse: the process is not completed so you need to audit the whole site to sort the content out. When these automatic tasks are complex or imply a big number of entities that need to be updated, the risk to run out of time or resources increases. Under these circumstances it is better to use background processes. Drupal provides batches, cron & queues. These tools help execute heavy tasks in a separate process where timeouts and memory consumption can be controlled and errors can be handled. We will explore these tools, and look at examples on how to deal with simple tasks or complex ones depending on the needs. Developers who manage large sites that need to be updated based on different triggers will take advantage of the various approaches and strategies explained. This session will help you to identify possible bottlenecks in your Drupal projects and how to tackle them by moving tasks to the background. read more
Drupal Association 27.11.2023

twitter

RT @TalkingDrupal: On episode #390, Employee Owned Business with Seth Brown, CEO @lullabot. https://t.co/KiYM6Zwz5C #drupal read more

twitter

Nonprofit Drupal posts: March Drupal for Nonprofits Chat https://t.co/uJq3iqKikr #drupal read more

twitter

Community Working Group posts: Call for creators for crafting future Aaron Winborn Awards https://t.co/JqGX6q9W1M #drupal read more

twitter

Community Working Group posts: Nominations are now open for the 2023 Aaron Winborn Award https://t.co/wrYfMue23T #drupal read more

twitter

The Drop Times: Just Keep Showing Up, and the Job Is Yours: Chris Wells | DrupalCamp NJ https://t.co/FL1c6MdS9Z #drupal read more

twitter

RT @ironstar_io: The 2023 Drupal Local Development Survey has now been translated into French, Japanese, and Traditional Chinese. We are ve… read more

twitter

The 2023 Drupal Local Development Survey has now been translated into French, Japanese, and Traditional Chinese. We are very grateful to @mupsigraphy for her work on this French translation. If you would like to add a translation, please let us know as there's still time! read more

twitter

RT @e14t: Mastering Drupal 9 Layout Builder: A Comprehensive Guide to Effortlessly Customize Your Website's Design #drupal https://t.co/veg… read more

twitter

Mastering Drupal 9 Layout Builder: A Comprehensive Guide to Effortlessly Customize Your Website's Design #drupal https://t.co/vegAGDzSdh read more

embed image
Powered By Combinary

twitter

RT @Drupalcameroun: How #Drupal communities on the #African continent can help their governments in their #digitalization process. @_Africa… read more

twitter

Chapter Three: where we celebrate National Pi Day with forward-thinking NextJS and Drupal expertise, and National Potato Chip Day with an unparalleled snacking prowess. What is your favorite chip flavor? 🥧 🍟 🤓#PiDay #PotatoChipDay #drupal #nextjs read more

twitter

Pues me está gustando mucho lo de hacer directos en #twitch sobre desarrollo en #Drupal, le estoy cogiendo el gusto. read more

twitter

embed image
Drupal has offered top-notch no-code/low-code site building functionalities long before these two terms even existed. You can learn more about Drupal as a no-code/low-code tool in this @agiledrop article: https://t.co/TDwJn5DT6r #Drupal #NoCode #LowCode https://t.co/tGVQhtdtvH read more

twitter

I spent the last week doing #peformance #optimization of our #drupal 9 application infrastructure. I learned a lot about #PHP #opcache #profiling and Drupal's internal caching systems. #webprofiler module was a big help, too! read more

twitter

The Drop Times: A Stitch in Time Saves Nine https://t.co/VMWANTSAUe #drupal read more

twitter

embed image
One of our Back-end Developers, Greg Carlson has officially been with Aten for one year! Greg's favorite project this year was creating a #Drupal module to easily import CSV files to create content for @C4LPreK. In his free time, Greg follows the KU Jayhawks in his hometown. https://t.co/CN5QDULccA read more

twitter

RT @nmdmatt: .@phpstan's new not-deprecated annotation #drupal https://t.co/To2MLb1hpw read more

twitter

RT @nmdmatt: .@phpstan's new not-deprecated annotation #drupal https://t.co/To2MLb1hpw read more

twitter

Matt Glaman: PHPStan's new @not-deprecated annotation https://t.co/Idxe5nlpQV #drupal read more

twitter

embed image
Session submission: »The Ten Ways of Trust in Communication« by @kanadiankicks | @open_strategy https://t.co/HpYj8309le #dcruhr23 #Drupal (tf) https://t.co/zkzLT1BNJZ read more

twitter

#Drupalcamp Colorado has dates! Aug 4 and 5. We want YOU to speak! Your topic doesn't have to be Drupal specifically but should be Drupal adjacent. #drupal #camp #opensource @drupalcolorado Please share this post liberally! https://t.co/Yb1x3vxmQ5 https://t.co/jMBQUq2hPu read more

twitter

Wozu braucht man Drush bei #Drupal 9? Module lassen sich direkt updaten. Drupal Update mit Drush hat einen Aufkleber "deprecated". read more

twitter

RT @SamHuskey: Attention #Drupal developers: @scsclassics is hiring! Details at https://t.co/3lTYHaQys3 read more

twitter

Why join the Acquia's Headless Developer Advisory Board? This board is an opportunity to have your say. Provide feedback into our headless products an roadmaps. Check it out! #Drupal #DrupalHeadless #Decoupled #Developers #Technology #Leadership https://t.co/HJVa4aEinQ read more

twitter

RT @TalkingDrupal: On episode #390, Employee Owned Business with Seth Brown, CEO @lullabot. https://t.co/KiYM6Zwz5C #drupal read more

twitter

embed image
Olivero is the new default theme in #Drupal10 & 9 – and the most accessible one yet. Learn more about this modern theme’s best features, as well as its notable namesake. https://t.co/JHwH3hexgq #Drupal https://t.co/zTEKd7wOMa read more

twitter

Are you a developer looking to stay ahead of the game? Then mark your calendars for March 19th and join us for the #Drupal Meetup at Zain Zinc! Don't miss out on this opportunity to enhance your skills and connect with fellow professionals! Register Now! https://t.co/0HwzZfdoR6 read more

twitter

What Is a Content Management System (#CMS)? https://t.co/4Pd3JMXeKS #Wordpress 'joomla #Drupal read more

twitter

embed image
Le connecteur officiel #ONLYOFFICE pour #Drupal est est disponible dans le répertoire officiel de Drupal. En savoir plus : https://t.co/UuUhlOteJn https://t.co/ENue19M7aN read more

twitter

.@phpstan's new not-deprecated annotation #drupal https://t.co/To2MLb1hpw read more

twitter

RT @drupalfr: 🔍 Vous avez peut-être vu passer une enquête sur les environnements de développement locaux avec #Drupal récemment ? Elle es… read more

twitter

RT @drupalfr: 🔍 Vous avez peut-être vu passer une enquête sur les environnements de développement locaux avec #Drupal récemment ? Elle es… read more

twitter

RT @DrupalCampRuhr: Wir danken unserem Bronze-Sponsor @arocom_GmbH! 🥰 "Sie suchen eine auf das CMS #Drupal spezialisierte Internetagentur… read more

twitter

RT @drupalasheville: If you have an amazing training idea for #Drupal Camp #Asheville, remember to submit by March 28. That’s in two weeks!… read more

twitter

embed image
If you have an amazing training idea for #Drupal Camp #Asheville, remember to submit by March 28. That’s in two weeks! If you are an expert in #SEO, #accessibility, #front-end technology, etc. our attendees would love to learn from you. Learn more at https://t.co/kOg4BLfyXq. https://t.co/IBB17YWptn read more

twitter

The latest Drupal Review! https://t.co/AWLDaVGtYD Thanks to @laravel_101 #drupal #developer read more

twitter

RT @DrupalCampRuhr: Wir danken unserem Bronze-Sponsor @arocom_GmbH! 🥰 "Sie suchen eine auf das CMS #Drupal spezialisierte Internetagentur… read more

twitter

embed image
Dziś chcemy przedstawić Wam ciekawe oferty na: 𝗗𝗮𝘁𝗮 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗮 𝗶 𝗣𝗛𝗣/𝗗𝗿𝘂𝗽𝗮𝗹 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝗮🔥 𝗣𝗛𝗣/𝗗𝗿𝘂𝗽𝗮𝗹 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿 👇 https://t.co/INoX6d6iSQ 𝗗𝗮𝘁𝗮 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿 👇 https://t.co/9VmiuyNKZ6 #dataengineer #php #Drupal https://t.co/3lW6NZBTPn read more

twitter

embed image
Wir danken unserem Bronze-Sponsor @arocom_GmbH! 🥰 "Sie suchen eine auf das CMS #Drupal spezialisierte Internetagentur? Dann sind Sie bei der arocom GmbH genau richtig. Wir entwickeln individuelle Internetauftritte, Portale, Shops und Intranetlösungen." (gs) #dcruhr23 https://t.co/eR7Ql6Tmns read more

twitter

Join us April 27 for the Drupal Zurich Meeting with talks about Ting, AI-Powered-Search-Indexes as well as @SplashAwards_CH 2023 #Drupal #DrupalZH #DrupalSwitzerland https://t.co/HICNsoGSuv read more

twitter

I love all my Drupal and Magento projects I developed in the past 😁🙌 especially Shutterstock from the USA liked it #drupal read more

twitter

RT @drupalfr: 🔍 Vous avez peut-être vu passer une enquête sur les environnements de développement locaux avec #Drupal récemment ? Elle es… read more

twitter

🔍 Vous avez peut-être vu passer une enquête sur les environnements de développement locaux avec #Drupal récemment ? Elle est désormais disponible en français, et vous avez jusqu'au 17 avril pour participer ! 🇫🇷 https://t.co/bvGG2Mh0cI read more

twitter

On episode #390, Employee Owned Business with Seth Brown, CEO @lullabot. https://t.co/KiYM6Zwz5C #drupal read more

twitter

Specbee: Mastering Drupal 9 Layout Builder: A Comprehensive Guide to Effortlessly Customize Your Website's Design https://t.co/J3m41Xemep #drupal read more

twitter

In this blog's category, you’ll learn about useful features of Droopler - our #Drupal distribution for building websites/creating landing pages for #marketing campaigns 👨‍💻 Check the #SEO and navigation functionalities, and the web pages built on Droopler https://t.co/CeicqTnTad read more

twitter

RT @ultimike: I am not surprised by these new #drupal modules, and I welcome our new AI-based content overlords with peace and love 😜 http… read more

twitter

¿Instalar #Drupal con un solo click? Si es posible con nuestros planes de #Hosting (Hospedaje Web), Contrata tu plan ¡Ahora! https://t.co/UyteHPrXCq read more

twitter

ちょっと時間があったので、https://t.co/Fa5p1pcDT8 Blueprintsを触ってみた。Add https://t.co/Fa5p1pcDT8 content typeでレストランとかパン屋を定義してみて、結構ワクワクした。UIが良く属性定義のベストプラクティスが出てくる感じ。 #Drupal https://t.co/mkd5ciBgLy read more

twitter

RT @volkswagenchick: Want to learn how to contribute to #Drupal? Join me at @FoxValleyDrupal next month to learn the ins and outs of the is… read more

twitter

RT @volkswagenchick: Want to learn how to contribute to #Drupal? Join me at @FoxValleyDrupal next month to learn the ins and outs of the is… read more

twitter

RT @ultimike: I am not surprised by these new #drupal modules, and I welcome our new AI-based content overlords with peace and love 😜 http… read more

twitter

RT @opensourceway: Want to learn how to contribute to #Drupal? Join @opensourceway's @volkswagenchick at @FoxValleyDrupal next month to l… read more

twitter

RT @ultimike: I am not surprised by these new #drupal modules, and I welcome our new AI-based content overlords with peace and love 😜 http… read more

twitter

With our #webhosting plans, #webdev create your awesome #website with #drupal a #Free content management system (cms) https://t.co/HbNxEroF4h read more

twitter

RT @volkswagenchick: Want to learn how to contribute to #Drupal? Join me at @FoxValleyDrupal next month to learn the ins and outs of the is… read more

twitter

Want to learn how to contribute to #Drupal? Join @opensourceway's @volkswagenchick at @FoxValleyDrupal next month to learn the ins and outs of the Drupal issue queue. Spoiler alert: you don't have to be a coder to give back to open source. … https://t.co/yi56be3YUR read more

twitter

The latest The drupal Daily! https://t.co/EXg9Mjai8k Thanks to @laravel_101 #drupal #wordpress read more

twitter

@bretwp I recommend #Drupal for sites that have the need to tie together dynamic content in a plethora of ways. Good for HighEd or government sites. read more

embed image
Powered By Combinary

twitter

opensourceway: Want to learn how to contribute to #Drupal? Join @opensourceway's @volkswagenchick at @FoxValleyDrupal next month to learn the ins and outs of the Drupal issue queue. Spoiler alert: you don't have to be a coder to give back to open sour… https://t.co/POww6YqRQP read more

twitter

Want to learn how to contribute to #Drupal? Join @opensourceway's @volkswagenchick at @FoxValleyDrupal next month to learn the ins and outs of the Drupal issue queue. Spoiler alert: you don't have to be a coder to give back to open source. https://t.co/G3dSaUzV5r read more

twitter

Want to learn how to contribute to #Drupal? Join me at @FoxValleyDrupal next month to learn the ins and outs of the issue queue. Spoiler alert: you don't have to be a coder to give back to open source. read more

twitter

RT @mikeherchel: #Drupal I wrote a blog post on how I migrated an Olivero component to use Drupal's new Single Directory Components archite… read more

twitter

RT @boshtian: Drupal 10 upgrade: Custom code upgrades, post by @darthsteven of @computerminds https://t.co/StelwGvv96 #Drupal read more

twitter

@iansvo @bretwp Not in the recommendation business anymore but here is how it normally goes - @rootswp for those who love #WordPress + #Laravel. @drupal for those who love @symfony I personally prefer #Drupal these days. read more

twitter

RT @boshtian: Drupal 10 upgrade: Custom code upgrades, post by @darthsteven of @computerminds https://t.co/StelwGvv96 #Drupal read more

twitter

RT @mikeherchel: #Drupal I wrote a blog post on how I migrated an Olivero component to use Drupal's new Single Directory Components archite… read more

twitter

#365daysOfCode Day 356 1. Anki 2. Reading: Javascript Security 101 3. #Drupal : Block Views, built my first one! Still need to push more on drupal it's tough (anyone know any good resources?) 4. #100Devs Standup 5. PoW Dev Hangout 6. Codewars 6th read more

twitter

Attention #Drupal developers: @scsclassics is hiring! Details at https://t.co/3lTYHaQys3 read more

twitter

RT @volkswagenchick: Are you ready to be part of the most exciting European #Drupal event of the year? @DrupalConEur Lille's CFPs is now o… read more

twitter

RT @mikeherchel: #Drupal I wrote a blog post on how I migrated an Olivero component to use Drupal's new Single Directory Components archite… read more

twitter

Talking Drupal: Talking Drupal #390 - Employee Owned Companies https://t.co/fUCxjhpPb5 #drupal read more

twitter

RT @volkswagenchick: Are you ready to be part of the most exciting European #Drupal event of the year? @DrupalConEur Lille's CFPs is now o… read more

twitter

RT @DrupalContract: Now #hiring ➡️ We’re looking for a #Drupal Redesign Project Manager who is skilled with managing project development, d… read more

twitter

RT @DrupalContract: Now #hiring ➡️ We’re looking for a #Drupal Redesign Project Manager who is skilled with managing project development, d… read more

twitter

Now #hiring ➡️ We’re looking for a #Drupal Redesign Project Manager who is skilled with managing project development, defining project scope, goals, and deliverables, and estimating project resource requirements. Learn more & apply here: https://t.co/TqBE9ftdtR #techishiring read more

twitter

Want to learn more about what Contribution Day at #MidCamp 2023 is going to involve? Have we got a meetup for you on April 19th! Thanks to @FoxValleyDrupal https://t.co/ROnSakuIlZ read more

twitter

In the previous versions of #Drupal, you used the #rules module to trigger an action upon an event. In #durpal8 #drupal9 / #drupal10, you subscribe to events and dispatch your own. read more

twitter

Excited to guest host this webinar and chat with some really great security experts to talk about #security in #Drupal read more

twitter

embed image
Start taking digital security more seriously! Come see our webinar as guests from @ciandt and the @drupalassoc share insights on pressing security concerns for businesses and provide practical tips for protecting against emerging threats. Join us: https://t.co/E6pvqu2mWO https://t.co/TQcrqAxH5u read more

twitter

Drupal 10 upgrade: Custom code upgrades, post by @darthsteven of @computerminds https://t.co/StelwGvv96 #Drupal read more

twitter

By not upgrading your #Drupal websites to the latest version of #Drupal, you're making it difficult for yourself in the future. read more

twitter

I am not surprised by these new #drupal modules, and I welcome our new AI-based content overlords with peace and love 😜 https://t.co/gXLVYFZ19q Thanks, @kevinquillen, for giving me something new to be distracted by. read more

twitter

embed image
Looking to scale up a Drupal site? Or test its capacity to handle surges in volume? Promet’s Josh Estep reviews four load-testing tools for Drupal. https://t.co/6mrfGgWghg #drupal #drupaldeveloper #drupal9 #drugdevelopment #training https://t.co/bKFDuBbrOb read more

twitter

Sprawdź, który system CMS jest dla Ciebie najlepszy! 🤔👨‍💻 Czy to WordPress, Joomla, Drupal, Shopify czy Magento, znajdziesz tu informacje, które pomogą Ci podjąć najlepszą decyzję.📝💻 https://t.co/c17hggTOsB #CMS #WordPress #Joomla #Drupal #Shopify #Magento read more

twitter

To compete with some of the largest companies on the web, independent bookstores need a platform with all of the e-commerce features people have come to expect. See how we helped create a full-featured alternative to platforms like Shopify. https://t.co/A6ApsA1LWP #drupal read more

twitter

Are you ready to be part of the most exciting European #Drupal event of the year? @DrupalConEur Lille's CFPs is now open https://t.co/rz4OkhIZhU read more

twitter

Are you ready to be part of the most exciting European #Drupal event of the year? @DrupalConEur Lille's CFPs is now open https://t.co/6rFNhpIiwJ read more

twitter

Are you ready to be part of the most exciting European #Drupal event of the year? @DrupalConEur Lille's CFPs is now open https://t.co/tVmHJ7JO2a read more

twitter

embed image
This #WomensHistoryMonth, support #womenintech by sponsoring the Women in Drupal event at @drupalcon Pittsburgh! Grow and diversify talent in your organization by showcasing the #Drupal project and community at its best: https://t.co/j3fGMwOqyy https://t.co/GZUo6uBrlu read more

twitter

You can write documentation and examples about that documentation. This is also considered a contribution towards the #Drupal project. read more

twitter

I’ll be speaking at @drupalcampnj this week - who else is going? read more

twitter

Yesterday we released #GinAdminTheme RC2. Get it while it's hot: https://t.co/O7ItwDngLu #Drupal read more

twitter

RT @mikeherchel: #Drupal I wrote a blog post on how I migrated an Olivero component to use Drupal's new Single Directory Components archite… read more

twitter

RT @specbee: Did you know #Drupal offers almost 50,000 modules for you to use in your projects?! All of these modules are creations of the… read more

twitter

RT @specbee: Read our detailed blog on the must have Drupal modules for your Drupal project - https://t.co/TJXt8BGS1h read more

twitter

embed image
Attending @DrupalCampNJ in Princeton? Then you won't want to miss @aburke626's session, "Creating a Culture of Documentation,” on Friday, March 17th from 14:30 - 15:15 EST. For more on Alanna's session, check out: https://t.co/1NztgYY9ps #OpenSource #DrupalCamp #Drupal https://t.co/67kIG6IVcn read more

twitter

@somnana555 @RMCSportCombat @RMCsport BIG PROMOTION ( Free Trial ) IP TV: 40 € / 12 months : 30 € / up to 6 months IP TV is over 18,000 live channels - 𝐒𝐏𝐎𝐑𝐓 https://t.co/EcsCMBEzEL #Encodage/ #H264 / #x264 / #x265 / #VOD / #OTT / #IPTV / #HEVC / #av1 / #MotionDesign / #VR / #Drupal / #caméraVR #livestream360 read more

twitter

@steven_reyes_va @CSEmelec BIG PROMOTION ( Free Trial ) IP TV: 40 € / 12 months : 30 € / up to 6 months IP TV is over 18,000 live channels - 𝐒𝐏𝐎𝐑𝐓 https://t.co/EcsCMBEzEL #Encodage/ #H264 / #x264 / #x265 / #VOD / #OTT / #IPTV / #HEVC / #av1 / #MotionDesign / #VR / #Drupal / #caméraVR #livestream360 read more

twitter

@Transports2K @Panamza BIG PROMOTION ( Free Trial ) IP TV: 40 € / 12 months : 30 € / up to 6 months IP TV is over 18,000 live channels - 𝐒𝐏𝐎𝐑𝐓 https://t.co/EcsCMBEzEL #Encodage/ #H264 / #x264 / #x265 / #VOD / #OTT / #IPTV / #HEVC / #av1 / #MotionDesign / #VR / #Drupal / #caméraVR #livestream360 read more