Drupal

Plan for Drupal 9

Dries Buytaert - 12 December 2018 - 5:13am

At Drupal Europe, I announced that Drupal 9 will be released in 2020. Although I explained why we plan to release in 2020, I wasn't very specific about when we plan to release Drupal 9 in 2020. Given that 2020 is less than thirteen months away (gasp!), it's time to be more specific.

Shifting Drupal's six month release cycle We shifted Drupal 8's minor release windows so we can adopt Symfony's releases faster.

Before I talk about the Drupal 9 release date, I want to explain another change we made, which has a minor impact on the Drupal 9 release date.

As announced over two years ago, Drupal 8 adopted a 6-month release cycle (two releases a year). Symfony, a PHP framework which Drupal depends on, uses a similar release schedule. Unfortunately the timing of Drupal's releases has historically occurred 1-2 months before Symfony's releases, which forces us to wait six months to adopt the latest Symfony release. To be able to adopt the latest Symfony releases faster, we are moving Drupal's minor releases to June and December. This will allow us to adopt the latest Symfony releases within one month. For example, Drupal 8.8.0 is now scheduled for December 2019.

We hope to release Drupal 9 on June 3, 2020

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.

Planned Drupal 8 and 9 minor release dates.We are building Drupal 9 in Drupal 8

Instead of working on Drupal 9 in a separate codebase, we are building Drupal 9 in Drupal 8. This means that we are adding new functionality as backwards-compatible code and experimental features. Once the code becomes stable, we deprecate any old functionality.

Let's look at an example. As mentioned, Drupal 8 currently depends on Symfony 3. Our plan is to release Drupal 9 with Symfony 4 or 5. Symfony 5's release is less than one year away, while Symfony 4 was released a year ago. Ideally Drupal 9 would ship with Symfony 5, both for the latest Symfony improvements and for longer support. However, Symfony 5 hasn't been released yet, so we don't know the scope of its changes, and we will have limited time to try to adopt it before Symfony 3's end-of-life.

We are currently working on making it possible to run Drupal 8 with Symfony 4 (without requiring it). Supporting Symfony 4 is a valuable stepping stone to Symfony 5 as it brings new capabilities for sites that choose to use it, and it eases the amount of Symfony 5 upgrade work to do for Drupal core developers. In the end, our goal is for Drupal 8 to work with Symfony 3, 4 or 5 so we can identify and fix any issues before we start requiring Symfony 4 or 5 in Drupal 9.

Another example is our support for reusable media. Drupal 8.0.0 launched without a media library. We are currently working on adding a media library to Drupal 8 so content authors can select pre-existing media from a library and easily embed them in their posts. Once the media library becomes stable, we can deprecate the use of the old file upload functionality and make the new media library the default experience.

The upgrade to Drupal 9 will be easy

Because we are building Drupal 9 in Drupal 8, the technology in Drupal 9 will have been battle-tested in Drupal 8.

For Drupal core contributors, this means that we have a limited set of tasks to do in Drupal 9 itself before we can release it. Releasing Drupal 9 will only depend on removing deprecated functionality and upgrading Drupal's dependencies, such as Symfony. This will make the release timing more predictable and the release quality more robust.

For contributed module authors, it means they already have the new technology at their service, so they can work on Drupal 9 compatibility earlier (e.g. they can start updating their media modules to use the new media library before Drupal 9 is released). Finally, their Drupal 8 know-how will remain highly relevant in Drupal 9, as there will not be a dramatic change in how Drupal is built.

But most importantly, for Drupal site owners, this means that it should be much easier to upgrade to Drupal 9 than it was to upgrade to Drupal 8. Drupal 9 will simply be the last version of Drupal 8, with its deprecations removed. This means we will not introduce new, backwards-compatibility breaking APIs or features in Drupal 9 except for our dependency updates. As long as modules and themes stay up-to-date with the latest Drupal 8 APIs, the upgrade to Drupal 9 should be easy. Therefore, we believe that a 12- to 18-month upgrade period should suffice.

So what is the big deal about Drupal 9, then?

The big deal about Drupal 9 is … that it should not be a big deal. The best way to be ready for Drupal 9 is to keep up with Drupal 8 updates. Make sure you are not using deprecated modules and APIs, and where possible, use the latest versions of dependencies. If you do that, your upgrade experience will be smooth, and that is a big deal for us.

Special thanks to Gábor Hojtsy (Acquia), Angie Byron (Acquia), xjm (Acquia), and catch for their input in this blog post.

Categories: Drupal

SPARQL Entity Storage

New Drupal Modules - 12 December 2018 - 4:14am

Provides a SPARQL entity storage and entity query to be used by Drupal entities. ToBeExpanded...

Categories: Drupal

Entity Switcher

New Drupal Modules - 12 December 2018 - 12:26am

This module allows to toggle between two entities.

Sponsors Live example

Here's a live example of this module working in the real world: https://www.unicef.es/unnombreunavida#dona

Categories: Drupal

GTM dataLayer

New Drupal Modules - 12 December 2018 - 12:11am

This module integrates Drupal with Google Tag Manager, allowing you to developing complex dataLayers.

Sponsors
Categories: Drupal

Commerce Single Euro Payments Area (SEPA)

New Drupal Modules - 12 December 2018 - 12:03am

This module provides a simple SEPA (Single Euro Payments Area) payment method with IBAN validation for Drupal Commerce. After completing the order a mail with the SEPA Direct Debit Mandate can be sent to the customer with all necessary information that the customer must return completed and signed.

Sponsors
Categories: Drupal

Entity Library

New Drupal Modules - 11 December 2018 - 11:49pm

This module provides an entity config for dynamic library declarations.

Recommended projects Sponsors
Categories: Drupal

Simple Json Viewer

New Drupal Modules - 11 December 2018 - 10:54pm

Simple JSON Viewer is the module built to beautify the given JSON.

Features:

  1. It can be used with any editor by using simple class "simple-json-viewer"
  2. it can be used in custom js by using simpleJsonViewer function
  3. it can be used as ajax by using simpleJsonViewer function

Usage 1:

Just add some JSON in any html tag with the class name "simple-json-viewer"

Categories: Drupal

Stripe Webhooks

New Drupal Modules - 11 December 2018 - 10:54pm

This module adds a Stripe Webhook endpoint to to receive notifications of the desired events and launch Symfony events.

Categories: Drupal

Loading Bar

New Drupal Modules - 11 December 2018 - 10:27pm

This module provides a highly flexible progress bar form element based on SVG,
using LoadingBar.js library.

Sponsors
Categories: Drupal

Commerce GoCardless Client

New Drupal Modules - 11 December 2018 - 1:12pm

The module integrates Drupal Commerce with GoCardless.com, and creates direct debit mandates for new orders upon check out. GoCardless is a recurring payment specialist, and is very competitive compared with other payment services, charging just 1% on transactions, with a minimum of 20p (or an equivalent amount in other currencies).

Categories: Drupal

CKEditor Blockquote Attribution

New Drupal Modules - 11 December 2018 - 12:37pm

This module includes the Blockquote Attribution plugin, an extension of the standard CKEditor
Blockquote button. This button inserts <figure> and <figcaption> markup around the <blockquote> element. This is the standard way to indicate that a piece of content is quoted from another source.

Categories: Drupal

LinkedIn Insights

New Drupal Modules - 11 December 2018 - 12:23pm

The LinkedIn Insight Tag is a lightweight JavaScript tag that powers conversion tracking, retargeting, and web analytics for LinkedIn ad campaigns. The Insight Tag should be incorporated as a standard component of all of your website's pages to enable these LinkedIn Marketing Solutions features.

Categories: Drupal

Faker Drupal 8

New Drupal Modules - 10 December 2018 - 10:10pm

Faker module uses the faker PHP library to generate dummy content. This module is useful for the demonstration websites who do not want to use Lorem/Ipsum text and ugly looking randomly generated images.

The aim of the module is to use most of the dummy content types provided by the Faker library and map it with the fields in Drupal.

Categories: Drupal

html5history

New Drupal Modules - 10 December 2018 - 6:32pm

This is an extremely lightweight and unobtrusive module that does two things.

1. Exposes the HTML 5 History Interface to Drupal's AJAX Command system.
2. Provides a system for hooking into pushState and replaceState events to provide a lightweight solution for https://stackoverflow.com/questions/10940837/history-pushstate-does-not-...

Categories: Drupal

Flocon de toile | Freelance Drupal: Provide a custom mode form to entities with Drupal 8

Planet Drupal - 10 December 2018 - 2:54pm
Like display modes that allow you to display an entity in multiple ways, Drupal 8 allows you to create multiple form modes that can be used on entities, whether they are users, taxonomy terms, contents or any custom entity. Let's discover here how to use these form modes, from their creation to their use to customize the input of a user's information, for example.
Categories: Drupal

Hook 42: Consuming JSON APIs in Drupal 8

Planet Drupal - 10 December 2018 - 2:46pm

Nowadays everyone has an API and it's fairly common to want a website you're working on to fetch data from a 3rd party API. That's because pulling 3rd party data into your website can not only enriches your website's content, but doing so can prevent the need to duplicate commonly needed data.

API provided data could include displaying weather information, going through drupal.org projects, looking through census results, or even displaying Magic the Gathering card data. In fact, every WordPress site comes with an active JSON API out of the box.

There really is an API for almost anything. It's no surprise that you'll eventually want to consume some random API while developing a Drupal website. Enough of the sales pitch, let's get started consuming JSON APIs.

Categories: Drupal

Node Access Timestamp by User

New Drupal Modules - 10 December 2018 - 2:39pm

Sets and gets the timestamp a user last accessed a node.

Categories: Drupal

Search API Field Map

New Drupal Modules - 10 December 2018 - 2:36pm
Categories: Drupal

Search API Federated Solr

New Drupal Modules - 10 December 2018 - 2:34pm
Categories: Drupal

Zivtech: Upcoming Drupal 8 Trainings in Philadelphia

Planet Drupal - 10 December 2018 - 1:22pm

Zivtech is happy to be offering a series of public Drupal 8 trainings at our office in downtown Philadelphia in January 2019. 

Whether you consider yourself a beginner or expert Drupal developer, our training workshops have everything you need to take your Drupal skills to the next level. 

Our experience

The Zivtech team has many years of combined expertise in training and community involvement. We have traveled all over the world conducting training sessions for a diverse range of clients including, the United States Department of Justice, the Government of Canada, CERN, Howard Hughes Medical Institute, Harvard University and more. 

We pride ourselves in educating others about open source, and attendees will leave our trainings with the knowledge to build custom Drupal sites, solve technical issues, make design changes, and perform security updates all on their own. We also offer private, onsite trainings that are tailored to your organization's specific needs. 

Read more
Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal