Planet Drupal

CiviCRM Blog: CiviCRM + Drupal 8: The Official Make It Happen

2 weeks 2 days ago
If your organisation uses CiviCRM with Drupal, and would like to do in the future, we need your help!   Over the past few years lots of amazing work has been done on the unofficial Drupal 8 CiviCRM release.
The CiviCRM core team have looked at this and are now in a position to complete the work to make this an official CiviCRM release. This means they will make changes so
  • CiviCRM can easily be installed with Drupal 8
  • They will ensure CiviCRM works with Views in Drupal 8
  • Going forward future CiviCRM releases will be tested with Drupal 8
This Make It Happen is raising $25,000 which will be used to complete this work.
Any money raised by the Make It Happen which is not spent on the initial work will be used to support future work on the CiviCRM Drupal 8 integration as needed.    What about Drupal 9? Isn't that being released soon? Both Drupal 7 and 8 are officially supported until November 2021. But the move from Drupal 8 to Drupal 9 will not be the same as previous Drupal major updates. It will be much easier to migrate existing sites between Drupal 8 to 9. For more information see https://dri.es/drupal-7-8-and-9. The CiviCRM core team has looked at this and the code changes required to ensure CiviCRM works with Drupal 9 should be minimal. So very importantly this Make It Happen work is also preparation for Drupal 9.   If your organisation uses CiviCRM with Drupal then please contribute to this Make It Happen. https://civicrm.org/make-it-happen/civicrm-d8-the-official-release CiviCRMDrupalDrupal 8Make it happen

Amazee Labs: Using Twig with Storybook and Drupal

2 weeks 2 days ago
Using Twig with Storybook and Drupal

Using UI pattern libraries in Storybook allow us to build a collection of front end UI components that can be used to build bigger components, even full web pages. However, frontend/backend integrations can be fraught with difficulties. In this piece, I’ll explain our process to make these challenges easy, even when using GraphQL fragments inside Twig templates.

Jamie Hollern Mon, 05/06/2019 - 20:54 What Drupal and GraphQL do well

At Amazee Labs, we build decoupled web applications using GraphQL and Drupal. We’ll touch on the reasons that we use this approach in this article, but if you’d like to know more, check out these blogs:

Drupal is known for its complex and unwieldy theming and rendering system. Data to be rendered comes from across the system in the form of templates, overrides, preprocess functions and contributed modules such as Panels and Display Suite. Sometimes trying to track down where data is being generated or altered is like a murder mystery. 

Thankfully, GraphQL Twig simplifies the situation massively. Each template has an associated GraphQL query fragment that requests the necessary data. This “pull” model (as opposed to Drupal’s normal “push” model) means that finding where the data comes from and how it is structured is really easy. We don’t need to worry about preprocessing or alteration of data, and this method lets us keep the concerns separated.

Advantages of UI component libraries

The main advantage of using a UI component library (also known as a pattern library) is that it facilitates the reusability of components. This means that when a component is created it can be used by any developer on the project to build their parts of the front end and in turn can be used to make larger and more complex components.

There are multiple extra advantages to this, the most obvious being the speed of development. Since all components are simply made up of smaller components, building new ones is usually much quicker, since we don’t need to reinvent the wheel.

This also makes maintenance a breeze, since we’re only maintaining one version of any component. If we decide that all buttons on the frontend need to have an icon next to the text, we simply change the button component and this change will apply everywhere that the component is used.

Finally, the reusability of components in a pattern library means that the UI is consistent. Often, web projects face difficulties where there are multiple versions of various components, each with their own implementation. This is especially true of larger projects built by multiple people, or even multiple teams, where no single person knows the entirety of the project’s implementation details. Thanks to the reusability of our components, we only have one implementation per component.

Challenges of using Drupal, GraphQL, and Storybook together

If done poorly, using pattern libraries like Storybook can be difficult and cause problems during the integration phase(s) of development. The main issue is usually that the frontend and backend developers have different approaches and different goals when developing. 

The frontend developer wants to create the best UI they can in the most efficient way possible, using the paradigms and approaches that are standard or preferred. Unfortunately, at times the implementation doesn’t sync well with the data structure that the backend developers receive from Drupal, so the frontend needs to be refactored or the data structure needs to somehow be altered.

How to make it work

I won’t go into detail on our implementation of the Storybook library, but we keep Storybook in the same repo as our Drupal application, outside the root. We then define a base storybook theme and using the Components module (built by my talented colleague John Albin), we define our path to the Storybook Twig templates as a component library in our .info.yml file. This way, the Drupal theme has access to all of our templates.
 

component-libraries: storybook: paths: - ../../../../storybook/twig

We then create our project-specific theme, which extends the base Storybook theme, and start to work on our integration. A generic page.html.twig file might look like this:
 

{#graphql query { ...Header ...Footer } #} {% extends '@storybook/page/page.html.twig' %} {% block header %} {% include '@storybook/navigation/header.html.twig' with graphql only %} {% endblock %} {% block content %} {{ page.content }} {% endblock %} {% block footer %} {% include '@storybook/footer/footer.html.twig' with graphql only %} {% endblock %}

So, how does GraphQL tie in here? Well, this is the really clever part. Our developers can create the GraphQL snippets to get the data needed for a specific component, and Storybook allows us to use JavaScript to use this data as mock fixtures. This means that the frontend can be built with realistically structured data, so no refactoring of templates or data alteration on the backend is needed. And since we already have the GraphQL snippet, this automatically works when run in Drupal. 

Conclusion

At Amazee, we use a UI component library because it makes sense to build a maintainable, reusable and consistent set of components for our frontend that also encourages faster development. We also try our best to streamline our integration processes so that all of our developers are more closely aligned and developing solutions that make it easier for their colleagues to use, learn and extend easily. 

Storybook gives us the power to build a component library using mock data that is structured in the exact manner that our GraphQL queries deliver it. This means no refactoring, building both queries and templates only once and an overall smooth integration process. 

Want to know more about using GraphQL and Twig? Check out our webinar
 

qed42.com: EVERYTHING YOU NEED TO KNOW ABOUT DRUPAL 8.7

2 weeks 2 days ago
EVERYTHING YOU NEED TO KNOW ABOUT DRUPAL 8.7 Body

Drupal released its latest version - Drupal 8.7.0 on 1st May 2019. The latest version of Drupal 8.7.0 accomplishes tasks like making page layouts, media management and decoupled web experiences easier to manage and deliver, conserving production time and effort and it was recently revealed at DrupalCon Seattle 2019.

Core objectives when developing Drupal 8.7 were to:

  • Make Drupal easy for content creators and site builders
  • Make Drupal easy to evaluate and adapt.
  • Keep Drupal impactful and relevant
  • Reduce total cost of ownership for developers and site owners
JSON:API at Core:


The latest Drupal 8.7 update includes JSON:API as a part of the Drupal core!  
This makes Drupal an API first platform for building both decoupled and coupled applications. JSON API module exposes the entities as a standards-compliant web API and data can then be pulled from third-party URLs or API’s.

JSON:API is designed specifically to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability.

By enabling the JSON:API module, you can immediately create a full REST API endpoint for every type(content, taxonomy, user, etc.) in your Drupal application. JSON:API inspects your entity types and their bundles to dynamically provide URLs to access every entity using the standard HTTP methods, GET, POST, PATCH, and DELETE.

JSON:API adopts the philosophy that the module should be production-ready. This means the module is highly opinionated about where your resources will reside, what methods are immediately available for them, and allows Drupal Core's permissions system control the access. The configuration pages are no longer present in this upgrade (Drupal 8.7). This means that you can get an API-driven Drupal application up and running with minimal effort.

Watch the JSON:API demohere!

Stable Layout Builder

The Stable Layout Builder was released with Drupal 8.6 as an experimental module and now it is stabilized in Drupal 8.7.

Drupal 8's Layout Builder allows content editors and site builders to easily and quickly create visual layouts for displaying content. Users can customize how content is arranged on a single page, across content types, or even create custom landing pages with an easy to use drag-and-drop interface.

Explore the sections below to find out how to get started with Layout Builder and how to apply it to templated content types. Layout Builder is anchored on one of Drupal’s stronger features – the ability to create structured content; but it faces some of the same accessibility challenges encountered by  WordPress’ Gutenberg editor. Drupal's Layout Builder offers a single, powerful visual design tool for three use cases:

Layouts for templated content: The creation of "layout templates" that will be used to layout all instances of a specific content type (e.g. blog posts, product pages).
Customizations to templated layouts: The ability to override these layout templates on a case-by-case basis (e.g. the ability to override the layout of a standardized product page).
Custom pages: The creation of custom, one-off landing pages not tied to a content type or structured content (e.g. a single "About us" page).

Watch the Demo of Drupal 8 Layout Builderhere!

Media Library

Drupal 8.6 had Media Library in the Drupal core, which was a part of Media Initiative. In Drupal 8.7 Media Library comes with a new stylish and handy user interface. Which makes it nice to look and nice to work with. Media library is now stable.

  Third-party library updates
  • Guzzle has been updated from 6.3.0 to 6.3.3.
  • Previously, Drupal packaged a copy of the PEAR Archive_Tar library in a Drupal core namespace. In Drupal 8.7, this has been deprecated and replaced with a proper Composer dependency on this library. The dependency has also been updated to version 1.4.6.
  • Stylelint has been updated from 9.1.1 to 9.10.1. Stylelint version: https://github.com/stylelint/stylelint/releases/tag/9.10.1
  • Coder to ^8.3.1
  • CKEditor has been updated to 4.11.3.
  • Twig has been updated to 1.38.4.
  • A number of other PHP dependencies have also been updated, including:
  • composer/installers to 1.6.0
  • composer/semver to 1.5.0
  • egulias/email-validator to 2.1.7
  • paragonie/random_compat to v2.0.18
  • Most symfony/* components to v3.4.26
  • symfony/http-foundation to v3.4.27
  • symfony/polyfill-* to v1.11.0
  • typo3/phar-stream-wrapper to v2.1.0
Other updates you can find in Drupal 8.7 are: Internet Explorer 9 and 10 will not be supported in Drupal 8.7

The 8.7.0 release is a final goodbye to Internet Explorer 9 and 10. It removes a workaround that still existed in D8.5 and D8.6 Issue link: Internet Explorer 9 and 10 support dropped from Drupal 8.4.x

Goodbye PHP 5 support

Drupal 8.7 is the last release to support PHP 5. Updates for existing websites that use PHP 5 are still possible, but a warning will be displayed. In release 8.8, Drupal security updates will require PHP 7.

Entity updates will not be automatic

In new Drupal 8.7.0 release, the support for automatic entity updates has been removed. The reason is data integrity issues and conflicts. So the drush entity: updates (drush entup) command no longer works. Changes to entities will now be performed using standard update procedures.

Symfony 4 and 5 compatibility issues resolved

Additionally, numerous critical Symfony 4 and 5 compatibility issues are resolved in this release.

Changes to base themes (Stable, Classy)

This release includes some small changes to the core's base themes (Stable, Classy). Themes that extend one of these base themes should review the following changes. JavaScript messages template changes. Pager CSS ID changed from "pagination-heading" to a unique ID.

 

These Drupal upgrades are gradually getting us ready for Drupal 9. If you have questions regarding Drupal upgrades we are here to help. Drop us a word at .

sonvir.choudhary Mon, 05/06/2019 - 20:43

Drupal Association blog: Make our membership campaign a success

2 weeks 5 days ago

This month, we're running a membership campaign to grow our base of support and connect with more of the Drupal ecosystem. We're challenging you to take one step this month to brighten Drupal's future: invite your colleagues and clients to join the Association for Drupal's future.

By building a broader membership base, we're securing a financial future for supporting the Drupal community. A large, global base of members who contribute to sustain the Association are a force! Every member who participates is making an impact and a statement that Drupal is here to stay.

Thank you for taking the time to share this campaign.

The campaign page is full of information on our work toward current goals that help fulfill our mission. If you are using Drupal or contributing to the project, there's some part of what we do that helps you and the community at large.

Gábor Hojtsy: Present your own "State of Drupal 9" session, get slides here!

2 weeks 6 days ago

I am about to present about Drupal 9 at DrupalCamp Belarus in May and then at Drupal Developer Days Transylvania in June . I already presented an Acquia webinar with Dries Buytaert on the topic, and was on the Lullabot Podcast discussing Drupal 9 with Angie Byron and Nathaniel Catchpole. I am a firm believer that this know-how should spread as far and wide as possible. I should not be needed to travel around the globe to present the topic and people should not spend the same time again to redo slides for their local presentations. There is no intellectual property here to hide, as many people should be aware and excited and participating as possible. The topic should be presented at Drupal Meetups, Camps, and inside your own companies. So the natural next step for me was to create an open source slideshow.

I took all that we learned from the webinar and Dries' keynote at DrupalCon Seattle as well as new technology that emerged since then. I also used a free slide template and Google Slides so you can make a copy for yourself and add your own contact information as well as edit the slides down to shorter or longer timeslots. The 51 slides in my test run for about 35 minutes, leaving 10 minutes for discussion in a 45 minute slot. You would likely need to cut content for shorter sessions. There are only basic buildup animations, so if you need to present offline that is also an option. Edit in your contact/introduction info and export and present as PDF.

The 1.0 version of the slides have been presented by Christian Fritsch at DrupalCamp Munich last week and I updated some content to the current 1.1 version as it is available now. I'll keep updating slides based on all your feedback. I shared the slides with public comments allowed, so keep the feedback coming there, comments here or some other way you can get ahold of me.

Resources to watch/listen to learn more include:

  1. Dries' State of Drupal presentation from DrupalCon Seattle
  2. Lullabot Podcast on Drupal 9
  3. Acquia Webinar on Drupal 9

Thanks to Acquia for funding me to create this slideshow and thank you for presenting it!

DEV :: Drupal, Skepticism and Spaceships...: Where is drush?

2 weeks 6 days ago
Where is drush? Unifex Fri, 05/03/2019 - 10:58

Part of me is suspecting that I may be one of the lucky 10,000 today but I figure it's worth putting this out there because if I wasn't aware of this then there may be others too. It turns out that the version of Drush that you just installed may not be the version of Drush that executes your command.

So, as it happens there's a number of ways to install Drush. Older OSs may have it in the package management system, you may have just installed it globally using the instructions on the site, or, if your project is managed by composer it may have been installed as a site-local version. In my case I had messed it up just a little and had multiple versions hanging around and, despite having definitely downloaded and installed drush 8.2.3 to /usr/local/bin/drush and I confirmed that this was being called via which drush when I ran drush --version it informed me I was running version 9.6.2.

The thing that I didn't know... Drush will check the directory the site is in to see if there is a local-site version installed and pass off the request to that. So despite having Drush 8.2.3 installed and called from the command line the request was finding the local copy and returning results from that. If it wasn't for the fact that this was a Drupal 7 site and I'd inadvertently installed Drush 9.x locally via composer (Drush 9.x doesn't support Drupal 7.x) I'd never have known that this was how it worked.

Big thanks to Kirill for correcting my brain meat on this.

Planet Drupal

Drupal In the News: Drupal 8.7.0 release marks rigorous, unique update to Drupal 8

2 weeks 6 days ago

Release offers all-new stable layout builder, meets web accessibility guidelines
 
Washington D.C., Wednesday, May 1, 2019 - The Drupal community announces an update to Drupal 8. This new version — Drupal 8.7.0 — is a leap forward in the Drupal content manager experience as a creative tool streamlining workflows and improving efficiency within teams. Drupal 8.7.0 also maintains the project's commitment to web content accessibility guidelines, enabling screen readers or keyboards to navigate options — meaning this version is accessible to all. 
 
Drupal's newly stable Layout Builder module enables a drag-and-drop editing experience, which means no custom code or theming is required in order to lay out pages. But Drupal goes far beyond similar offerings by competitors, empowering content editors with increased power and flexibility: enabling management of templated layouts, support for powerful overrides based on content-type, and support for one-off landing pages. 
 
“Not only can this version support basic use cases, it also supports advanced use cases,” said Drupal Founder Dries Buytaert. “These types of templated layouts and workflow updates are not available in competitors’ layout building tools.” 
 
Drupal 8.7.0 provides significant improvements over all past versions of Drupal, particularly by including JSON:API as a stable module in core. By enabling the JSON:API module, all Drupal entities such as blog posts, users, tags, comments and more become accessible via the JSON:API web service API. This is a powerful, standards-compliant, web service API to pull content into JavaScript applications, digital kiosks, chatbots, voice assistants and more. This propels Drupal further into the lead among headless content management systems, making it the clear choice for the backbone of digital experiences beyond the web.
 
Drupal 8.7.0 provides the JSON:API for reading and modifying resources, interacting with relationships between resources, and filtering, sorting, and pagination of resource collections. It also supports complex workflows, allowing for a staging or approval process. 
 
Tim Lehnen, Executive Director of the Drupal Association, said, “Drupal 8.7 is a milestone release for the Drupal project. It simultaneously extends Drupal's lead as a powerful, API-first content framework, and leapfrogs competitors' tools for content editors.” 

In addition to being incredibly powerful, JSON:API is easy to learn and put into practice, and uses all the existing tooling to test, debug, and scale Drupal sites. 

“This feels like the dawn of a new chapter for Drupal and its authoring experience and we’re certain we’ve only scratched the surface,” said Caroline Casals, a developer at Phase2 - a digital experience agency. 
 
Overall, this version streamlines the user experience for Drupal content creators and site builders, allowing front-end developers to work easily and efficiently. More than two years’ of commits from the open source community built this rigorous release. 
 
“On behalf of the Drupal Association and the Drupal community, I want to thank all of the contributors who made the Drupal 8.7.0 release possible,” Lehnen said. 
 
 
 
About Drupal
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.
 

###

Drupal In the News: Drupal Global Splash Awards Announced in Seattle

3 weeks ago

SEATTLE (PRWEB) APRIL 23, 2019

The Drupal community has just announced the winners of the inaugural Global Splash Awards. Drupal development and design leaders from around the world gathered in Seattle for the awards ceremony in mid-April, where 14 winners across 13 categories were announced, with 1 tie. The awards were held in conjunction with DrupalCon Seattle 2019.

The Splash Awards recognize the best Drupal projects on the web. Each digital experience represents a step forward in digital innovation, and a new model for others to follow.

Michel van Velde, co-founder of the awards, said, "It is wonderful to see the Splash Awards come both to North America and to a global audience for the first time." Co-founder Baddy Breidert added, "With the wider reach of audience, we saw an outstanding level of projects nominated and showcased at this ceremony."

The Nominees

A total of 109 nominations were submitted, across 13 categories. In the tight field, there was a tie for project of the year: Lullabot for JSON:API and the City of Detroit, Michigan for their government municipal site detroitmi.gov. Other categories and winners include: 

  • E-Commerce: Rob Edwards Freelance, Apex Running 
  • Corporate: Elevated Third, Central Square 
  • Design/UX: Burst, Chupa Chups 
  • Non-Profit: Made It Digital, Memory of Nations 
  • Education: Connect-i, Opigno 
  • Government: City of Detroit, detroitmi.gov 
  • Publishing / Media: Lemberg Solutions, Monda Magazin 
  • Tools / Apps: Genuine Interactive, FotoOppTM 
  • Social / Community: Phase2, Pinterest 
  • Theme: Last Call Media, Mass.gov 
  • Care / Healthcare: Mediamonks, Montefiore - Orthopedics 
  • Best module: Lullabot, JSON: API

Edgar Montes from the City of Detroit, Michigan, and tied winner for Project of the Year, said, “We like to believe that our dedication to the people of Detroit has helped us deliver a website that can serve the needs of the city and its people; a majority of the web team lives within the city and we make a point of trying to understand the needs of every part of the site and how to best convey the information it contains. It's important to us to try to demonstrate that great things continue to come out of a city which has seen its fair share of struggles and triumphs.”

Both the Splash Awards and the DrupalCon conferences bring the world community together; big agencies and small independent developers, all using Drupal and harnessing the power of open source. The next European Splash Awards will be held in conjunction with DrupalCon Europe 2019, taking place in Amsterdam, Netherlands in October 2019.

About Drupal

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.

###

Duo Consulting: Everything You Need to Know About Drupal 8.7

3 weeks ago

At this year’s DrupalCon, held earlier in April in Seattle, Drupal founder Dries Buytaert gave attendees a preview of the newest version of Drupal: 8.7. Now, the wait is over. Drupal 8.7 is launching today, May 1, adding a new suite of features and fixes that will improve the Drupal experience for everyone with an up-to-date platform.

In his keynote, or “Driesnote,” Dries laid out what made this new release so special. Speaking to the Drupal community at large, Dries shared that the Drupal team had several core objectives when developing Drupal 8.7:

  • Make Drupal easy for content creators and site builders
  • Make Drupal easy to evaluate and adopt
  • Keep Drupal impactful and relevant
  • Reduce total cost of ownership for developers and site owners

Each one of these goals represented a major challenge, but the newest version has delivered a variety of updates that each make Drupal a more robust platform.

Empowering content creators

One of the biggest features in Drupal 8.7 is the newly stable Layout Builder tool. The product of the efforts of 123 contributors and 68 supporting organizations, Layout Builder makes designing pages more user-friendly. As the name implies, the Layout Builder tool enables editors to manually adjust the design and format of a page. With this tool, editors can make changes to the layout without having to involve developers every time. Dries displayed a demo of the Layout Builder tool during the Driesnote, which can be found below.

Along with layout builder, the other major content improvement ushered in by Drupal 8.7 is the updated media module. As of this most recent update, reusable media, images, video and drag-and-drop features for the media module are all stable, with the media library currently in the “experimental” state. Combined with layout builder, these updates make Drupal 8.7 a great update for content editors.

Out of the box functionality

While Drupal 8.7 certainly makes life easier for editors, it doesn’t stop there. New out of the box features make Drupal easier to adopt than ever. New to the Umami theme in Drupal 8.7  are demo articles containing Spanish translations by default and improved accessibility throughout the theme, with new labels and focus styles highlighted. This helps to show Drupal 8.7’s capabilities in terms of both multilingual and accessibility right out of the box. Additionally, the “Welcome tour” feature makes it easier for agencies to demo the platform. All of these features are included with the new update automatically.

Staying relevant

To remain a driving force in the market, Drupal needs to keep up with the times. The biggest breath of fresh air Drupal 8.7 brings to the platform is the addition of the JSON:API to the core. This development extends Drupal’s “API-first” philosophy, enabling decoupled and headless solutions. If this type of buildout is what your organization needs, the Drupal 8.7 update makes developing these popular solutions much easier.

Lowered costs

Because Drupal 9 (D9) is built on the same codebase as D8, the eventual upgrade process will be much easier than a conventional website upgrade. Previously, upgrades were major undertakings that required a lot of development effort. Now, as long as a site is not using any deprecated code, upgrading to D9 will be very straightforward. A tool called drupal-check is already available to check for deprecated code, so it’s already possible to start getting a site ready for D9. In the meantime, Drupal 8.7 offers a number of new features and enhancements and is another step toward the eventual D9 upgrade..

There’s certainly plenty to enjoy with this new release, but the updates don’t stop here. With Drupal on a six-month release cycle, there will be a new version of Drupal on November 1. Drupal 8.8 promises an updated WYSIWYG editor along with a potentially updated Admin UI, an ongoing project for the Drupal team. Beyond that is D9, the latest edition of the platform.

Duo can help you make the most out of Drupal 8.7’s newest features while also planning your roadmap for upgrading. If you’re ready to see what the future of Drupal has to offer, reach out to us today.

Drupal blog: Drupal 8.7.0 is available

3 weeks ago
What’s new in Drupal 8.7.0?

This release introduces powerful features that will help us all take Drupal to a whole new level. The new stable JSON:API core module as well as the intuitive and accessible stable Layout Builder are game-changing.

Download Drupal 8.7.0

Layout Builder is stable

The Layout Builder module was originally introduced as an experimental module in Drupal 8.5.0. As of Drupal 8.7.0, Layout Builder is now stable and ready for production use! It provides a powerful, accessible, mobile-friendly page building tool that is fully compatible with revisions, workflows, and in-context previews.

The Layout Builder enables site builders to rapidly create layout templates for content that speed up the development process. It also permits content authors to easily customize individual pages with unique layouts.

The interface allows drag-and-drop management of your content blocks. It additionally supports keyboard controls and toggling the content preview on and off to give the content editor complete control of their experience while building their layouts.

The result of all these features is a state-of-the art content management solution that streamlines mass-production while also supporting unique creation. 123 individuals and 68 organizations contributed to this feature. More than 40 of the individual contributors volunteered some or all of their time.

Check out this demonstration based on the core Umami demo:

The team is working on implementing translation support for layouts in a future release.

New stable JSON:API support

JSON:API support is now included as a stable core feature. The JSON:API specification is an easy and fast way to build decoupled applications. Drupal core's JSON:API module is feature-complete and easy to use with robust out-of-the-box support and simple setup. JSON:API makes it simpler than ever to build ambitious projects. 147 contributors and 76 organizations contributed to this new feature. Among the individual contributors, more than 50 volunteered some or all of their time.

For example, by simply navigating to a URL like https://example.com/jsonapi/node/article, you can get a list of available articles on your site, and filter further from there, to display your Drupal content in decoupled websites, mobile applications, and so on.

Improvements in experimental Media Library

The experimental Media Library has numerous significant improvements in this release. The Media Library is built on top of the stable Media module, which allows reuse of images, documents, and even embedded remote media like YouTube videos. Items in the Media Library can be managed with drag-and-drop. This release improves the design and accessibility of the user interface, allows inline media creation in the library, and provides more flexible grid and table views. 310 contributors and 122 organizations contributed to this new feature. More than 100 individuals volunteered some or all of their time!

Check out this demonstration based the core Umami demo with Media Library enabled:

There are various tasks left to make Media Library stable in a future release, including WYSIWYG integration.

Revisionable menus and taxonomy terms

Custom menu links and taxonomy terms are now revisionable, which allows them to be used in editorial workflows (similarly to nodes, media, and custom blocks). The Entity system now also provides a new Update API to support conversion of further entity types. It supports converting the schema of any content entity type between non-revisionable or non-translatable and revisionable or translatable, which also works when there is pre-existing data for the entity type whose schema is being changed. All these changes improve core support for the Workspaces module.

New features in the Umami demo profile

The Umami food magazine demo is now more accessible and demonstrates more features out of the box, including a new welcome tour, Layout Builder integration for recipes, and multilingual features. The profile now includes a curated set of Spanish translations, and more languages are in the works. 187 contributors and 84 organizations have contributed to Umami, with more than 60 individuals volunteering some or all of their time.

Umami empowers first-time users to spin up a Drupal project in no time so that they can use to evaluate Drupal and learn about its major components.

On the way to Drupal 9

Drupal 8.7.0 includes optional support for Twig 2 (for sites that can patch their Composer configuration). Optional support for Symfony 4 also received a lot of contributions and should be complete in 8.8. This is important work, because Drupal 9 is planned for June 3, 2020 and will update various dependencies, primarily Symfony. Testing Drupal with updated third-party dependencies will help us get better feedback on our compatibility with these dependencies and any difficulties sites encounter when upgrading.

What does this mean for me? Drupal 8 site owners

Update to 8.7.0 to continue receiving bug fixes. The next bugfix release (8.7.1) is scheduled for June 5, 2019. (See the release schedule overview for more information.) As of this release, sites on Drupal 8.5 will no longer receive security coverage. (Drupal 8.6 will continue receiving security fixes until December 4, 2019.)

Note that new Drupal 8.7.0 installs now require at least PHP 7.0.8. Existing sites still work on at least PHP 5.5.9 for now, but will display a warning. Drupal security updates will begin requiring PHP 7 as early as Drupal 8.8.0 (December 2019), so all users are advised to update to at least PHP 7.0.8 now.

Updating your site from 8.6.15 to 8.7.0 with update.php is exactly the same as updating from 8.6.14 to 8.6.15. Drupal 8.7.0 also has updates to several dependencies. Modules, themes, and translations may need updates for these and other changes in this minor release, so test the update carefully before updating your production site. Read the 8.7.0 release notes for a full list of changes that may affect your site.

Drupal 6 and 7 site owners

Drupal 7 is fully supported by the community until November 2021, and will continue to receive bug and security fixes throughout this time. From November 2021 until at least November 2024, the Drupal 7 Vendor Extended Support program will be offered by vendors.

Drupal 6 is no longer supported.

You can now use the stable migration path for monolingual Drupal 6 and 7 sites with the built-in upgrade user interface. For multilingual sites, there is experimental support; please keep testing and reporting any issues you may find.

Translation, module, and theme contributors

Minor releases like Drupal 8.7.0 include backwards-compatible API additions for developers as well as new features.

Since minor releases are backwards-compatible, modules, themes, and translations that supported Drupal 8.6.x and earlier will be compatible with 8.7.x as well. However, the new version does include some changes to strings, user interfaces, internal APIs and API deprecations. This means that some small updates may be required for your translations, modules, and themes. Read the 8.7.0 release notes for a full list of changes that may affect your modules and themes.

This release has advanced the Drupal project significantly and represents the efforts of hundreds of volunteers and contributors from various organizations, as well as testers from the Minor release beta testing program. Thank you to everyone who contributed to Drupal 8.7!

Sooper Drupal Themes: 7 Drupal 8 Books that can Improve your Developer Skills

3 weeks ago
Learning from Drupal 8 Books

Drupal is known to be a complex and great CMS. However, if you are planning on starting to learn Drupal 8, you will soon notice that it is more complicated than Drupal 7 and other content management systems. Drupal is known to have a steep learning curve, which makes it more challenging to pick up and get started. In this article, I’m going to show you some great books that help you learn Drupal in a systematic, beginner-friendly way. My blog post is going to include 7 Drupal 8 books that are covering the basics and are beginner friendly, books that will challenge the skills of seasoned Drupal developers and books that are teaching specific Drupal skills. Pick your poison!

Drupal 8 Explained: Your Step-by-Step Guide to Drupal 8

The first from our list of Drupal 8 books is going to be Drupal 8 Explained: Your Step-by-Step Guide to Drupal 8. This book can be a great introduction to the Drupal world. It covers a brief background of Drupal, it guides you through the installation process and through a simple site build. It has easy to follow explanations. This book will definitely jumpstart your Drupal 8 developer career!

Drupal 8 Development Cookbook

This book is another great source on our Drupal 8 books list from where you can deepen your development knowledge. Drupal 8 Development Cookbook covers some of the basics of Drupal 8. However, it is not a beginners book. This book will delve deeper in the Drupal development and cover topics such as forms, block, permissions, routing, field formatters, configuration management, themes, etc. This book is not for the beginner or developer that wants to build a site without touching a line of code. It is geared towards developers that want to build custom Drupal 8 modules.

Drupal for Education and E-Learning - Second Edition

Drupal for Education and E-Learning - Second Edition is a great book that touches the topics of installing, modules and site maintenance. However, it goes in greater depth when it comes to describing on how to configure different modules to best appeal to a higher education audience. It manages to do this by introducing modules such as views, organic groups, media and concepts such as fields, display modes, entities and relationships. On top of that it also talks about more complex subjects such as PHP snippets and command line interactions. Overall, a great book for those who are in the education field and want to discover Drupal.

Mastering Drupal 8 Views

Mastering Drupal 8 Views is a great book that shares the knowledge of creating views in Drupal. What is interesting about this book is the fact that the story is told from the point of view of Lynn, a small business owner and protagonist of the book. In the book, the struggles of Lynn are presented when she is faced with the Views module. This approach to the book makes it possible for the reader to be able to realise the real life scenarios in which the Views module can be used. Overall, this book is a great Views master course that every Drupal developer should read if they aim to broaden their knowledge on the Views module.

Drupal 8 SEO: The Visual, Step-By-Step Guide to Drupal Search Engine Optimization

If you want to improve your search engine optimization for Drupal, then this is the book for you. Drupal 8 SEO, covers all the necessary knowledge required to be able to launch a successful SEO campaign for your Drupal website. The book contains a large number of pictures that are designed to guide you through the process of optimizing your website for SEO in a visual and easily understandable way. On top of that, it covers the topics of all the necessary modules and settings that your Drupal website needs in order to climb the rankings of Google. So, if you’re in need of some SEO optimization knowledge and you happen to have a Drupal 8 website, then this is the book for you.

Drush for Developers, 2nd edition

Drush is basically the “Drupal Swiss Army Knife”. Drush should be a tool in the arsenal of every Drupal backend developer. Drush is basically a command line shell of Drupal where if the correct code is inserted, then the function will be activated without having to be on the site. This can basically improve the efficiency and speed with which a Drupal developer can build and maintain websites. Drush for Developers, teaches exactly this knowledge, how to basically leverage the simplicity and efficiency of Drush. So if you’re new to Drush or you are a seasoned Drupal developer in search for new Drush tips and tricks, then you should give this book a read.

Drupal 8 Module Development: Build modules and themes using the latest version of Drupal 8, 2nd Edition

If you want to build your own modules, then Drupal 8 Module Development is the right choice for you. This book is a really in-depth and comprehensive guide to building your own modules. The book aims to bring Drupal 7 developers up to speed with module development for Drupal 8. It introduces the reader to the Drupal 8 architecture and its subsystems before learning to develop a module with basic functionality. The book also goes into detail about Drupal 8 APIs, on how to manage and display data and also about the theme system. This book is definitely a must if you are a Drupal 7 developer and you want to hone your Drupal 8 module development skills in a fast, comprehensive way.

Conclusion

This list of Drupal 8 books should pave an easier to follow road for every Drupal 8 beginner. On top of that, this list also contains information about specific topics that might be of interest for already initiated Drupal developers. So, pick a book that piques your interest and give it a read. Remember, knowledge is power!

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