Electric Citizen: To Drupal, or Not to Drupal: Part 4

Image removed.

This is the conundrum some may be facing when moving away from Drupal 7.

If you or others in your organization are battling with this question, there are several considerations you should make before choosing to move away from the Drupal platform. We'll cover them in 5 short reads:

How much are you really outsourcing?

As part of its licensing fees, the vendor of a proprietary system will likely provide regular training, resources and support for your editors. On the surface, this sounds fantastic. The vendor is going to liberate you from the daunting responsibility of documentation and training! Or will it? 

There are two aspects to using any CMS platform: Individual and Institutional.

The Individual aspect—how do I create an event for the calendar—is something the vendor can provide resources for.

The Institutional aspect covers:

  • how do we tag events for proper categorization;
  • prevent the creation of duplicates;
  • share access with other departments

Topics like these can only be conceived, documented and trained by the institution itself. When it comes to using the platform as part of your organization, the vendor is likely to have little more than suggestions.

This is because the procedures for managing and sharing assets across departments will be different for every organization even if they’re all using the same platform. If you expect everyone to follow a uniform procedure, that procedure will have to be documented and people will have to be trained, but it will not be part of anything provided by your vendor. 

This is especially important if the majority of editors in your organization are transient workers such as student employees and interns. While the vendor’s training resources will indeed be valuable in keeping high-turnover positions up to speed, they won’t be enough to completely replace the knowledge lost when transient employees leave for other opportunities.

Speaking of lost knowledge, consider the knowledge you lose when more permanent employees find the exit door. Could moving away from Drupal cause you to lose regular employees?

Electric Citizen: To Drupal, or Not to Drupal: Part 1

Image removed.

This is the conundrum some may be facing when moving away from Drupal 7.

If you or others in your organization are battling with this question, there are several considerations you should make before choosing to move away from the Drupal platform. We'll cover them in 5 short reads:

Coming to grips with the task

The announcement to extend support for Drupal 7 through November 1, 2023 was welcome news for thousands of organizations still running Drupal 7 websites. It also exposed a huge vulnerability for competing platforms to exploit. 

Seven years after the release of Drupal 8, the hurdle of completely rebuilding a Drupal 7 site is a serious pain point for many, and companies hawking their own proprietary solutions want to leverage that pain to increase their customer base. With well over 400,000 websites still running on Drupal 7, the opportunity to do just that appears considerable. 

These companies will find clever ways to explain and justify their licensing fees promising your organization will never have to completely rebuild its website ever again. Yes, there will be considerable time and cost getting moved onto the proprietary system, but in return you’ll get slick new tools to help with accessibility and SEO. Smooth, new feature rollouts and freedom from long-term platform management tasks will sweeten the deal even further. So what’s not to like about that?

In this series we'll cover a number of things your organization should consider when making a decision, beginning with Drupal’s latest release.

Drupal 10 is here!

A previous coworker of mine put it very well: [Until version 8] every major release of Drupal required not only a completely new track, but a completely new train itself.  This is something the Drupal community worked very hard to fix.

When Drupal 8 was released in late 2015, Drupal 7 had been the premier version for about seven years. In the seven years since then, we’ve witnessed the release of 9 and as of December 2022, version 10. Many of our clients who made the jump to Drupal 8 are already on Drupal 9 and in a very good position to move – with little cost – up to Drupal 10. That’s because the underlying framework (Symfony) is common to all these releases.

The vendor of a proprietary solution will happily tell you future upgrades on their system will be painless. Thanks to the changes introduced with Drupal 8, ‘a painless upgrade’ is not just a Drupal promise, it’s the reality.

Migrating to anything from Drupal 7 will be hard.

Moving off Drupal 7’s antiquated system of procedural code to a modern, object-oriented framework is a big change, there’s no way around it. Whether you stay with Drupal, choose another open-source platform or a proprietary one, it's going to be a heavy lift especially for those running highly customized websites.

If you work with external vendors, it will require a good deal of time and cost to rebuild your theme and migrate content to the new site. It isn’t (unfortunately) just a matter of clicking “upgrade.” The many reasons for this are best detailed elsewhere, but the bottom line is, budget for the upgrade. If you haven’t updated your site in years, it’s probably time to rebuild your content and design anyway. 

If you manage your site internally, the time and effort will fall to your developers. Drupal 8 and higher requires your team to learn Twig (the templating language in Drupal 8+) and become familiar with Composer and Drupal’s underlying framework, Symfony.

This might seem like a lot, but bear in mind, moving to a proprietary system is not a substitute for new learning. Any new system will have its own code and approaches to site building your developers will have to learn. And, before anyone can begin learning a proprietary platform, your organization must select the vendor, negotiate the contracts and participate in the vendor’s discovery process. Depending on the size and complexity of your website(s), it could be another year before getting into the nuts and bolts of actually moving and theming your content. 

Upgrading to a newer release of Drupal—even with the help of an external vendor—means the learning process can start today.

Okay, so?

Migrating your Drupal 7 website will require a heroic effort. Period. But do you stay with Drupal, or buy into the promises of another platform that, for the moment, sound so tantalizing? Well, once you develop the criteria to measure your success in this effort, your first concern will be to ensure you're comparing apples to apples.

Promet Source: 2022 in Review: Top Trends and Topics

Emerging on the heels of a few years that brought epic levels of setbacks, uncertainty, and upheaval, 2022 was marked by a sharp focus on powering forward, connection, and leveraging all that Drupal has to offer.  During a year in which defining and gaining traction within a new normal was an overarching goal, it’s not surprising that Drupal How-tos drove high levels of interest in 2022.

DrupalEasy: DrupalEasy Podcast S14E2 - Alison Jo McCauley - How to be a mentor

Direct .mp3 file download.

We talk with Alison Jo McCauley about how to be a mentor, including skills required, how to manage a mentor/mentee relationship, and tips for success.

Stan Ascher is the name of the person Alison mentioned during the podcast who played guitar during lunch at GovCon.

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.

mandclu: Getting Personal With Dates and Times

Getting Personal With Dates and Times Image Image removed.mandclu Mon, 01/02/2023 - 09:12 Body Conversations with other people in the Drupal community, and related communities, has been a continued source of inspiration for me. Back in September, in a discussion at the San Francisco Drupal Users Group, someone mentioned a Backdrop module that uses Javascript to automatically format dates and times in the timezone of any visitor using Javascript. It seemed like a really interesting idea, and I wondered if there was something in its approach I might be able to bring to Smart Date. But it was a busy time, and I noted it down, but forgot about it. It was during the recent Drupal 10 Launch Party that I was reminded about the idea of using Javascript to format dates, so they would be automatically in any visitor's timezone. The same idea had been implemented effectively for that site'sMore

Specbee: How To Accelerate Drupal Development with Lando

How To Accelerate Drupal Development with Lando Shreyal Mandot 03 Jan, 2023 Subscribe to our Newsletter Now Subscribe Leave this field blank

Since there already are many development environment options available today like DDev and DockSal, why should you go for Lando for a Drupal setup?

Well, the reason is simple!

Lando is easy to work with, portable, and fast. And Lando can run anything, anywhere! It is the most approachable Devops tool that is quickly gaining popularity. A simple way to describe Lando is that it’s automated environment setup allows for easier development.

Image removed.

In this article, we’ll talk about Lando, its setup, architecture, and how you can use Lando recipes with Drupal, along with Lando configuration. So, let’s get started!

What is Lando?

Lando is a powerful local development environment and DevOps tool which is free and open source, built on Docker. It is compatible with local environments on OSX, Windows, and Linux. Using Lando, you can prepare various types of services and tools effortlessly. Lando allows you to set different services for every project without affecting other projects working on Lando.

As a developer, it becomes super easy to set up the configuration in the service and tooling codebase, as well as the application configuration that needs to be run. Once the setup is complete, developers can enter the repository to run Lando and begin working on the project in complete isolation without disturbing the consistency in their development environments.

How does Lando work and Why should you use it? (Lando Recipes & Drupal)

You’re already aware of what Lando is and its compatibility with Drupal. Now, as some of you may be familiar with Docker, you might be wondering how similar Lando and Docker are. The Lando setup configuration is similar to Docker compose and the isolated development environment is similar to that of Docker containers.

But such a similarity raises the question: why do you need Lando when you have Docker installed? Here’s why:

  • Lando enables you with a more organized process of using Docker containers with the help of pre-defined recipes.
  • When the docker container environment isn’t compatible with Lando recipes, you can easily define a container by defining a Lando service. You can do this without typing docker exec commands or setting up Dockerfiles.
  • You can use your own custom docker compose files instead of Lando recipes while you benefit from the local development networking.
  • Additionally, you can use SSL handling per container, set up proxy and custom URLs for your services, and use simple build and run steps.

If you need help learning about the system requirements and installation of Lando for Drupal 9, refer to our blog here.

Configuring Lando Recipes

Recipes are a combination of services, proxies, and tooling designed as start-state-of-sane defaults for a particular use case. Lando's recipes are the highest abstraction of Lando, containing common combinations of services, events, and tooling.
 
Services are simplified but highly configurable docker containers. They can run build steps such as installing a PHP extension or running yarn install. Tooling allows users to run arbitrary commands or combinations of commands or combination of services when invoked. They’re incredibly useful while being super simple to use.

Config allows you to set some more important things your recipe provides. With Lando, you can configure and make changes according to your requirements.

For a better understanding, let’s take a deeper look into Lando services and tooling.

Lando Services

Lando services are simplified and highly configurable Docker containers. They should be able to run build steps and can be overridden to low levels. Services get automatic networking and security features.

Some of the most useful services are:

  • Elasticsearch/Solr
  • Mailhog
  • Node
  • PhpMyadmin
  • Redis
  • Memcache
  • Varnish
Image removed.

 

Image removed.

Services - Build Steps

If you need additional on-server dependencies like PHP extensions or node modules, it sounds like a build step.

There are four major build steps:

  • “Build” : runs as "you" and before your service boots up
  • “Build_as_root” : runs as root and before your service boots up
  • “run” : runs as "you" and after your service boots up
  • “run_as_root” :  runs as root and after your service boots up
Image removed.

 

How can you execute the four major steps?

  • Use build to install application dependencies that are needed before you start your application
  • Use build_as_root to install low level server packages required by your application
  • Use run to install application dependencies or run build steps that require your application be started first
  • Use run_as_root for any other post-start root level one-time setup commands.

Events

Events allow the user to run an arbitrary command before or after certain parts of the Lando runtime. In simple words, you can automate commands or tasks you might often or always run, either before or after something happens. Lando and App runtime events can be hooked into pre- or post-events.

You can also hook into pre and post-events for all tooling commands.

Image removed.

Adding Tooling for Lando Apps

Tooling allows you to run arbitrary commands on arbitrary services. Every Lando Drupal recipe ships with useful dev utilities. These are the commands that display on the Lando help page, such as

  • Lando php
  • Lando mysql
  • Lando db-import
  • Lando db-export

Here, using tooling we can create our custom commands and can define what these commands will do internally and on which containers. These also help us to expose certain services directly to the developer and automate processes.

Tooling - lando drupal-check

Whenever we execute this command, it will go into the app server service and will run the command to see if the code is as per the Drupal standard. If not, it will display appropriate error messages.

Image removed.

Tooling - lando xdebug-on

This command will set and enable the xdebug-on on the app server for debugging.

Image removed.

Next Steps?

Once you’ve set up Lando for your Drupal website, you can create custom services, and recipes, and use specific docker images for your services. Lando allows you to integrate with different server configurations and CI/CD. Additionally, you can also learn to automate testing to move ahead with your Lando recipes in Drupal.

Lando and Drupal blend well. And if you are already familiar with Docker and docker compose, setting up Lando for your Drupal website and using its recipes, combining the events, services, and tooling would be super easy for you!

Found this article useful? Here’s a really tiny URL of this article for you to copy, embed, or share: //--> //--> //-->

bit.ly/3WyZNoB

Click to copy URL to your clipboard

Author: Shreyal Mandot

Meet Shreyal Mandot, our Acquia-certified Solution Architect and Drupal 8 Grand Master, who has a passion for new technologies and travelling. In fact, he's already planning his next trip to Paris! Besides working, Shreyal enjoys road trips, swimming, and basketball.

Drupal 9 Drupal Development Drupal Planet

Leave us a Comment

 

Recent Blogs

Image Image removed.

How To Accelerate Drupal Development with Lando

Image Image removed.

Everything you wanted to know about Drupal 10 - Q&A with Experts

Image Image removed.

7 Drupal Security Strategies you need to implement right away! (Includes top Drupal 9 Security Modules)

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

CKEditor: Drupal 10 launched: taking content editing to the next level with CKEditor 5

Image removed.

Drupal 10 has finally been launched! But did you know that from now on CKEditor 5 will be the default WYSIWYG editor in Drupal?

After a two-year-long, massive undertaking and hard work on both the CKEditor and Drupal side by dedicated teams, the result is a modern, versatile editing experience for a state-of-the-art digital experience platform, the best there is on the web.

The new CKEditor 5 core module comes with many improvements and countless new features. Including but not limited to:

  • A new better UI,
  • Media widgets with a toolbar,
  • A reworked styles dropdown,
  • Tables with a dropdown,
  • Document lists,
  • Links with attached panel

What’s even more amazing is the fact that we are also introducing an accompanying module for CKEditor 5 Premium Features! So that Drupal users will not only be able to use the core editor features but also have the ability to collaborate on their content right within their Drupal project!

DrupalEasy: Launching into 2023 with new stuff!

Image removed.If you've visited DrupalEasy.com anytime in the past couple of weeks, you may have noticed that we've got a refreshed logo, a revitalized podcast, and a remarkable new long-form module development course!

First, we decided that it was time for an updated logo - something we haven't had since the start of our company. The updated logo incorporates the new "tilted drop" design element referring to both our Drupal roots and a capital letter "D" for DrupalEasy, of course! We retained the lime green color that we've grown accustomed to, and will be using this new design element in various new ways moving forward.

The DrupalEasy podcast, which began 14(!) years ago, had been on an extended hiatus for almost 2 years - mainly due to a lack of bandwidth on our part - but we figured out a way to keep it going in the future in a sustainable manner. Rather than committing to a new episode every two weeks, we will now release 2-3 "seasons" per year, with each season composed of 6-8 episodes. Season 14 (an obvious reference to our 14th year) has already debuted, and the remaining episodes have all been recorded and will be released over the next month or so. Each season will have a theme - S14's theme is "how to": each episode will focus on how to accomplish a specific Drupal-related task.

Finally, and you may have heard about this already, but we are super-excited to be launching an all-new, long-form Drupal module development workshop: Professional Module Development. This 90-hour class (over 15 weeks) will help you improve your skills to a professional level - including automated tests, various code quality tools, and commonly-used Drupal APIs and techniques. 
 

Talking Drupal: Talking Drupal #380 - Happy New Year

Today we share interviews conducted at NEDCamp in November 2022. This is an audio only episode.

For show notes visit: www.talkingDrupal.com380

Topics / Guests
  1. John Picozzi
  2. Shane Thomas
  3. Donna Bungard
  4. Chris Wells
  5. Jacob Rockowitz
  6. Leslie Glynn
  7. Mike Anello
  8. Mike Miles
  9. Nic Laflin
Hosts

Stephen Cross @stephencross

MOTW

with Martin Anderson-Clutz - @mandclu

Bookable Calendar Module https://www.drupal.org/project/bookable_calendar A very easy to use Bookable Calendar module. Whether you’re giving lessons and want your students to be able to book a lesson or a business trying to stagger traffic into your building, this module aims to get you up and running as fast as possible.