Drupal News

Opensource.com: A Drupal developer's guide to Progressive Web Apps

Main Drupal Feed - Mon, 06/06/2022 - 07:00
A Drupal developer's guide to Progressive Web Apps

Here is an outlined approach to PWA implementation for a Drupal site, but other options are certainly available with similar designs.

Alex Borsody Mon, 06/06/2022 - 03:00

The following article is a companion to my presentation at Drupalcon and Drupalcamp covering Progressive Web Apps implementations. Progressive Web Apps (PWA) have support from...

Opensource.com: A Drupal developer's guide to Progressive Web Apps

Main Drupal Feed - Mon, 06/06/2022 - 07:00
A Drupal developer's guide to Progressive Web Apps

Here is an outlined approach to PWA implementation for a Drupal site, but other options are certainly available with similar designs.

Alex Borsody Mon, 06/06/2022 - 03:00

The following article is a companion to my presentation at Drupalcon and Drupalcamp covering Progressive Web Apps implementations. Progressive Web Apps (PWA) have support from...

Opensource.com: A Drupal developer's guide to Progressive Web Apps

Main Drupal Feed - Mon, 06/06/2022 - 07:00
A Drupal developer's guide to Progressive Web Apps

Here is an outlined approach to PWA implementation for a Drupal site, but other options are certainly available with similar designs.

Alex Borsody Mon, 06/06/2022 - 03:00

The following article is a companion to my presentation at Drupalcon and Drupalcamp covering Progressive Web Apps implementations. Progressive Web Apps (PWA) have support from...

Oomph Insights: Redesign & Relaunch: Oomph’s Color Accessibility Tool for Designers gets a Redesign

Main Drupal Feed - Mon, 06/06/2022 - 00:00
It's been a long time since the Hack Day that launched ColorCube 1.0 — almost exactly 5 years, in fact. We are excited to have redesigned the tool to make it easier to use and to also give ourselves the opportunity to explore some new technology in the process. Say Hello to AccessibleColor.design Formerly called ColorCube, AccessibleColor.design (ACd) is a tool built by developers for designers. It's a tool that anyone can use, but the way it allows visitors to adjust colors to reach a passing threshold without the need for Photoshop or similar tools makes it perfect for designers. The…

Oomph Insights: Redesign & Relaunch: Oomph’s Color Accessibility Tool for Designers gets a Redesign

Main Drupal Feed - Mon, 06/06/2022 - 00:00
It's been a long time since the Hack Day that launched ColorCube 1.0 — almost exactly 5 years, in fact. We are excited to have redesigned the tool to make it easier to use and to also give ourselves the opportunity to explore some new technology in the process. Say Hello to AccessibleColor.design Formerly called ColorCube, AccessibleColor.design (ACd) is a tool built by developers for designers. It's a tool that anyone can use, but the way it allows visitors to adjust colors to reach a passing threshold without the need for Photoshop or similar tools makes it perfect for designers. The…

Oomph Insights: Redesign & Relaunch: Oomph’s Color Accessibility Tool for Designers gets a Redesign

Main Drupal Feed - Mon, 06/06/2022 - 00:00
It's been a long time since the Hack Day that launched ColorCube 1.0 — almost exactly 5 years, in fact. We are excited to have redesigned the tool to make it easier to use and to also give ourselves the opportunity to explore some new technology in the process. Say Hello to AccessibleColor.design Formerly called ColorCube, AccessibleColor.design (ACd) is a tool built by developers for designers. It's a tool that anyone can use, but the way it allows visitors to adjust colors to reach a passing threshold without the need for Photoshop or similar tools makes it perfect for designers. The…

#! code: Drupal 9: Different Update Hooks And When To Use Them

Main Drupal Feed - Sun, 06/05/2022 - 18:54

I have written lots of detail about using update hooks to manage updates in Drupal and they have all been about the hook_update_N() hook. The hook_update_N() hook is just one of the options available in running updates as the update pipeline also includes hook_post_update_NAME(). The hook_deploy_NAME() hook, bundled with Drush 10, can also be used as an update hook in the same way.

Each of these update hooks has a number of different best practices when considering their use. All of these hooks are run once and once only and the key idea is that they take Drupal (or a module) from one version to another by adding database changes or configuration updates as the module gets updated.

For example, if you have a module that has a database table then it will be stored as schema information within your module. Once you release the module you must ensure that everyone who already has the module installed can still use it after the schema has changed. This means that as well as updating the schema information you also need to provide steps in the update hooks to update existing installs. Without this step the module would likely crash as it attempts to inject data into tables or fields that don't exist.

Update hooks can also be used to introduce changes to sites by managing configuration and content. This allows complex changes to be deployed in a clean and predictable manner. It can even be used to deploy content changes like adding menu items or taxonomy terms or even adding content to new fields.

Read more.

#! code: Drupal 9: Different Update Hooks And When To Use Them

Main Drupal Feed - Sun, 06/05/2022 - 18:54

I have written lots of detail about using update hooks to manage updates in Drupal and they have all been about the hook_update_N() hook. The hook_update_N() hook is just one of the options available in running updates as the update pipeline also includes hook_post_update_NAME(). The hook_deploy_NAME() hook, bundled with Drush 10, can also be used as an update hook in the same way.

Each of these update hooks has a number of different best practices when considering their use. All of these hooks are run once and once only and the key idea is that they take Drupal (or a module) from one version to another by adding database changes or configuration updates as the module gets updated.

For example, if you have a module that has a database table then it will be stored as schema information within your module. Once you release the module you must ensure that everyone who already has the module installed can still use it after the schema has changed. This means that as well as updating the schema information you also need to provide steps in the update hooks to update existing installs. Without this step the module would likely crash as it attempts to inject data into tables or fields that don't exist.

Update hooks can also be used to introduce changes to sites by managing configuration and content. This allows complex changes to be deployed in a clean and predictable manner. It can even be used to deploy content changes like adding menu items or taxonomy terms or even adding content to new fields.

Read more.

#! code: Drupal 9: Different Update Hooks And When To Use Them

Main Drupal Feed - Sun, 06/05/2022 - 18:54

I have written lots of detail about using update hooks to manage updates in Drupal and they have all been about the hook_update_N() hook. The hook_update_N() hook is just one of the options available in running updates as the update pipeline also includes hook_post_update_NAME(). The hook_deploy_NAME() hook, bundled with Drush 10, can also be used as an update hook in the same way.

Each of these update hooks has a number of different best practices when considering their use. All of these hooks are run once and once only and the key idea is that they take Drupal (or a module) from one version to another by adding database changes or configuration updates as the module gets updated.

For example, if you have a module that has a database table then it will be stored as schema information within your module. Once you release the module you must ensure that everyone who already has the module installed can still use it after the schema has changed. This means that as well as updating the schema information you also need to provide steps in the update hooks to update existing installs. Without this step the module would likely crash as it attempts to inject data into tables or fields that don't exist.

Update hooks can also be used to introduce changes to sites by managing configuration and content. This allows complex changes to be deployed in a clean and predictable manner. It can even be used to deploy content changes like adding menu items or taxonomy terms or even adding content to new fields.

Read more.

Peoples BLOG: Drupal Configuration management (Local, Dev, Test and Live)

Main Drupal Feed - Sat, 06/04/2022 - 10:00
In this article we are going to see how Drupal serves configurations across the environments, which can be well maintained with help of some contributed modules and version control. Drupal 8 onwards configuration has been saved in the yml files in a consistent manner, which includes all the enabled modules, all the content types, vocabularies, fields & views. Making the configurations direct

Peoples BLOG: Drupal Configuration management (Local, Dev, Test and Live)

Main Drupal Feed - Sat, 06/04/2022 - 10:00
In this article we are going to see how Drupal serves configurations across the environments, which can be well maintained with help of some contributed modules and version control. Drupal 8 onwards configuration has been saved in the yml files in a consistent manner, which includes all the enabled modules, all the content types, vocabularies, fields & views. Making the configurations direct

Vasily Yaremchuk: Free, Secure and Easy to Manage: Drupal Tome + Bookish + GitPod + Netlify

Main Drupal Feed - Fri, 06/03/2022 - 09:41
Free, Secure and Easy to Manage: Drupal Tome + Bookish + GitPod + Netlify Vasyl Yaremchuk 06/03/2022

A few months ago I ran my separate blog site to share the idea of Open Source Literature.

It's based on the Netlify template for Tome projects with an awesome Bookish profile that is ideal for blogging. I'm not going to describe the pros and cons of that profile, you can read the fresh blog post "Meet Bookish, an install profile for static Drupal blogs" by Samuel Mortenson.

I can host static on Netlify for free. Usually, I ran my Tome installation locally, but it's not convenient, because I need to have a relatively powerful local machine with Composer and Drush installed locally. There is no ability to add a new post, say, from a tablet when I'm out without my laptop somewhere on vacation and so on. But now I use the workflow that completely gets rid of that limitation.

Let me explain how it works now.

You can fork the Netlify template for Tome projects and make the initial installation and setup locally. Please read the Official Documentation

Also, deploy your site on Netlify hosting. It's very convinient to use the link "Deploy to Netlify":
 

But you have to setup link to your repository in Reasdme.md:

[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/drupal-tome/netlify-template)

But can we work without local Drupal installation?

Now when I need to add a new post I use GitPod. I've register there with my GitHub account and I can run GitPos Workspace with any my repository. I'm selecting my open-source-literature.org repository:

After that, I have an awesome VS Code editor where I can customize theme and I have a one-time login link to admin:  

 

It looks like magic but you can run the installation of your site into the workspace, generate a one-time login link and run the webserver automatically, there is a file .gitpod.yml that allows setting commands when you run your workspace, you can align that file with your needs. There is default .gitpod.yml in the Netlify template for Tome:

image: mortenson/tome tasks: - init: | COMPOSER_MEMORY_LIMIT=2048M composer install [ -d content ] && drush tome:install -y command: | [ ! -d content ] && echo "Looks like you haven't initialized a Tome site yet - make sure to composer require any profiles you want to use, then run drush tome:init to get started!" [ -d content ] && drush uli -l $(gp url 8888) [ -d content ] && drush runserver 0.0.0.0:8888 ports: - port: 8888 onOpen: ignore

I can open a one-time login link in the new browser tab and make some edits:

 

When you've finished all your fixes you need to make some actions in the VS Code terminal:

 

- stop the server (^C),

- type $ drush tome:export -y to export changes from database to files,

- save changes to your repository

$ git add .

$ git commit -m "Your commit message."

$ git push

That's it! Your changes will be deployed to Netlify automatically!

Is there any limitation to such an approach? Sure, GitPod allows running workspaces up to 50h per month free. So don't forget to stop your workspace after you'll finish your edits:
 

 

Image

Vasily Yaremchuk: Free, Secure and Easy to Manage: Drupal Tome + Bookish + GitPod + Netlify

Main Drupal Feed - Fri, 06/03/2022 - 09:41
Free, Secure and Easy to Manage: Drupal Tome + Bookish + GitPod + Netlify Vasyl Yaremchuk 06/03/2022

A few months ago I ran my separate blog site to share the idea of Open Source Literature.

It's based on the Netlify template for Tome projects with an awesome Bookish profile that is ideal for blogging. I'm not going to describe the pros and cons of that profile, you can read the fresh blog post "Meet Bookish, an install profile for static Drupal blogs" by Samuel Mortenson.

I can host static on Netlify for free. Usually, I ran my Tome installation locally, but it's not convenient, because I need to have a relatively powerful local machine with Composer and Drush installed locally. There is no ability to add a new post, say, from a tablet when I'm out without my laptop somewhere on vacation and so on. But now I use the workflow that completely gets rid of that limitation.

Let me explain how it works now.

You can fork the Netlify template for Tome projects and make the initial installation and setup locally. Please read the Official Documentation

Also, deploy your site on Netlify hosting. It's very convinient to use the link "Deploy to Netlify":
 

But you have to setup link to your repository in Reasdme.md:

[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/drupal-tome/netlify-template)

But can we work without local Drupal installation?

Now when I need to add a new post I use GitPod. I've register there with my GitHub account and I can run GitPos Workspace with any my repository. I'm selecting my open-source-literature.org repository:

After that, I have an awesome VS Code editor where I can customize theme and I have a one-time login link to admin:  

 

It looks like magic but you can run the installation of your site into the workspace, generate a one-time login link and run the webserver automatically, there is a file .gitpod.yml that allows setting commands when you run your workspace, you can align that file with your needs. There is default .gitpod.yml in the Netlify template for Tome:

image: mortenson/tome tasks: - init: | COMPOSER_MEMORY_LIMIT=2048M composer install [ -d content ] && drush tome:install -y command: | [ ! -d content ] && echo "Looks like you haven't initialized a Tome site yet - make sure to composer require any profiles you want to use, then run drush tome:init to get started!" [ -d content ] && drush uli -l $(gp url 8888) [ -d content ] && drush runserver 0.0.0.0:8888 ports: - port: 8888 onOpen: ignore

I can open a one-time login link in the new browser tab and make some edits:

 

When you've finished all your fixes you need to make some actions in the VS Code terminal:

 

- stop the server (^C),

- type $ drush tome:export -y to export changes from database to files,

- save changes to your repository

$ git add .

$ git commit -m "Your commit message."

$ git push

That's it! Your changes will be deployed to Netlify automatically!

Is there any limitation to such an approach? Sure, GitPod allows running workspaces up to 50h per month free. So don't forget to stop your workspace after you'll finish your edits:
 

 

Image

Vasily Yaremchuk: Free, Secure and Easy to Manage: Drupal Tome + Bookish + GitPod + Netlify

Main Drupal Feed - Fri, 06/03/2022 - 09:41
Free, Secure and Easy to Manage: Drupal Tome + Bookish + GitPod + Netlify Vasyl Yaremchuk 06/03/2022

A few months ago I ran my separate blog site to share the idea of Open Source Literature.

It's based on the Netlify template for Tome projects with an awesome Bookish profile that is ideal for blogging. I'm not going to describe the pros and cons of that profile, you can read the fresh blog post "Meet Bookish, an install profile for static Drupal blogs" by Samuel Mortenson.

I can host static on Netlify for free. Usually, I ran my Tome installation locally, but it's not convenient, because I need to have a relatively powerful local machine with Composer and Drush installed locally. There is no ability to add a new post, say, from a tablet when I'm out without my laptop somewhere on vacation and so on. But now I use the workflow that completely gets rid of that limitation.

Let me explain how it works now.

You can fork the Netlify template for Tome projects and make the initial installation and setup locally. Please read the Official Documentation

Also, deploy your site on Netlify hosting. It's very convinient to use the link "Deploy to Netlify":
 

But you have to setup link to your repository in Reasdme.md:

[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/drupal-tome/netlify-template)

But can we work without local Drupal installation?

Now when I need to add a new post I use GitPod. I've register there with my GitHub account and I can run GitPos Workspace with any my repository. I'm selecting my open-source-literature.org repository:

After that, I have an awesome VS Code editor where I can customize theme and I have a one-time login link to admin:  

 

It looks like magic but you can run the installation of your site into the workspace, generate a one-time login link and run the webserver automatically, there is a file .gitpod.yml that allows setting commands when you run your workspace, you can align that file with your needs. There is default .gitpod.yml in the Netlify template for Tome:

image: mortenson/tome tasks: - init: | COMPOSER_MEMORY_LIMIT=2048M composer install [ -d content ] && drush tome:install -y command: | [ ! -d content ] && echo "Looks like you haven't initialized a Tome site yet - make sure to composer require any profiles you want to use, then run drush tome:init to get started!" [ -d content ] && drush uli -l $(gp url 8888) [ -d content ] && drush runserver 0.0.0.0:8888 ports: - port: 8888 onOpen: ignore

I can open a one-time login link in the new browser tab and make some edits:

 

When you've finished all your fixes you need to make some actions in the VS Code terminal:

 

- stop the server (^C),

- type $ drush tome:export -y to export changes from database to files,

- save changes to your repository

$ git add .

$ git commit -m "Your commit message."

$ git push

That's it! Your changes will be deployed to Netlify automatically!

Is there any limitation to such an approach? Sure, GitPod allows running workspaces up to 50h per month free. So don't forget to stop your workspace after you'll finish your edits:
 

 

Image

Promet Source: How to Optimize Digital Experiences in Drupal

Main Drupal Feed - Thu, 06/02/2022 - 20:09
Digital experience or DXP is among the latest buzz words to have captured the attention and entered into critical conversations among marketers, website managers, IT professionals, and at times, even the entire C-Suite.  There’s, of course, good reason for heightened interest in digital experience. More often than not, the first interactions that customers and constituents have with companies and public sector entities these days are via digital channels. Quality DXP functions as an essential driver of loyalty and can serve as a significant contributor to the bottom line. 

Promet Source: How to Optimize Digital Experiences in Drupal

Main Drupal Feed - Thu, 06/02/2022 - 20:09
Digital experience or DXP is among the latest buzz words to have captured the attention and entered into critical conversations among marketers, website managers, IT professionals, and at times, even the entire C-Suite.  There’s, of course, good reason for heightened interest in digital experience. More often than not, the first interactions that customers and constituents have with companies and public sector entities these days are via digital channels. Quality DXP functions as an essential driver of loyalty and can serve as a significant contributor to the bottom line. 

Promet Source: How to Optimize Digital Experiences in Drupal

Main Drupal Feed - Thu, 06/02/2022 - 20:09
Digital experience or DXP is among the latest buzz words to have captured the attention and entered into critical conversations among marketers, website managers, IT professionals, and at times, even the entire C-Suite.  There’s, of course, good reason for heightened interest in digital experience. More often than not, the first interactions that customers and constituents have with companies and public sector entities these days are via digital channels. Quality DXP functions as an essential driver of loyalty and can serve as a significant contributor to the bottom line. 

Community Working Group posts: Code of Conduct team update: June 1, 2022

Main Drupal Feed - Thu, 06/02/2022 - 18:10

As previously reported, the Community Health Team has started to have regular, bi-weekly meetings in an effort to develop and update the Code of Conduct for the Drupal community.

Community Health Team members present at this week's meeting were

Our first task was to review our project Miro board (a fancy virtual white board); further refining the tasks and their placement (categories).

We then had a discussion about how best to expand the initial team while still keeping focus. We plan on inviting more community members to participate on specific tasks (including reviewing milestones along the way) at different points in the process in an effort to find and fix potential issues as early as possible. Our discussion led to an initial list of groups we plan on inviting to this process at various stages:

  • Security working group
  • Event organizers working group
  • Drupal Diversity & Inclusion
  • Core committers
  • Top Drupal contributors
  • Top contrib project maintainers
  • Community accessibility experts
  • Various geographic-based groups

We are all in agreement that including non-United States and non-Western European community members as part of this process is a high priority for us. Identifying and contacting community members willing to help will be an early task of ours. This work will begin during the next two weeks.

Our second task for the next two weeks will be to start the process of individually reviewing our existing Code of Conduct as well as those of other communities and sharing relevant feedback at our next meeting.

If you have suggestions for who should be involved in the overall process of updating our Code of Conduct, please let us know in the comments below.

Drupal Association blog: Honoring and Celebrating our DrupalCon Portland 2022 Scholars

Main Drupal Feed - Thu, 06/02/2022 - 13:29

Recently at DrupalCon Portland 2022, I was honored to share space with our amazing scholarship recipients at our Scholarship Breakfast and throughout the rest of the week. This community building felt particularly meaningful, as it was our first year gathering in person again since 2019 and for many of our scholars, it was their first DrupalCon ever! 

The DrupalCon scholarship program exists to decrease barriers-to-entry for marginalized people in the Drupal community and contributing to the project. Scholarship programs like these are not charity, they are providing the resources for historically oppressed folks in our society and community who deserve as much success and access as those of privileged identity. 

In addition to the 2019 Driesnote, we were grateful to host industry leaders at DrupalCon Portland 2022 to discuss inequity in Open Source. From the background and framework of understanding to actionable progress that can be made, I feel confident and energized that the Drupal community is on the right track. 

A reality for marginalized folks worldwide is that not all scholarship recipients can be featured publicly. There are very real risks to living in our truth publicly, and I take the safety and privacy of our scholars very seriously. Consent and personal autonomy are everything! 

Of our scholars who consented to being featured, I asked if they’d like to share their experiences with us, and 3 of them have graciously agreed. All 3 of them are some of the warmest folks I’ve ever spent time with as well as being powerhouse professionals doing incredible work in Drupal. We are all made better by being in community with them.

Kwame “pearcraft” Puryear 

How he got into Drupal (and why he stayed) 

I started following the Drupal community fifteen years ago, after hearing about it on the Lullabot podcast. The cooperative nature of the Drupal community stood out to me - in fact, it aligned well with the principles of Kwanzaa that I had learned from my family throughout my life.

His experience at DrupalCon Portland 2022 

My mentor, Leslie Glynn gave me excellent advice on how to get the most from DrupalCon. My favorite moment was Dries promoting my volunteer project (Project Browser) as a major feature of Drupal 11! My favorite session was Dori Kelner's "You Are Not A Fraud". Its focus is on Imposterism in general and how it’s actually MORE devastating for talented people. It also highlighted how it specifically affects disadvantaged groups of people.

Allison Lu 

How she got into Drupal (and why she stayed)

I worked with Drupal 8 while building out UCLA's Undergraduate Admission website. Currently, I’m working with Drupal 9 on VA modernization. I want to meet more women in tech! I like digital accessibility, and connection.

Her experience at DrupalCon Portland 2022

One piece of advice from my mentor (Em Nouveau) that stuck with me was to go to the Birds of a Feather sessions, since all talks are recorded but these organic small group discussions weren't. I joined the Drupal Diversity and Inclusion (DDI) table, where I felt truly welcomed as a different and beginner Drupal developer. Along with this experience, the warmth of the Drupal Association folks and insight of the diversity keynotes were so validating, healing, and empowering. 

Lapedra Tolson 

How she got into Drupal (and why she stayed) 

Federal agencies use Drupal for their content management systems a lot. I founded Friends From The City because I wanted to be the change I wanted to see in the world. Friends From The City is a digital services firm that partners with federal and state agencies to modernize their legacy systems, and Drupal is heavily used. We often try to design a bespoke user experience for authors and editors rather than using out-of-the-box templates, specifically at the U.S. Department of Veteran Affairs.

Her experience at DrupalCon Portland 2022 

DrupalCon Portland 2022 was an amazing conference. Von Eaton is an awesome person who is welcoming and affirming. After the scholars' breakfast (which was delicious, btw) and the sessions, I felt inspired to learn more about Drupal, particularly as the founder of a design firm. In addition to the informative sessions, meeting new people at the various networking events was also a pleasant experience. I hope to attend more DrupalCons in the future and continue to learn about this awesome platform and community. Thank you for welcoming us!

I also want to lift up our other scholarship recipients who consented to being featured publicly: 

Thank you so much to all of you for choosing to spend your week at DrupalCon Portland 2022 and for all you do to make an impact on those around you. I am deeply grateful to know you all, and I look forward to continuing to support you in your Drupal journeys. 

If you’d like to read more about Diversity, Equity, and Inclusion trends in open source, here are some great scholarly articles: 

mark.ie: Creating a Drupal Field Group Programmatically

Main Drupal Feed - Thu, 06/02/2022 - 13:26

How to create a Drupal field group programatically in Drupal 8, 9, 10, etc.

Pages