Drupal Planet

MidCamp - Midwest Drupal Camp: Get Trained!

1 month ago
Get Trained!

On Wednesday, March 18, MidCamp will offer four full-day training sessions to get you a deep dive into Gatsby, Composer, A/B Testing, or Migrate API.

Read more about each, then register! Only 25 seats are available for each training, so they'll go fast. Each training costs $85, which includes lunch and coffee. Trainings are ticketed separately from our main sessions on Thursday and Friday.

Tag1 Consulting: Peer-to-peer Collaborative Editing Using Yjs & WebRTC

1 month ago
Description WebRTC, a protocol that facilitates peer-to-peer communication between two clients via the browser, is now supported by all modern browsers. Since its introduction it has mainly been used for web conferencing solutions, but WebRTC is ideal for a variety of other use cases as well. Because of its wide platform support, creating peer-to-peer applications for the web is now more straightforward than ever. But how do you manage many people working together at the same time on the same data? After all, conflict resolution for peer-to-peer applications remains a challenging problem. Fortunately, with Yjs, an open-source framework for real-time collaboration, developers can now combine WebRTC and Yjs to open the floodgates to a range of future-ready collaborative use cases. Thanks to WebRTC and Yjs, anyone can build collaborative editing into their web application, and this includes more than just text Yjs enables collaborative drawing, drafting, and other innovative use cases. The advantage of such a peer-to-peer model (in lieu of a client–server model) in the CMS world is that collaborative editing can be added to any editorial interface without significant overhead or a central server handling conflict resolution. By integrating with y-webrtc, the Yjs connector for WebRTC, CMS communities... Read more jgilbert Wed, 01/22/2020 - 08:25

Tag1 Consulting: Modern testing: part 2

1 month ago
Automated tests are rapidly becoming a prerequisite for successful web projects, owing to the proliferation of automated testing tools and an explosion of continuous integration (CI) services that ensure the success of web implementations. Nonetheless, for many developers who are new to the space, automated testing can be an intimidating and altogether novel area that causes more than a few groans at weekly meetings. Luckily, with the right development culture and testing infrastructure in place, your team can focus on implementing new features rather than worrying about the quality of their code. Yuriy Gerasimov (Senior Back-End Engineer at Tag1 Consulting) delivered a presentation at DrupalCon New Orleans about automated testing and its advantages for web projects of all shapes and sizes. In this four-part blog series, we explore some of the essentials that all developers should be aware of as they explore automated testing as well as the key fundamentals you need to know to incorporate automated testing into your daily workflows. In this second installment, we inspect how to implement a robust testing infrastructure and how to cultivate a development culture favorable to automated testing with the help of code checks. Key elements of automated testing Over the course... Read more preston Wed, 01/22/2020 - 07:53

Tag1 Consulting: Modern testing: part 2

1 month ago
Automated tests are rapidly becoming a prerequisite for successful web projects, owing to the proliferation of automated testing tools and an explosion of continuous integration (CI) services that ensure the success of web implementations. Nonetheless, for many developers who are new to the space, automated testing can be an intimidating and altogether novel area that causes more than a few groans at weekly meetings. Luckily, with the right development culture and testing infrastructure in place, your team can focus on implementing new features rather than worrying about the quality of their code. A few years back, Yuriy Gerasimov (Senior Back-End Engineer at Tag1 Consulting ) delivered a presentation at at DrupalCon New Orleans about automated testing and its advantages for web projects of all shapes and sizes. In this four-part blog series, we explore some of the essentials that all developers should be aware of as they explore automated testing as well as the key fundamentals you need to know to incorporate automated testing into your daily workflows. In this second installment, we inspect how to implement a robust testing infrastructure and how to cultivate a development culture favorable to automated testing with the help of code checks. Key elements... Read more preston Wed, 01/22/2020 - 12:45

Don't Panic: A blog about Drupal: Drupal tricks: Removing the RSS icon in Drupal (and getting to know Views a little bit)

1 month ago

Whether RSS has a future or not is debateable, but I often find myself removing the standard RSS icon in Drupal, sometimes for good or sometimes for just placing a nicer version of the classic icon somewhere else in my theme, linked to the RSS feed.

In Drupal, like with so many other things, there are several ways of removing the RSS icon in the theme. I'm going to show you the way that I have found to be the easiest and the way that also sticks when you're trying out, or switching to a new theme.

The frontpage of Drupal where we automatically is served an RSS icon with a link to the feed.

Sure, you can remove the icon in the theme you're putting together, or you can hide it with CSS (don't do that, that weakens your SEO ranking) so the way I'm going to show you is within the system, within the awesome thing that is Views.

What... Views?

For those who don't know it, Views is a module in Drupal (up until version 7 of Drupal it was a stand-alone module, but from version 8 it's part of Drupal and makes every listing a view, which is awesome!). Views can be described as a "point and click interface to ask simple or complicated questions about the content of the website", or "a graphic way to get content in listings (or just one result) from the database". Whatever you want to use Views for, it's highly competent and when you get to know the way Views in Drupal works, it's only your imagination that set the limits of what you can do with the content after that.

Every listing you see in Drupal, both the listings for the editor and the listings that visitors can see and visit, are powered by Views. And you are able to edit all of these, able to bend them to your pleasing.

With that said, let's dig into Views and make a teeny, tiny change that'll remove our RSS icon.

Structure -> Views

Log in to your website, navigate to Structure and then Views. The image below shows the way (the dropdown menu is not native to Drupal, it's an add-on module (or plugin if you will) called Admin Toolbar.

Click "Structure" and then "Views" to get to Views section of Drupal.Behold! Views!

When accessing Views for the first time, it's kind of boring. It's only a listing of different Views that you know nothing about.

Well... See this as a "beginning of a beautiful friendship".

Different displays in Views

Another thing you need to grasp before heading into the interface of Views is "displays".

You can have as many Views as you want, but it's common and recommended that you collect them and sort them depending on what the views are for. 

For example. If you want to have three content listings - perhaps landing pages - showing the articles you have written but you want to sort them differently or want to show different version of the content depending on the situation. In the first listing you want to show everything - preamble, the article itself, images and a description of you as an author. The second listing should only include a small version of the article image and the preamble - to tease your readers. And the third listing should only include the title and the date of when the post was published. Since all these three listings handles the same content in some way, it recommended that you create one View, and have three different displays in that View.

There are many different displays in Views - and you can add and create your own - but this article will only mention them.

Let's dig in!

Time to do the thing we're here for. Time to edit a view! And not only a view - one of the displays of a view!

Start by finding the View called Frontpage and then click Edit to start editing the View we want to change.

What you see next can be a bit much, but don't worry, we won't go into the depths that are Views, we are just going to do some clicking around, uncheck a checkbox and save the view to accomplish what we are here for.

What we are editing now is the list of content that are shown on the frontpage of Drupal, and the feed icon is there because there is another Display in this View.

Remember, you are recommended to use one View for similar content and here is another great example: content shown to visitors and a RSS feed, shown also to users, but with a RSS Reader of some kind. Same content - shown in two different ways.

This View has two displays: Page (the one that are used as frontpage) and Feed (the RSS feed). The RSS feed is represented by the icon and are attached to the Page display. In other words, whereever the Page is shown, the feed tags along like an annoying little sister or brother.

Ok, let's remove the RSS icon now already!

Yes, time to operate! We are going to edit the second display, the Feed, and detach that one from the first display, the Page.

To do that, click the display for the Feed.

Then, in the middle column, find Feed Settings

Next to Attch to:, click Page.

Uncheck the Display called Page.

Click Apply.

End this by clicking Save, to save the View and make your changes take action on your website.

And, voilà, when you visit the frontpage of your website, the icon is gone!

Think of this as well

Even if the icon is gone, the feed is still active and can be accessed via the URL /rss.xml. If you want to remove the feed, you need to deactivate the Feed display in the View called Frontpage.

Another way to make the feed more difficult to find is to change the URL to the feed, set your own path to it.

Under Feed settings in the middle column of the View, click the /rss.xml path to change it to whatever you want. Don't forget to Save the view after you've changed something.

"But wait, there's more..."

Yes. There is one other thig to remember. Well, there are many other thigs, but Drupal also generates RSS icons to taxonomy feeds as well. Taxonomy is the name for terms, tags, categories, and these are displayed by default in Drupal.

The taxonomy listing is structured in the same way as the Frontpage, with two displays where the Feed is attached to the Page. So to remove the RSS icon from the feed of taxonomy terms all you need to do is to repeat the process shown above but within the View called Taxonomy term.

That's it!

That's my way of removing that pesky RSS Icon. Hope you have enjoyed the guide. Please feel free to read some of my other guides and walk-throughs in Drupal.

TL;DR;

For those who already know Drupal: Detatch the Feed display from the Frontpage Page display in Views. Repeat with Taxonomy Term if you want to remove the RSS Icon from that listing as well.

Drupal Association blog: Be an ambassador!

1 month ago

Drupal is often spoken about as far more than an open source project, because our global community is vibrant and passionate; a model for other projects to learn from and emulate. There are many ways to be a Drupal ambassador: by mentoring others, by helping people answer why they should use Drupal, and why they should contribute. In addition, I have a few ideas on ways you could be an ambassador for Drupal by sharing about yourself with the global community. By participating, you help put a story behind the people of Drupal, and you show the broader community why the Drupal Association needs support. We'd love to have you involved!

Give a testimonial


".... because of it's wonderful community which has such inspiring contributors spread around the world. Being a member fills me with immense positive energy :)" — Surabhi Gokte (surabhi-gokte)

Get inspiration from the testimonials and share your own.

Be featured on Drupal.org

We're running the banner ad on Drupal.org - visible only to users who don't have an active membership. You may see these banners throughout the year (usually for a week-long run) if you visit without being logged in. To participate, email me or chat on Slack (lizzjoy). 


Drupal.org banner featuring Baddý Breidert (baddysonja).


Drupal.org banner featuring Christian Schnabl (snable).

MemberMondays


From this month's #MemberMondays.

This month, we've launched social posts about a different member each week. We're calling it #MemberMondays. You can share about yourself in this questionnaire.

I hope you participate— it would be wonderful to share about you with the global community. If you are interested, but feel you don’t have time or are hesitating, let us know.

Promet Source: Can Great Design and Accessibility Co-exist?

1 month ago
Just because a website is required to follow WCAG 2.1 accessibility guidelines doesn’t mean it can’t have a great design. Sometimes this misconception can frustrate designers before they even begin to understand the accessibility guidelines and the reasons they exist.

Jacob Rockowitz: A few of my favorite Webform things

1 month ago

Every new year, aside from maintaining and continually improving the Webform module for Drupal 8, I look forward to putting together and practicing a Webform presentation with the hope that it will be accepted at the upcoming DrupalCon.

My first Webform presentation, a general introduction to the Webform module for Drupal 8 at DrupalCon Baltimore, was simply titled Webform 8.x-5.x.. The following year at DrupalCon Nashville, I organized a more feature-focused presentation called Webform: There is this for that. Last year at DrupalCon Seattle, I did an ambitious 90-minute Advanced Webform session.

Each year, I have to decide what is the best approach to organizing and sharing the Webform module at DrupalCamps and DrupalCon. I struggle with including too much or too little information in my presentation. It’s also difficult to pinpoint my target audience - every DrupalCon session is supposed to have a target audience, but I want everyone to use and appreciate the Webform module. And while I certainly appreciate the event’s organizers need to classify things, I really believe in letting anyone who attends DrupalCon know that the Webform module isn’t specific to any one group.

Webforms for Everyone

The defacto audience for the Webform module is developers, only because I am continually scratching my developer itch when adding new features and improving APIs. At the same time, I am always thinking about site builders, who on a daily basis need to build and manage forms. Finally, it is hard...Read More

ComputerMinds.co.uk: New Language Hierarchy release for Drupal 8

1 month ago

Do you want to reach more markets and people? Do you want to tailor your content for clients from a range of locations around the world, without having to manage every single translation? Then the Language Hierarchy project could be for you! I wrote a while ago about how this module gives editors more power and flexibility without the extra effort that can come with each translation added to a site. Now Drupal 8 sites can use the project with confidence, as I produced its first stable release candidate for Drupal 8 last month! 

Thank you to all those that contributed towards pushing Language Hierarchy towards this release. Especially to Julabo GmbH and ComputerMinds, for sponsoring my recent work, as well as SPX for giving us the opportunity to develop most of the features for a real-world use case in the first place. Also Gábor Hojtsy for his 'Sublanguage' sandbox, which was the foundation of the Drupal 8 version of the module.

Drupal is already a fantastic solution for managing multilingual content. Adding Language Hierarchy means you can configure languages to 'fall back' through a hierarchy when a translation is missing. This means that you can set up all sorts of specific languages to ensure that your content is tailored to the different countries that you are reaching with less work. It can also stop unrelated translations showing when the correct translation is not in place yet.

For example, a Swiss German language could be set up, falling back to standard German. All your Swiss German pages would initially be set the same as in standard German immediately, without any pesky English showing through. Then as you tailor some content specifically for Switzerland, the rest of your Swiss German pages will continue to show any updates that your editors make in standard German. No duplication of effort!

Sound good? Here are some more clever things that the Drupal 8 version of Language Hierarchy provides... listed with some of my favourite flags of countries, just for fun :-)

  • 🇦🇴   Every different kind of translatable content uses the language fallbacks: nodes, terms, menu items, blocks, paragraphs, etc.
     
  • 🇧🇷   Your site interface will be translated according to the language hierarchy, not just your content. (The Drupal user guide explains the difference between content and interface translations.) So translate your parent languages first, and all your child languages will immediately stop being in English, before you even start customising them further!
     
  • 🇨🇫   Without the Language Hierarchy module, views listings can either entirely miss out content that hasn't been specifically translated for a language, or will show fallback translation as well as existing translations. This new release allows you to filter views to ensure (only) the most relevant translations show instead.
     
  • 🇯🇲   Translate your configuration in a 'parent' language, and its 'child' languages will use those settings too. No need to go set them for every one of your languages!
     
  • 🇲🇭   Build your language hierarchy by simply dragging and dropping the languages between each other on the admin page, just like you can with taxonomy terms, as in the screenshot above.
     
  • 🇵🇼   Drupal has its own fallback system for URL path aliases, so you can use a 'Language Neutral' path for a page which will cover all its translations (even if translations have their own paths too). Use this patch for Drupal 8.8, which we're looking to build into Drupal core itself, so that your path aliases can fall back with the same hierarchy that your content uses. 
     
  • 🇹🇹   Automated tests are included so we can verify the project's stability as Drupal evolves. But more are needed before a fully stable release can be made.
     
  • 🇬🇧   All sorts of other bug fixes and tweaks 😊
     

Development on Language Hierarchy will continue of course, not least ahead of the release of Drupal 9. All contributions, such as feedback, testing, sponsorship or patches are very welcome. There is always room for improvement! The project's issue queue is a good place to start if you can help. If you need assistance with your multilingual web project, leave a comment below, or get in touch with us at ComputerMinds.

Photo by Vladislav Klapin on Unsplash.

Droptica: Why CTOs of big companies choose Drupal

1 month ago
Deciding on a CMS these days is not a simple task. There are many things to take into account and lot at stake. Business websites are more important then they ever were and if a business wants to communicate effectively, it needs a great website. Budgets and lead times for new CMS deployments get bigger and projects more and more complex. Often, it is difficult to plan for a complete overhaul and businesses have to plan for a phased approach.  The business moves faster and the CMS has to keep up the pace with changes in requirements and technology All the above means that often a CMS re-deployment is a multistep project for many months or even years. One cannot allow for errors. Choosing incorrectly can set the business back years.

Drupal blog: Drupal Global Contribution Weekend 2020 is coming soon

1 month ago


John Cook and Andrew MacPherson at a previous Drupal Global Contribution Weekend event.

Since 2013, Drupal Global Contribution Weekend (DGCW) has been held on the last weekend of January.

People more-or-less close to Drupal and its community join for this worldwide event where everyone can participate: site builders, testers, designers, project managers, translators, marketers, writers, and, of course, developers.

You are all welcome to contribute to make Drupal better.

Contribution is at the core of any open source software project and this event is the perfect opportunity for you to be a maker.

January 24-26

This year, DGCW is from Friday to Sunday, January 24-26.

Where to participate

It’s worldwide! You can check this year's DGCW page to see a list of local events participating in the initiative.

At the moment of writing there are events in India, Pakistan, Russia, Belgium, Germany, Switzerland, Ukraine, United Kingdom, USA and Canada.

Keep watching that space as new events may popup, including Virtual Meetups where you can join online events like last year's Contribute to accessibility and Contribute to Gender Field Module.

Interesting, but there isn’t anything close to me.

Oh, this is a great opportunity then! If you would love to participate, you can create your own event.

Find a venue

The first step is finding a place to hold your event. It’s likely that the first time only a few people may join. Reserving a table in a local pub/bar/cafe can do the job. Or if you have a company who can provide or sponsor a better place, even better. Sometimes nonprofit organisations are more than happy to provide spaces to these kinds of initiatives.

Find a comfortable place with these things:

  1. It’s a safe environment for everyone, physically and mentally
  2. It has WiFi and power sockets
  3. It doesn’t have accessibility barriers

Bonus: provide or plan breakfast, refreshments and/or lunch.

Plan the day

It may seem like the scariest bit, but it is not! The Drupal Community has created a series of tools and guides facilitating the hosting of these kinds of events. From the DGCW landing page:

No events close to you? Why don’t you host one! Have a look at the information on how to become a host and when you are ready add your event in the list (see Example code for adding a sprint below).

The minimum you'll need:

  • A page people can visit, and possibly subscribe (groups.drupal.org/ helps)
  • Be ready to great your guests on the day
  • Use Drupal Ladder platform (http://drupalladder.org/ or https://drupalize.me/series/learn-drupal-ladder)
  • Encourage guests create a Drupal.org user account. It’s a must-to-have for contributors, besides they can benefit from subscribing to awesome drupal-related newsletter (weekly bulletin from Drupal Association, Security updates, etc.).
  • Explain the issue queue. See Getting started in the issue queue Drupal Ladder section for a good introduction.
  • Point them to the Novice issues queue, and the Novice code contribution guide if they need more step-to-step info.
  • Set expectations. The first interaction may be no more than a comment in an issue. And that’s OK!
Am I up for this challenge?

Yes! Every single event organiser has worries when planning events. And we're here to help. You can reach most of them on these channels:

You can get in touch directly with me, Lizz, or Rachel and we will be more than happy to help.

Is not just Drupal and its community that needs you to act. It’s your neighbours, and people living in your community which want to participate more in contributing and don’t know how to do it.

We are always alone, until we call.

Shivan Jaikaran: Add Parallax Nodes from a View to Drupal 8 With ScrollMagic

1 month ago
Add Parallax Nodes from a View to Drupal 8 With ScrollMagic admin Mon, 01/20/2020 - 06:07

In this tutorial I will explain how I accomplished taking a listing of nodes that came from a View and created a Parallax effect using the Bootstrap theme from Drupal 8.

The code in this tutorial can be found on GitLab. 

To use the code in the repos, you can:

  1. Clone the repos locally
  2. Run composer install from the root folder
  3. Run drush config:import -y 

I would like to refer to this article which explains how to Add Parallax Blocks to Drupal 8 With ScrollMagic. I got my ideas and most of the code from there.

You will need to have Drupal 8 installed with Views and a Bootstrap subtheme set up.

For this tutorial, I am using a simple Page content type that I created with 3 fields: Title, Body and Background Image.

You should then create a View that lists this Page content type. I am listing the Body field and Background Image field in my example. I am keeping my Page content type and View very simple for explanation purposes. But you can set up more complex Views and content types as you wish. You just need at least an image field (or you can place a background image to an existing content type field via CSS as well).

Step #1 - Configure the Bootstrap theme

Because Parallax effects are usually full width, you should turn on the Fluid container option in the Bootstrap theme menu.

  • Enter your subtheme Boothstrap theme settings.
  • Under General >> Container check the Fluid container box

Step #2 - Set up your Content Type and Views.

Here is my Page content type with 3 fields: Title (not show in in screenshot), Body and Background image

Here is my View. It's a pretty much standard View which just lists the Page content type and creates a page out of it. I am using the image field here as the background image for the Parallax. You can also use another field (text or whatever) and set a CSS background as the image.

Now create some Page content and go to the View page to see the listing of your content.

Step #3 - Style the View using CSS

Here is my CSS:

.view-homepage {

  .views-row { text-align: center; position: relative; overflow: hidden; height: 500px; }

  .views-field-field-background-image { position: absolute; width: 100%; height: 140%; }

  .views-field-body {

    position: relative; top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
  }
}

Step #4 - Get the ScrollMagic files

Go to Github and download/extract library.

Now go to your theme folder and create a folder called /js/ and move these files into the folder

  • animation.gsap.min.js
  • ScrollMagic.min.js
  • TweenMax.min.js
  • and also manually create a blank parallax.js

You now need to tell the theme to load the js libraries. To do that, open your_theme/your_theme.libraries.yml:

global-styling:
  css:
    theme:
     css/style.css: {}

  js:
    js/ScrollMagic.min.js: {}
    js/animation.gsap.min.js: {}
    js/TweenMax.min.js: {}
    js/parallax.js: {}
  dependencies:
    - core/drupal
    - core/jquery

Step #5 Add the Parallax JS code to parallax.js

(function ($) {
    'use strict';
    Drupal.behaviors.myBehavior = {
        attach: function (context, settings) {

            var controller = new ScrollMagic.Controller();

            $('.views-row').each(function (index) {

                var $bg = $(this).find('.views-field-field-background-image');
                var $content = $(this).find('.views-field-body');

                var tl = new TimelineMax();
                tl
                    .from($bg, 2, {y: '-40%', ease: Power0.easeNone}, 0)
                    .from($content, 1, {autoAlpha: 0, ease: Power0.easeNone}, 0.4)
                ;

                var scene = new ScrollMagic.Scene({
                    triggerElement: this,
                    triggerHook: 1,
                    duration: "100%"
                })
                .setTween(tl)
                .addTo(controller);
            });
        }
    }
}(jQuery));

Make sure the images you are using are big enough for the max width you want to display.

You should now have a nice parallax scrolling effect for each node in the View list.

Tags Drupal Drupal 8 Drupal Planet CSS Parallax Add new comment Language English

Community Working Group posts: Announcing the 2020 series of Drupal Event Code of Conduct Training

1 month ago

The Drupal Community Working Group is happy to announce that we are once again teaming up with Otter Tech to offer live, monthly, online Code of Conduct enforcement training for Drupal Event organizers and volunteers in 2020.

During the second half of 2019, 17 Drupal community members completed the training (see full list), helping to ensure Drupal events world-wide have qualified Code of Conduct contacts. We are excited to be able to provide support for the training in 2020.

The training is designed to provide "first responder" skills to Drupal community members who take reports of potential Code of Conduct issues at Drupal events, including meetups, camps, conventions, and other gatherings. The workshops will be attended by Code of Conduct enforcement teams from other open source events, which will allow cross-pollination of knowledge with the Drupal community.

Each monthly online workshop is the same; community members only have to attend one monthly workshop of their choice to complete the training.  We strongly encourage all Drupal event organizers to consider sponsoring one or two persons' attendance at this workshop.

The monthly online workshops will be presented by Sage Sharp, Otter Tech's CEO and a diversity and inclusion leader in the open source community. From the official description of the workshop, it will include:

  • Practice taking a report of a potential Code of Conduct violation (an incident report)

  • Practice following up with the reported person

  • Instructor modeling on how to take a report and follow up on a report

  • One practice scenario for a report given at an event

  • One practice scenario for a report given in an online community

  • Discussion on bias, microaggressions, personal conflicts, and false reporting

  • Frameworks for evaluating a response to a report

  • 40 minutes total of Q&A time

In addition, we have received a Drupal Community Cultivation Grant to help defray the cost of the workshop for those that need assistance. The standard cost of the workshop is $350, Otter Tech has worked with us to allow us to provide the workshop for $300. To register for the workshop, first let us know that you're interested by completing this sign-up form - everyone who completes the form will receive a coupon code for $50 off the regular price of the workshop.

For those that require additional assistance, we have a limited number of $100 subsidies available, bringing the workshop price down to $200. Subsidies will be provided based on reported need as well as our goal to make this training opportunity available to all corners of our community. To apply for the subsidy, complete the relevant section on the sign-up form. The deadline for applying for the subsidy is end-of-business on Wednesday, July 1, 2020 - those selected for the subsidy will be notified after this date (in time for the July 8, 2020 workshop).

The workshops will be held on:

Those that successfully complete the training will be (at their discretion) listed on Drupal.org (in the Drupal Community Workgroup section) as a means to prove that they have completed the training. We feel that moving forward, the Drupal community now has the opportunity to have professionally trained Code of Conduct contacts at the vast majority of our events, once again, leading the way in the open source community.

We are fully aware that the fact that the workshops will be presented in English limit who will be able to attend. We are more than interested in finding additional professional Code of Conduct workshops in other languages. Please contact us if you can assist.

Mobomo: Drupal 9: What’s New, What to Expect

1 month 1 week ago

Drupal 9 is scheduled for release on June 3, 2020. And as with any highly anticipated release, questions abound: “What will change from Drupal 8 to Drupal 9?” “What do I need to do to prepare before upgrading?” And top-of-mind is the big question: “What will Drupal 9 be like to work with?”

Read on as we share what you’ll need to know … and what might surprise you.

Anybody who’s upgraded from Drupal 7 to Drupal 8 recalls the giant chasm between the two systems. Almost 200 new features were launched including an entirely new page editor, a new theme engine, a new text editor, and new field types, to name but a few.

This gap doesn’t exist between Drupal 8 and Drupal 9. In fact, on the surface, there IS no difference: Drupal 9 has the same code, functions, and feature set as Drupal 8.9.

So why release it then? As it turns out, there are differences — they’re just not front-and-center on the interface.

Time to Clean House

Throughout its development cycle, Drupal 8 has wound up with a lot of code debt: functions that were created programmatically and used for some time but have been rendered redundant by more efficient functions.

These bits of code clutter up Drupal 8 like your old CDs and DVDs clutter up your bookshelf: There’s nothing wrong with them, but you probably don’t need them anymore now that you have something more efficient.

The result of all this extra code is that programmatically, there might be 10 different ways to do one single thing.

What Drupal has done is marked all of those code items in the backend code base as being “deprecated”. When Drupal 9 comes out, the plan is to remove all the deprecated code on this list, leaving only the latest version of whatever that code’s API is. They’ll also be updating third-party dependencies, such as Symfony and Twig. From Drupal’s site:

“Drupal 9 will be a cleaned-up version of Drupal 8. It will be the same as the last Drupal 8 minor version with our own deprecated code removed and third-party dependencies updated. We are building Drupal 9 in Drupal 8.”

Will Drupal 9 Be Better?

Yes, but not without some minor risks.

Jettisoning all this deprecated code will result in a much faster, cleaner, and better-operating version of Drupal. However, if you have legacy programs whose modules use some of that deprecated code, you could find yourself with some broken processes.

How to Prepare for Drupal 9

In general, upgrading to Drupal 9 is not an onerous process – it can literally be done via a single command. What will take more time is monitoring and auditing code bases to ensure that none of your functionality is dependent upon deprecated code.

Fortunately, Drupal is well prepared for this, and has indicated that the Drupal 8 branch of the Upgrade Status module can be used  to identify and report on any deprecated code:

“This module scans the code of the contributed and custom projects you have installed, and reports on any deprecated code that must be replaced before the next major version. Available project updates are also suggested to keep your site up to date as project will resolve deprecation errors over time.”

In addition, we anticipate that when downloading or updating modules, Drupal will likely advise whether there are compatibility issues due to bad functions. However, that notification system isn’t currently in place (if it indeed happens at all), so your best bet is to work with your development partner, who can audit your code to identify any trouble spots.

Marie Kondo-ing Your Infrastructure

Drupal 9 will be a much faster and more streamlined platform, but it doesn’t exist in a vacuum. If the rest of your operational architecture is similarly full of code debt and redundant processes, updating Drupal 9 will be akin to sending a Lamborghini down a pothole-rutted road: That powerful engine is wasted if the route is slowing it down.

So, going to Drupal 9 is an excellent opportunity to look at your legacy systems, audit them as well, and make sure your entire infrastructure is clean, fast, and free of roadblocks.

The Bottom Line

In general, upgrading to Drupal 9 should not be a complex or lengthy process. By cleaning out the clutter and performing some common dependencies, Drupal is practicing good development hygiene and providing its customers with a more streamlined system that will be faster … but still familiar.

Want to know more? Contact us today!

 

The post Drupal 9: What’s New, What to Expect appeared first on .

Checked
1 hour 32 minutes ago
Drupal.org - aggregated feeds in category Planet Drupal
Subscribe to Drupal Planet feed