Event Organizers: Event Organizers: 2022 Year In Review

It was a busy year for Drupal Events in 2022, so fast that we completely lost track of time. This year we saw a broad return to in-person Drupal Camps, hundreds of meetups, and dozens of events around the globe for the release of Drupal 10. The Event Organizer Working Group continues to work to support event organizers, to provide resources, and to provide avenues for collaboration among organizers.

We’ve had three primary initiatives this year: Drupal.org Community Events, the Events Platform, and some self-care marketing the EOWG. In addition we piloted a new Camp Debriefs concept and a whole lot more.

Drupal.org/community/events

Launched in 2020, the Drupal Community Events page is intended to serve as a consolidated listing of Drupal events across the world to facilitate promotion, encourage collaboration, and give the community more data about what’s happening in the space.

In 2022 over 200 events were posted to the Community Events listing:

  • 126 Local meetups
  • 58 Trainings
  • 27 Drupal Camps
  • 14 (standalone) Contribution Events (see a discussion of this tag)
  • 2 DrupalFests
  • 2 DrupalCons

Additionally, lots of work was done on Drupal.org to use this data - community events now show on user profiles and organization pages. A more in-depth events view helps organizers with planning future events. Check out the full issue details along with what’s to come.

We’d like to send a huge #DrupalThanks to the Drupal Association and especially Caleb Crawley (crawleyhost) for all of his hard work in making these changes possible.

Event Platform

The Event Platform took the rich set of capabilities built for the Florida DrupalCamp website in 2022, and abstracted it to make it more easily used by any event organizer, including those who may be new to Drupal. This includes using tokens in default messaging (including emails to users who proposed sessions) so that, as much as possible, an event organizer can install the Event Platform and start using it with a minimum of effort.

Read more details about their releases in 2022 and check out the project.

Marketing the EOWG

The EOWG worked to improve how we raise awareness about the group and communicate with event organizers in 2022. We updated the monthly newsletter design and content structure to not only promote upcoming EOWG meetings, but also camps and contribution events posted to Drupal.org. If you have an upcoming event be sure to post it on drupal.org/community/events so it can be pulled in by the EOWG and others.

In April the EOWG and other initiatives were given booth space for a day at DrupalCon Portland. This allowed us to meet with organizers face-to-face, as well as promote some of the relevant sessions and BoFs. The sessions and BoFs were well attended and great conversations were had. We’re looking forward to DrupalCon Pittsburgh in 2023 and more about our plans will be posted as we get closer to the event.

Lastly, over the course of the year we discussed how we could make the EOWG open meetings more inclusive and accessible to potential participants. After a pilot of quarterly Slack discussions, we decided late in the year that this should be the primary method for checking in and chatting with event organizers. Along with this we also moved off the stand-alone Slack instance to the main Drupal Slack in the #event-organizers channel. We are hopeful that this change will increase the visibility of the EOWG and help us to better engage with the larger community by making it one less Slack instance for organizers to log into.

Elections

Our board usually elects positions in October but we are a little delayed this year. Nominations for board seats are now open. We encourage all event organizers to apply.

The board is composed of elected and appointed members and this year's slate will be appointed. The issue will be open for nominations until 31 January, 2023 at which time the Board will discuss the nominations. If possible we will invite newly appointed members to the meeting on February 7, if more discussion is required then appointed members will be notified after the February 7 meeting.

Matt Glaman: Launching my wife's cookie shop web store with Drupal 10 and Square

My wife owns her custom cookie shop, which sells decorated sugar cookies. On top of her regular custom orders, she does special cookies and cookie sets for each holiday. Recently she moved from PayPal to Square for her invoicing to leverage their more extensive offering of tools to merchants. We were also hoping Square could simplify sales for these limited-quality holiday sets (tracking first come, first serve and inventory via Facebook messages and comments is a nightmare.) In this blog post, I will run through my decisions and how I did them. If you're curious about these details, feel free to reach out!

Greg Boggs: Creating the Empty Front Page Module for Drupal 9 with Chat GPT

An empty front page in Drupal can be a useful feature for many websites. Whether you want to use the front page for blocks or simply want to direct users to other pages of your website, an empty front page can be a great way to control the user experience on your website. In this blog post, we will discuss:

How an Empty Front Page Works

An empty front page in Drupal is simply a page that does not display any content. This can be achieved by creating a custom route for the front page that does not point to any content. In Drupal, the front page is controlled by the system.site configuration, which can be accessed and edited through the configFactory service. By setting the 'page.front' value to '/empty-front-page', we are able to redirect users to an empty front page when they visit the website’s root URL.

The Process of Creating a Custom Drupal Module

  • Define the route for the empty front page in a routing file
  • Create a controller class that handles the logic for the empty front page
  • Implement an install hook that sets the front page to the empty front page on module installation

The Steps I Took to Finish the Module

  • Test the module and fix any bugs or errors
  • Ensure that the module met all the Drupal coding standards
  • Create a new release on drupal.org

Chat GPT Generates a Unique Solution

As a language model, ChatGPT generated this Drupal module and this blog post to provide an overview on how to create an empty front page in Drupal. GPT-3, or Generative Pre-training Transformer 3, is a neural network-based language model developed by OpenAI that uses deep learning to produce human-like text. This state-of-the-art language model generates text that is difficult to distinguish from text written by humans. ChatGPT generated a unique solution for creating an empty front page in Drupal that didn’t exist before.

If you’re interested in using this module, you can find https://www.drupal.org/project/empty_front_page on drupal.org.

Or, you can check out my other Drupal module that wasn’t generated by AI Drupal 8 Breadcrumbs

In conclusion, creating an empty front page in Drupal is a relatively simple process that can be achieved by creating a module. By defining a custom route, creating a controller, and setting the 'page.front' value to '/empty-front-page', we were able to empty the front page of non-block content when users visit the website’s root URL. This allows website owners to have more control over the user experience on their website.

Talking Drupal: Talking Drupal #382 - Automated A11y Testing with Nightwatch

Today we are talking about A11y Test Automation with Nightwatch with Daniel Mundra and Ben Mullins.

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

Topics
  • What is Nightwatch
  • Integration with Drupal
  • Dev workflow
  • How long part of Drupal core testing
  • Type of a11y testing
  • How does it save time
  • How often do you run
  • Recommendation on types of projects
  • Cypress
  • Contrib adoption
  • Exceptions and false positives
  • Resources
Resources Guests

Ben Mullins - www.drupal.org/u/bnjmnm Daniel Mundra - danielmundra.com

Hosts

Nic Laflin - www.nLighteneddevelopment.com @nicxvan John Picozzi - www.epam.com @johnpicozzi Stephen Cross - www.StephenCross.com @stephencross

MOTW Correspondent

Martin Anderson-Clutz - @mandclu Whoops Integrates a library to show detailed error reporting for better debugging.

DrupalEasy: DrupalEasy Podcast S14E4 - Ted Bowman - How to test Automatic Updates

We talk with Ted Bowman about the Automatic Updates initiative with a specific focus on how to use it and provide feedback.

URLs mentioned

DrupalEasy News

Audio transcript

We're using the machine-driven Amazon Transcribe service to provide an audio transcript of this episode.

Subscribe

Subscribe to our podcast on iTunes, Google Play or Miro. Listen to our podcast on Stitcher.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.

Specbee: Installing Drupal 9 on Windows Subsystem for Linux from Scratch

Installing Drupal 9 on Windows Subsystem for Linux from Scratch Saranya Ashok Kumar 16 Jan, 2023 Subscribe to our Newsletter Now Subscribe Leave this field blank

If you’re reading this, chances are you already know what Windows Subsystem for Linux is or maybe you’re already using it. But if you’re new to it, Windows Subsystem for Linux (WSL) is a Windows feature that lets you run a Linux distribution and use a BASH command line straight from your Windows machine! 

Linux systems run Drupal very well. Read more to find out why use WSL after all, and a step-by-step guide on installing Drupal 9 on WSL from scratch.

Image removed.

Why use Windows Subsystem for Linux?

Some of the many reasons why a lot of developers like using WSL are:

  • Supports better performance speed when working on Javascript-based frameworks.
  • Instead of translating a tutorial written for Linux users into equivalent commands for Windows, you prefer using BASH.
  • Better alignment between your local dev environment and the Linux deployment environment.
  • You don’t need a separate virtual machine or dual booting.
  • You don’t need to maintain both Links and Windows build scripts while you leverage Linux workspaces.

Let’s take one step at a time

Step 1: Install WSL 

Before installing WSL, we need to make sure that WSL is enabled in the Windows Features:  “Turn windows feature on/off”, as shown in the screenshot below.

Image removed.

 

Step 2: Install Ubuntu bash

Go to the Microsoft store and look for Linux. Here, I am using the Ubuntu app. Install and open the Ubuntu bash.

Image removed.

 

Step 3: Set the login

Now let’s open Ubuntu bash. When you initialize it, it will ask you to create a username and a password. You can choose your own username and password here.

Image removed.

 

Step 4: Install PHP and its extensions

Run the below commands to install PHP and the required extensions for Drupal.

$ sudo apt-get update $ sudo apt-get install -y git php8.1 php8.1-curl php8.1-xml php8.1-mbstring php8.1-gd php8.1-sqlite3 php8.1-mysql php8.1-cli php-xml php8.1-gd libapache2-mod-php8.1 php8.1-mbstring

Now run “php -v” to confirm if the installation has been done successfully.

Image removed.

 

Step 5: Install Composer

Use these commands to install composer on Ubuntu:

$ sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ sudo php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" $ sudo php composer-setup.php $ sudo php -r "unlink('composer-setup.php');"

To make working with Composer easier, run the following command to move Composer into your global path:

$ sudo mv composer.phar /usr/local/bin/composer

Next, type composer to make sure you installed it successfully.

Image removed.

 

Step 6: Install Apache

Follow the below commands to install Apache:

$ sudo apt update && sudo apt -y upgrade $ sudo apt install -y apache2 $ sudo service apache2 restart

If you have wamp or xampp on your Windows machine, make sure you change the port number from Listen 80 to Listen 8080 in this file (/etc/apache2/ports.conf).

Now go to http://localhost (or) http://localhost:8080 on your browser and make sure Apache is installed successfully.

Image removed.

 

Step 7: Enable PDO

Next, you have to enable PDO (PHP Data Objects) support. Please follow the below commands:

$ sudo apt-get install php8.1-mysql
  • Go to /etc/php/8.1/apache2/php.ini file and uncomment "extension=pdo_mysql.so" line.
  • Restart Apache.
$ sudo service apache2 restart

Step 8: Activate clean URL's

To activate clean URL’s, use this command:

$ sudo a2enmod rewrite

Go to /etc/apache2/apache2.conf file, edit as "Allowoverride All" for /var/www/ directory, and restart apache.

Image removed.

 

Step 9: Install MySQL

Next, you have to install MySQL server.
$ sudo apt install -y mysql-server mysql-client

Now Start MySQL
$ sudo service mysql start

Navigate to MySQL
$ sudo mysql

Alter root user password.
$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '*********';

After you altered the password, you have to log in to MySQL by running the following:
$ sudo mysql -u root -p
Give password and login to the MySQL server.

Next, run the below command to improve the security of your DB.
$ sudo mysql_secure_installation

Provide values as you wish for each question. Make sure, you gave “No” for “Disallow root login remotely?”

Image removed.

 

Now go to your MySQL and flush the privileges. Restart MySQL.
$  FLUSH PRIVILEGES;

Step 10: Install Drupal 9

Navigate to the /var/www/html directory and download the latest version of Drupal 9 with Composer.

$ composer create-project drupal/recommended-project drupal-9.4.9

Now lets update the Drupal folder permissions for Apache:

$ sudo chown -R www-data:www-data /var/www/html/drupal-9.4.9
$ sudo chmod -R 755 /var/www/html/drupal-9.4.9

  • To make sure the installation is perfect, its a good idea to restart the system once before installing Drupal.
  • Create a new database for the Drupal installation.
  • Go to http://localhost:8080/drupal-9.4.9/ and proceed with the Drupal installation.
  • When you give data for the database form, make sure you gave a password for MySQL authentication.

How to Access and Edit files from WSL

Now that you have set up WSL and installed Drupal 9, lets look at accessing your files from WSL. 

Go to your File Explorer and type \\wsl$ to navigate to your WSL folder. The Ubuntu folder is your WSL folder (as shown below).

Image removed.

 

Now let's edit the WSL files

Open Visual Studio code and download the WSL extension.

Image removed.

 

On Ubuntu bash, go to the Drupal folder and type $ code

Image removed.

 

It will now open the folder on Visual Studio Code (a Microsoft source-code editor).

Image removed.

 

Now, enable the edit permission:

$ sudo chown -Rv saranya drupal-9.4.8

Image removed.

 

And that’s it! As a result, whatever you update in VS Code will affect your website as well.

Final Thoughts

I hope you liked what you learned today and maybe you will try installing Drupal 9 on WSL yourself sometime! Consider subscribing to our weekly newsletter to receive our latest updates on Drupal and other trending tech topics. If you’re new to our site, Specbee is a leading Drupal development company and we offer a full stack of expert-led Drupal services. Looking to start a new Drupal project? We’d love to talk!

Author: Saranya Ashok Kumar

Meet Saranya Ashok Kumar, Drupal Specialist, who’s extremely fond of coding and Drupal and likes sharing valuable content through her YouTube channel. Saranya likes tapping her toes to her favorite music and dreams of traveling to the Maldives.

Drupal 9 Drupal Development Drupal Planet

Leave us a Comment

 

Recent Blogs

Image Image removed.

Installing Drupal 9 on Windows Subsystem for Linux from Scratch

Image Image removed.

How to Integrate Drupal 9 with Bitly for URL Shortening

Image Image removed.

How To Accelerate Drupal Development with Lando

Want to extract the maximum out of Drupal? TALK TO US

Featured Success Stories

Image removed.

Upgrading and consolidating multiple web properties to offer a coherent digital experience for Physicians Insurance

Image removed.

Upgrading the web presence of IEEE Information Theory Society, the most trusted voice for advanced technology

Image removed.

Great Southern Homes, one of the fastest growing home builders in the United States, sees greater results with Drupal 9

View all Case Studies

DrupalEasy: Easy fix for phantom duplicate custom module files (due to Composer) in popular IDEs

When writing Drupal custom modules, best practice dictates that the module should be written in the project root's /modules/ directory - so that composer require can be used add the custom module as a dependency to the project (with a little help from the composer/installers plugin, of course). In most cases, the module's code is then symlinked from the /modules/ directory to the /web/modules/custom/ directory.

One potential pitfall of this approach is that both PhpStorm and Visual Studio Code will see both the "copies" of the files in the custom modules, leading to duplicates in IDE search results, code quality tools, and other places. 

Luckily, it is an easy fix for both PhpStorm and Visual Studio Code.

The following is an excerpt from the curriculum of Professional Module Development, a 90-hour, best-practice focused course from DrupalEasy.

Visual Studio Code

This issue can be mitigated in Visual Studio Code by navigating to "Preferences | Settings" then searching for "symlink" and disabling "Search: Follow symlinks". Note that Visual Studio Code has per-user and per-workspace (project) settings, so consider disabling this feature for one or both.
 

Image removed.

 

PhpStorm

This issue can also be mitigated in PhpStorm by marking duplicate directories as "Excluded". This can be done by right-clicking on the directory to be excluded in the project browser and selecting "Mark directory as… | Excluded". For example, to exclude the entire web/modules/custom/ directory:

Image removed.