drupal
DrupalEasy: Mentoring a team of new contributors at DrupalCon Lille 2023
One of the signature events of every Drupalcon (IMHO) is contribution day, when community members from around the world gather to work together in the same physical space to advance various aspects of the project - from strategic and community initiatives to contributed modules and themes as well as non-code contributions like Promote Drupal and, of course, core contributions.
As part of this, space is always set aside for new contributors, with community volunteers helping to organize, train, and mentor community members new to project contribution. This space strives to be a welcoming environment to those of all skills and skill levels, and includes a "First time contributor workshop" to introduce new contributors to contribution areas and tools.
tl;dr The team I mentored managed to complete the core issue we selected and get it committed to core by the end of the day - something that hasn't happened at a Drupalcon in several years!
Setting a goal
This year, I volunteered to be a mentor in the Mentored Contribution room. Some mentors are provided with a free ticket to Drupalcon, with the understanding that they will not only volunteer a full-day of their time during contribution day, but will also dedicate several additional hours of their Drupalcon experience to attending a mentor orientation, helping out at the Community Mentoring table (graciously provided by Kuoni in the main expo area,) among other tasks.
I've mentored at community events previously (DrupalEasy also provides mentoring services for hire,) so going into the day, I knew exactly what the goals for my "team" were going to be:
- Find a core issue that was clear enough for our team to be able to make a strong attempt to get it to a "Reviewed & tested by the community" (RTBC) status by the end of the day - with a stretch goal of having it committed to core before the end of the day.
- Learn to work with Drupal.org issue forks.
- Utilize DrupalPod (thank you, Ofer!) for all work on the issue.
It is important to note that not all tasks at Mentored Contribution are code and/or project related. The mentoring team does a great job of mentoring other forms of contributions as well.
Finding the right core issue
Having some previous experience, I knew that the first task would likely be time-consuming, so I took it upon myself to spend a couple of hours prior to contribution day to browse through Drupal core issues tagged "Novice" . Finding the right issue to work on during a contribution day is always tricky. Newer core issues tend to be very dynamic with active contributors working on them. Older core issues tend to be more difficult for various reasons - sometimes consensus isn't reached, other times the issue is too complex to be approached by a group in a single day. Prior to the Mentored Contribution day, organizers perform issue triage to narrow down potential issues.
I eventually settled on an issue from November, 2020 titled Add autocomplete attributes on login form and password reset form. The task involved adding some HTML attributes to a couple of core forms to help password managers more reliably target username and password fields. There was an existing merge request (MR) for the issue, but it was without tests (and about two years old.)
This issue seemed to have the criteria I was looking for - something approachable and a relatively straight-forward end goal, something that would allow us to utilize merge requests, and something that required some, but not too much, coding so we had a chance at finishing before the end of the day.
The team
Generally, mentors declare the types of tasks they'd like to work on, then volunteer greeters welcome folks as they show up for the day and bring them to a table to get to work once the "First time contributor workshop" is complete.
Our team consisted of eager new contributors, including: guzmanb, maxime.rffd, hexaki, samuel_orhan, rauch, guiu.rocafort.ferrer, mullzk, and binnythomas.
Using DrupalPod
The mentoring organizers recommend that we use DrupalPod during contribution day. DrupalPod is a browser extension and a set of scripts that make it super-easy to spin up a core development environment on GitPod. DrupalPod utilizes DDEV (something I know a little bit about) and runs completely in a browser, making it very convenient for contribution events like this.
We took some time to ensure everyone was able to spin up their DrupalPod environment for the existing MR, but quickly faced some challenges, as the DrupalPod environment was not launching cleanly.
We worked together to eventually determine that the main issue was the fact that the issue fork was over 2 years old and didn't have an 11.x branch, so the DrupalPod scripts were unable to properly set up the development environment. This allowed our team to learn about diagnosing and correcting issue fork challenges.
This also allowed our team to learn about (and practice) the necessary configuration and workflow for pushing commits from a Gitpod environment back to drupal.org. This involved setting up a temporary .ssh key set (with assistance from DrupalPod) and using Visual Studio Code's Git UI for making pushes (and not the command line.)
These tasks took several hours to complete - ensuring that all team members were staying engaged.
The issue code
Once we had the development environment and issue fork configured properly, it was time to discuss our approach to completing the issue. Several of our team members had to leave after lunch, so we were left with a core group of individuals, with new contributor guiu.rocafort.ferrer volunteering to take the lead. We planned out the change (and actually expanded the scope of the issue a tiny bit) and I received some guidance from an experienced core developer on what would be a reasonable PhpUnit test for this issue that I relayed back to the team.
I provided some guidance to the team to figure out where the test code should go (a new test class wasn't necessary; we just had to figure out the best existing test class to add to) and an overview of what the (relatively simple) test should look like.
At that point, I felt the existing team members had things well-in-hand, so I stepped back and let them get to work.
Getting to RTBC
By now, it was mid-afternoon and I was very hopeful that we'd at least be able to get the issue to "Needs review" with an outside chance of "RTBC." While the team worked on the code, I recruited a couple of experienced code contributors to review the code as soon as it was ready.
The team had some minor questions as they proceeded, but no blockers. They were all experienced PHP developers, so for them, this was the easiest part of the task, I suspect.
When they felt they had completed the task, I did a line-by-line code review with them, suggesting several minor changes, before they committed and pushed to the MR. I then alerted our reviewers (jurgenhass and lostcarpark) and they both agreed that it looked good. While this was going on, I alerted the mentoring organizers that we would potentially have a core issue at RTBC.
Live Drupal core commit
As long as I've been a part of the Drupal community, during Drupalcon contribution days, "live core commits" have always been a thing. From what I've been told, there hasn't been one for "several years" for various reasons, so I was quite proud of our team when nod_ showed up to congratulate our team and commit their changes to Drupal core on the big screen at the front of the mentored contribution room.
Retrospective
Looking back at the event, the only thing I would have changed is something that was completely out of my control - the fact that over half of our team wasn't able to stay for the full day and get the sense of pride that the rest of the team clearly had watching a Drupal core committer accept their contribution.
Personally, core mentoring is incredibly rewarding, and I always get more out of it than I expect. Along the way, I learned some additional details about DrupalPod as well as the pitfalls (and solutions) when working with old issue forks.
If you're an experienced Drupal developer, I encourage you to make a commitment to dedicate your time to helping to grow the next wave of contributors. If you're interested, say hello in the #mentoring-team channel of the Drupal Slack workspace.
Photos courtesy of Andy Blum.
Tag1 Consulting: Scary Drupal Migrations - with Benji Fisher
--- In this Halloween-themed episode of Tag1 TeamTalks, Benji Fisher, a top contributor to Drupal, shares two chilling platform migration stories. In the first tale, set in 2019, Benji tackled a government website project with a tight deadline. The initial plan to use the unstable feeds module for Drupal 8 was alarming, given the project's complexity. Benji opted for the more reliable Migrate API to handle the intricate XML data structure, a decision that ultimately paid off. The second hair-raising story occurred in 2013-2014 during the implementation of HTTPS on a Learning Management System (LMS). Benji had to persuade the client that HTTPS wouldn't harm performance and deal with hardcoded HTTP URLs in JavaScript activities. He devised a clever shell script to convert and edit the URLs, swiftly resolving the issue. Both stories exemplify the unpredictability and challenges of platform and data migration. They underscore the importance of selecting the right tools and techniques. These experiences, though harrowing at the time, now serve as reminders of successful problem-solving and resilience in the tech world. Please let us know if you have specific migration-related topics you'd like to see us cover. Or, reach out and let us know if we can...
Read more michaelemeyers Wed, 10/25/2023 - 06:00cyberschorsch.dev: Effortless Drupal Reinstallations: A Quick Guide Using Composer
SystemSeed.com: Learning management systems and Drupal
A lively discussion at DrupalCon Lille 2023 hosted by SystemSeed
Alexey Beloglazov Tue, 10/24/2023 - 06:35ComputerMinds.co.uk: Andrei's first Drupalcon
A little over a year ago, I ventured into the world of Drupal; a complex content management system. Despite making considerable progress in understanding its intricacies, it's widely acknowledged that Drupal presents a steep learning curve. To navigate this learning curve successfully, one must maintain unwavering dedication and find satisfaction in troubleshooting and problem-solving, which can provide a rewarding sense of achievement.
I was fortunate to have an exceptional team that provided a constant stream of knowledge, invaluable advice, and overall support in my pursuit of mastering Drupal. A significant milestone in my Drupal journey was the invitation to attend DrupalCon2023, a pivotal moment as it marked my first conference participation, entirely dedicated to my field of interest.
I'll admit that I felt apprehensive in the lead-up to Dries' keynote address, with doubts about my qualifications to be part of such a prestigious event nagging at me. However, my confidence had a steady revival following the opening ceremony and the initial conference keynote. The first session I attended provided an in-depth exploration of SearchAPI, which provides a quicker and more robust approach to formulating queries and has the potential to reduce reliance on Solr and enhance response times. Additionally, the discussion on the Gin Admin Theme held my attention. Remarkably, observing fellow attendees using Linux on their laptops further motivated me to expedite my laptop's development setup.
The collective experience at DrupalCon instilled a profound sense of community. It reinforced the commitment of remarkable individuals tirelessly working to improve Drupal and, by extension, making positive contributions to the broader world. Immersing myself in this environment was incredibly insightful, offering deep inspiration and motivation. Watching the collaborative brainstorming of like-minded individuals led to the formation of new ideas, which was a unique experience for me.
The event expanded my horizons, particularly in understanding the diverse potential of the applications of Drupal. It also deepened my appreciation of the open-source philosophy and has inspired me to endeavor to contribute back to the Drupal community.
I treasured the opportunity to strengthen my connections with colleagues, engage in collective sessions, and subsequently share insights from the various talks we attended.
Drupal blog: State of Drupal presentation (October 2023)
This blog has been re-posted and edited with permission from Dries Buytaert's blog.
Last week, approximately 1,300 Drupal enthusiasts came together in Lille, France for DrupalCon. In good tradition, I delivered my State of Drupal keynote, commonly referred to as the "Driesnote". You can watch the video of my keynote or download my slides (264 MB).
This keynote was unlike any other. I narrated a fairy tale that explores how the Drupal community is working together to simplify the process of starting, building, and maintaining Drupal websites. Yes, you read that correctly – a fairy tale. However, rest assured, it's a fairy tale with a happy ending.
If you're keen to experience the full magic of the Drupal fairy tale, I highly recommend watching the video instead of reading this blog post. And if you want to avoid any spoilers, stop reading here.
A tale of four cities: learning from competitors
As the speaker, I took the audience on a journey that started with my discovery of a mysterious book related to Drupal. The book uses an analogy to explain Drupal as a character living in the Drupal Village. This village is full of different types of houses, from cozy cottages to grand estates. In this bustling village, ambitious villagers work together to construct and take care of their homes.
The Drupal villagers cherish core values such as creativity, flexibility, scalability, accessibility, collaboration, empowerment, security, and freedom.
In the Drupal Village, a young builder grows frustrated with the challenges of constructing and maintaining homes. Driven by curiosity about alternative approaches, the young builder makes the bold decision to leave Drupal Village and embark on a journey to neighboring towns. Their hope was to uncover if there were superior methods for homebuilding.
The Drupal character leaves on a journey to visit nearby villages.
Drupal, our central character, decides to follow the young builder, embarking on a journey that takes them to four unique villages: Reactopia, Contentville, Squarix, and Edoby Heights. Along the way, Drupal gathers valuable insights from each of these unique villages. Despite uncovering some of their shortcomings, Drupal also came to understand why these villages hold allure for young builders.
Summary of lessons learned from Drupal's visits to Reactopia, Contentville, Squarix, and Edoby Heights.
Learning from the strengths of these four villages, the Drupal character realizes that for Drupal Village to prosper, it must offer an exceptional builder experience. Furthermore, through their visits to these four villages, our main character developed a clear idea of what an exceptional experience might look like. With a clear goal in mind, Drupal decides to simplify the process of starting, building, and maintaining homes in the Drupal Village.
Drupal understands that for the Drupal Village to prosper, the builder's experience must be exceptional: it should be simpler to get started, easier to build, and effortless to maintain.
Drupal brings together some of the most skilled craftspeople from the community to meet at a nearby atelier called OuiWork. Within this collaborative space, initiative leaders Tim Plunkett (Acquia), Cristina Chumillas (Lullabot), and Lauri Eskola (Acquia) shared valuable insights about the work they are doing.
In practical terms, I discussed the significance of the Project Browser and Automatic Updates Initiatives. These initiatives serve to streamline the process of starting and maintaining your Drupal sites. Our goal is to include Automatic Updates and Project Browser into Drupal 10.3, scheduled to be released in June 2024. Achieving this milestone will be the culmination of over a decade of dedicated effort. I believe Drupal's Automatic Updates and Project Browser will be both the most advanced and most security-conscious tools of their kind among all PHP applications.
I also highlighted various efforts to make it easier to build with Drupal. This includes improvements in content modeling features (watch video segment) and enhancements to Drupal's administration toolbar (watch video segment). This work not only follows a design-first approach but also showcases our ability to make rapid progress, underscoring changes in the way we work and collaborate.
Drupal announces a new strategic initiative: a Next Generation Page Builder.
Lastly, I introduced a new strategic initiative aimed at improving the user experience for building pages with Drupal (watch video segment). The initiative is called Next Generation Page Builder and focuses on improving Drupal's layout builder, which was first introduced in Drupal 8.
Beyond the dark clouds: advocating for an Open Web
The Closed Web proponents casting dark clouds over Drupal Village.
After working on improving the builder experience, the Drupal character returns home to discover Drupal Village shrouded in dark clouds. These ominous clouds are the work of the Closed Web advocates, sinister figures in the story. Hope arrives in the form of a visit from Fairy Godfather Tim Berners-Lee. The visit inspires Drupal to become an unwavering promoter and protector of the Open Web. In the morning, the Drupal character takes it upon themselves to write the Open Web Manifesto. This seminal document binds the entire community to a shared commitment: the creation of a digital future that is more accessible and inclusive for all.
Shining a light on Drupal: the role of Drupal marketing
Drupal seeks the assistance of three sorcerers with magical (marketing) powers.
Sadly, the Open Web Manifesto alone can't clear away the dark clouds created by the Closed Web advocates. As the dark clouds creep closer and obscure the village, Drupal seeks help from three powerful sorcerers. The sorcerers use their magic to dispel the dark clouds, unveiling the remarkable work occurring in Drupal Village to the entire world.
In reality, the "sorcerers" are the Drupal Marketing Committee. Their mission is to shine a light on Drupal, promoting it to showcase the impressive work being done. The goal is to encourage more individuals to consider Drupal over closed web solutions, who often have significant resources for marketing themselves.
The Drupal Association launched a Drupal Marketing Committee after DrupalCon Pittsburgh. Comprising seasoned marketing professionals like Lynne Capozzi (former Acquia CMO), Suzanne Dergacheva(Evolving Web), Nikhil Deshpande (State of Georgia), and more, this committee is developing a marketing strategy for Drupal – a first in Drupal's 20+ year history. I had the honor of conducting an on-stage interview with them during my keynote (watch video segment), where they discussed the importance of marketing for Drupal and how it might impact the Drupal community.
We're committed to investing in Drupal's marketing efforts in the next few years. While the full marketing plan will be unveiled towards the end of this year, expect to see things like:
- A new website launch, with more focus on outsiders and evaluators.
- Refreshing the Drupal brand, with focused messaging aimed at attracting fresh talent.
- Improving Drupal's visibility and presence at conferences.
- Increase presence and engagement with universities.
- Grow the involvement of Drupal Certified Partners.
The Drupal Marketing Committee welcomes all Drupal community members to participate in our marketing efforts.
Drupal's three promises
In the end, our main character, Drupal, commits to three important promises:
- Enhance the builder experience to make it easier to start, build, and maintain Drupal sites.
- Advocate for an Open Web, championing a more inclusive and accessible digital future.
- Amplify our marketing efforts to highlight the outstanding work happening in Drupal, and to expand Drupal's reach and influence in the market.
With these promises in motion, the dark clouds fade. As they clear, the village's future sparkles with newfound hope, and the eager young builder returns home.
The Drupal Village celebrates after the clouds vanished. Finally the world can see what a great place it is for ambitious villagers.
Thank you
Last but not least, I want to thank everyone who made DrupalCon Lille a tremendous success. I always come away inspired and full of ideas, and this year is no exception. Here is to a long and prosperous future for Drupal Village and all of its ambitious villagers! I look forward to sharing future chapters of the fairy tale as we continue to grow our community and software together!
— Dries Buytaert
Specbee: Getting Started with Drupal Feeds: A Beginner's Data Import Guide
Mike Herchel's Blog: DrupalCon Lille Recap
Pagination
- Previous page
- Page 275
- Next page