- Drupal 8.8.x will receive security coverage until December 2, 2020 when Drupal 9.1.0 is released. Sites on 8.7.x or earlier should update immediately to Drupal 8.7.14 instead, and plan to update to the latest 8.8.x release before June 3, 2020 (when Drupal 8.9.0 is scheduled for release and 8.7.x security coverage ends).
- With Drupal 8.6 coming out early September this year, I thought it was important to talk a little bit about one of the features that has me most excited: a one line command to run Drupal locally that ships in core. You may be asking yourself, “how important can one command really be?”.
Drupal 8.6.x 8.6.16 Third-Party Libraries Vulnerability Description According to its self-reported version, the instance of Drupal running on the remote web server is 7.0.x prior to 7.67, 8.6.x prior to 8.6.16, or 8.7.x prior to 8.7.1. It is, therefore, affected by a path traversal vulnerability.
The Drupal community has just announced a major upgrade to Drupal 8. This upgrade delivers a better user experience, turning the customer into a hero at work.
WASHINGTON (PRWEB)September 04, 2018 - The Drupal community has just announced a major upgrade to Drupal 8. This upgrade delivers a better user experience, turning the customer into a hero at work. From easier installation and more stable upgrades for the technical teams, to improved user experience for the marketing and content editor teams—Drupal 8.6.0 provides significant improvements over all past versions of Drupal.
A new demo is provided to inspire site builders with the art of what’s possible. Plus, marketing teams can publish complex content with ease using new content editor features, including: improved video embed support, a new media library, a workspaces feature for enhanced workflow moderation, and significant layout improvements. As with any major feature update, users will also see quite a few overall fixes and testing improvements.
Megan Sanicki, Executive Director of the Drupal Association, said, “Drupal 8.6 is a significant upgrade because of its emphasis on ease of use. This version levels up the customer experience, making it easier and less expensive to migrate from older versions, easier to install, as well as easier for marketing teams to deliver impact, faster. With a highly engaged community focused on delivering features that make customers shine, I’m excited about this release and what is on the horizon for Drupal.”
So what's new in Drupal 8.6.0?
A great feature in Drupal 8.6.0 is that migration support is greatly improved and makes it easier to migrate from Drupal 6 and 7 to Drupal 8. This release sees both Migrate Drupal (migrations from previous major Drupal versions) as well as Migrate Drupal UI (upgrade user interface) modules provide a solution to update older sites. This means that if you have a monolingual Drupal 6 or 7 site, you can now use a supported and built-in user interface to migrate your site to Drupal 8. Multilingual migrations are still experimental and now wrapped in the Migrate Drupal Multilingual module.
Also new in this version is built-in stable support for embedding remote media, shipped preconfigured to support YouTube and Vimeo videos. Also, in a new experimental module, you can now browse existing media and add new media using an integrated widget. The media library can be customized depending on customer needs.
The layout capabilities in Drupal 8.6.0 are much improved. The experimental Layout Builder module is an exciting advancement for site builders as it supports per-display customizations (e.g. full mode vs. search result). Rather than being limited by fields stacked on top of each other, users can create layouts with dynamic sections—creating more opportunities for custom layouts. It is also possible now to add content unique to a specific layout. This is useful for things like a promotion that is only visible within a single landing page.
Drupal 8.6.0 also offers a new demo profile and theme within the installer. This is particularly interesting for CMS evaluators and development agencies as it provides an easier way to see what’s possible with Drupal 8. The cooking magazine demo, Umami, is a beautiful, modern demonstration of Drupal's capabilities using an imaginary food site to showcase Drupal's data modeling, listing, page composition and content moderation capabilities. Sample author and magazine editor users are created to experience different aspects of using Drupal's content management interface.
Digital agency Palantir.net's CEO Tiffany Farriss states, “Drupal has powerful capabilities. For too long these have been hidden behind the scenes where only existing or technical users could experience them. We are thrilled to now have Umami, to show the strength and capabilities of Drupal to both technical and marketing users, right out of the box.”
Drupal 8.6.0 is also offering a new experimental workspaces module that is crucial when reviewing large amounts of content. The existing content moderation functionality is great when you need to move individual pieces of content through an editing and approval workflow. The new experimental Workspaces module will allow packages of content to be reviewed all at once, with the ability to define multiple workspaces, make changes and deploy between them with an intuitive user interface.
Recognizing the need for lightning-fast communications within its organization, Alimentation Couche-Tard consolidated several legacy systems to create one, global intranet to connect its workforce. Called Inner Circle, the new intranet provides a powerful platform to share messaging and operational information across the company while creating organization-wide synergies and efficiencies for more than 100,000 employees. It takes advantage of Drupal 8’s content authoring, workflow, and multilingual capabilities to create a forum that’s both super-local and super-global.
“Couche-Tard can aggregate all of the organization’s knowledge, content, and resources into one place, and then filter through and deliver a highly personalized experience for every employee or stakeholder, based on their role, geography, and language,” said Marie-Noëlle Cano, Alimentation Couche-Tard senior director of global communications. “Couche-Tard improved the scope, speed, and substance of its internal communication with Drupal 8 while reducing costs.”
The Drupal community has worked hard to make it significantly easier to start a quick evaluator or development environment; the numerous technical improvements allow quick setup that opens a browser ready to use. The installer now also recognizes existing configuration and provides an option to easily rebuild a site from that existing configuration—pulling content from the cloud rather than requiring the content to be stored locally.
“This update is full of new and exciting features which show that Drupal is the go-to platform for ambitious digital experiences. On behalf of the Drupal Association and the Drupal community, I want to thank everyone who contributed to Drupal 8.6.0,” said Sanicki.
Drupal is content management software. It is used to make many of the websites and applications you use every day. Drupal has great standard features, easy content authoring, reliable performance and excellent security. What sets it apart is its flexibility; modularity is one of its core principles. Its tools help you build the versatile, structured content that ambitious web experiences need.
About the Drupal Association
The Drupal Association is dedicated to fostering and supporting the Drupal project, the community and its growth. The Drupal Association helps the Drupal community with funding, infrastructure, education, promotion, distribution and online collaboration at Drupal.org.
More information about Drupal 8.6.0
Tim Lehnen, Director of Engineering, Drupal Association: tim(at)association.drupal(dot)org
With the end-of-life (EOL) for Drupal 8 closing in fast, we wanted to share our experience on how we have been handling the process of upgrading our client projects to Drupal 9.
The Drupal 8 EOL date is November 2nd 2021. This is because Drupal 8 has a dependency on Symfony 3 which has an end-of-life in November. That means there will be no further security fixes implemented, so to keep your project safe and secure against potential threats, it is strongly advised to upgrade to the latest version of Drupal.
No “migration” needed?!
Correct! With the upgrade from Drupal 8 to Drupal 9 – there is no need for migration; the new features for Drupal 9 were gradually released inside Drupal 8. The main change that Drupal 9 brings is the removal of deprecated code, much like getting a hair-cut.
However, this was not the case with the change from Drupal 7 to Drupal 8. From Drupal 7, there was a multitude of different changes that resulted in requiring a comprehensive and often complex migration. This led to many clients opting for a complete rebuild from the ground up to take full advantage of new features such as “workspaces” that arrived in Drupal 8.6.0.
What about contrib modules?
The “Drupal 9 deprecation” dashboard overview shows the overall compatibility status of all contributed modules to the Drupal ecosystem. Over 88% of the top 1000 contrib modules are explicitly compatible with Drupal 9, meaning they have a Drupal 9 release.
Additionally, more than 50% of all Drupal modules are compatible with Drupal 9, and a further 20% require only the info.yml file and/or the composer.json file to be upgraded to make them compatible with Drupal 9.
How do we upgrade our projects?
At Amazee Labs, we deal with a diverse range of clients – all of which have their own distinctive requirements – so we construct elegant solutions tailored to their unique business needs.
With such a diversity of projects, we developed a solid plan to upgrade each project to Drupal 9. Our maintenance team’s strategy involves the following three stages:
The Analysis stage involves scanning the project server and codebase to identify the complexity of the upgrade process. Some of the information we gain from this analysis answers the following questions:
- What version of PHP is the server using?
- What version of Drupal Core is installed?
- Is the Drupal Core Media module enabled?
- How many contrib modules are installed?
- How many of those contrib modules are outdated?
- How many custom modules have been created?
We have a few pre-conditions that the project must pass before we can continue:
- The server is running on PHP version 7.4
- Drupal Core 8.8.x is installed or ideally the latest release from the Drupal Core 8.9.x branch
- Drupal Core’s Media module is enabled
If we have detected that the PHP running on the server is lower then version 7.4, then we need to update this first. If the project is hosted on Lagoon, by amazee.io, then this is generally a breeze to update, as it is highly developer-friendly.
If we detect an older version of Drupal Core released before version 8.8.x, then we create a task to upgrade Core to the latest 8.9.x version. Within the web maintenance team, we have taken over some very outdated projects and meticulously updated each one, always involving the client within our Agile workflow, to build trust throughout the entire development process.
To ensure Media in Core is enabled, the process to migrate from the contrib Media Entity modules to Drupal Core Media is outlined over on the FAQ page on drupal.org.
During this initial investigation, we install the Upgrade Status and Upgrade Rector modules, then generate a report containing information on what modules require updating. Furthermore, we generate fixes for deprecated code in the custom modules.
With our web maintenance service offering, we ensure the longevity and reliability of our clients’ projects by keeping their websites up to date and secure.
With the results from the analysis stage, we then create individual tasks to tackle the challenges that lie ahead. The drupal.org documentation has some information on how to upgrade from Drupal 8 to Drupal 9 or higher.
The Upgrade Rector module helps us to perform automated fixes on the codebase. For contrib modules that lack a Drupal 9 release, we contribute back to the community by submitting fixes and collaborating with maintainers to aid them in releasing a new version of their module.
Many Open Source communities have found that to support their growth and ensure long-term sustainability they’ve opted to utilise platforms that pay contributors or embrace corporate sponsors. Underrepresented groups, in particular, do not always have the privilege of free time to contribute to Open Source outside of work hours. At Amazee Labs, we can take advantage of providing contributions to the Drupal community during work hours. Gábor Hojtsy has an extensive overview of articles aimed at helping to push contributed modules to a successful Drupal 9 release.
So we have gone through and analysed the code, updated the modules and exported the configuration, now how do we deploy our changes to the production environment?
Our workflow for the majority of our projects tends to be as follows:
- All projects have at least two environments:
- production and development with their respective databases
- Some benefit from Lagoon's Pull-Request environment feature
- A production git branch, often named “prod” for short
- A development git branch, often named “dev” for short
Here is our 13-step guide:
- A developer first checks out the project codebase locally.
- The developer then fires up a local instance either with Docker or with native PHP.
- For Docker, they would either use Pygmy or Lando’s Lagoon beta. For native PHP, they would simply run “drush serve” with an SQLite database.
- The developer then creates a feature branch on git from the latest changes on the prod branch.
- Using the composer tool, the developer upgrades the necessary modules as well as upgrades Drupal Core.
- Then they run the update database command in Drush and export the configuration changes.
- After this, they commit all changes: configuration changes, composer JSON and lock file changes, as well as any other changes to the custom modules or custom theme.
- They push their local git branch to the remote origin and create pull-request into the prod branch.
- If PR environments are available, then this would automatically spin up a new environment with all the changes, ready to be tested by another developer.
- If the project does not have PR environments available (i.e. if it is not hosted on Lagoon), then the developer will merge their changes into the development environment so that another developer can test.
- If the second developer does not find any specific issues during their testing process, then the project manager is informed that they can test the changes with the client.
- If the project manager and the client find no specific issues with the changes, then the pull-request is approved for deployment to production.
- The original developer is empowered to deploy on their own (but the team is always there for one another). The developer will trigger the deployment by simply merging the pull request they made into prod.
- Once the deployment is completed, the developer informs the project manager and client that their website is now running on the latest version of Drupal.
Once we have gone through and updated the modules, upgraded Drupal to the latest stable release, and deployed everything to the production environment, then...we celebrate our accomplishment internally with the rest of the team – a job well done!
In retrospect, the upgrade from Drupal 8 to Drupal 9 is a piece of cake compared to the upgrade from Drupal 7. It feels like we are modernising the website in small bites instead of trying to gobble down a brand new refreshed website all at once.
Ready to talk about your upgrade needs? Whether you’re operating on Drupal 7 or 8, We’re ready to help. Get in touch with us and upgrade to Drupal 9 today!