Drupal 8 Module of the Week Recap: Paragraphs, Linkit and Search API
by Reena Leone
The latest Drupal 8 modules to be covered on the Acquia Developer Center are Paragraphs, Linkit, and Search API. Each makes working with Drupal 8 a little easier for developers in some way; by making it easier to make sites responsive, by improving the usability in WYSIWYG editors for content authors, and by providing a toolset for creating searches on Drupal sites.
Here’s a taste of what these particular modules can do.
Maintainer: Jeroen Bobbeldijk aka jeroen.b on Drupal.org.
What Does Paragraphs Do?
Paragraphs gives you cleaner data structures so you can give more editing power to your end-users. Today’s websites need to be “responsive.” That is, media, images, and other page elements need to change size and position depending on the dimensions of the screen they are being viewed on. It is very hard to take a blob of text and markup that includes embedded video or images and make the media and the layout responsive. Paragraphs Module replaces Drupal’s standard “Body” field with a wide selection of Paragraph types--from a simple text block or image to a complex and configurable slideshow and more--that can be mixed and matched on-the-fly by end users. This gives structure to the data entry, allows developers to reuse Drupal field types as paragraphs and make all the various content items and their layout responsive.
Why Does It Matter?
Replace the standard body field of a node with a paragraphs field and you can use any number of text, image, or video fields and still keep them all responsive. All content is saved in Drupal entities so it is fully compatible with Search API, Views, and services integrations. Paragraph types can also include custom option-fields and do conditional coding in your CSS, JS, and preprocess functions so that end-users can have more control over the look and feel of each item--much cleaner, more maintainable, and more stable than adding inline CSS or classes inside the body field markup. Simply add a paragraph field to any content type and choose which paragraph types should be available to content authors and how many they may place in a node. Authors can add and reorder them at will.
Maintainers: Known as anon on Drupal.org, the module’s maintainer, Emil Stjerneman, has been a Drupal consultant and developer in Sweden since 2009.
What Does Linkit Do?
Since late 2009, the Linkit module has improved usability in WYSIWYG editors for content authors in Drupal. Emil tells us the problem, "Without Linkit installed, the most common way to insert a link in the WYSIWYG editor is to open the default WYSIWYG link plugin and populate the URL text field by either copy/paste or typing the URL directly into it. The risk inherent in this method is the chance of pasting or typing a broken or incorrect link into the field."
Why Does it Matter?
Including broken or incorrect links in your site content can have a negative impact on your visitors' experience, reduce your SEO ranking, or hurt conversion rates. Depending on the scale and purpose of your website, this can potentially cost you real money from loss of sales, loss of ranking and therefore advertising revenues, and more. Linkit is an effective way to help your content teams avoid errors like this.
What Does Search API Do?
The Search API module--in use on more than 80 thousand Drupal 7 and 800+ Drupal 8 sites as of March 2016--is a toolset for creating searches on Drupal sites, built to support the complex data-structures you can encounter in Drupal applications. Site builders can use it to create powerful search interfaces for end users. Furthermore, it presents a flexible framework for developers to create new, reusable search-related modules. It is extensible, providing connectors to other search engines and technologies like Apache Solr, for example, which you might choose to improve the speed and relevancy of your search results.
Why Does it Matter?
Using Search API’s standardized, commodity functionality--all the usual building blocks and details of a search implementation--saves developers time and allows them to concentrate on the specific, search-related functionality they want to provide, instead of reinventing search every time. For implementing site-specific functionality, it offers a plethora of hooks and plugin types to customize the module's behavior and functionality.
Is there a Drupal 8 module you’d like to see profiled? Let us know in the comments!