Planet Drupal

Syndicate content
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 1 hour 48 min ago

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

Wed, 01/22/2020 - 09:27

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!

Tue, 01/21/2020 - 20:43

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?

Tue, 01/21/2020 - 17:13
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

Tue, 01/21/2020 - 15:20

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

Droptica: Why CTOs of big companies choose Drupal

Tue, 01/21/2020 - 09:49
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.

Microserve: Accessibility testing - manual or automated?

Mon, 01/20/2020 - 18:23
Accessibility testing - manual or automated? Gosia Mlynarczyk Mon, 01/20/2020 - 17:23

Websites and apps should be designed and developed in such a way that people with disabilities (permanent, temporary or situational) find them easy to use (if you’re unsure on what accessibility is, take a look at our blog, What is digital accessibility?).

Amazee Labs: Watch our favourite moments from DrupalCon Amsterdam

Mon, 01/20/2020 - 17:20
Conferences and camps are the lifeblood of the Drupal community. They provide in-person opportunities to grow our skills, our learnings and our projects beyond our current limitations and perspectives.

MD Systems blog: Our Drupal 9 Masterplan

Mon, 01/20/2020 - 16:59
Drupal 9.0.0 is scheduled to be released in 2020. What does that mean? What needs to be done? What is MD Systems doing?

Drupal blog: Drupal Global Contribution Weekend 2020 is coming soon

Mon, 01/20/2020 - 13:28


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

Mon, 01/20/2020 - 11:07
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

Third & Grove: How to Recover After a Painful Drupal 8 Migration

Mon, 01/20/2020 - 06:00

If you find yourself here, dear reader, that means you went through one hell of an upgrade process to Drupal 8. I’m sorry you had to go through that. The good news is that there is a path forward, it gets better, and success is decidedly on your horizon.

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

Sun, 01/19/2020 - 19:19

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

Fri, 01/17/2020 - 19:55

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 .

wishdesk.com: Tools to make your website accessible to all users

Fri, 01/17/2020 - 18:28
Let’s discuss the fundamentals of what web accessibility is, how to make your website accessible, and what tools there are based your website’s CMS (Drupal modules or WordPress plugins).

Gábor Hojtsy: Drupal 9 release scenarios, the first beta deadline in 6 weeks and how you can help!

Fri, 01/17/2020 - 15:32

As Dries Buytaert explained in his Plan for Drupal 9 post at the end of 2018 (emphasis mine):

Drupal 8's biggest dependency is Symfony 3, which has an end-of-life date in November 2021. This means that after November 2021, security bugs in Symfony 3 will not get fixed. Therefore, we have to end-of-life Drupal 8 no later than November 2021. Or put differently, by November 2021, everyone should be on Drupal 9.

Working backwards from November 2021, we'd like to give site owners at least one year to upgrade from Drupal 8 to Drupal 9. While we could release Drupal 9 in December 2020, we decided it was better to try to release Drupal 9 on June 3, 2020. This gives site owners 18 months to upgrade. Plus, it also gives the Drupal core contributors an extra buffer in case we can't finish Drupal 9 in time for a summer release.

Here we are 14 months later and while most people took the June 3 release date and took it for granted, it is still not guaranteed! However you can help in various ways to make it much more likely!

Late last fall, we focused on defining what it means if we cannot make the June 3, 2020 release despite our best efforts and what is an early indicator that tells us we are going to miss it. First of all, that meant defining requirements for the first alpha release and requirements for the first beta (API complete) release. Also we needed to set some expectations as to when do we want to see the API-complete beta release to give enough time for the ecosystem to test it and find important problems in time. Based on how soon the beta requirements are met, there are three release scenarios and the best case ending in the June 3, 2020 release date for Drupal 9 has a beta deadline in 6 weeks! Yes, 42 days!

Alpha requirements simplified

The key requirements for the first alpha release are simple. We wanted to update the key dependencies: Symfony to version 4.4 and Twig to version 2, as well as remove frontend polyfills that were not needed and remove most of jQuery UI (which were already deprecated in Drupal 8). This gets our most important dependencies up to shape to what will be in Drupal 9. We also made it possible for contributed projects to depend on Drupal 8 and 9 at the same time, so they will not need to branch for Drupal 9 support.

There are two outstanding things for the Drupal 9 alpha:

  1. Drupal.org does not yet have an automated packaging pipeline that conforms to all the recent composer related improvements and therefore making core releases is error prone. I don't believe you can help with this at this time, the Drupal Association is hard at work on this.
  2. Drupal core should use a major version agnostic update feed for projects which is already being provided by Drupal.org but the core code to consume it is still in the works. While this is actively being worked on, reviews are always helpful. This will make sure Drupal 9's Update Status gets only contributed projects that are actually Drupal 9 compatible, while contributed modules will not need to establish a Drupal 9 branch.
Beta requirements simplified

The beta requirements are a bit more complicated and longer of course because we are looking at being API complete here. Once again, for the June 3, 2020 release date, we need these done in 6 weeks! The issue lists must haves and should haves, however the should have issues should be considered must-have for the June 3, 2020 release date and would only be reconsidered later if that date cannot be met. Here is a simplified rundown of the beta requirements:

  1. We want to keep dependencies up to date. There is no concrete pressing issue here at the moment that I know, but this really depends on how our dependencies evolve.
  2. We'd like to remove all the deprecated APIs themselves. Last year I built a graph to track this, and it shows nicely that we are down to half of them remaining (yay!), but still quite enough to deal with. There are various outstanding issues you can help with here.
  3. We want to make sure people can update to Drupal 9 from Drupal 8 by resolving critical upgrade path bugs. If you cannot update to a later version of Drupal 8 due to some critical bug, then you will be stuck on your version of Drupal 8. Not good. These include views, layout_discovery, taxonomy, menu_content, etc. related issues. All of them need help. If you are on an older version and can reproduce the problems, that is useful. If you have experience in these areas, your input would be useful.
  4. It will only be possible to update to Drupal 9 from Drupal 8.8 or 8.9, so all older update paths and their tests should be removed. Older versions of Drupal 8 will themselves be unsupported already at the time of Drupal 9's release. This issue is getting close but needs reviews.
  5. No new security or data integrity issues should be in Drupal 9. If there are any, they should be resolved. I don't know of any issues at the moment here.
  6. The API should be complete. There are no critical API additions or changes that I know of at the moment in this general category.
  7. We want to make sure people can migrate from Drupal 6/7 to Drupal 9. This needs the remaining multilingual migration paths to go stable. This is an area where we posted several call to actions, but still need your help. There are proposed migration paths for node translations and entity translations that respect revisions but they need at least code reviews to make sure they are good. Otherwise if you had content translations with revisions, the migration will not be correct. Without that, multilingual migrations will not go stable.
  8. PHP requirements should be finalised. It is likely at this time that Drupal 9 will require PHP 7.3 that is being worked on currently and could use a review.
  9. Database requirements should be finalised in terms of MySQL/MariaDB/Percona and PostgreSQL. Both issues need data as to which distributions and hosts support certain versions.
  10. The right security update information should be provided for users taking the one year support cycle and long term support of the last Drupal 8 release. This could also use reviews.
  11. We should put Drupal's base theme on a track so that it can evolve in Drupal 9 finally. This involves creating a new stable9 theme and decoupling the core themes from Classy. Various issues to help with here.
  12. Drupal.org should support multi-core compatibility eg. on project pages, localize.drupal.org, etc. This work is currently deprioritised by the Drupal Association due to the focus on the packaging pipeline blocker that I listed first. Once this gets attention, it will likely uncover core issues to resolve as well.

The two areas that receive the least attention at the moment are upgrade path blockers and the stability of the multilingual migration path, so those two are the most pressing where we need your help!

While the above is a complete rundown of the current beta requirements, it may change later on, so refer to the beta requirements issue later on for up to date information.

What happens if all the above are not done by end of February (in six weeks)

If all goes well, with your help, we'll be done with all the above in six weeks. If that does not work out, we have a plan B and a plan C. Here is how those options unfold. If beta requirements are only done two months later by end of April, then Drupal 9's first beta will be released on the first week of May and Drupal 9 is to be released on August 5, 2020. If the beta requirements are only done by end of August (four more months later), than the first beta will be released than with a Drupal 9 release date of December 2, 2020. In this case a Drupal 8.10 may also be released if needed. These dates are spelled out well in the Drupal core release cycle overview. I created this visual to help understand the alternate timelines:

While I think it is reassuring that we have plans for what happens if our initial date targets don't work out, unfortunately the end of life date at the end of next year for Drupal 8 is not movable because it is based off of Symfony 3's end of life. So the sooner we can make Drupal 9 happen (while meeting the upgrade and stability requirements) the better. What are you going to work on to help?

Helping with contributed projects

Based on the PHP deprecations our tools can identify, 43% of contributed projects would only need info.yml file updates to be Drupal 9 compatible. An additional 41% of the remaining projects have only issues that are resolvable now (even while keeping support for Drupal 8.7). Solving those anytime between now and Drupal 9's release (whenever it is) would put us to almost six thousand contributed projects compatible with Drupal 9 on day one! While that is a very idealistic number, helping with contributed projects is nonetheless a great avenue to contribute to Drupal 9 readiness. Help at the Drupal Global Contribution Weekend at end of next week or anytime before and after! I prepared a quickstart guide for this occasion.

*/

Amazee Labs: Contributing 12 Drupal Patches in 12 Months

Fri, 01/17/2020 - 14:28
Last year I embarked on a personal open source challenge, focused on Drupal. Very easy to say: “12 months 12 patches”. Some months my work lent itself naturally to contributions, but when it didn’t, I got creative. Here’s how I made it happen, and inspired others on my team to follow suit. 

Tag1 Consulting: Drush 10- Tag1 Team Talk #006

Fri, 01/17/2020 - 14:09
Description With the release of Drupal 8.8, Drush is also due for an upgrade — to Drush 10. For this venerable command-line interface that many Drupal developers know intimately well, what does the present and future look like? What considerations should we keep in mind when selecting Drupal Console or Drush? What new features are available in Drush 10 that characterize the new CI/CD approaches we see expanding in the Drupal community? In this Tag1 Team Talk, join the creator and maintainer of Drush Moshe Weitzman (Senior Technical Architect at Tag1), Fabian Franz (Senior Technical Architect and Performance Lead at Tag1), Preston So (Editor in Chief at Tag1), and Michael Meyers (Managing Director at Tag1) for a journey through Drush’s history and promising future. We take a deep look at what made Drush what it is today, the most compelling features in Drush 10, and how a hypothetical Drush in core could look.Read more jgilbert Fri, 01/17/2020 - 07:00

Bounteous.com: Acquia, the Open Source Digital Experience Platform Contender

Thu, 01/16/2020 - 21:03
Explore how open source has become the most widely used and most popular option for developers from its inception to recent years.

Hook 42: A Beginners Quest to Exploring React Native with Drupal

Thu, 01/16/2020 - 17:37
A Beginners Quest to Exploring React Native with Drupal Lindsey Gemmill Thu, 01/16/2020 - 16:37