Mar 25 2020
Mar 25

The joy of e-commerce is that there are myriads of products that differ in particular details so every customer can find what suits them perfectly.

As an online store owner, you will just need to help them a little — and this will be a win-win! Flexible product management is one of the reasons to choose Drupal Commerce, an e-commerce platform for Drupal websites. Today, we will discuss one of its useful opportunities — the option to set up product attributes in your Drupal online store.

A glimpse at how to increase online sales

In the ocean of recommendations to boost onlines sales on your e-commerce website, you will find anything from providing the smooth and simple checkout process to using cross-selling techniques or offering a choice of payment options. However, every recommendation is focused on usability and engagement.

That’s why, one of the useful ways to increase sales is to provide your customers with a convenient choice between your product variations. Read on to find out how it works on Drupal Commerce websites.

What are product attributes?

Products in online store often come in more than one option. They may differ in size, color, fabric, shape, volume, or whatever other characteristics that customers might need to select when shopping.

These characteristics are called product attributes. Their unique combination makes a product variation in Drupal (e.g. “I love Drudesk” T-shirt of size M and white color). The product is actually the same, but it differs by attributes.

The benefits of using product attributes

Here is what makes the use of product attributes so convenient — especially in the updated and improved system of Drupal Commerce 2.

  • You easily add different product variations within the same product page by specifying their attribute values. No need to create separate products.
  • You easily track items in stock and otherwise manage your products thanks to the fact that every combination of attributes (product variation) is assigned a separate SKU — a machine-readable ID.
  • Your online store customers can easily pick the right product variation according to the desired attributes and add it to cart, with no need to go to a page with a different product.

Setting up product attributes in Drupal

If your e-commerce websits sells products that differ in some characteristics (or this is in your plans), read on. Here is how the process of setting up the Drupal product attributes looks.

Adding a new product attribute

Find the Product Attributes link on your Drupal Commerce store dashboard. Then you click “Add product attribute,” give it a name (e.g. “Dress color”).

Adding product attributes in Drupal Commerce

Adding attribute values

Your online store customers will need to be choosing between some color options (“White,” “Blue,” “Green,” etc.). As soon as you save the form, you will be able to add these as your attribute values. Add them one by one, clicking “Add value” every time. You can reorder them by dragging. If your store is a multilingual Drupal website, don’t forget to check “Enable attribute value translation.”

Adding attribute values in Drupal Commerce

Configuring how the attributes will look

On the same form, configure how it will look on the add-to-cart form (“Select list,” “Radio buttons,” or “Rendered attribute”). For the standard setup, the “Select list” or “Radio buttons” will be ok. Be sure to save the whole thing.

If you want to give your e-commerce website admins and customers a fuller view — for example, with the actual color swatch instead of color names, you should choose the “Rendered attribute” instead and install an additional contrib module such as the Color Field. It will allow you to set the color name and its HEX value when editing the attribute.

Drupal Color Field module

You can add fields to your attribute on the Product Attributes page by clicking “Manage fields” on the attribute editing menu. In this case, it will be the “Color” field.

Managing product attribute fields in Drupal Commerce

When the field is added, you can configure how it should look to your online store admins and your customers on the “Manage form display” and the “Manage display” tabs respectively. You can set the display as “Color swatch” and brush up the shape and size of the colors that will appear on your website.

Attaching the attribute to the product variation type

Attributes need to be added to a particular product variation type that requires them. Product variation types are another important Drupal Commerce concept. You can create or edit them on the Product Variation Type page and also add your attributes to them. Or you can use the “Default” variation type. After that, you will be able to add product variations by specifying their color.

Adding product attributes to product variation types in Drupal Commerce

Let our team help you with the Drupal Commerce setup

The above is just the basic setup. We know from our experience that Drupal Commerce is a powerful platform with plenty of capabilities and plenty of possible settings for your online store. They are able to facilitate the e-commerce website management and boost online sales.

You can make your product selection work exactly as you need. For example, the image and price dynamically without a page reload every time a user clicks on a new attribute — using the decoupled Drupal Commerce approach or a decoupled shopping cart and benefiting from the capabilities of JavaScript frameworks to boost online sales.

Let our Drupal support and maintenance team guide you through the options and help you create the smooth setup depending on your requirements. What cannot be configured by built-in features, we will cover by the use of contributed modules or write custom ones specifically for you. Of course, we can also build an online store from scratch.

Use the best CMS features to boost online sales!

Mar 18 2020
Mar 18

Automatic website updates are incredibly convenient, whatever CMS your site is built on. Unfortunately, the automation of Drupal website updates used to be impossible. But now we have great news for all Drupal 7 and Drupal 8 website owners — automatic website updates are already there! Read on to discover more details.

The most desired Drupal feature: benefits of auto updates

When asked what they would like to see in Drupal, website owners and users have always mentioned automatic updates. In the long-term competition between Drupal and WordPress, the latter had this trump card in its sleeve — even despite certain risks with unattended processes.

Every Drupal website owner or admin often sees a frustrating warning on the dashboard that a new release is available. However, they do not touch it because they know the procedure can be cumbersome. What if all could be done automatically? This would give website owners the unquestionable benefits such as:

  • being able to easily keep up with the Drupal release cycles on their own
  • never having to worry about security updates
  • never having to deal with Composer that is a bit cumbersome for users

The automation was really needed in order to make Drupal more user-friendly, safer thanks to timely security updates, and more competitive on the market. They have become one of the strategic initiatives highlighted by Drupal’s creator Dries Buytaert in the “State of Drupal” presentation. The Automatic Updates initiative now celebrates great success that we can now describe!

Drupal automatic updates as one of strategic priorities

How Drupal automatic updates work

There is a new contributed module that is headed for inclusion into the Drupal core — Automatic Updates. It is meant to auto-update Drupal simply and as cleanly as possible. When you see the update steps, you will notice they really have plenty of measures for cleanliness and safety. Let’s now take a closer look at how it performs both Drupal 7 and Drupal 8 automatic updates.

The key automatic Drupal update steps:

Displaying the security release announcements

The new module will let you know several days in advance about the security announcements (PSAs) for the core and contributed modules. The respective notices will be posted on the admin dashboard. This will be implemented as a PSA.json feed from

Making sure your website is ready for the update

Next, the module checks whether your website is ready for a smooth update and there is nothing to mess with it. These checks are made through the Drupal Cron runs. Upon the check, it displays errors explaining what necessarily needs to be fixed or just warnings. Here are some examples of issues that can be listed:

  • the site uses a read-only filesystem
  • ongoing database updates
  • insufficient disk space

Performing the in-place Drupal update

Here comes the key step in the automatic update process — the actual update. The module downloads a ZIP archive from For security reasons, it is hashed and signed. With the help of the Libsodium library, its signature is verified to make sure this is the official archive. Next, all files meant for the update are backed up. Finally, they are overwritten with the new ones using the PHP copy function.

Do automatic website updates need your interference?

The release announcements and website readiness checks are all automatic. The actual update part depends on your choice:

  • you can manually start the update on the module configuration page
  • or you can check the box on the same page that allows automatic updates run with the help of Cron

The current state of automatic Drupal updates

Right now, automatic updates are in active development and their amazing team keeps adding more features. The module is currently focused on automatic Drupal core updates according to security releases. Adding other types of updates, the support for contributed modules, and better work with Composer are in its roadmap.

In order to be added to the Drupal core, the module needs to get a feature called the A/B front-end controller. It will be able to swap between the two codebases and go back to the backed-up one in case something goes wrong during the automatic update, which will add even more safety and reliability to the process.

Apply for any help will automatic website updates

If you are impressed with the news and are ready to try the automatic website update feature, we encourage you to contact our Drupal support and maintenance team.

  • We will help you install and configure the Automatic Updates module and resolve all the update-hampering issues it may discover on your website.
  • As an option, we can inform you when the module gets into the Drupal core and update your website so it is there already.

Enjoy smooth, easy, and safe automatic Drupal updates!

Feb 26 2020
Feb 26

New days mean new rules on the web. Having social media integration buttons on your website today is one of the crucial web design tips to ensure your business success.

If you have a website on Drupal, this post will be of special interest to you. We will discuss how social media integration works in Drupal 8, what modules are available, and how to integrate social media on your website using one of them — the Easy Social Drupal module.

The importance of integrating social media

If you want to fully reap the benefits of social media marketing, you need to rely on these small website elements, which can be your huge business boosters:

  • content sharing buttons
  • buttons linking to your social accounts
  • tweetable lines in your content
  • feeds
  • counters

and more.

They help you engage more customers across multiple channels, increase your campaign visibility, improve your communication with your audience, boost your SEO, raise your brand awareness, make your site user-friendly, and much more. Social integration buttons are also indispensable elements of the contact block on every modern website.

Social media integration in Drupal 8

Any kind of third-party integration in Drupal 8 is easy to set up thanks to its API-first principle. Social integration is no exception — on the contrary, it is one of the easiest integrations to perform. This is thanks to helpful contributed modules.

Useful Drupal 8 modules for social media integration

Some of these Drupal 8 modules to integrate social media on your website are cross-network — they help you add blocks of buttons, feeds, links, counters, or social login options for multiple networks at once:

Useful Drupal 8 modules for social media integrationUseful Drupal 8 modules for social media integration

There also are Drupal 8 modules specifically tailored to the integration with particular networks (sharing content, adding feeds, and more):

Useful Drupal 8 modules for social media integrationUseful Drupal 8 modules for social media integration

Social integration via the Easy Social module in Drupal 8

The Easy Social module justifies its name — it allows you to set up your integration buttons with no fuss and no need to add external JavaScript libraries or other modules. The classic set of the most popular buttons is available both as a Drupal block or as a Views field.

Enabling the Easy Social module

When installed, the module offers an additional demonstration module — the Easy Social Example. You can choose whether to enable the latter.

Enabling the Easy Social module in Drupal 8

Enabling the social widgets

At the module’s configuration page (Configuration — Web services — Easy Social) you will see the default widgets that can be enabled:

  • Twitter
  • Facebook
  • LinkedIn
  • Pinterest
  • Google+ (included, but has reached its end-of-life)

There is also the option to load JavaScript asynchronously, which is recommended for performance purposes.

Enabling the social widgets in the Easy Social Drupal 8 module

Configuring the social widgets

Each widget has a tab where it can be configured individually. You can play with their color schemes, fonts, size, screen names, layout styles, types of actions (sharing or sending), the option to show the profile pictures of friends who liked this content, and so on. The available settings vary from widget to widget.

Configuring the social widgets in the Easy Social Drupal 8 module

Adding the social share block

Now that the widgets are selected, we will place our sharing buttons block on the website just like we would do with any other Drupal block. By going to Structure — Place block, we will choose the region to place it in. Next to the necessary region, we will click “Place block” and find the “Easy Social” block on the available list. Another click on the “Place block” and, finally, on the “Save” button is all that's left.

Adding the social share block in Drupal 8

When configuring the block, we can select the content types and pages to display it on, and user roles to display it to. The block title can be renamed to anything we would want users to see when they are supposed to share your content.

Configuring the social share block in Drupal 8

OK, that’s it! So we now see the sharing buttons below our Drupal content items:

Content node with social share buttons in Drupal 8

Let our team do the smooth integration for you!

The above example of how to integrate social media on your website was just a very simple one. Any integrations you wish are possible with the help of our Drupal development team — with any networks and featuring any settings.

If there is no contributed Drupal module that does the integration job, our team can write you a custom one. We can also apply design tweaks in accordance with your branding.

Integrate your website with social media easily — contact us!

Feb 12 2020
Feb 12

If your website has plenty of media files (PDF presentations, price-lists, product images, etc.), you know how cumbersome it can be to replace them. Special attention in file replacement needs to be paid to SEO — because, as every SEO expert knows, every detail matters there.

Luckily, your Drupal 8 website offers more and more ways of easy media management that will also allow you to stay in line with the best practices of SEO.

Discover how to replace Drupal media files easily, with no fuss or extra manual efforts, and with your SEO rankings preserved. This is possible thanks to the new Drupal module — the Media Entity File Replace.

When do you need to Drupal replace media files?

The content never stays unchanged — it needs to keep up with the new business circumstances. Media files are not exception. For example, you may need to:

  • update a PDF presentation for your company/products/services
  • change your price-list
  • update your how-to checklist
  • upload new product images with better quality than before
  • make changes to your corporate video

and many other types of content.

What is the problem with the standard file replacement?

The standard procedure includes removing the old file and uploading another one. When it is replaced, your file gets a different name and path. Drupal appends a number to the end of the new one (_0, _1, etc.), instead of overwriting the original.

Standard file replacement in Drupal 8

File replacement becomes an especially tedious process when the file is used in multiple places throughout your website. This means additional expenses on your or your staff’s manual work. A special point of concern here is the impact on SEO. Read on to find out more about the impact of file replacing on your SEO.

How does media file replacement influence SEO?

File names play a part in your SEO rankings. Human-readable names enriched with keywords and written through a dash is a great way to tell Google what your image is about (in addition to the ALT tag), and this benefits your SEO.

Changing your file name and path can lead to a certain loss in SEO rankings because Google treats the newly uploaded files as new, and needs to recrawl, reprocess, and reindex them. This can take a long time during which it will show old and irrelevant content.

And, of course, if your files are used in content throughout your website and you change them but forget to re-upload them everywhere, they will be unavailable to your users. File path changes have the potential to cause broken links, which is one of the most annoying things both for search engines and users.

Never lose any SERP position to your competitors. Use helpful tools to replace files easily and without losing SEO.

How the Media Entity File Replace module can help

The new Media Entity File Replace module for Drupal 8 offers a smart and SEO-friendly way to replace Drupal media files. The module replaces the source files in Drupal media entities that have a file-based field. It does so by overwriting the old file with the new one. What’s even more important, the name and path are preserved in the process.

The Media Entity File Replace works with Media entities in Drupal 8. If you use the Media system to manage your media files, this module will suit you.

Note: To use the Media module, consider updating your Drupal website to the latest version where it has been greatly improved — our Drupal support team can do it for you.

Installing the Media Entity File Replace module

The module is installed like any other. It depends on a bunch of core modules: Media, File, Field, Image, User, and System.

Installing the Media Entity File Replace module in Drupal 8

Configuring the File Replace widget

The module comes with the File Replace widget, which you need to enable in the media types for which you want your files to be overwritable. Let us remind you: Drupal 8 has 5 default media types: Audio, Document, Image, Remote video, and Video, while others can be created to your liking.

To enable the File Replace widget, we need to go to Structure — Media types — {Our media type} — Manage form display. In our example, we work with the Document Media type.

Let’s drag the Replace File widget to the enabled ones. The perfect place is just below the File field.

Configuring the File Replace widget in Drupal 8

Replacing your Drupal media files

Let’s create a new document entity in Media — Add media — Document. We then upload an “Our services” PDF to it.

Creating a Drupal document Media entityDrupal media file path

The PDF is now saved in our Media Library (Content — Media) where we can go and edit the entity in order to replace the PDF.

Instead of the usual Remove button, we now see the Replace button. If the “Overwrite original filename” is checked, the original name will be kept and the content will be replaced.

Media Entity File Replace Drupal 8 module in action

We click “Choose file” and upload a new one — “Updated services.”

Replacing files with the Media Entity File Replace module

After saving, we see that the filename in this media entity is the same as before.

Drupal document file path

However, the content of the source file available by the same path has been rewritten. It now shows our updated services.

Media file replaced with its path inchanged in Drupal 8

This PDF can be used as an attachment in your content. You just need to add a Media field in your content type, and then you can easily fetch media there from the Media Library. Visit our “Media handling in Drupal 8” to learn how media can serve as building blocks for content.

Adding documents from Media Library to content

In this example, we added a “Document” Media field to the Basic page, and then created a content page with our PDF attached to it.

Content entity with a document Media field

Wherever else we add the file throughout your website, it is going to be rewritten automatically after a replacement, with no need to reupload.

While using the Media Entity File Replace module, special attention needs also to be paid to caching so your users are able to see the updated content sooner.

Entrust your media setup to our Drupal team

The Media capabilities and the ecosystem of Media Library management modules in Drupal 8 keep growing at amazing strides. It offers you more every day for managing your media effortlessly, with joy, and with no SEO losses.

Ask our Drupal support & maintenance team to configure the ideal media management processes on your Drupal 8 website!

Jan 23 2020
Jan 23

Forums are a great way to create a community of people. This is where they can discuss issues, share skills, or talk about your company’s products. Forums are able to keep your visitors on your website. But this is not all — let’s discuss more benefits of forums, see some best forum website examples, and review how to create a forum on your Drupal 8 website.

Benefits of creating a forum for your website

Having a forum, also known as a discussion board or bulletin board, on your site can be useful in many ways:

  • Understanding your customers: A forum is a place to get to know your customers, which is great for market research. Discover their feedback, issues, questions, and needs about your products or services. You can also study their user personas, improve your products, and brush up your marketing strategy.
  • Helping your customers: A forum enables you to resolve your customers’ issues in the form of official customer support or an unofficial advice board.
  • Increasing website traffic: Forums help you engage and retain your website users. They keep coming back to your site, especially if they need an answer to their particular question. The average session duration, just like the visit rate, increase thanks to the activity.
  • Boosting your SEO: If you create a forum on your website, you boost your SEO. Nested discussions built around more general topics and leading to more specific ones work great with search engines. Google also loves exact questions — if a user asks a question that is addressed on your board, the chances are high they will arrive on your website. In addition, you will automatically have fresh content being created.
  • Inspiring purchases: Discussions of products or services are the first stage of the buyer’s journey. When your prospective customer sees other customers’ comments, photos, videos and more, it may bring them a step closer to the buying decision.
  • Monetizing the forum: An additional benefit you can have from creating a discussion board is monetizing it. There are several ways to monetize a discussion board including subscription fees, advertising, donations from users, affiliate programs, sponsorship and more.

Famous forum website examples

There are plenty of famous examples out there to see what a good discussion board looks like. Let’s look at a few.


Reddit — famous forum website example

Ubuntu forums

Ubuntu forums — famous forum website example

Stack Overflow

Stack Overflow — famous forum website example


Boards — famous forum website example


MoneySavingExpert — famous forum website example

Ars Technica

Ars Technica — famous forum website example

How to create a forum on your Drupal 8 website

If you have a website created with Drupal (or plan to get one), there is great news for you — the forum functionality is already built-in!

The core Forum module

There is a core module responsible for creating forums. It is turned off by default and needs to be enabled for those who want it.

the core Forum module in Drupal 8

Creating categories and subcategories

You decide what hierarchy structure your discussion board will have. In “Structure,” there now is a “Forums” tab that enables you to add forums and containers. Containers can be used to group related forums together.

The module also provides a ready-made forum “General discussion” that we can rename or delete.

Adding a forum in Drupal 8

Your discussions can have categories and subcategories, aka parent and child forums. For example, let’s create a forum called “Drudesk services.” It is going to be the main one and, in its settings, the “Parent” is set as “root.”

Creating forum categories in Drupal 8

Let’s add a couple of subforums (e.g. “Drupal development” and “Drupal support.” The procedure is the same (the “Add forum” button). The only difference is that we need to set the “Parent” as “Drudesk services.” Next, we can add more detailed subcategories to our subcategories by setting the right “Parent” every time.

Forum categories and subcategories in Drupal 8

We can see what it looks like on the default page created by Drupal by checking the address /forum, or simply by clicking the right category link. However, we see that the number of topics and posts is null because we still need to create topics.

Simple forum page in Drupal 8

Adding forum topics

Forum topics will be posted like any other content nodes. The module has created a content type “Forum topics” for this. For the user’s convenience, there is also the “Add the forum topic” button on the Forums page.

When creating a topic, we need to select which category or subcategory we want to post it.

Adding forum topics in Drupal 8

The answers to each topic will be posted like comments to each node. In our example, after we have posted one topic and one comment (or reply), we see that the count of topics has changed to 1 and the post count to 2.

A forum topic in Drupal 8Simple forum with posts in Drupal 8

Forum participant permissions

Now it’s time to determine who can view, add, edit, and delete the topic and comments. A common option is allowing authenticated Drupal users in “People — Permissions.” Alternatively, it’s possible to create a separate Drupal role if you want to make a membership forum for subscribers only.

Check out our video tutorial about how to create a forum on your Drupal 8 website.

[embedded content]

Entrust our Drupal experts with creating your board

Inspired to create a forum on your Drupal website? The above example has been a rough sketch. Your discussion board will look exactly as you wish.

If you want to change the style or position on your website, add a feed with the latest discussions on other pages, or explore the many other options, our Drupal development experts can configure it out. Contact us and enjoy an attractive and user-friendly forum!

Jan 11 2020
Jan 11

The large business world knows no compromise. Your website should stand out from the competitors and keep up with all the business requirements. And not just keep up — a site can move your business forward by offering advanced digital experiences to customers.

Whether the website is capable of doing this, largely depends on the choice of the platform you build it with. In this post, we discuss why it’s worth choosing Drupal for large business website development.

How large business website development can benefit from Drupal

If you have an idea to create a large business website, it may have some specific needs. For example, this site needs to be content-heavy, complex in architecture, high in traffic, unique and robust in functionality, and so on. See how Drupal, an enterprise-level CMS and CMF in one, can help you build a big website for your big idea.

Exceptional and unlimited functionality

Provide your large business website users with any functionality desired. Drupal empowers developers with creating even the most complex and specific site features.

It has 44+ thousand free contributed modules for various spheres of your site’s work — content display, search, security, third-party integration, SEO, access control, e-commerce functionality, etc. And, of course, any custom features can be created by a development team to match your business scenarios exactly.

The Tesla’s site (Drupal + Adobe Experience Manager):

Tesla website

Modern technology inside

Efficient development workflows, clean code, and fast performance of your large website also depend on what is “under the hood” of a CMS. Drupal 8 uses OOP (object-oriented programming), the Twig theming engine, the modern PHP 7, Symfony components, and more.

Your brand’s multichannel reach

Your large business website can be part of a whole multichannel ecosystem for your brand. It can share its content to iOS or Android applications, JavaScript-based web apps, various Internet-of-Things devices, and so on. The “Create Once, Publish Everywhere” (COPE) method will speed up your content management.

Make use of the API-first principle and the exceptional support of third-party integration in Drupal 8! There also are plenty of add-on modules, helpful development kits for third-party frameworks, etc.

Going global with a multilingual site

Large business website development can also let you go global. Having a multilingual site means multiplying your audience and profits as well.

D8 has strong multilingual features that are among its “visiting cards.” To help you create a big website that speaks different languages, it offers an extremely easy setup, a hundred languages supported out-of-the-box, flexible options as to what website elements should be translatable, RTL support, and much more.

Multisite support

If you want to create a complex website, here is another idea that might be interesting. Large organizations and businesses often need more than one site — they need a collection of related sites that are easy to manage.

Drupal offers a multisite feature that allows you to run multiple sites from the same Drupal installation. They are created, managed, and updated from one place.

Powerful search even on complex sites

Large and complex sites especially need ways for users to quickly find things. Drupal allows you to create the most advanced search features.

They include faceted search, alternate spellings, content suggestions, result highlighting, search in attachments, multilingual and multisite search, and much more. This is thanks to such modules as Search API, Search API Solr Search, Elasticsearch Connector, Facets, etc.

The General Electric’s site:

General Electric site on Drupal

Easy content workflows

If your large business website is content-heavy, Drupal can save your editorial team’s time a lot. Drupal 8 has a user-friendly CKEditor for content publishing. The Media system provides for the easy media handling in Drupal 8 and enriching the content with various videos, audios, remote videos, etc.

There are strong built-in capabilities to have flexible editorial workflows thanks to the Content Moderation and Workflows modules. Another novelty for large websites is the Workspaces module that allows you to quickly deploy tons of content from a stage to a live environment.

Outrunning your competitors in SEO

Let your large business website be better found through search engines thanks to such a SEO-friendly CMS as Drupal.

It has plenty of built-in and add-on modules for SEO that take care of its every aspect. For example, SEO-friendly URLs (including automatic, pattern-based URL creation on large sites), keyword optimization, meta tags, XML sitemap, broken link fixing, and much more.

A high level of security

Cybercriminals never sleep and are always trying to find vulnerabilities in sites that they could exploit for malicious purposes. A large business website faces more risks than smaller ones because it has more to lose.

When it comes to security, Drupal has a very good reputation. It stands against the most critical security vulnerabilities of the web. This is thanks to the vigilant security team, strong coding standards, a watchful community, a flexible system of site roles and permissions, and more. Here is why governments trust Drupal across many countries of the world.

The Pfizer’s site:

Pfizer site on Drupal

High website speed

Creating a big website that loads fast is easy with Drupal. D8 uses flexible approaches to caching and has robust built-in caching modules. One of them is the BigPipe that loads the unchanged parts of the page instantly to not keep your users waiting.

There are also plenty of add-on performance modules to speed up Drupal sites. Finally, it’s a hot trend to combine Drupal 8 with JavaScript frameworks like React, Vue, or Angular to reach exceptional speed and interactivity.

Hire experts to create a large business website

We have outlined the key reasons why choose Drupal for a big website. Let’s discuss more details in a conversation. Entrust your large business website development to our professional Drupal team and let your large site help your large business flourish!

Dec 04 2019
Dec 04

In the first days of December, the great news makes our hearts feel warm! We are happy to see the sparkling fresh release — and to show all our readers what’s new in Drupal 8.8.0.

This is, in fact, the last minor release of Drupal 8 before another big day — June 3, 2020. This is when Drupal 8.9 and Drupal 9 should arrive together. All D8 sites that are regularly updated and free from deprecated code will be instantly ready for Drupal 9.

However, an even bigger reason why you should update to Drupal 8.8.0 right now is its absolutely irresistible features. It looks like the Drupal creators have put their hearts into this release. Our Drupal support team is ready to help you with the update — now let’s take a closer look at all the secrets of D8.8.0.

What's new in Drupal 8.8

Stable Media Library & integration with CKEditor

One of the most anticipated new features of D8.8 is the Media Library and WYSIWYG integration. Content editors will be especially happy with the new handy Media Library icon that can be easily added to the active CKEditor toolbar. This allows you to use the images, videos, and other multimedia assets that you keep in the Media Library and embed them into content with a few clicks.

And, as the community is focused on website accessibility for all users, the whole media embedding process has been made available via the keyboard only!

Other improvements include Media Library’s integration with the Content Moderation module, its better support for multilingual sites, UI updates, and more. After all the amazing work, the Media Library is officially stable in Drupal 8.8 core and absolutely ready to be used on live sites. Hurray!

Media Library in Drupal 8.8Media Library and CKEditor integration in Drupal 8.8Media Library stable in Drupal 8.8

The new and user-friendly admin theme Claro

The Drupal admin UI needed a good brush-up, decided the community. No sooner said than done, and a fresh, clean, concise, and modern experimental theme has arrived in the D8.8 core.

The new Drupal admin theme Claro is responsive and has a big focus on readability and accessibility. It will make the admin dashboard more convenient and enjoyable to work with, and Drupal itself more competitive among CMSs. This is another reason why you should update to Drupal 8.8 (you will definitely want to!).

According to Dries Buytaert’s feedback in his “State of Drupal” presentation, Drupal has never looked better or been more accessible as it is with the new Claro theme.

New experimental admin theme Claro

Native Composer support in Drupal core

Updating and installing Drupal has become easier than ever. Composer, the famous PHP dependency management tool, helps developers do it with one command, and takes care of the right third-party libraries.

Thanks to the Composer Support in Core Initiative, Composer is now officially supported by Drupal out-of-box. There is also an easy transition path for sites that have not used Composer before.

The helpful Help Topics experimental module

In order to make Drupal easier for all users, a new experimental module called Help Topics has just arrived in Drupal core. Module and theme developers can now provide helpful instructions in Twig files. They will be listed on every website’s admin/help page.

The topics can be single or grouped, according to the complexity and the number of tasks needed to work with a particular module. An additional contributed module should allow adding help topics from the browser.

New Help Topic experimental module in Drupal 8.8New Help Topics experimental module in Drupal 8.8

Great JSON:API module improvements

One of the greatest sensations in Drupal 8.7 was the arrival of the new JSON:API module in the core even without any experimental phase. It created an even better API-first future for Drupal websites and enhanced their capabilities to share data with third-party apps.

In Drupal 8.8, JSON:APi module has received a number of improvements to make it work more efficiently. This is related to resource normalization, omission links, HTTP error codes, security hardening, and more.

The ecosystem of contributed modules also grows — for example, there is the new JSON:API Explorer module that is an interactive web app to help developers explore their JSON:API server.

Final end of PHP 5.5 and 5.6 support

While the PHP 5.5 and PHP 5.6 were officially removed in D8.7, websites were still allowed to perform security updates.

D8.8 finally puts an end to this. These actions will fail unless servers are updated at least to PHP 7.0.8. However, PHP 7.0 and 7.1 will no longer receive security support from the PHP team, so it’s better to choose the newer PHP 7.2 or 7.3. You can contact our support experts with checking your PHP version and performing the update.

Significant Workspaces module improvements

We have all admired two new and amazing core modules that handle content workflows — Content Moderation (D8.3) and Workspaces (D8.6).

  • Content Moderation in a duet with Workflows provides convenient content workflows out-of-box, as well as allowing you to create custom ones.
Content Moderation in Drupal 8
  • Workspaces allows editors to quickly deploy tons of content from the “Stage” to the “Live” environment.
Experimental module Workpaces in Drupal 8

However, the two could not work together on the same website. This is solved in the new Drupal 8.8 release! In addition, the creators of the Workspaces module have rolled out the interesting capability to create hierarchical workspaces (i.e. sub-workspaces and parent workspaces).

Hierarchical workspaces in Drupal 8.8

More Drupal 9 readiness with the new core versioning

Indeed, Drupal 9 is coming! Developers are getting their modules and themes ready by cleaning up the deprecated code.

Now they can declare their project compatibility with multiple Drupal versions — D8 and D9. They just need to add the new core version requirement key to the project’s info.yml file.

This new core versioning system landed yet in 8.7.7 this September. It allows great precision so compatibility with minor and patch versions can also be declared.

Goodbye to jQuery UI

jQuery UI, the famous collection of widgets and effects for user interfaces, has reached its end-of-life. Most of its libraries are deprecated from Drupal 8.8 core and will be removed in the 9th version. “The big drop” is moving in the direction of using pure JavaScript in this area.

The modules and themes that depend on the jQuery UI libraries can find them in the replacement contributed projects, but it is better to find a more future-proof solution.

Multiple dependency updates

To support newer PHP and achieve better website efficiency, D8.8 uses new versions of multiple third-party dependencies. Among them:

  • D8.8 requires version 6.3 or newer of the HTTP client library for PHP — Guzzle.
  • It no longer supports version 4 of the PHPUnit unit testing framework. D8.8 can support PHPUnit 6.5+ and PHPUnit 7, while using version 6 by default.
  • Components of the Symfony framework have been updated to 3.4.5.
  • Drupal 8’s default content editor, CKEditor, has been updated to 4.13.0.
  • The Diactoros PHP package is up to 1.8.7.
  • The Twig template engine is up to 1.42.3.

Changes to browser support

Websites can only work well with modern browsers that support CSS and JavaScript. Some browsers are getting outdated. So the new Drupal 8.8 is changing the browser support policy.

It supports the latest release of the two latest supported major versions of these desktop and mobile browsers:

  • Firefox
  • Google Chrome
  • Opera
  • Safari
  • Microsoft Edge
  • Safari for iOS

As well as the latest supported release of the latest major version of these desktop and mobile browsers:

  • DFirefox ESR
  • Internet Explorer
  • Chrome for iOS
  • Chrome for Android
  • Samsung Internet
  • UC Browser
  • Opera Mini

And more

D8.8 also features improvements to configuration management, multilingual migrations, the work of Views, and so on. Developers should pay special attention to considerable changes to path alias handling and a critical note about using the latest version of the Pathauto module — more about this can be found in the technical release notes.

Update to Drupal 8.8 with us!

This has been a brief overview of what’s new in Drupal 8.8 released today. All of these and many more improvements can arrive on your website right now if you update to Drupal 8.8

All you need is to contact the Drudesk Drupal support team — we are ready to:

  • perform a smooth update to Drupal 8.8
  • configure the new modules
  • help you prepare for Drupal 9
  • update your PHP

Upgrade from Drupal 7 to Drupal 8

You see Drupal 8 offers more and more amazing features. To use them all, upgrade from Drupal 7 to Drupal 8 now if you haven't yet. And, of course, this, will be your best preparation for Drupal 9!

Stay up-to-date with the latest and greatest!

Nov 07 2019
Nov 07

All beautiful websites have one thing in common — a good theme. It should be not only beautiful but also mobile responsive, accessible, and ready to support modern website functionality.

This is all true of Olivero — the future main front-end theme for Drupal 9. And this future is just around the corner because Drupal 9 is coming! With it is coming the era of beautiful websites.

Why is a website theme important?

A website theme defines what the site looks like to visitors, which includes layout, styles, color schemes, typography, buttons, and much more. Beautiful themes make beautiful websites, creating visual appeal and your brand’s identity. But this is not all.

The theme’s responsibility goes beyond being beautiful. It can also greatly contribute to the smooth user’s interaction with the website, including on various mobile devices. So if beautiful website design goes hand-in-hand with the best usability practices, this eventually translates into more conversions.

The new Olivero theme in Drupal 9

The new theme’s official overviews say “Drupal 9: The Most Beautiful CMS Ever!” And you immediately know it’s true when you see Olivero.

New main front-end theme in Drupal 9 — Olivero

Olivero is a beautiful implementation of the community’s idea to create a new default front-end theme. The current default theme, Bartik, is ten years old already and was initially created for D7.

Bartik has served us as an amazing and very adaptable theme. In addition, it is mobile responsive out-of-the-box to meet D8’s mobile-first philosophy. However, Bartik’s design looks a bit outdated. So Drupal needed a new main front-end theme that would better showcase Drupal’s strength.

Olivero is expected to come in Drupal 9.1. The community keeps working on it, and anyone who wants to contribute to it is welcome.

Theme named in honor of Rachel Olivero

There is a nice tradition in Drupal to name main themes after outstanding programmers. For example, Bartik got its name after Jean Bartik who was among the original ENIAC computer creators.

The tradition goes on with Olivero — it is named after a female programmer Rachel Olivero who was an outstanding advocate of website accessibility. Sadly, Rachel passed away in 2019. To honor her, the community kept her beautiful name alive in a beautiful theme. Patient, generous, and inclusive — these were Rachel Olivero’s qualities that they wanted the theme to embody.

Key features of Olivero theme in Drupal 9

Beautiful web design, simplicity with no clutter, a professional look, accessibility, flexibility in options, responsiveness on mobile devices — the list of its virtues could go on. Let’s outline at least a few of its numerous features for websites.

WCAG AA compliance

One of the top priorities for the theme’s creators was to make Olivero compliant with Web Content Accessibility Guidelines (WCAG), so they worked with website accessibility experts. All users, including those with various impairments, should find it easy to use websites with Olivero.

Support for the latest Drupal functionality

The Olivero creators have prioritized making it supportive of the recent Drupal features for websites such as Layout Builder, media embeds, second-level navigation, and more.

A modern and bright color palette

Websites will look beautiful with Olivero’s color scheme, with a base color of bright blue. In addition to being attractive, it supports Drupal’s branding. Combinations of darker and lighter colors help provide website accessibility.

Color palette of the new Olivero theme in Drupal 9

Simple but modern forms and buttons

Forms and buttons in Olivero are user-friendly, recognizable, and accessible. Forms have a left color bar, and their labels are placed above the fields to meet website accessibility requirements. Buttons are presented in two types: primary and secondary.

Buttons in the new OIivero theme for Drupal 9Forms and buttons in the new Drupal 9's front-end theme Olivero

A convenient sidebar region

Olivero features a beautiful sidebar to the right of the website’s main content area that allows you, for example, to add related content. The region proportions allow the content area to look more prominent, while the sidebar gives it good support.

Sidebar regions in new main Drupal 9 theme Olivero

Flexible header and navigation options

Navigation options can accommodate any website’s needs. The header is able to collapse into a hamburger-button menu when scrolling, which allows the menu to be accessible on long pages. The secondary dropdown menus are also supported by Olivero.

Navigation in new main Drupal 9 theme Olivero

RTL (right-to-left) text direction support

Drupal 8 has already raised the bar of multilingual support very high. See why Drupal 8 is the best choice for multilingual websites, including those with RTL languages. It will be even better with the new theme in Drupal 9 — just take a look at the beautiful RTL implementation.

RTL support in new main Drupal 9 theme Olivero

Time for beautiful websites and other Drupal 9’s benefits!

It looks like Olivero is one of the beautiful answers to the question of what’s new in Drupal 9, coming in June 2020!

As a web agency that creates beautiful websites with great functionality and optimizes existing ones, we would like to offer you our assistance in:

  • getting ready for Drupal 9, which involves a good clean-up from deprecated code
  • moving your website to Drupal that becomes “The Most Beautiful CMS Ever!” (and it’s just a tiny part of Drupal’s strength)
  • creating a custom theme, or otherwise improving your website’s design to make it more beautiful, user-friendly, and accessible

Drop a line to our Drupal development team!

Oct 30 2019
Oct 30

Working with databases can be challenging and cumbersome. Luckily, there are useful Drupal modules that make complicated tasks easy (or even possible at all). Of course, the best way to get the results you want is to rely on Drupal development and DevOps services by Drudesk. In the meantime, we are sharing great modules for working with databases in Drupal with you.

Some challenges with databases in Drupal

When you are working with databases, you may need to:

  • store your data in a database that Drupal does not support by default (i.e. other than MySQL, PostgreSQL, and SQLite)
  • connect to multiple external databases
  • quickly back up, restore, or migrate your database between the environments
  • set up the database search

and much more.    

Modules for working with databases in Drupal


The MongoDB module allows you to store your Drupal data not in the “classic” SQL database but in MongoDB — a popular, document-based distributed database. 

The module offers website administrators a user-friendly interface with database logs. It provides fast database logging and easily handles external logging mechanisms (for example, Elastic Stack). 

MongoDB takes the load off your SQL database server and does not require complicated settings or coding from site admins. However, it is also a joy for developers to work with thanks to a Drupal-standard API, handy Drush and Drupal Console commands, PSR-3 implementation, detailed documentation, and much more.

MongoDB Drupal module

Drupal driver for SQL Server and SQL Azure

Here is a Drupal driver for working with the database engines of Microsoft SQL Server — a famous relational database management system. The module supports:

  • SQL Server of version 2008 and newer
  • Azure SQL of version 12 and newer

The Drupal driver module is modern in everything — including the fact that it only supports PHP7 or later versions, with older ones to be used at your own risk. The MSSQL PDO extension is compatible with Windows and Linux.

The module’s Drupal 8 version is fresh and new, with the latest update in September. The 8.2’s branch of the SQL Server driver is tested by means of the AppVeyor service.

Drupal Driver for SQL Server and SQL AzureDrupal Driver for SQL Server and SQL Azure

Oracle Driver

Another popular relational database management system, Oracle, can become the primary backend of your Drupal website thanks to the Oracle Driver Drupal module. 

The module allows you to create Drupal nodes from Oracle tables, store your website’s files in Oracle, and more. 

It should be noted that the module is minimally maintained and its Drupal 8 version is a release candidate. However, it can be a nice example of a module connecting Drupal to a particular third-party database system.

Oracle Driver Drupal module

Search API Database Search

The website itself uses the Search API Database Search module, which is the best “promo” possible. However, please note that the module is only ready for Drupal 7.

The module provides a backend for the Search API module known as a great foundation for creating the search setup on Drupal websites. Search API Database Search uses a classic database for data indexing. 

This is a simple and cheap option for websites that are not so large and/or do not need a super-powerful search backend — for example, the Solr engine.

Views Database Connector

It can be incredibly useful to be able to pull data from external databases and display it to your users as a Drupal view. It is possible with the Views Database Connector module.

Drupal Views get full access to the external database tables that are found in your Drupal installation’s settings. To provide effective data pulling, the module needs an information_schema table for MySQL or PostgreSQL and sqlite_master for SQLite.

Thanks to this module, you get a new view type on the “Show” menu to select. All items generated by the module have a [VDC] prefix.

Views Database Connector Drupal module

Backup and Migrate

Everyone knows about the importance of regular backups. Restoring your Drupal database from a backup can become a rescue in critical situations. 

Luckily, there is the Backup and Migrate module that backups and restores databases, files, and code. The module downloads your database as a file or saves it on the server. It supports various compression types (zip, gzip, and bzip). 

It can back up all the database tables or the ones you select. Automatic scheduled backups are also supported.

Backup and Migrate Drupal moduleBackup and Migrate Drupal module

Let us help you manage your databases in Drupal

The modules described above — and others — can be helpful for working with databases in Drupal. However, this area requires a technical background from the person who performs the tasks. 

Contact our Drupal development and support team for any help in managing your databases in Drupal. If this requires add-on modules, we will select and configure them for you, or create custom modules that will match your requirements more exactly. 

We want to make sure your databases in Drupal are perfect and serve you well

Oct 24 2019
Oct 24

In the world of PCs, smartphones are much smaller than their desktop siblings but their significance keeps growing bigger and bigger. More and more users prefer to interact with brands using mobile devices.

Website owners need to hurry up to make their website mobile-friendly, in light of the mobile boom, as well as Google’s mobile-first indexing that shows the search giant primarily takes into account the website’s mobile display.

In addition to this, many go further and also build a mobile application to give an extra boost to their business.

Drupal is a great choice for both of the above:

1. Making websites mobile-friendly is a breeze with Drupal 8 thanks to its mobile-first principle. Responsive web design allows page elements to adapt to the current device and provides the user with the most convenient experiences.

Responsive web design in Drupal 8 example

2. Drupal can also be the base for creating fast, lightweight, and effective mobile applications — and that's what we will focus on in this post. Let’s see why you should build a mobile app with Drupal.

Some benefits of mobile apps for business

Mobile apps vary in architecture, but most of them include the following benefits:

  • Mobile apps significantly expand your mobile reach.
  • You can add more avenues of communication with your users and offer them more interesting features.
  • Mobile apps build a multichannel presence and promote your brand.
  • With them, you are closer to your audience even when their smartphone is offline.
  • You can benefit from in-app advertising.
  • You have access to the device’s hardware (i.e. using camera to make images).
  • They allow you to use the specific capabilities of iOS and Android devices.
  • You will get additional profits from being able to sell your mobile app in app stores.

and much more.

Mobile app example

Drupal as a platform to build a mobile app with

Speaking about mobile app development, you might be surprised to hear Drupal among the possible solutions. After all, Drupal is a PHP-based, enterprise-class content management framework known primarily in the arena of website creation.

Now let Drupal pleasantly surprise you in the mobile app area! Drupal works as a robust data source and shares its data to your mobile app, responding to requests and events on it. The data includes your content, business logic, functionality, user base, and so on.

This works both ways:

  1. If you already have a Drupal website, you can create a mobile app on its basis.
  2. If you are thinking about a strong backend platform for your mobile app, Drupal is your reliable choice.

Drupal is becoming an increasingly lucrative option for mobile development thanks to the following:

  • Drupal 8 adopted an amazing API-first principle and has 5 powerful modules for web services in the core. They provide Drupal’s smooth “communication” with any apps. Drupal REST APIs send data in the JSON format that is easy for applications to consume.
  • There are plenty of Drupal modules, development kits, libraries, and sample mobile apps to boost mobile development and integration.
Mobile app example

Native mobile apps with Drupal

Native mobile applications are written in the programming languages that are native to their device operating systems. For example:

  • Java and Kotlin for Android mobile apps
  • Swift and Objective-C for iOS mobile apps

Native apps are characterized by amazing productivity, the availability of device-specific features, user experiences tailored to the device, and more.

Drupal developers’ skill sets usually include PHP, MySQL, HTML, CSS, and JavaScript, which may sound far from the native mobile app programming languages. However, this is easily solved by using helpful software development kits, frameworks, and base apps.

Among them are PhoneGap, Waterwheel Swift, Drupal 8 iOS SDK, Example iOS app for Drupal 8, One Drupal Android, and others. They help in building native mobile apps and connecting Drupal to them.

Web-based mobile apps with Drupal

Unlike native mobile apps that use device-specific programming languages, web-based mobile apps rely on standard web technologies like HTML, CSS, and JavaScript. Web-based apps run in mobile device browsers.

They may be limited in their device-based capabilities, but they are versatile and have a faster time to market. Connected to Drupal via a REST API, these apps look native to the Android or iOS users while sharing Drupal data with them.

Today, there are plenty of JavaScript frameworks and tools that are characterized by amazing speed and interactivity. They include Vue, React, Angular, GatsbyJS based on React and GraphQL, Ionic based on Angular and Apache Cordoba, and so on. They pair perfectly with Drupal. Helpful SDKs, modules, plugins, and libraries help developers build faster and speed up the integration.

Build a mobile app with Drupal!

It’s time to let your business fully embrace all the benefits of mobile development. Our web development agency can help you with this. Ask our developers to build a mobile app for your specific business case, or perform a smooth integration between your existing software.

And, of course, also don’t forget that your website needs responsive web design.

The mobile future is here!

Oct 03 2019
Oct 03

The proper use of internal linking can turn any website into a powerful marketing tool. It is a vital part of effective content writing strategies. In this post, we explore why it is so, as well as review a helpful module for smart content linking in Drupal 8 — D8 Editor Advanced Link. Let’s go.

What is internal linking on websites?

Internal linking is known as the practice of placing hyperlinks inside content leading to the other relevant pages within the same domain. Internal links to content often use the keyword-rich anchor phrases. 

Why is internal linking important?

  • It boosts SEO rankings by helping the search engines understand what your pages are about, offering them multiple entry points to crawl your websites, as well as increasing page authority.
  • Session duration grows — users visit more pages per session, which, among other things, is an important search ranking factor.
  • Internal linking enhances user engagement by offering them more and more relevant content. They simply cannot leave!
  • The conversion rate potentially grows because users remain interested. They get closer and closer to making the desired conversion.

Internal linking in Drupal 8

Content links should be handy both for content editors to create and for website readers to navigate through. Of course, it’s possible with Drupal 8! 

First, creating links in Drupal 8 is handy for anyone by default — thanks to the built-in CKEditor with a link icon on its dashboard.

Standard link creation in Drupal 8's CKEditor

Second, there are also tools for creating links in Drupal 8 CKEditor that further extend the standard functionality. They are meant for more advanced internal and, of course, external linking as well. Let’s look at how this job is performed by one of them — the D8 Editor Advanced Link module.

The D8 Editor Advanced Link module

The Drupal module D8 Editor Advanced Link increases the website’s usability both for the content creators and readers in the following ways:

  • Content editors and SEO managers can control more precisely from the CKEditor panel how the content links are displayed. 
  • Content readers can enjoy rich links and more convenient navigation.

These content linking capabilities include:

  • linking directly to exact phrases or even words on the page
  • adding CSS classes
  • making links open in a new or in the same window
  • displaying the link’s title on mouseover
  • adding relationships between the linked and the source page

“This is a super simple module that serves a very cool little purpose,” said Thomas Shean, a famous Drupal contributor, in the video tutorial about the D8 Editor Advanced Link.

The principle of the D8 Editor Advanced Link module’s work

The module provides advanced link creation by offering more attributes to be added to them. Let’s compare. The classic Drupal CKEditor has just one field for the URL during content linking:

Standard link adding form in Drupal 8's CKEditor

Everything is different with the D8 Editor Advanced Link module installed. It enriches the Drupal 
CKEditor’s content linking menu with advanced attributes such as: 

  • title
  • class
  • id 
  • target 
  • rel
D8 Editor Advanced Link module's capabilities

The difference is amazing. More details will be discussed in the “Installation and configuration” part.

Installation and configuration of the D8 Editor Advanced Link

  • Installing and enabling the module

First, we need to install and enable the D8 Editor Advanced Link module on the Drupal 8 website. 

Enabling D8 Editor Advanced Link module in Drupal 8
  • Preparing the text formats

Next, we go to Administration — Configuration — Content authoring — Text formats and editors and open the “Full HTML” format.

Text formats in Drupal 8

We make sure we have the “link” buttons on the active toolbar. If not, we need to drag them there. We will need them, as well as the “source” button.

Configuring Drupal 8's CKEditor dashboard for adding links

We should also look at the "Limit allowed HTML tags and correct faulty HTML" filter. 

  1. If it is unchecked, there is nothing else to do, since there are no restrictions in tags. 
  2. If it is checked, you can add more allowed HTML tags manually (such as "title," "class," "id," "target," and "rel")
  • Using the content linking attributes

When we have prepared everything, we can go ahead with our Drupal content linking. When selecting the part of the text that needs to be linked and clicking on the “link” button, we will see a form with advanced attributes that just need to be unfolded. 

Advanced link attributes in CKEditor Advanced Link module for Drupal 8
  • URL. This is the URL of the destination page.
  • Title: This is the text that is shown as a tooltip when the mouse hovers over the link.

Advanced section:

  • CSS classes. This is the place to add CSS classes. Multiple ones are supported, which should be separated by spaces.
  • ID. This allows you to use URL fragments and lead users to a specific portion of the page. For example, you list “ID2” at the end of the URL tag after the “#” symbol. Then you should mark where the “ID2” fragment begins inside in the source code of the destination page. Like this: <p id="ID2">.
Using URL fragments in Drupal 8
  • Target. This is a simple check/uncheck option as to whether the links should open in a new window or not.
  • Relation (rel). This is for adding relationships between the source and the destination document (e.g. “nofollow,” “noreferrer,” etc.).

Make your internal linking in Drupal 8 more advanced!

With Drupal, there are always more opportunities than you could imagine. Make your content workflows much smarter by installing the D8 Editor Advanced Link module or other modules for internal linking in Drupal. 

Our Drupal team is always there for module selection, installation, configuration, or creation from scratch!

Sep 18 2019
Sep 18

It’s great to live at a time when a robust CMS can share its content with an ultrafast JavaScript front-end. One of the best examples of this is combining Drupal and GatsbyJS. We are happy to see a new tool for it that is fresh from the oven — Gatsby Live Preview module for Drupal 8. 

It provides Drupal editors with easy content creation workflows, making Drupal and Gatsby integration a more lucrative idea for developers and website owners.

GatsbyJS: a great companion for Drupal

The GatsbyJS modern site generator inspires the Drupal community more and more for many reasons. Here are at least a few:

  • It is based on the hottest technologies such as the ReactJS front-end framework, the GraphQL query language, and the Webpack JavaScript module bundler. 
  • It is amazingly fast and provides real-time content updates. Every static Gatsby site is, in fact, a full-fledged React app. 
  • It comes packed with 1250+ source plugins to retrieve data from particular data sources. This includes the Drupal source plugin that connects your Drupal site as a data source to your Gatsby site.
  • It has 250+ starter kits to quickly set up a Gatsby website that will display your Drupal 8 data.
GatsbyJS starter kit exampleGatsbyJS starter kit example 2

The Gatsby Live Preview module in Drupal 8

The contributed module called Gatsby Live Preview allows Drupal content editors to make content updates and immediately see how it will look on the Gatsby site before deployment. 

This easy content creation is provided by showing Drupal on the left and Gatsby on the right:

Gatsby Live Preview module in Drupal 8

The maintainer of the module, Shean Thomas, gave a talk and showed slides of the Gatsby Live Preview module at Decoupled Days in New York on July 18, 2019. 

Thomas explained the problem that the module solved. Previously, there was no easy way to see during content creation how changes would look like before you click “save.” Among the available options was to run the Gatsby development server before deploying the changes to live, which required the entire site regeneration. 

According to Shean Thomas, among the plans for the future is integrating the module with the Drupal 8’s Content Moderation module. The core Content Moderation and Workflows modules take content creation to a new level through handy editorial workflows in Drupal 8

The module is very new with its alpha release out on August 14, 2019. It is based on the tool introduced by the Gatsby team — the Gatsby Preview Beta

Steps to install and configure the module 

This part comes when the main setup is complete. So we assume you are done with:

  • Gatsby site creation
  • Gatsby Source Drupal plugin installation (version 3.2.3 or later)
  • configuring the gatsby-config.js file to list your Drupal website’s address
  • building up your Gatsby pages to display Drupal content

So the live preview setup steps are as follows:

  • install and enable the Gatsby Live Preview Drupal module the way you prefer
  • set up a Gatsby cloud preview account
  • set the “preview” flag to “true” in the “options” (the Gatsby Source Drupal plugin’s file)
  • Gatsby is now ready to follow the content changes at a particular URL
  • copy the preview URL from the Gatsby cloud to the “Gatsby Preview Server URL” (Configuration — System — Gatsby Live Preview Settings of your Drupal admin dashboard)

Examples of easy content creation & preview with the module 

The Decoupled Days' speech about the Gatsby Live Preview module greatly inspired the Drupal community. In order to make it easy for people to get started with Drupal and Gatsby integration. 

Drupal contributor Jesus Manuel Olivas decided to improve some features in the module.

The developer also added this setup to projects based on the Drupal Boina Distribution and shared his impressions about the module in the blog post with the video. Let’s have a look at this easy content creation process:

  • On the left side, we see the Drupal site where some content is added via the admin interface. 
Gatsby Live Preview module in Drupal 8 exampleGatsby Live Preview module in Drupal 8 example
  • On the right side, we see the Gatsby site update immediately after the “Save” button is clicked in Drupal.
Gatsby Live Preview module in Drupal 8 example


Get the most of Drupal and Gatsby integration!

Our developers will help you enjoy the incredible speed that GatsbyJS is able to give to your Drupal website! They can:

  • set up a Gatsby website and establish content retrieval from Drupal
  • build your Gatsby pages exactly according to your wishes thanks to GraphQL
  • install and configure the module for Drupal and Gatsby live preview for easy content creation

Our Drupal team are masters of modern JavaScript technologies. You can entrust this integration to us!

Sep 04 2019
Sep 04

Drupal 8 makes it easier and easier to create rich, interesting, and beautiful content pages. Among the new features of the Drupal 8.7 release, we saw the stable Layout Builder and the new Media Library user interface. 

Another great piece of news is coming now! The Media Library in Drupal 8 has an embed button added to the CKEditor panel, and media embedding without a mouse is possible. This Media Library and CKEditor integration is now in the dev branch and will be officially available with the Drupal 8.8 stable release in December 2019. 

Consider scheduling your Drupal website update to 8.8 with our team. Meanwhile, let’s learn more about the new features.

The Media Library in Drupal 8 and rich content creation

Thanks to the Media Library and Media modules being part of the Drupal core, media handling in Drupal 8 is very convenient. It’s possible to add various types of media, store them in the Library, and reuse the content whenever you need it. 

You can display the items in a grid or table view, select and insert them, sort and filter them by various criteria, bulk upload, and so on. With the new Library user interface introduced in Drupal 8.7, everything looks and works especially well. Here are our screenshots from this version.

Media Library in Drupal 8

Media Library in Drupal 8: adding or selecting images

The default Drupal 8 media types are:

  • Audio
  • File
  • Image
  • Remote video (with links from YouTube, Vimeo, etc.)
  • Video

Using items from Media Library in content

Content editors appreciate the ability to select items from the Library and insert it directly into the content. To achieve this, it is necessary to add the Media field of the relevant type to a content type (or other fieldable entities like user account). 

Media Library in Drupal 8: oEmbed videosMedia Library in Drupal 8: adding or selecting videos

Great news: media button in the CKEditor panel

To make media selection and embedding experiences even smoother, the embed button has now been added to the CKEditor dashboard in Drupal 8.8x-dev release. This Media Library and WYSIWYG integration was announced in a tweet by “The Drop is Always moving.”

Media Library and CKEditor integration tweet

As we see, the Media Library button has an icon that looks attractive and clearly shows its purpose to users. 

The Media subsystem maintainer Phenaproxima shows nice screenshots and writes that the icon design is agreed by all, usability tests are successfully passed, and the button is well-tested. Congrats and thanks to the team of amazing experts for their job!

The work is successfully committed to the Drupal 8.8.x dev branch, waiting for the official release on December 4, 2019.

Media Library button added to Drupal 8.8 CKEditor

Users can click on the button, see the Media Library, select media, and click “ Insert Selected.”

Media Library button added to Drupal 8.8 CKeditor

The button can be enabled or disabled by drag-and-dropping, which is a great capability of the CKEditor in Drupal 8.

CKEditor panel now with Media Library button

Breaking news: final patch for Media Library and WYSIWYG integration

As we were preparing this article for publication, another awesome news arrived about the final feature patch for the Media Library. It allows for media embedding in WYSIWYG with no mouse needed. Wim Leers, one of the gurus who make such things happen, posted a video on his blog post.

Media embedding without mouse in Drupal 8.8 CKEditor

Enjoy the Media library’s new features!

Start producing richer content in a snap of a finger — use the Media Library in Drupal 8. Our Drupal support and development team can assist you in every step of your way. For example, we can:

  • update you to Drupal 8.7 so you can use new Media Library’s user interface
  • upgrade your website to Drupal 8 if you are still on Drupal 7
  • adjust your website’s settings for easy media handling workflows
  • advise you and set up other attractive ways to display content in Drupal 8
  • and, of course, update you to the upcoming Drupal 8.8 as soon as it arrives in December

Follow our news about Drupal support services and always feel free to contact us!

Aug 28 2019
Aug 28

To always work smoothly and be up-to-date, your Drupal website needs support and maintenance. It’s nice to know you can rely on experts for things like Drupal updates, website performance audit, bug fixes, or anything else. However, you need to choose them carefully. 

First of all, there are plenty of reasons to choose a support company over a freelancer. But there are also the must-have characteristics of a good Drupal support agency. Let them help you with your choice. 

Good Drupal support agency’s features 

  • Decent time on the market

All companies were once startups. However, if a Drupal support agency popped up a week ago, it might be risky to immediately entrust it with major website tasks. After a little while, the agency is able to prove its stability on the market. 

Drudesk support agency has celebrated its 4th birthday and its parent company InternetDevels is preparing to have its 12th anniversary. They have gained a lot of solid experience in challenging Drupal support projects and complex cases.

  • Positive customer feedback

No one says that 100% trust in online feedback is a panacea. Still, it’s important to know what experiences other people have had with a Drupal support agency, so it definitely should have positive reviews.

Drudesk’s customers speak warmly about the agency, call it a forward-thinking and conscientious team, communicative and organized, quick to respond to queries, a reliable partner, and more. Drudesk reviews on Clutch, testimonials on the company’s main page, and other feedback will give you a better picture. 

positive customer feedback

  • A wide range of support services

Website support embraces a wealth of various aspects. It’s convenient and effective to have the same agency working with all of them. So your ideal Drupal supporting partner needs to have broad expertise. 

Drudesk offers all kinds of support and related services. Among them:

and many more.

But this is not all — Drudesk has a strong web development background that allows it to develop websites from scratch. 

In addition, the agency employs quality assurance engineers, DevOps experts, SEO specialists, and others whose expertise may be needed for your case. 

a wide range of support services

  • Warranty for the work performed

Drupal support services, like any others, need to have a warranty. This means that the agency is responsible for their work. 

It should be noted that website support services have their peculiarities. Websites often have old bugs and legacy code that may interfere with the website’s work, making it harder to give a warranty for particular tasks. 

Still, Drudesk cares about customers and offers a warranty for the tasks performed. The standard acceptance period lasts 31 calendar days. During this time, you can check the results. If you find any bugs, everything is fixed free of charge.

  • Transparent task tracking

A good Drupal support agency will give you full control over the tasks performed. Its workflows will be transparent and open to you.

With Drudesk, all customers can see the working progress in real-time. All tasks are managed in Drudesk’s CRM. You can leave your comments on tasks and approve the results. You can also be notified about the team’s new comments in any way convenient to you. 

Since Drudesk relies on the Agile methodology, it has an iterative approach to projects. Large ones are broken into sprints and your feedback is considered at every stage in order to make the result more suited to your needs.

transparent task tracking

  • Openness to communication

When working with a decent Drupal support agency, you should feel they are ready to answer your questions and hear your feedback.

Effective communication is one of Drudesk’s priorities. The agency has English-speaking customer service managers and project managers. 

They make sure your ideas are brought to the developers in the right ways, and they are always open to communication and ready to schedule a Skype call with you or reply by email.  

  • profile & community engagement

Every agency working with the Drupal open-source CMS is part of the Drupal community. Its engagement into Drupal life is directly connected to its attitude and expertise. 

Drudesk is listed on and its developers make their contribution to various Drupal projects. They help newbies understand Drupal through discussion forums and willingly mentor new talents. Drudesk developers also actively participate in Drupal events like code sprints, Drupal Camps, etc.

Drupal community engagement

Your Drupal support agency is here

When all these characteristics are met, this means you have found a perfect Drupal support services partner. Contact our Drupal support agency and let’s discuss how we can make your website’s work better. This is where good website support starts!

Aug 14 2019
Aug 14

It‘s easy and enjoyable to create marketing campaigns, drive leads, and tell your brand’s story to the world if your website is on the right CMS. Drupal 8’s benefits will definitely impress any marketer. So let’s take a closer look at the greatness of Drupal 8 for marketers, see what makes it so valuable, and name a few useful modules.

The benefits of Drupal 8 for marketers

Drupal 8 has cutting-edge marketing features built into the core and a myriad of contributed modules helpful in every aspect of your successful marketing. 

Easy integration with marketing automation tools 

Marketers love the various marketing automation and CRM tools. They effectively streamline their workflows, as well as give them valuable analytics. 

Thanks to its built-in support for RESTFul web services, Drupal 8 integrates with marketing tools or any others at a snap of a finger. 

Drupal 8 modules to integrate marketing tools

and many more.

Multilingual Drupal 8 campaigns

Marketers can produce more powerful and convincing campaigns in their users’ native languages. Without a doubt, Drupal 8 is a great choice for multilingual websites.

A hundred languages are supported out-of-box, including those with the RTL text direction. The four built-in multilingual modules make it easy to add languages to your site and translate everything — interface, configuration, and content. Most interface translations are already prepared by the community.

Admin interfaces to add translations are very handy and editor-friendly. As D8’s third-party integration capabilities are among its key benefits, it’s also easy to integrate any translation software.

Drupal 8 modules for translation tool integration

and more.

There also are contributed Drupal 8 modules for multilingual features for every aspect of a multilingual website.

Some Drupal 8 multilingual modules

and many more.

Multilingual Drupal 8 website example


Multi-channel marketing in Drupal 8

Marketers can engage customers with their Drupal 8 campaigns on their preferred devices. D8 websites are ready to share their data to any web or mobile applications. 

This is thanks to the API-first architecture — one of D8’s key benefits. The core now has 5 robust modules that effectively expose your Drupal entities as a RESTful web API. In the Drupal 8.7 release, the JSON:API module joined this “team” to make multi-channel experiences even more ambitious.

Marketers will appreciate the “create once, publish everywhere” philosophy adopted by the API-first Drupal 8. It significantly increases their reach with minimum publishing expenses. 

Quick and handy content creation with advanced features

Content is the heart and soul of marketing campaigns. A new level of its creation is among the greatest benefits prepared by Drupal 8 for marketers. Editorial workflows are both very user-friendly and advanced in their capabilities. 

At least a few of Drupal 8 content creation benefits

  • You can make edits on the fly with the inline editing feature.
  • The handy drag-and-drop CKEditor is the default D8’s WYSIWYG editor. 
  • Drupal 8 has a Media Library that lets you save and reuse videos, audios, images, and other media.
  • You can add media directly into articles or news, including remote videos from YouTube or Vimeo via the oEmbed feature in Drupal 8.
  • Configurable editorial workflows are available to your marketing team with the new Content Moderation and Workflows modules.
  • The Views in D8 core lets you add highly configurable content collections to your pages. 
  • It’s easy to create beautiful slideshows and carousels with the help of contributed tools such as Views Slideshow, Juicebox, jCarousel, Owl Carousel, and so on.

Media Library in Drupal 8

Smart content personalization

Individualized, or targeted, content delivery helps marketers reach their audience. You just give the right offer at the right moment to the right person. Drupal 8 offers awesome opportunities to marketers in this field. 

Some great Drupal 8 personalization modules

  • Smart Content allows you to offer a different display based on browser conditions.
  • Smart Content Segments helps you manage groups of these conditions in a handy UI.
  • Acquia Lift Connector unites your content and customer in a drag-and-drop interface so marketers can effectively manage your campaigns in real-time using behavioral factors.
  • Cloudwords for Multilingual Drupal is your assistant in multilingual campaigns with the features of workflow automation and project management.

Acquia Lift Connector Drupal 8 personalization module

Social media campaigns

Marketers know that social networks are amazing campaign boosters. Your SM page and your website can be an invincible marketing team. With D8, their integration is a breeze. 

Marketers will be amazed by a myriad of contributed Drupal 8 modules that will help them to:

  • auto-publish content to social networks
  • invite users to join your social media pages
  • add their icons to the website
  • add sharing buttons
  • analyze the statistics 
  • embed feeds 

These Drupal 8 social integration modules include

and many more. 

Social integration modules in Drupal 8

Let your marketing boost with Drupal 8!

These have been just a few glances at the greatness of Drupal 8 for marketers. Contact our Drupal team to discuss in what other ways D8 can be helpful to your marketing campaigns and your business. 

Our Drupal developers are ready to:

  • build you a Drupal 8 website from scratch
  • migrate your Drupal 7 website to Drupal 8
  • update your minor Drupal 8 version (since some features mentioned above only start from Drupal 8.7)
  • install the needed modules and configure them properly based on your needs
  • customize the existing solutions to add the desired marketing features to your site

Enjoy the benefits of Drupal 8 for marketers!

Aug 07 2019
Aug 07

You've probably heard recently that Drupal 9 is coming. Drupal 8.7 was released in May and Drupal 8.8 is planned for December 2019. At the same time, D9 is becoming a hotly discussed topic in the Drupal world. 

Drupal 9’s arrival perfectly fits into the Game of Thrones’ quote — “Brace yourself, winter is coming.” But do you need to brace for D9? It is promised to arrive easily and smoothly. Still, some important preparations are needed. Let’s review them in this post.

Drupal 9 is coming in June 2020

The year of the D9 release became known back in September 2018. Drupal creator Dries Buytaert announced it at Drupal Europe in Darmstadt. Later on, in December, the exact date arrived — Drupal 9 is coming on June 3, 2020!

What will happen to Drupal 7 and Drupal 8? Both D7 and D8 will reach their end-of-life in November 2021. This means the end of official support and no more updates in the functional and security areas. Some companies will come up with extended commercial support, but it’s far better to keep up with the times and upgrade. All the development ideas and innovations will be focused on “the great nine.”

The Drupal creator explained the planned release and end-of-life dates. In a nutshell, D8’s major dependency is the Symfony 3 framework that is reaching end-of-life in November 2021. Drupal 9 will ship with Symfony 4/5. So the Drupal team has to end-of-life Drupal 8 at that time, but they want to give website owners and developers enough time to prepare for Drupal 9 — hence the June 2020 release decision. 

According to the timing, you need to be on Drupal 9 by By November 2021. In the meantime, you should prepare. 

Preparations for Drupal 9 in the coming

1. How to prepare for Drupal 9 if you are on Drupal 8

Hearing that Drupal 9 is coming, many D8 website owners may say “Hey, we just had an epic upgrade from Drupal 7 to Drupal 8, and here we go again!”.

Keep calm — everything is on the right track. Your upgrade from Drupal 8 to Drupal 9 should be instantaneous. D9 will look like the latest version of D8, but without deprecated code and with third-party dependencies updated (Symfony 4/5, Twig 2, and so on).

Dries Buytaert's quote: we are building Drupal 9 in Drupal 8

There are two rules of thumb regarding the Drupal 9 preparations:

1) Using the latest versions of everything

To have a quick upgrade from Drupal 8 to Drupal 9, you need to stick to the newest versions of the core, modules, and themes. According to Gábor Hojtsy, Drupal Initiative Coordinator, you are gradually becoming a D9 user by keeping your D8 website up-to-date.

Gabor Hojtsy's quote: you become a Drupal 9 user by keeping up to date with Drupal 8.

“The great eight” has adopted a continuous innovation model, which means a new minor version every half a year. Our Drupal team is ready to help you with regular and smooth updates.

2) Getting rid of deprecated code

It is also necessary to keep your website clean from the deprecated code. Deprecated code means APIs and functions that have newer alternatives and are marked as deprecated, or obsolete. 

Any module that does not use deprecated code will just continue working in Drupal 9, Dries said.

Dries Buytaert's quote: without deprecated code websites will be ready for Drupal 9

How can you find deprecated code? Here are a few tools that check everything including custom modules:

  • The command-line tool Drupal Check that checks your code for deprecations
  • The Upgrade Status contributed module that offers a graphical interface to check the modules and theme and get the summary

Many deprecations are very easy to replace. You can always rely on our development team to have a thorough check and cleanup from deprecations. 

2. How to prepare for Drupal 9 if you are on Drupal 7

The best way to prepare for Drupal 9 is to upgrade to Drupal 8 now. Even if this might sound like a marketing mantra to you, it has very practical grounds.

There are plenty of reasons to upgrade and no reason to skip Drupal 8. These are words from Dries Buytaert's presentation

Dries Buytaert's presentation: there are many reasons to upgrade to Drupal 8 now

You will enjoy a wealth of Drupal 8’s benefits for business all the time before 2021. And when Drupal 9 arrives, you will just click and move ahead to it!

Gabor Hojtsy's quote: skipping Drupal 8 does not bring benefits

Don’t worry, despite the immense difference between D7 and D8, the 7-to-8 upgrades are getting easier every day. Developers have studied the D7-to-D8 upgrade path well. In addition, very helpful migration modules have recently reached stability in the D8 core.

Your upgrade to Drupal 8 will depend on your website’s custom functionality and overall complexity. In any case, our Drupal developers will take care of making it smooth. 

So make up your mind and upgrade now — welcome to the innovative path that will lead you further to “the great 9.”

Plan for Drupal 9 with us!

Yes, Drupal 9 is coming. No matter which version of Drupal you are using now, we can help you make the right Drupal 9 preparation plan — and fulfill it, of course. Just contact our Drupal experts!

Jul 17 2019
Jul 17

What is the latest business forecast for the media and publishing industry? The thunder and lightning of success! This is because Drupal has very useful web solutions for this industry.

In addition to easy content editing in Drupal 8 and other niceties, there are Drupal distributions for media and publishing. They are called Thunder and Lightning, and we will now discuss what they can give you.

What are Drupal distributions?

Distributions are meant to start a website with significant time and cost savings. This is because Drupal distributions are installation kits suited to specific business use cases.

These packages include the Drupal core, a set of contributed modules, specific configuration, and more. Distributions are free and ready to go. They can be customized and extended by development teams to meet your business needs.

Drupal distributions for media and publishing

Thunder and Lightning are very famous Drupal distributions for media and publishing. They sound like a pair of related projects, but they are actually from different creators. Let’s review the details of each of them.

Lightning — Drupal distribution for media and publishing

Lightning is a framework and a distribution in one. It empowers developers to build great authoring experiences. And it allows content editors and publishers to enjoy smooth, handy, and consistent workflows.

The Lightning distribution was developed by Acquia in 2016. It is a lightweight and extensible product provided with detailed documentation and recommendations. Lightning inherits the best Drupal practices and offers a set of modules without being overloaded by extraneous ones.

about lightning drupal distribution

The distribution’s reliability is guaranteed by 60+ automated tests and by Drupal Security Team’s close attention. This makes it much safer to use than a selection of standalone modules.

The project is actively maintained and has seen its 8.x-4.001 version released in June 2019. Lightning is the most downloadable Drupal 8 distribution on in general, not only among Drupal 8 distributions for media and publishing.

Distributions Lightning

Key Lightning features for publishers

  • Easy media management

Lightning includes the media management feature with the media library. Content publishers can upload images and videos from a PC or from a URL, save them to the library, or embed them into the content.

  • Flexible editorial workflows

With Lightning, it is easy to streamline content workflows between different user roles in the team. Publishers can manage the existing ones, or create new content approval states.

  • Handy content preview

Editors can enjoy a comprehensive content preview, including images and videos, before submitting it to the public.

  • Drag-and-drop layouts

The handy drag-and-drop tools allow editors to shape their page layouts for different occasions. The layouts are responsive to mobile devices. 

  • API for content sharing

 Lightning has a preconfigured API for exposing content to other applications in the JSON format, so your media website can go multichannel.

  • Headless Lightning subprofile

The subprofile has the same features but also offers an interface for decoupled Drupal setup, which is a hot trend. According to Dane Powell, Senior Technical Architect at Acquia, both Lightning and Headless Lightning are a great choice for this architecture.

key features of lightning drupal distribution

Thunder — Drupal distribution for media and publishing

The Thunder distribution is an out-of-the-box product to be used by professional media websites. On its official page, Thunder positions itself as a CMS (content management system) for professional publishing.

It includes a set of specific modules tailored to the needs of publishers. Similarly to Lightning, Thunder is free and open-source.

about thunder drupal distribution

Thunder was created in 2016 by Hubert Burda Media. In addition to the Thunder Core Team, the project is maintained by partners from the Thunder Coalition such as, Acquia, Valiton, Facebook etc. that add their own custom features to it. The distribution’s creation was great news for the Drupal world.

about thunder drupal distribution

And just like Lightning, Thunder is actively supported and has released it 8.x-2.4 version in June 2019.

Key Thunder features for publishers

  • Flexible content creation

Publishers can create more than simple articles by adding elements like images, videos, galleries, Twitter cards, and more with a drag-and-drop tool. Media can be saved for further reuse.

  • Content scheduling

Your content can be scheduled to show on the website at a given date and time or, on the contrary, to stop showing at a given time.

  • video player

Thunder features a high-performance video player that allows publishers to control their videos across platforms and devices.

  • Riddle tool for interactive content

There is a Riddle that allows you to create interactive content like quizzes, tests, and so on. This keeps users engaged and drives your traffic.

  • Instant Articles by Facebook

With the Instant Articles feature by Facebook, publishers can create articles that will load instantly on mobile devices of Facebook app users. 

  • The Infinity theme

This is a special theme created for media and publishing websites by InStyle. It allows website to present content and increase user engagement with infinite scrolling.

  • Mobile-friendliness

The distribution allows publishers to work in the admin dashboard from any device. Users can enjoy a modern and flexible front-end design.

key features of thunder drupal distribution

Get the best from Drupal distributions for media and publishing

These have been just a very brief rundown of the Lightning and Thunder capabilities. They both are built according to the best development practices and both can be a great base for your website.

Contact our Drupal development team and we will help you quickly setup a website upon one of these distributions. Let your media and publishing business flourish with a website that reflects its demands!

Jul 04 2019
Jul 04

Developing a website for a higher education institution may be tough, as universities have plenty of departments and branches. Despite the fact that each department has its own site with specific content, all of them have to function under the same CMS and be closely connected. How do you know which CMS is right for your university website? Let’s sort things out!

Drupal vs WordPress for higher education institutions

The most popular choices for higher education institutions websites are Drupal and WordPress. However, WP lacks functionality, security, and accessibility necessary for a complicated higher education institution platform.

Did you know that 71 out of the top 100 universities, including Harvard University, University of Oxford, and Yale, use Drupal for their websites? It’s not surprising if you are familiar with all of Drupal benefits.

Today, the team at Drudesk explores the benefits of Drupal for university website development.

Drupal’s benefits for university websites

Drupal offers a bunch of tools and features necessary for a complicated university website development. Here are the main ones:

  • Accessibility

Caring about accessibility for users with physical disabilities is a must. Drupal 8 possess a number of features that support website accessibility standards. They help screen readers understand web pages, add alt text for images, take care of fonts and colors, and much more.

Note that you can always contact Drudesk for a website accessibility audit to see if your website is optimized for people with impairments.

  • Information security

University websites contain a lot of valuable content that should be kept safe. Luckily, Drupal is one of the most secure CMS, as it offers regular core, modules, and security updates. With Drupal you can be sure that your platform maintains the highest level of security.

  • User roles and permissions

University websites are visited by professors, students, administration staff, and much more. All of them need different permissions for creating and editing website content based on their roles at the university. Drupal offers out-of-the-box user roles, as well as a number of contributed user access modules that will help you easily configure roles and permissions on the site.

  • Multilingual functionality

Drupal 8 possess a multilingual feature out-of-the-box. This is extremely useful for higher education institutions, as students all over the globe will access the website. Drupal translates all information available, from content to interface, and offers a choice of 100+ languages to install on websites.

  • A multisite approach

Multisiting is usual for higher education institutions, as they have different departments that require sister domains. Things become easy with the Drupal multisite feature that lets you have as many websites as you need on the same Drupal installation. It provides unlimited opportunities for sharing content, managing the settings, and giving access between multiple sites.

  • Easy content creation and editing

Higher education websites update and add content regularly. Drupal 8 is a solution for content creators, as it possesses a number of built-in features for easy content creation, from posting to editing.

  • Hundreds of themes and templates

Drupal offers various design templates that are pretty much effortless to use while ensuring consistency across an entire institution.

Great examples of higher education websites built in Drupal

Harvard University

Harvard university website on Drupal

Rutgers University

Rutgers University website on Drupal

Stanford Graduate School of Business

Stanford Graduate School of Business website on Drupal

University of Oxford

University of Oxford website on Drupal

University of Colorado 

University of Colorado website on Drupal

Develop a website for a higher education institution on Drupal!

Take a look at the Maryland Global University, a website created by our web development partners: InternetDevels agency. It is supplied by the eCommerce functionality for buying online courses, as well as Moodle integration — a well-known LMS (learning management system).

Maryland Global University website on Drupal by InternetDevels

Don’t hesitate over the choice of CMS for university website development anymore — Drupal is definitely the solution! Drop us a line regarding your project and we’ll immediately get back to you to discuss all the details of the project.

Jun 26 2019
Jun 26

Drupal 9 is coming — its arrival is planned for June 2020. So while the world continues enjoying Drupal 8’s benefits, it’s also time to start getting ready for Drupal 9. What does it mean and how should you prepare? We are discussing this today in our blog post.

Easy upgrades to Drupal 9 as a huge bonus

All website owners and developers can enjoy an amazing bonus related to Drupal 9. Thanks to efforts from the Drupal community, upgrades from Drupal 8 to Drupal 9 are made easy! They shouldn’t take more time than trivial updates between minor versions (for example, from Drupal 8.6 to Drupal 8.7).

As Dries Buytaert wrote in his State of Drupal presentation, when sites move from Drupal 8 to Drupal 9, content is already ready and the code continues to work. Amazing!

Excerpt from Dries Buytaert's State of Drupal presentation

But, as you might have noticed, there is one remark in this illustration by Dries. Easy upgrades to Drupal 9 will be available if websites are not using deprecated code. Let’s see in more detail what this means and how to fulfill this condition.

Getting ready for Drupal 9: cleaning up deprecated code

To be ready for Drupal 9, all websites should cleaned up from deprecated Drupal APIs and functions (outdated ones that have more modern alternatives).

Since Drupal core and contributed modules are maintained by their developers, there is a big chance they will take care of the cleanup. So it is necessary to keep the core and contributed modules up-to-date as part of preparation for Drupal 9. However, a good deprecation check is also highly recommended.

When it comes to custom modules and themes developed specifically for your website, they should be properly checked for deprecations and updated.

To discover deprecated code, there are useful tools in Drupal. Among them:

What to expect from the module readiness and the amount of work needed? Dwayne McDaniel of Pantheon checked almost 7,000 of the most popular contributed Drupal 8 modules with the Drupal-check tool. He found that almost half of the modules had no Drupal 9 compatibility issues, while 35% had 5 issues or less.

At MidCamp 2019, issues for 300 modules were additionally opened, so the work is already being done on them. Most modules just need an easy fix. All this is stated in the Drupal 9 slides by famous Drupal contributor Gábor Hojtsy.

How Drupal contributed modules are ready for Drupal 9

Dries Buytaert also says that many deprecations are just a matter of “find and replace” and he tried this on his own website.

So don’t worry — the cleanup work as part of getting ready for Drupal 9 shouldn’t take much time. Our Drupal team is always ready to help you check and clean your website from deprecated code.

What about Drupal 7?

Drupal 7 website owners can upgrade to Drupal 8 now or wait for Drupal 9. However, the first option looks much more beneficial. See why.

If they upgrade from Drupal 7 to Drupal 8 now, they can start enjoying what Drupal 8 has to offer (and that’s a huge piece of pie — just check out the basic Drupal 8’s benefits for business). And then they will just switch to Drupal 9 in a snap of a finger. Only one big move will ever be needed.

“Once you are on the Drupal 8 track, you will never have to change tracks again,” Dries writes in the presentation, comparing migration to changing railway tracks.

As you can see from his great illustrations, the Drupal 8 track leads to Drupal 9 and then to Drupal 10 stations. At the same time, Drupal 7 and especially Drupal 6 tracks have no future.

Dries Buytaert illustrating the future of Drupal versions

Dries Buytaert illustrating the future of Drupal versions

In addition, the upgrade path from Drupal 7 to Drupal 8 is very well documented, tried by most developers, and has been improved a lot recently. Useful migration modules have become stable in Drupal 8 core, so it is much easier to migrate content and configuration.

You will definitely benefit from moving to Drupal 8, and Drudesk team is ready to help you. Change the track if you are still with Drupal 7 and get on the train to the future!

Drupal 9 is coming — entrust us with getting your site ready

Entrust our Drupal support team with preparing your website for the future. Both cleanups and migrations are Drudesk’s area of expertise. We strive to make websites better, cleaner, more modern — and ready for Drupal 9!

Jun 12 2019
Jun 12

There are many beautiful words you can use to tell your customers that your website is trustworthy, reliable, and transparent. But one small widget can say it better that a thousand words.

So let us introduce the UpTime Widget Drupal module. See how it could help you always stay aware of your website uptime, build customer trust, and stand out from competitors.

Module maintained by our developers

Before we move on, we are especially happy to mention that the UpTime Widget Drupal module is maintained by our guys.

Knyshuk.vova is the owner of the module. Its creator Lolandese transferred the ownership to him in accordance with Open Ownership Pledge. Vladimirrem and ApacheEx are maintainers of the module who also make important commits.

These are Drupal developers from Drudesk and Drudesk’s parent company — InternetDevels, which is also listed as supporting organization on the module’s page.

What UpTime Widget Drupal module does

The UpTime Widget module connects your website to the popular free uptime monitoring service —

It shows your website uptime (the percentage of time that your website is available to visitors online). Ideally, it should be 100%, although this figure may be a little bit lower in reality.

Your website uptime figure appears in the form of a handy widget to be placed anywhere on your website as a Drupal block. It can also optionally show a configurable copyright notice.

Uptime widget for Drupal website

Uptime widget for Drupal website

The UpTimeRobot service is able to monitor your website uptime every 5 minutes or at an interval you choose. You can get notifications about it by:

  • email
  • SMS
  • Twitter
  • RSS
  • push notifications for iPhone or iPad.

How the UpTime Widget module works in more detail

Getting your keys on the UptimeRobot service

First, we will need to register our website from the service and get the API key and the monitor ID. We need to make a few easy steps:

  • sign up, activate your account, and log in at
  • add a new monitor of the HTTP(s) type, give our website a name, and submit its URL

Register website at UpTime Robot service

The UptimeRobot service has plenty of interesting things like informative dashboards or detailed notification settings. We can come back here any time, but now let’s grab the API key and monitor ID and move on to our Drupal 8 website.

Installing and configuring the UpTime Widget module

The UpTime Widget module can be installed on the Drupal 8 website in any way you prefer. Although it is using a third-party service, installation with Composer is not obligatory.

When the module is installed and enabled, its settings appear at admin/config/system/uptime_widget. Let’s run through some of them.

  • There are two key required fields where we need to enter the previously received API key and monitor ID.
  • The “decimal separator” and “scale” fields have nice defaults, but we can play with the ways our website uptime digits are displayed.
  • The monitoring interval and the refresh interval fields also have sensible defaults. But we can choose how often the website uptime should be checked and how often Drupal should receive this information.

Configuring UpTime Widget Drupal module

Configuring the copyright notice

The website uptime widget by default comes with the copyright widget, which can optionally be disabled. Hiding or showing the copyright is also available in the block configuration, which will be described in the “Configuring the Uptime block” part.

The module’s settings page at admin/config/system/uptime_widget lets us configure how the copyright will look. It offers:

  • several options for the copyright notice
  • the option to specify the year that our domain was first online
  • the option to write a custom “Prepend text” instead of “All rights reserved.”

Configuring copyright notice of Drupal uptime widget

Placing and configuring the Uptime block on the website

It’s now time to place the uptime widget block on our Drupal website. In Structure — Block Layout, we choose the theme region (for example, Footer first), click on it, find the Uptime block in the list of blocks, place block, and save the blocks.

Placing UpTime Widget as block on Drupal website

We can configure the block to our liking — either on the Block Layout page or by clicking the “quick edit” pencil near the block on the website.

We can leave or hide its title by checking or unchecking “Display title,” configure visibility for specific roles, specific pages or content types, and so on.

Configuring UpTime Widget as Drupal block

We can also choose to show both the uptime and copyright widgets, or only one of them.

UpTime and copyright widgets Drupal

More features to come in the future

Our guys have many plans about the module’s improvements in version 8.2. Here are at least some of them:

  • Uptime check notifications should be configurable directly from the Drupal website, which is for now only possible on the UpTimeRobot service.
  • The Uptime information should be included into the “Reports” page on the Drupal dashboard.
  • Public Status Pages, or detailed boards about uptime information, should be integrated into Drupal.

UpTime Robot service dashboard

Get yourself a website uptime widget

Show your visitors they can rely on you all the time! And you can always rely on our Drupal support team if you need any help in:

  • installing and configuring the UpTime Widget Drupal module
  • customizing its look on your website
  • creating another custom Drupal module in accordance with the customer’s requirements

Stay reliable and build your customer trust!

Jun 05 2019
Jun 05

The unique Drupal Views module allows you to pull the data from the database and display it in any way you wish. As an example, we discussed creating photo galleries with Drupal 8 Views. Drupal’s flexibility is unlimited, so it offers additional ways to customize the content presentation and meet the customer’s precise requirements. One of them is to rewrite the output of Drupal Views fields. Let’s explore this a little bit using the simplest of cases.

Why rewrite Drupal 8 Views field output?

It’s possible to shape your Views like Legos when using the field-based format in it. You can add only the desired fields of a content type or other entity type. It’s easy to rearrange the fields in any order, hide or show the field labels, configure the fields, and so on.

However, there are cases when you just need the fields to display differently. The customer may want to merge two fields into one, use the values of one field in another, link fields to specific pages, replace links with icons, and so on — the sky's the limit.

The solution depends on the case. In more complicated cases, expert Drupal development teams create custom field formatters. In simpler ones, they just rewrite the output of Drupal Views fields via the built-in Views dashboard capabilities.

Main principles of rewriting the output of Drupal 8 Views fields

When rewriting Views fields, we need to take into account the main principles:

  • The Views format should be configured as field-based.
  • Every field has a “rewrite results” section in settings, which has 6 options:

Rewriting Drupal 8 Views field output

  • There are replacement patterns that allow us to use tokens and display dynamic values (for example, the ID of the current node).

Replacement patterns for Views fields

  • We can add fields to Views, hide them from display, and use their values in other fields.
  • The hidden fields whose values we want to use should always be positioned above the ones we want to rewrite in the Views list of fields.

A simple example on how to rewrite Drupal 8 Views fields

Let’s create a view that displays all nodes of a content type. It uses fields and shows content as a table.

Field-based Drupal 8 view

In our rewrite example, we want to:

  • merge the content title and body into the same Views table column
  • add a content editing link that will be displayed as a pretty edit icon with a pencil.

1) Merging two fields into the same column

We will overwrite the title field by adding the body field values to it. We don’t need the body field to be shown — we just need to grab its values. So we create the body field and exclude it from display.

Exclude a Drupal 8 field from display

And we rearrange the fields so the body field is above the title field.

Rearranging Drupal 8 fields

In the title field settings, we choose “Rewrite Results” — “Override the output of this field with custom text.” And then we open “Replacement Patterns” and see the tokens for the title and the body.

Rewriting output of Drupal Views as custom text

We grab the tokens and put them into the text box.

Using replacement tokens in Drupal Views fields

And now our view shows them in the same column!

Merging title and body fields in Drupal Views

2) Adding an edit icon that leads to the edit page

We add “The edit icon” field to our content type, and attach the icon itself as a default image. We can move this field to “Disabled.”

Adding default image to a Drupal field

We then return to our view, find this field, add it to the view, and rewrite it so it leads to the content editing page. For this, we select “Output the field with custom link,” go to Replacement Patterns, grab the “node ID” ({{ nid }}) token, and shape our custom link with it:

Rewriting output of Drupal 8 Views fields

Done! We have a pretty edit icon that leads directly to the node editing page.

Drupal 8 view with field output rewrite

Let’s rewrite your Views fields exactly as you need

This has been just an elementary example of how to rewrite the output of Drupal 8 Views fields. Your fields will show exactly the way you want. It can be done with the built-in Views dashboard options, or with custom field formatters for more serious cases.

All you need is to contact our Drupal support and development team!

May 31 2019
May 31

Drupal is a great choice for media websites. This is due to easy content editing, flexible moderation workflows, advanced media handling, and much more.

And, of course, media and news websites on Drupal can enjoy unlimited content display options for. Today, we would like to show you one of them that we implemented for our customer’s Drupal website — so-called featured news collections, aka grouped news.

According to this Drupal setup, news on the same topic are grouped together in ways that provide a high level of usability for readers. More details are coming next.

Featured news collections as opposed to standard Drupal setup

Let’s see what makes the grouped news functionality special for news websites on Drupal, and how it differs from the standard Drupal setup:

  • Standard news are represented by Drupal nodes — one node per item. When you open a Drupal node, you see it in full view. When you open another Drupal node — you see another one. They can be grouped together by topic or category if they are tagged with the same taxonomy term. Still, all of them will be opened one by one.
  • On the contrary, featured news collections include multiple news on the same topic. When something happens in the world, they allow the reader to see the situation from all angles, or its step-by-step progress shown by new updates. The display offers a full view of all news items, which is very handy to read.

Featured news collection VS standard Drupal newsThe features of this news setup in more detail

Individual URLs for news items

We provided each featured news page has a general URL that the reader sees in the browser. However, each news item also has an individual direct link. When it is used, the page smoothly scrolls directly to the place where the particular item begins (due to jQuery Animate plugin).

The URL in the browser is also updated to the URL of the particular item. The URL change is achieved through the replaceState() method of the HTML5 History API, which allows developers to change the URL without the full page refresh.

These individual URLs are added to RSS feed and to the sitemap. Each of them also has social share buttons.

When shared, all pieces of news have individual meta tags. When someone follows their individual shared links, the page will smoothly scroll exactly to the place where each of them begins.

social media icons

Individual URLs and SEO

Every SEO expert knows that the same content available at different URls is a bad idea for Drupal sites or any others. We solved this by providing custom functionality that tells search engines to index the featured news collection only. The separate pieces of news will not be indexed or displayed in search results.

Navigation through the page

So the page with featured news has two blocks:

1) the block with news items in full view

If the block with news items has many of them, they will be divided into pages using the pager functionality.

2) the list of titles to navigate between all news items

What happens when a user clicks on a certain news item title in the navigation block?

  • If the item is found on the currently displayed page, the page smoothly scrolls to it and the URL is replaced, as we described above.
  • If it is not found on that page, we query the page that has it, using AJAX. Thanks to AJAX, the page with the full node view is loaded without page refresh. We calculate the position of the news item from the top of the page and animate scroll to it.

Featured news collection — navigation through the pageDesign for mobiles and tablets

News websites on Drupal should be convenient to access from any device. So, for mobiles and tablets, we provided the styling of the navigation block as a fixed floating block that becomes available upon clicks on the floating icon.

Enjoy interesting options for news websites on Drupal!

This was just a simple example of content display options for news websites on Drupal. Anything else is possible exactly in accordance with your ideas. In addition to AJAX for real-time updates, it’s possible to use frameworks like React, Vue, Angular, and so on.

Contact our Drupal team to discuss your news display functionality!

May 15 2019
May 15

There are Drupal modules loved by both developers and content editors. One of them is Layout Builder. It allows you to create page layout templates of various complexity via a handy drag-and-drop interface. The ability to do it with a built-in user-friendly tool is among the greatest benefits of Drupal.

We celebrate the news that Layout Builder in Drupal 8.7 core has become stable, which means it is officially ready for production sites. Let’s take a closer look at layout creation with this tool.

Layout Builder in Drupal 8 core: stable and feature-rich

Up to this moment, Layout Builder has gone a great path from an experimental module in Drupal 8.5 core. After a number of significant improvements and fixes related to keyboard accessibility, permission granularity, layout storage, translations, usability, and more, we now see Layout Builder in Drupal 8.7 core as a stable module.

Layout creation functionality is also found in popular contributed modules like Panels, Panelizer, Paragraphs, and Display Suite. Layout Builder inherits the best practices from them, and resembles them in many ways, while staying unique. So let’s review this intuitively understandable and powerful module has to offer.

Main features of Layout Builder

Layout Builder works with fieldable Drupal entities like content, users, comments, taxonomy, and so on. This “Lego box” allows you to:

  • compose the page layout with predefined sections
  • populate the sections with blocks that are various Drupal elements
  • configure each block
  • drag and drop the blocks to rearrange them

and much more.

The module can be used for these scenarios:

  • creating a layout for all entities of a certain type (e.g. all blog posts)
  • creating different layouts for different display modes (e.g. blog post’s teasers)
  • overriding the layout just for one entity of a type (e.g. just one blog post)
  • creating a layout for an individual entity (e.g. one landing page)

The last point deserves a special note. As Drupal creator Dries Buytaert wrote in his article “Why Layout Builder is so powerful and unique,” many of competing CMSs don’t offer a templated approach to layout creation from the browser. They only allow layouts for individual pages — in other cases developer input is needed. Drupal’s Layout Builder allows you to do both from the UI, which really makes Drupal stand out!

A tour on layout creation with Layout Builder

Let’s now have a look at how to create a simple layout with Layout Builder in Drupal 8.7.

1) Enabling the necessary modules

The layout creation story starts with enabling the stable Layout Builder and Layout Discovery modules in Drupal 8 core. 

enabling layout builder and layout discovery modules drupal core
2) Enabling Layout Builder for a content type

We want to create a template for all items of a content type. In our case, this is the “Tour” content type.

tour content type drupal8

In Structure — Content types — Tour, we select the “Manage display,” check “Use Layout Builder,” and click “Save.” 

enabling layout builder for drupal8 content type

Note: If we wanted to make each content item individually customizable, we would also check the other option “Allow each content item to have its Layout customized."

We no longer see content type fields, but no worries — they will be available in the Layout Builder UI where we can now go by clicking “Manage Layout.”

manage layout of content type drupal8
3) Composing our Layout with sections

Once moved, we can already see some sections made of existing “Tour” content type fields. We can use these or add new sections for 1, 2, 3, or 4 number of columns by clicking “Add section.” We can also add a couple of sections if we want to combine them vertically.

сompose layout with sections drupal8

When choosing the section, we can set the width proportion of its columns.

set column width layout builder drupal 8

4) Populating the Layout sections with blocks

Each section can be populated with blocks. These are not (or not only) Drupal blocks in the usual meaning — these are actually all Drupal website elements that are the building bricks for our Layout.

By clicking “Add block,” we see our content fields, lists (views), users, user fields, forms, menus, system elements, and so on. Blocks can be found by name. Custom blocks can also be created.

We have chosen a two-column section and we would like it to have the following blocks:

  • “Tour” image, “Tour” body, and Footer block for contacts (in the left column)
  • The “Venice stories” View that we have prepared (in the right column)

adding blocks to layout sections drupal 8

5) Configuring the Layout blocks

The familiar quick edit pencil above each block offers us to configure, move, or remove it. By choosing to configure, we see a configuration tray to the right. It has options in accordance with the formatters that the block has. For example, we can select the image style for our Tour image or hide the label in the “Venice stories” block.

configuring layout blocks drupal8

6) Brushing up the Layout structure

The blocks are draggable throughout the layout if we want to rearrange them. We then look through the page to see if it only has the needed sections and blocks, and remove the extra ones.

7) Saving the Layout and viewing our content

When we are done, there is no forgetting to click “Save layout” and then we can go and see how our content looks in our new template.

layout builder drupal 8 example

Get attractive Drupal 8 layouts!

We can all enjoy great opportunities for layout creation with the stable Layout Builder in Drupal 8.7 core. In our today’s example, we have just touched the tip of the iceberg of its capabilities.

Ask our Drupal development team to create magnetically attractive layouts for your Drupal 8 website, and let your users enjoy working with your site and your conversions grow!

May 01 2019
May 01

The spring is in full bloom — and so is Drupal development. On May 1st, we officially meet Drupal 8.7.0 release that is bursting with new features. And, of course, they are worth a good review. After the previous release in September, we discussed media handling capabilities in D8.6 as one of many interesting updates. Today, let’s take a closer look at what’s new in Drupal 8.7.0.

What's new in Drupal 8.7.0

Drupal 8.7.0 release is a big step forward that makes the CMS even more modernized, competitive, and user-friendly. It is now API-first, featuring handy UIs for editors, using the latest PHP, speaking more languages, and so on. The details come right now.

JSON:API as a new stable module in Drupal core

Here goes what Drupal's creator Dries Buytaert called an important milestone in its evolution towards being an API-first platform for both decoupled and coupled apps.

In the new release, the JSON:API module was added as a stable module to Drupal 8.7 core — skipping any experimental phases! JSON:API immediately exposes entities as a standards-compliant web API, so the data can be pulled by third-party applications.

The module is now the fifth module in D8’s ‘Web services” package. This means Drupal is now more open than ever to data exchange and third-party integration.

JSON_API is a new stable module in Drupal 8 core

Layout Builder stable and improved in Drupal 8.7

The “great drop” deserved a handy tool to create layout templates — and it got one. Layout Builder appeared in D8 core as of 8.5 release and immediately became popular.

It has been improved a lot in terms of keyboard navigation accessibility, precise permissions, layout overrides, column width selection, and much more. And now we officially have stable Layout Builder in Drupal 8.7 core, ready to work on live sites.

The module lets you create layouts for content types and other fieldable entity types. You can also design the look of individual content items. Constructing pages “brick by brick” by combining elements, configuring the blocks, and drag-and-dropping them around is easy and enjoyable.

Layout Builder stable in Drupal 8.7.0 core

New Media Library user interface

When discussing what’s new in Drupal 8.7.0 release, we need to mention the Media Library’s new, stylish, and handy user interface. It’s both nice to look at and to work with.

Finding media items in the Library, bulk uploading them from the computer to the Library, selecting media items and embedding them into content is a pleasure.

The Media module that works together with the Media Library is already stable. The Media Library is still experimental but its stability will not be late in the coming — it’s planned to be in release 8.8. The creators still have great surprises like WYSIWYG support. 

New Media Library interface in Drupal 8.7.0

New Media Library interface in Drupal 8.7.0 (2)

Umami demo now multilingual

The most delicious Drupal demo — Umami Food Magazine — has been translated into Spanish in Drupal 8.7 release. Umami was created to give a chance to explore the CMS’s capabilities thanks to plenty of demo content and configuration. This includes content types, media types, taxonomy, display modes, views, menus, and much more.

And now, in addition to all the above, Umami also showcases multilingual features configured out-of-box that anyone can study. Umami is available as one of Drupal installation profiles alongside the “Standard” and “Minimal.”

Umami demo translated into Spanish in Drupal 8.7.0

End of PHP 5 support

Drupal 8.7 is the last release to support PHP 5. However, it is already impossible in D8.7 to install new websites with a PHP version lower than 7.0.8. 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 definitely require PHP 7.

In any case, it’s important to remember that PHP 5.6 reached end-of-life in December 2018. So it’s time to update PHP due to both safety and efficiency reasons. You can entrust this to our website support team.

Revisionable custom menu links & taxonomy

Custom menu links and taxonomy terms have been made revisionable in version 8.7.0, which allows them to fully participate in editorial workflows.

Removal of automatic entity updates

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.

Third-party library updates

The new release has also introduced the updates of important libraries to newer versions. For example, Guzzle to 6.3.3, Stylelint to 9.10.1, Coder to 8.3.1, CKEditor to 4.11.3, Twig to 1.38.4, as well as numerous PHP dependencies.

Drop of support for Internet Explorer 9 and 10

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 and allowed the inclusion of 32+ stylesheets.

Update to Drupal 8.7 smoothly!

This has been just a brief rundown of what’s new in Drupal 8.7.0. Follow our next blog posts, because we plan to review new features in more detail.

The day of the new release also marks the end of security support for D8.5.x. So it’s time to move forward — let your website enjoy the new features and stay protected. For the smooth update, rely on our Drupal support team.

Apr 24 2019
Apr 24

Delicious food is able to inspire people even as they just see it on a website. That’s why food industry companies greatly benefit from well-built sites. The platform choice also matters. Drupal suits websites in all industries — e-commerce, real estate, education, or any other. In this post, we will explore why create a food website with Drupal. And get ready for tasty examples — colorful Drupal websites for restaurants, food products, recipes, and more.

Why create a food website with Drupal

The reasons to create a food website with Drupal include useful tools and the characteristics of the CMS. We will name at least a few of them and spice it up with website examples.

Contributed Drupal tools for food websites

The Drupal community has prepared a varied menu of free tools for food industry sites. Among them:

Umami Food Magazine

Mobile responsiveness

Users may want to order food, find a restaurant, or get a recipe on the go. Food images that are very attractive by themselves, should display well on mobile devices with minimum scrolling or zooming, and still retain their quality.

Drupal 8 has mobile friendliness as a priority. Its powerful tools easily make websites responsive. On D7, responsive design can also be created smoothly by an expert Drupal team.

See an example of responsive Alervi website with recipes that is built with Drupal:

Alervi Drupal website

Multilingual features

Let your food website be understandable to users across the globe. They will appreciate being able to use your recipes in their language. If you offer food products for sale, this will open new markets to you. Finally, if you own a restaurant, get ready to welcome tourists who have learnt about your online.

Drupal 8 supports a hundred languages that can be quickly added to websites. It offers ready interface translations, RTL (right-to-left) support, flexibility in deciding what to translate, and much more. On Drupal 7, multi language features can also be easily created by a good Drupal team.

See the multilingual Drupal Paysan Breton website with food products and recipes:

Paysan Breton Drupal website

Content presentation opportunities

Food is very magnetically appealing content by itself. A CMS should help you make the best use of it. One of the best features of Drupal is that you can organize and structure your content so users admire its look, easily find what they are looking for, and complete their goals.

For this purpose, Drupal offers Views, taxonomy for content categorization, display modes, powerful page builders, and much more. This will be useful for all food industry websites — those for restaurants, for food products, or for recipes.

See how content is presented at Davis website with food products and recipes that is built with Drupal:

Davis Drupal website

At The Laughing Cow website with food products that is built with Drupal:

The Laughing Cow Drupal website
At Drupal-built Higgidy website with food recipes:

Higgidy Drupal website

Unlimited website functionalities

Drupal has 42,000+ contributed modules for all imaginable features. What is not offered by them, can be created as custom functionality. Whatever is needed for restaurant sites, recipe sites, or food product sites, can be created with Drupal. See just a few simple examples.

Product locator at The Laughing Cow website with food products that is created with Drupal:

The Laughing Cow Drupal website - product locator

Step-by-step cooking at Drupal-built Jules Destrooper website with recipes:

Jules Destrooper Drupal website - step-by-step cooking

See the San Genesio website restaurant Drupal website that offers table reservations:

San Genesio Drupal website

Finding recipes by multiple characteristics at Drupal-built Paysan Breton website:

Paysan Breton Drupal website - finding recipes by multiple characteristics
Choosing dishes by multiple ingredients at The Boss Cafe website built with Drupal:

The Boss Cafe website

Google map for every restaurant at Drupal-built Le Comptoir du Malt website for a chain of restaurants:

Le Comptoir du Malt Drupal website

E-commerce features

Drupal has powerful e-commerce features represented by two platforms: Drupal Commerce and Ubercart. So your users to buy food products from you online.

Any imaginable features are possible here — integration with payment systems and shipping providers, promotions and discounts, product customization, order management, and so on.

See e-commerce with coupon codes at Jules Destrooper website:

Jules Destrooper Drupal website - e-commerce with coupon codes

See e-commerce with dynamic shopping cart flyout at Eldum Rétt website:

Eldum Rétt website - e-commerce with dynamic shopping cart flyout

Interaction with JavaScript frameworks

Drupal is smoothly combined with JavaScript frameworks that add a high level of speed and interactive features to websites like push notifications, real-time updates without page reload, and much more.

A very popular setup is the decoupled architecture where Drupal serves as a backend sending its data to an app built on a JavaScript framework — React, Vue, Angular etc.

Here is an example of decoupled Drupal Commerce and React Native App at Eldum Rétt website:

Eldum Rétt - decoupled Drupal Commerce and React Native

Let’s create a food website for you!

This has been just a brief review of the main reasons to create a food website with Drupal. Hopefully, you enjoyed the examples. So let your food business flourish with the help of a well-built website — contact our Drupal development team!

Apr 03 2019
Apr 03

JavaScript frameworks have raised the bar of website speed to the sky. Still, it’s just the beginning. GatsbyJS, a tool based on React and GraphQL, impresses the world with fast websites and applications it creates. Let’s take a look at combining Drupal and GatsbyJS to achieve high website speed.

What is GatsbyJS?

GatsbyJS is an open-source React-based framework for building blazing fast websites and applications. Gatsby pulls data from various sources like APIs, decoupled CMSs, databases, markdown, YAML, and more, using GraphQL. 

Gatsby is also called a static site PWA (progressive web app) generator. However, developers can go beyond static sites. Each Gatsby site is a full-fledged React application, so it’s possible to create dynamic apps with it (online stores, blog sites, user dashboards, and so on). 

Created in 2015, GatsbyJS has reached 417,700+ weekly NPM downloads and a 32,600 star rating on GitHub. The showcase of projects built with Gatsby on the official website alone includes 450+ sites.

Its latest version, Gatsby v2, has 130+ default starter kits to quickly start a Gatsby site. Gatsby also has 740+ source plugins to pull data from specific sources (including Drupal). Gatsby websites are also easy to deploy anywhere.

Gatsby and high website speed

“Building blazing fast websites” is part of the official Gatsby slogan. How fast is “blazing fast”? We performed a Google PageSpeed test for Gatsby default starter demo Netlify:

Google PageSpeed test for Gatsby default starter

Here is the same test performed for Gatsby starter blog demo Netlify:

Google PageSpeed test for Gatsby default blog starter

To achieve high website speed results, Gatsby uses:

  • prefetching
  • lazy-loading
  • inlining critical CSS
  • code splitting
  • optimized Webpack configurations
  • server-side-rendering
  • accessible Reach router

and more.

GatsbyJS recognized by the Drupal community

Drupal, with its strong content management features, can provide a powerful data source for the fast and lightweight Gatsby frontend. So the idea of combining Drupal and Gatsby has inspired the Drupal community a lot. Decoupling Drupal 8 with Gatsby has become the topic of speeches and workshops at Drupal meetups. Among them:

Connecting Drupal and GatsbyJS

So let’s take a glimpse at how Gatsby and Drupal are connected. For combining them, we will need:

  • Gatsby website
  • Drupal website
  • Gatsby source plugin for Drupal to connect them

1. Preparing the Gatsby website

To get a Gatsby website, we first need to make sure we have NodeJS and NPM installed. Let’s then install Gatsby command-line interface:

   npm install -g gatsby-cli

We create our new project called “drupal-gatsby”. This command will install the Gatsby default starter from Git. Then we go to its folder:

   gatsby new drupal-gatsby && cd drupal-gatsby

And we run the command to build our website on the server:

   gatsby develop

We are now able to see our Gatsby site with its default starter “astronaut” design at http://localhost:8000/

GatsbyJS website

We will see what we have on the website. There are config files and the src folder with components (header, footer etc.), pages, and images.

The gatsby-config.js file contains the configuration, including the site’s name. Let’s change this name from “Gatsby Default Starter” to “Drupal-Gatsby website by Drudesk” in this file:

  siteMetadata: {
    title: 'Drupal-Gatsby website by Drudesk',

The src/pages folder has the files for all our pages. It’s possible to create new pages right there by copying the existing page files and putting new page names into them. And then, for example, the “news” page will be available at the route “/news.”

The index.js file is where we can change the greeting phrases on the main page. The changes apply instantly, without page reload. 

The “Gatsby develop” command is always active in the terminal and it rebuilds the page in real time after all our changes. So reactive — this is JavaScript, after all!

Gatsby-Drupal website by Drudesk

By visiting http://localhost:8000/___graphql, we see GraphiQL, an in-browser GraphQL IDE to manage our website’s queries. The left side is for queries, the right one is for responses from the server. The “play” button will run the queries. 

The ctrl+space keys offer autocomplete options for queries. It works when we open a curly brace. Let’s choose:


And we see that GraphiQL returns the results for all site pages:

GraphQL in GatsbyJS

2. Preparing the Drupal website

OK, the Gatsby site is ready, so it’s time to pull Drupal website data. On our Drupal site, we install and enable the JSON API module, which will instantly prepare our API endpoints. As of Drupal 8.7, JSON:API will be included into Drupal core, so there will be no need to install it.

The JSON API Extras module will give us a UI for exact settings. The permissions for JSON:API need to be enabled for anonymous user on our Drupal website.

3. Pulling data from Drupal to Gatsby

For connecting both Gatsby and Drupal together, there is a Gatsby source plugin for Drupal. Let’s install it in our Gatsby site’s root directory.

   npm install --save gatsby-source-drupal

It’s time to tell Gatsby from where to pull data from. In its config.js file, we need to add one more plugin as a code snippet. We include the Drupal source plugin, our Drupal website URL, and JSON:API as apiBase in it. 

  resolve: `gatsby-source-drupal`,
  options: {
    baseUrl: `http://*our-drupal-website*`,
   apiBase: 'jsonapi',

And we run this magic command again:

   gatsby develop

We will now see in the terminal that Gatsby is “starting to pull data from Drupal.” When we are informed of the successful compilation, we can come back to GraphiQL and see it has many more options for autocomplete. They now include Drupal data.

GraphQL querying Drupal data for GatsbyJS

We query “allNodeArticle” and specify it to show the node title. We see that Gatsby responds with the article titles from our Drupal site. Gatsby has successfully fetched data from Drupal!

GraphQL querying Drupal article titles for GatsbyJS

We can expand and shape our queries to display absolutely anything we like. And we can build whatever Gatsby pages with Drupal data in the src/pages folder by inserting our GraphQL queries into the page files. Finally, the “Gatsby build” command will publish our site.

Assistance with your Drupal and Gatsby setup

This has been just a Drupal-Gatsby sketch, but Gatsby’s settings and opportunities are endless. You can always rely on our Drupal team in any tasks related to your Drupal and Gatsby setup. We will help you in the configuration or create the entire setup from scratch. 

Enjoy high website speed with the latest JavaScript technologies and Drupal!

Mar 20 2019
Mar 20

Between a quarter and about a third of the content on the World Wide Web repeats itself. According to Google's head of search spam, Matt Cutts, around 25-30% of web content is duplicate. Your website is also likely to have duplicate content, even if it follows web content writing rules. In this post, we will touch upon the reasons and risks of duplication, as well as review useful modules that fix duplicate content in Drupal.

What is duplicate content?

Duplicate content is defined as identical or similar one found at different web addresses. These URLs can be within the same domain or across different ones.

Common reasons for duplicate content

Reasons for duplicate content in Drupal are pretty much the same as in other CMSs. They vary from unintentional to malicious, and from purely technical to human-created. Among the most common ones are:

  • scraped content (copied without permission)
  • syndicated content (shared by agreement)
  • HTTP and HTTPS versions of pages
  • WWW and non-WWW versions of pages
  • printer-friendly versions of pages
  • different user session IDs generating different URLs
  • almost identical product descriptions in e-commerce stores (for example, Drupal Commerce)
  • identical pieces of site-wide content (for example, in the footer)

What are the risks of duplicate content?

Duplicate content may result in losing your Google rankings. Google can’t show all duplicate results but only one from the “cluster” of duplicates. 

In addition, Google rewards uniqueness as added value. Sites with no unique content will find it harder to get good rankings.

SEO experts always take care to keep their websites from being penalized algorithmically by Google for low-quality content, including copied content. That’s why they try to keep their sites unique.

Google admits there may be strict penalties in cases when the behavior of a website with many duplicates is found to be manipulative. 

Modules that deal with duplicate content in Drupal

Getting rid of duplicates completely is neither possible nor necessary. However, there are contributed modules to deal with duplicate content  in Drupal that will make your website much cleaner from copies.

The Taxonomy Unique module

By default, Drupal allows for creating taxonomy terms with the same names within the same vocabulary. As part of measures to avoid duplicate content in Drupal 7 and 8, the Taxonomy Unique module can prohibit that.

Whenever someone tries to create a term that already exists, Drupal shows an error message saying the term name already exists. The feature can be individually enabled for each vocabulary. The error message is also customizable.

Taxonomy Unique module to fix duplicate content in Drupal

The Unique Content Title module

Thanks to the Unique Content Title module, you can require unique titles for each node of a content type. You will need to check the “Unique title” option in the “Submission form settings” of a content type. The module is only available for Drupal 7. 

The Suggest Similar Titles module

Here is another module to avoid duplication on node titles. This Drupal 7 module is at the pre-release stage for Drupal 8. 

During node creation, the Suggest Similar Titles module compares the new node titles to existing ones, and informs you if they match. The module settings allow to you:

  • decide on which content types to use the feature
  • add keywords to ignore
  • specify the allowed percentage of text matching
  • ask to check node permissions
  • limit the number of titles to show in suggestions

The Copy Prevention module

The Copy Prevention module helps you protect your texts and images from being copied on the Internet. Among the ways to do it are:

  • disabling text selection
  • disabling copy to clipboard
  • disabling right-click context menu on all content or on images
  • placing transparent image above your images
  • hiding your images from indexing 
Copy Prevention module to fix duplicate content in Drupal

The Intelligent Content Tools module

Here is an interesting module to fix duplicate content in Drupal, although it is in the development version. 

The Intelligent Content Tools module consists of three submodules. It offers auto tagging, text summarization, and duplicate content identification for your website. 

The module tells you when some duplicates have been found. Its work is based on Natural Language Processing.

Intelligent Content Tools module to fix duplicate content in Drupal

The Redirect module

The Redirect is a complex module that offers a user interface to redirect your URLs to new paths. It inherits the capabilities of the Global Redirect and the Path Redirect modules. 

Since 301 redirects and canonical URLs are among the ways to fix duplicates, the module is helpful in this sphere. It lets you:

  • manually create redirects
  • automatically redirect to canonical URLs (taking care of trailing slashes, language prefixes, and so on)
  • automatically create redirects in case of URL alias change
Redirect module to fix duplicate content in Drupal Redirect module to fix duplicate content in Drupal

The Redirect module for Drupal 8 comes with two submodules: Redirect 404 and Redirect Domain. They help you, respectively:

  • track and fix 404 errors
  • create cross-domain redirects

A bunch of other modules are recommended to use in cooperation with the Redirect:

  • Multi-path autocomplete as help with entering paths
  • Pathologic for transforming relative links in content to absolute URLs
  • Match Redirect for redirecting according to path patterns with wildcards
  • Pathauto for automatic generation of path redirects, which we will now look at more closely

The PathAuto module

The purpose of the PathAuto module is generating human-readable and SEO-friendly URLs according to chosen patterns. By default, URL aliases in Drupal look like this: /node/123. The Pathauto module can automatically change them to something like /category/my-node-title. 

The module will play an important part in website clean-up from duplicates. The Pathauto module quietly and reliably redirects URLs to the new paths based on the pattern, with no confusion for search engines or broken links for users.

Let’s fix duplicate content on your Drupal website

Each of the above modules will add a helpful touch to fixing duplicate content in Drupal. If you need help using them, or doing a comprehensive website check and clean-up with a variety of tools, feel free to contact our Drupal team. Stay unique — and both search engines and users appreciate that!

Mar 06 2019
Mar 06

There is never too much discussion of Drupal and JavaScript frameworks. We have taken a glimpse at Drupal 8 and Vue.js combination and know that Vue.js is a candidate for Drupal core. Today is the time to review Nightwatch.js — an automated testing framework that is already part of Drupal 8. We will see how Nightwatch.js in Drupal 8 provides for automated JavaScript testing.

A look at Nightwatch.js and its benefits

Nightwatch.js is an automated testing and continuous integration framework, meant to streamline and simplify these processes. It is an integrated end-to-end (E2E) browser testing solution. Nightwatch is also suitable for Node.js unit tests.

Nightwatch.js is written on Node.js — a cross-platform JavaScript runtime environment. To execute commands and assertions on DOM elements, Nightwatch relies on the W3C WebDriver API (formerly known as Selenium WebDriver). For identifying elements, it uses JavaScript language (Node.js) and CSS or XPath selectors.

Nightwatch js based on Node and W3C WebDriverAPI

Currently, Nightwatch.js has 148,900+ weekly NPM downloads thanks to numerous benefits:

  • ease of use due to clear syntax and detailed documentation

  • ability to perform custom commands and assertions

  • command-line test runner Nightwatch Runner included

  • its own cloud testing platform

  • compatibility with other testing platforms (SauceLabs, BrowserStack etc.)

  • real-time tests possible in the browser

  • parallel test execution possible

  • screenshots and videos of tests

  • automatic management of Selenium or WebDriver services

  • support for Page Object Model that ensures better organization of elements

  • ability to integrate with CI systems (Jenkins, Hudson, Teamcity etc.) thanks to JUnit XML

Nightwatch.js in Drupal 8

Previously, JavaScript functionality on Drupal sites had often been tested via PHPUnit. That often required front-end developers to study the ins and outs of PHP programming language and PHPUnit testing framework. Generally, it was cumbersome and error-prone to test JavaScript with PHP.

Things changed when the Drupal community decided to officially use Nightwatch.js for browser testing. Inspired by the JavaScript Modernization Initiative, in 2018, Nightwatch was included into the Drupal 8.6 core.

Nightwatch-js is part of Drupal 8-6 core.jpg

Nightwatch.js makes it possible to test JavaScript with JavaScript. Developers can write custom tests for browser interactions directly in JS, and execute them in different browsers.

The vast community of JavaScript developers now have their own browser testing tool in the Drupal core. In addition, Nightwatch.js overcomes some PHPUnit limitations.

Nightwatch.js in Drupal 8 offers a built-in Chromedriver. It can work on a standalone basis and requires no Selenium or Java installation. However, it is possible to use other browsers via Selenium — Firefox, Internet Explorer, Safari, and more.

To work with Nightwatch.js, we will need three basic dependencies: Node.js, Yarn, and Chrome. Thanks to detailed documentation, it is easy to create and run tests for Drupal websites, modules, and themes. Helpful links include:

and more!

Get assistance with Nightwatch.js

Our development team follows the latest JavaScript trends. They implement them in Drupal projects and give speeches on them at conferences. One of our Drupal developers even took part in fixing the JS coding standards for Nightwatch.js tests in Drupal 8.6 core.

So you can trust our Drupal team if you need any assistance with Nightwatch.js in Drupal 8. We can install and configure the framework, create and run Nightwatch.js tests according to your requirements, help you integrate Nightwatch with your CI systems (Jenkins, Hudson, Teamcity), and so on.

Rely on us for any other small or big tasks that involve Drupal and JS frameworks!

Feb 14 2019
Feb 14

The trend of using JavaScript frameworks with Drupal keeps gaining popularity. It is used for creating rich, fast, and interactive web interfaces. One of the hot use areas is decoupled (headless Drupal 8) architecture, with the front-end part completely entrusted to a JS framework. There are many JS frameworks and libraries that pair well with Drupal 8 — React, Angular, Gatsby, Ember, Elm etc. Today, we will review one of them, Vue.js. Let’s take a closer look at Drupal 8 and Vue.js combination.

Vue.js: candidate for Drupal core

Adopting JavaScript framework in Drupal core would improve the admin UX, according to Drupal creator Dries Buytaert, who spoke at DrupalCon Vienna in 2017. Core committers and developers with the relevant experience agreed they needed to think and choose the optimal JavaScript framework.

The main proposal was to choose React. However, another strong contender soon emerged as a candidate for Drupal core — Vue.js. Let’s take a closer look at this rising star.

Why Vue.js? The framework and its benefits

Vue.js is a progressive open-source JavaScript framework for building interfaces and single-page applications. It is often called a library, but the official version on the Vue.js website is a “framework”.

Vue.js was created by Google employee Evan You when he was working with Angular. Evan says he wanted to take the things he liked about Angular and create “something really lightweight.”

Since its creation in 2014, Vue.js has reached a 127,500+ star rating on GitHub and recently overpassed its counterpart React (122,000+ stars). The top 3 trending JS tools is completed with Angular (59,300+ stars). As we see, Vue demonstrates the most rapid growth.

 vue react and angular star rating

The number of NPM downloads for Vue is 796,700+ each week. The growing popularity of Vue.js is explained by its benefits:

  • lightweight and easy to learn for new developers
  • clear and detailed documentation
  • adoption within the PHP community (for example, Laravel framework has an out-of-box Vue support)
  • active and helpful Vue.js community
  • used by giants (Xiaomi, Netflix, Alibaba, Adobe, GitLab, parts of Facebook, WizzAir, EuroNews, Grammarly, Laracasts, Behance, Codeship, Reuters etc.)
  • high performance due to two-way data binding and virtual DOM (like in Angular and React)
  • even large aps are built with self-contained and often reusable Vue components

Drupal 8 and Vue.js combination

With the Drupal 8 and Vue.js combination, developers can enrich Drupal interfaces with reactive features with no jQuery, use ready Vue components, or build single-page applications that consume Drupal 8 data.

On the Drupal part, we need to prepare the content for REST export. For example, we can create a View, click “provide a REST export” in the View settings, and add a path. It works when the web services set of modules is enabled in Drupal core.

To set up a Vue.js application, we need to make sure we have Node and NPM installed, and then use the Vue CLI 3 tool. It does a lot of work for developers and that speeds up the processes. It automatically plugs in the selected libraries, configures the Webpack to optimize all files, provides app updates live every time you save changes, and so on. Finally, it offers a graphic user interface — Vue Project Manager.

The commands for starting a Vue.js application are:

  • npm install -g @vue/cli
  • vue init webpack projectname
  • cd projectname
  • npm install
  • npm run dev
vuejs application

Then Vue router and Vue resource need to be added to the project. The main.js file is then configured to use Vue routers and Vue resources, the app.js is modified to work with the router, and app components and routers are set up.

Drupal 8 modules for working with Vue.js

There is an ecosystem of contributed Drupal modules for the Drupal 8 and Vue.js combination:

  • Vue.js builds helps connect Drupal and Vue.js. It can be used in a Twig template, attach programmatically, or add as a dependency to a YAML file.
  • Vue Views adds a new format to Drupal views so the results are displayed in Vue.js, which makes it possible to use Vue features like asynchronous loading etc.
  • Webpack Vuejs provides Vue configuration for the Webpack bundler Drupal module, which helps developers bundle Drupal libraries by Webpack
  • Decoupled blocks: Vue.js is the Vue.js version of the Decoupled Blocks module, which adds Vue.js blocks to websites via modules or themes.

Let’s combine Drupal 8 and Vue.js for you

We have taken a glimpse at the possibilities of a Drupal 8 and Vue.js combination. Our Drupal team is always on top of the latest JavaScript technologies. Contact us and we will help you choose the optimal one for you, and bring all your ideas to life.

Jan 17 2019
Jan 17

Beauty saves the world, and Drupal helps it in this mission. There are awesome beauty product websites built with Drupal that are not only beautiful but feature-rich and powerful. This is more proof of Drupal’s versatility for websites in any sphere — e-commerce, real estate, law firms, or any other. Our Drupal development team knows this firsthand because they build cool websites for our customers. So let’s now plunge into the world of beauty and enjoy examples of beauty product website designs on Drupal.

Great examples of beauty product websites on Drupal

  • Lush website built with Drupal

Drupal powers the website of the world-famous British handmade cosmetics manufacturer — Lush. The front page engages visitors with full-length video slideshows and offers them a place to watch the “Lush Player” stories.

If users choose to continue into the website, they are invited to their country’s specific version, since is a multisite with multiple languages that provides tailored experiences to users. The country is autodetected, but users can select another as well. is an e-commerce website with an extensive catalog of products that features user reviews, star ratings, product videos, related content, and more. Users can also shop by price or by popular scents. There also are a product guide, charity pot, wishlist, shopping cart, and integration with famous payment gateways.

The site also promotes offline sales, so it offers the ability to search for brick-and-mortar shops and shows their detailed contacts, including a map.

Lush website built with Drupal
  • Benefit Cosmetics website built with Drupal

The next in our examples of great beauty website designs on Drupal is the site of  Benefit Cosmetics LLC  — a manufacturer of cosmetics from San-Francisco. They sell their beauty products in more than 30 countries. Their multisite Drupal website, using multiple languages, is an awesome assistant to that. By the way, these features are among the famous strengths of Drupal.

The content is presented in a very user-friendly, cheery, and encouraging way — for example, the search bar asks “What are you looking for, gorgeous?”

The Benefit Cosmetics website showcases beauty products and services in many ways — in handy menu categories, special offers, as well as interesting content types like “Dilemma solvers” that offer solutions to customers’ “beauty dilemmas.”

When users get interested in a product, they are shown the available offline shops. They can also make an online reservation for beauty services in their area.

Benefit Cosmetics website built with Drupal
  • Miss Sporty website built with Drupal

Among great examples of beauty product websites built with Drupal, we should also mention the Miss Sporty. It is presented in three languages: English, Czech, and Polish.

The site features a handy catalog of beauty products with reviews and star ratings. When cosmetics are presented in a variety of colors, users can instantly “try” these colors out on the main product image. The search feature helps products be quickly found.

The Miss Sporty website has strong community features. In addition to the handy social sharing options, it features a whole big section called “Community,” which displays photos shared by users via Instagram.

Miss Sporty website built with Drupal
  • Natura website built with Drupal

You could also enjoy the design of the Natura website — a Peruvian beauty product resource. It immediately attracts users with a colorful front-page slider, and invites them to view the beauty content.

Users can browse the products from the catalog and, if they are interested, contact a beauty consultant. The consultant search feature is very precise. Consultants can be found by province, by area, and even by street, or you can use the map. Users also have the option to become consultants themselves, and are directed to the website’s chat for the discussion.

The website features the digital beauty magazine, as well as beauty product videos. It has a newsletter subscription and a search feature.

Natura website built with Drupal
  • Clinique website built with Drupal

Another pearl among the examples of beauty product websites built with Drupal is the site for Clinique Laboratories, LLC. It offers advanced e-commerce features and lets users shop by product category, by price, by most wanted items, by ready holiday looks, and more.

When users have added products to cart, they can check out via Paypal or via a regular checkout. It is possible to sign in via Facebook for shopping.

In addition to online shopping, users can send e-gift cards to anyone they wish to right from the website. They specify the recipient, the sum, the date of delivery, and other details.

There is also a promotional feature that gives points to users, which mean various awards and benefits. Points are calculated for shopping, reviews, social sharing, and so on.

Clinique website built with Drupal
  • MAC Cosmetics website built with Drupal

MAC Cosmetics is another famous beauty product manufacturer that trusts Drupal. Their website lets users view products in various categories and by them online.

Each product description is accompanied with reviews, star ratings, as well as related products that go with the current one. Various colors are applied instantly to the product image.

For those who want to shop offline, there is a search feature for stores. Users also can check the in-store availability of a particular product in the catalog by entering their zip code and distance within which they want to shop.

It is also possible to send gift cards online by specifying the recipient, the gift value, the delivery date, and more.

MAC Cosmetics website built with Drupal
  • “Be Beautiful” website built with Drupal

A whole world of beauty advice can be found on the Be Beautiful website, which is also powered by Drupal. This multilingual website has as many as 10 languages.

Users are presented with useful articles, news, and videos from beauty experts. All the beauty topics are conveniently categorized. The search bar offers additional help in finding the right content. The site also features an Instagram feed for more interactivity.

The website’s content includes links to beauty products with the directions to find them on Amazon or other online retailers.

Be Beautiful website built with Drupal

Love these examples of beauty website designs? Get one for you!

Our collection of examples of beauty product websites built with Drupal is not complete. First of all, it is missing your future website — but we can fix this! ;)

Contact us, and let’s add some beauty to this world together. Your beauty products and our developers’ talent could unite in an amazing Drupal site!

Dec 26 2018
Dec 26

There is often a need to import and export content to and from your Drupal 8 website. The ability to do that lets you use the power of content in Drupal 8 more fully. One of the most popular content sources is a CSV file. Drupal 8 has a number of useful contributed modules for getting data from it, and many cases also need customization. Our Drupal team provides smooth CSV import for even for the most complex cases. Today we would like to share a simple way to import data from a CSV file to Drupal 8 with you.

For a start, what is CSV?

CSV, which stands for comma-separated values, is a popular format for data storage. A CSV file stores data as a table where values are separated by commas. CSV is compatible with any spreadsheet programs such as Google Spreadsheets, Microsoft Excel, and so on. Each value uses a cell in the table.

CSV files are incredibly lightweight, easy to organize, and awesome for manipulating large amounts of data. Huge tables with data can be quickly edited by website administrators and sent to Drupal when ready.

Some ways to import data from a CSV file to Drupal 8

Among the popular solutions for CSV import to Drupal 8 websites, there are contributed modules like Migrate Source CSV, Migrate Plus, and Migrate Tools. The CSV import process with these modules includes the creation of the migration configuration and the use of the “migrate-import” Drush command.

And there also is one very simple solution called the Content Import contributed module, which we would like to show in action.

An example of CSV import via the Content Import module

The Content Import module lets website administrators import data from a CSV file to a specific Drupal 8 content type. A content type has fields, and a table has columns, and this is where they should match. Remember, we can always save a CSV file as a table.

Each CSV file column should list the values of a particular field of the content type. The first cell of each column should match the field’s machine name.

Some special supported Drupal fields include:

  • Entity Reference for Taxonomy, Users, and Content
  • Geolocation, Timestamp, Boolean, and Date

There also are two columns announced as mandatory.

  • The first column should be called “title.”
  • There is also a “langcode” column that does not match a specific field of the content type. The default is “en” for English, and you can use other language codes.

In our example below, we are not using the langcode column, and still everything works. So it looks like using only one of these two is mandatory.

If your data has images, there will be a little more hassle — you will need an additional IMCE module for uploading images into the “public” folder.

Of course, our example will include images! ;) So let’s create a sample Drupal 8 content type and import CSV data into it. We have a tasty content type on our Drupal 8 website — “Menu item.” It has the following fields.

Drupal content type fields

In the settings of the image field, we specify the directory to which we will upload images like this: [content_type_name/images].

 Specifying the image upload directory in the field settings

The “Available for delivery” field is of “Boolean” type, and we put the options as “Yes” or “No.”

The Boolean type field in Drupal

Then we download the IMCE module that will help us put images in this directory. We go to site_name/imce, open the “public” directory, create the folder with our content type name, and within it, create the folder “images” so that the path is public/content_type_name/images. Then we upload our images there. A bulk upload works well for this.

 Uploding images with IMCE

Then let’s prepare our CSV file. We can create it as a Spreadsheet first, so it’s more handy to work with the cells. We put the machine names of the fields into the first row. Then we fill in the values for each field. The values for the images are their file names.

Data as a spreadsheet

When the spreadsheet is ready, we download the file as CSV.

Data as CSV

It’s time to import the CSV data to the Drupal 8 website. With the Content Import module installed and enabled, we go to Configuration — Content Authoring — Content Import and select the content type to import the CSV data to.

When we do so, we also see sample CSV file available for download. We are not interested in the sample right now, so let’s choose our CSV file from the computer and click “Import.”

Content import from CSV to Drupal 8

In a few seconds, we see the content is imported. All items are listed in Content, and each of them has all the field values imported from our CSV.

 Drupal content listedDrupal content item with fields

Our menu deserves to be created as a view on our Drupal 8 website, so it represents all our items in an attractive way.

Drupal content in a view

Your perfect CSV import

We have shown you how to import data from a CSV file to Drupal 8. Please keep in mind that this simple example will not fit on just any website. Especially if you have plenty of customizations, or need complex mapping between the CSV columns and Drupal fields, you will need custom migration solutions.

Contact our Drupal experts — and we will advise you the optimal CSV import scenario. And, of course, they will implement everything for you. Get the best from the efficient data formats and smart data exchange!

Dec 07 2018
Dec 07

Online stores opens unlimited opportunities with no geographical boundaries. Behind their lines of code are successful purchases, great profits, and happy customers. So online stores should be reliable, efficient, and attractive in everything — from product catalog to e-commerce checkout. An awesome choice for building an online store is Drupal 8, particularly with one of its greatest treasures — Drupal Commerce 2.x. Let’s explore Drupal Commerce 2.x features for your Drupal 8 online store in more detail.

Why choose Drupal 8 for e-commerce websites?

Before we move on to describing the features of Drupal Commerce 2.x, we will start with mentioning at least a couple of Drupal 8 characteristics that form a great support for your Drupal 8 e-commerce website.

  • Content + e-commerce = more conversions. Drupal is a powerful content management system, which means you are getting more than just an online store. You will have a website full of diverse content types to support your store with good content. The approach of content-driven commerce is a sure way to get engaged customers, better SEO, and increased conversions.
  • Mobile responsiveness. Since mobile sales are headed to overtake desktop sales soon, it is awesome that Drupal 8 is mobile responsive out-of-box. Drupal 8 has everything you need to make any theme responsive, so its elements magically adjust to mobile device screens. Let your mobile users shop with pleasure!
  • ​​​​​​Better performance. Loading speed is especially important for online stores. Users want to browse your website, compare various products, and place orders without delay. Drupal 8 has powerful caching techniques for faster loading. One of them is the innovative BigPipe, which lets you serve static website elements to users instantly and load dynamic ones next.
  • ​​​​​​Third-party integration. An e-commerce website usually relies on third-party services for payments, marketing analytics, online customer support, CRMs, and so on. Drupal 8 has built-in web services that make integrations incredibly smooth.
  • Multi-language. Customers are more willing to buy when they see information in their native language. Drupal 8 has awesome multi-language support. It is very easy to add languages to websites and translate exactly what you need. Interface translations are ready for a hundred languages.

Drupal Commerce 2.x for your Drupal 8 online store

Drupal Commerce is a solution for creating e-commerce sites from scratch or adding e-commerce features of any complexity to existing sites. It is free and open-source, like any other contributed Drupal module. However, it works like a full-fledged e-commerce framework that covers all the needs of an online store: product catalog, cart, checkout, shipping, orders, and so on.

Drupal Commerce 2 is the version for Drupal 8, and it has recently issued a new update — Drupal Commerce 2.10, which shows great advancements in product administration, third-party integration, and more.

There is also an ocean of add-on free contributed modules the extend Drupal Commerce 2.x features endlessly. However, Drupal Commerce 2.x out-of-box comes with an impressive pack of submodules that show its comprehensive capabilities:

Drupal Commerce 2-x - submodules

So let’s see what your online store can enjoy!

Why use Drupal Commerce 2.x for your online store

  • Single or multi-stores available

One of the awesome Drupal Commerce 2.x features is that, instead of having one store, you can use multiple stores in Drupal 8. Each of them can have its own product types, currencies, taxes, contact information, cart, checkout, and everything else.

  • Smart support for multiple currencies 

Drupal 8 lets you add multiple currencies out of the list, as well as custom ones by providing the currency code.

Here, the true multilingual soul of Drupal 8 shows perfectly! Drupal Commerce 2.x takes into account the names of each currency in each language, their formatting, and other important details.

This extensive information is provided by the commerceguys/intl library. It works in accordance with the internationally recognized CLDR standard.

Drupal Commerce - adding custom currency
  • Awesome product handling 

Your Drupal 8 online store can have whatever products you wish — from simple ones to products with attributes. Each unique combination of attributes is a product variation in Drupal Commerce 2.x, and it has its own SKU, or machine-readable ID. This is very convenient for managing your orders and stocks.

Thanks to the Fancy Attributes module now included out-of-box, creative selectors like color swatch are available for product attributes. Multilingual products are also easy to set up.

  • 70+ payment gateways & flexible payments features

Customers are more likely to buy when they have their preferred payment gateways. One of the great Drupal Commerce 2.x features is the support for 70+ payment gateways! Authorize.Net, Braintree, PayPal, Square, Stripe, Vantiv are just the beginning of the list. There are add-on contributed modules for any provider you wish. Custom modules can be created for all others.

Drupal Commerce 2-x - adding payment gateway

The flexibility in payment types is also awesome:

  1. On-site payment gateways let customers enter credit card details directly on your site, and tokenization can be applied for data protection.
  2. Off-site (redirect) gateways redirect customers to the third-party payment service and back to your site upon successfully completing the operation.
  3. Off-site (iframe) gateways do not redirect customers to the third-party service and handle the checkout process in an embedded frame.
  4. There is also a built-in “Manual” gateway option for such payment methods as Cash on Delivery, Card on Delivery, Cheque, Bank Transfer, and so on. They are marked as pending payments and are moved to complete by your store admin.
  5. It is also possible to set up an IPN (Instant Payment Notification) service and be instantly notified about events related to PayPal transactions.

Your Drupal 8 online store will have handy interfaces that let you authorize, void, or refund the payments.

  • Flexible promotions and discounts

Engage your customers with promotions! Your Drupal 8 online store will offer you a number of built-in offer types for fixed or percentage amounts. This can work in accordance with conditions that you set.

Drupal Commerce 2-x - adding promition
  • Smart handling for taxes

There is no need to bother about specifying the product price with taxes. Drupal 8 can automatically calculate the taxes for you. It has predefined taxes for countries, as well as letting every merchant choose special taxes. The system knows taxing specifics, for example, the difference in VAT calculation for physical and digital products in the EU.

  • Multiple order types

Your Drupal 8 onlines store can have not one but multiple orders types with special workflows for each. This allows for creating fine-tuned experiences for various product types. For example, selling tickets will need a different workflow than selling T-shirts. Order receipt emails are also very customizable.

  • Flexible checkout options

Checkouts are incredibly handy. They offer progress indication bars, the ability for users to checkout as a returning customer and reuse the previously entered information, the option for you to allow or not guest checkout, and so on.

Moreover, there can be different checkout flows for different product types. They may vary in the number of steps to take, which customer information to require, and so on.

Drupal Commerce 2-x - checkout flows
  • Great shipping options

With Drupal Commerce 2.x. you can configure the shipping methods, define which products are shippable, and manage the shipments.

The basic features are handled by an add-on module called Commerce Shipping. It lets you set up such shipping methods as flat rate-per-order and flat rate-per-item.

For more specific and advanced shipping integrations, there is a plugin-based system. There are existing plugins for famous shippers, and developers can create any other for you — whatever your favorite shipper is. It is also possible to provide shipping rates based on conditions.

Create an online store with Commerce 2.x on Drupal 8

This has been just a brief overview of Drupal Commerce 2.x features. This box of treasures can offer much more in good hands. In addition, customization miracles can fine-tune your e-commerce website in every detail to your liking.

Entrust your Drupal 8 e-commerce website to our Drupal development team. Our guys have a lot of experience with e-commerce and know how to use the benefits of Drupal Commerce 2.x in the best ways for you.

Oct 26 2018
Oct 26

Drupal has a great way to provide your website with the latest features and make it more protected against new cyber threats. To achieve this, it constantly evolves to keep up with the pulse of the times. All you need is to regularly update to newly released Drupal versions, and your Drupal support provider could help you with that. However, there is an idea floating in the air about how great it would be to have automatic Drupal core updates. We will explore this issue, with its benefits and challenges, in our blog post.

The need for automatic Drupal core updates

The Drupal community fully understands the wishes of website owners. At DrupalCon Vienna in September 2017, Drupal founder Dries Buytaert gave a presentation about the state of Drupal. He emphasized that complicated updates are one of the things that pushes people away from Drupal, and that users are asking for auto-updates. The need to automate Drupal core updates became clear — and grew into the special initiative.

Automatic Updates Initiative for Drupal core & its benefits

Automatic Updates Initiative for Drupal core & its benefits

So the Automatic Updates Initiative was created with the main aim to build a secure system that would install core updates automatically. The Initiative is meant to:

  • reduce website maintenance costs and time
  • immediately respond to critical security issues and apply patches
  • free users from possible hassle and the complexities all website owners who do updates without a development expert face
  • and, finally, give the answer to all customers who keep asking why, despite all Drupal’s awesome strengths, it still has no automatic updates.

The challenges of automatic Drupal core updates

So the idea of automatic updates sounds very lucrative indeed. However, despite the unquestionable benefits, the community also understands that implementing automatic updates for Drupal core meets a number of challenges:

  • automatic updates without human supervision may involve great risks — up to and including websites crashing
  • there is no testing pipeline
  • automatic updates may open opportunities to hackers for mass dependency injections
  • there is no GIT version control, so it’s impossible to roll back if something goes wrong
  • automatic updates will mostly benefit simple websites with no custom modules, otherwise they will require much more developer attention anyway
  • this idea requires a comprehensive restructuring of Drupal codebase, which means it’s not a near-future innovation
The challenges of automatic Drupal core updates

Considering that Drupal is a very powerful CMS able to handle extremely feature-rich and complex websites, such thing as automatic updates should be approached with caution.

When it comes to core updates, nothing can replace a developer’s hands at the moment. However, the future may change this, because great work is being done in this realm.

Quick core updates already a reality in Drupal 8!

Luckily, automation is not the only way to facilitate core updates. When it comes to Drupal 8, they are already a snap.

A lot of work has been put into making Drupal updates and even Drupal upgrades easy forever (upgrades are transfers, for example, from Drupal 8 to 9 in the future). This article by Dries Buytaert explains that this is achieved, in particular, thanks to backwards compatibility between the versions and semantic versioning.

Let’s say updating an average website from Drupal 8.5.x to 8.6.x will only take half an hour for our Drupal maintenance team. Smaller updates (like Drupal 8.6.0 to 8.6.1) can be done with the snap of a finger. Overall, it will depends on the amount of custom modules.

By the way, this is yet another reason for Drupal 7 website owners to upgrade to Drupal 8 — for which you can rely on our Drupal website support. Easy upgrades are listed among numerous Drupal 8’s benefits for your business

So your wish for easy Drupal core updates can come true right now!

Do you regard automatic updates as the way to forget about everything and have a good night’s sleep? This wish can come true right now! But you don’t have to wait until the Drupal automatic update feature is finally here and well-tested.

Rather, this dream will come true if you apply to our Drupal support firm. All our maintenance packages include watching out for security updates and running them. We can agree the on following not only security, but any other kinds of updates.

Let our experts run all Drupal core updates for you — manually, safely, and reliably!

Oct 19 2018
Oct 19

The magnetic power of beautifully arranged content is really huge. Using it is one of the surest ways to keep your visitors on your website, spike their interest, bring your message across, and create the best impression of your business. There are plenty of attractive ways to display content on your Drupal 8 website. Let’s consider a few of them right now, as well as nice Drupal modules that are helpful.

Interesting ways to display content on your Drupal 8 website

Content presented in views

First of all, when it comes to content presentation in Drupal 8, we cannot help but mention Views — the powerful tool that is now built-in and that lets you display your data in absolutely any way you wish. A grid, a table, a list, and other formats are ready to hold your articles, news, photos, and so on. The results can be filtered and sorted by various criteria, and these filters can be exposed to website users.

There are plenty of additional modules that enhance content presentation in Views. For example, creating a simple photo gallery with Drupal 8 Views is a very nice option, but you could use a special responsive grid provided by the Views Photo Grid module. It arranges the photos so that each row height remains the same, while photos fill in the available width.

Photos presented by Views Photo Grid module in Drupal

Content in a stylish overlay

One of the popular and creative ways to display content on your Drupal 8 website is to make it open in a stylish overlay above the current page. This can be done with modules like the Colorbox, which is great for images, as well as iframed or inline content. Colorbox works like the image field formatter in Drupal 8.

Photos in a stylish overlay by Colorbox modules

Slideshows and carousels of your content

Various slideshows and carousels are incredibly engaging for users. They show content items one at a time — not only images, but also texts, videos, social media posts, or a combination of elements, including nested sliders. Various options for animation, touch-enabled or keyboard navigation, transition effects, and many more features are available to you.

All this is possible with Drupal 8 modules like Views Slideshow, Owl Carousel, Slick Paragraphs, Slick Media, Slick Carousel, Imagefield Slideshow, jCarousel, Flex Slider, BxSlider, Juicebox HTML5 Responsive Image Galleries, Views FractionSlider, Jssor Slider, and many more.

carousels of your contentin Drupal 8carousels of your contentin DrupalSlideshows of your content in Drupal 8Slideshows of your content in Drupal

Data presented as charts

Charts are great for data visualization. They look informative, professional, and convincing. Drupal 8 offers some nice modules for creating charts like the Charts, the Easychart, and others. They support charting libraries like the Google Charts and the Highcharts, and so on. You can present your data as a pie, column, or bar chart, and more.

Data presented as charts in Drupal

Special effects for your website’s images

Please your users’ eyes with interesting image effects. They can be added with special Drupal 8 modules, for example, the Image Effects module. It enriches Drupal image styles with great choices of of additional effects — Watermark, Text overlay, Set transparent color, Gaussian blur, Interlace, Mirror, Aspect switcher, ImageMagick arguments, Color shift, and so on.

Special effects for your website%E2%80%99s images in Drupal 8

Videos or other media embedded into content

A great idea to make your content will look much richer and more attractive is to embed media into it. As of Drupal 8.6.0, media opportunities let you embed videos, audios, images, files, as well as remote videos from YouTube and Vimeo with just a URL.

There are no extra modules to install — the built-in Drupal 8.6’s Media and the Media Library modules just need to be enabled. Then add the Media field to your content type (e.g. blog) and you will be able to fetch the media, previously saved to your media library.

Videos or other media embedded into content in Drupal

Content put into an accordion

Accordions are one of the handiest structures to display your content in Drupal 8. Your users can click on the menu items and extend them to reveal the content inside. A great way to implement it is the Views Accordion module, which presents the results of the views as a JQuery accordion.

Content put into a views accordion in Drupal 8

To recap

We have shown you a few nice examples of ways to present content on your Drupal 8 website. Drupal’s capabilities in this sphere are like an endless sea — even a million articles will not be enough to describe them.

And we have just touched on what contributed modules can do. However, in the hands of expert Drupal developers, absolutely any amazing results are possible with custom coding.

So the attractive, convenient, and engaging ways to display content on your Drupal 8 website are unlimited. For implementing any of them on your website, contact our Drupal help desk!

Oct 18 2018
Oct 18

We love to say your Drupal website capabilities are unlimited, but even more than that we love to provide examples. One of them is the Drupal Rules module. It can be compared to a whole team of smart and tireless robot assistants that do necessary things at right moment on your website. They welcome your guests in, deliver important messages, remind you of events, and much more — from the simple to the most complicated scenarios. So let’s take a closer look at how the Drupal Rules module works to make Drupal’s strengths even greater.

The fundamentals of the Drupal Rules module

The Rules contributed module lets you set up automated workflows on your website based on so-called reactive rules, aka ECA rules. ECA stands for “event-condition-action.” So, you can create your reaction rules, each of which consists of:

  • an event
  • a condition
  • an action

The principle is: when some event takes place, and a certain condition is met, then a particular action is automatically triggered. For example:

  • Event: content is viewed by a user
  • Condition: the user role is Anonymous
  • Action: a message is shown on the site asking the user to log in to post comments

First, an event is created, and then the conditions and actions are added. In many cases, just an action is enough and the condition can be skipped — for example, users have logged in, irrespective of conditions, they can be shown a “welcome” message.

drupal rules module
drupal rules module
drupal rules module

The Rules module provides impressive lists of default events, conditions, and actions to select from. The lists depend on other modules that you also have installed. In addition, custom ones can be created by coding and added to your Drupal website.

Rules components are reusable, which means they can be added to other rules and even used by other modules.

To categorize your rules, you can use tags, which is very helpful when you have plenty of them on your website.

A few use cases of the Drupal Rules module

With the Drupal Rules, you can, for example:

  • remind a user to fill in the required fields before saving a node
  • thank a user for posting content
  • tell a user that the content is pending the moderator’s approval
  • notify the moderator about the newly posted content or comments
  • notify a user when someone comments on their content
  • notify a user when someone adds their content to bookmarks
  • remind a user about calendar events a certain time in advance
  • notify the administrators about emergency log entries
  • block a user for spamming or other bad behaviour
  • notify a user that a desired product is in stock
  • apply a discount on a product when it is applicable

and much more — as stated above, the sky is the limit to the possible workflows!

Cooperation with other Drupal modules

The Rules work closely with Drupal Commerce, Ubercart, Content Access, Flag, Organic Groups, Features, Token, Rules Link, Rules list conditions, Views Rules, Rules Forms, Conditional Rules, and many other modules, so the most interesting scenarios are provided.

The Rules module in Drupal 7 and Drupal 8

In Drupal 7, the Rules module requires the Entity API contributed module, while in Drupal 8, it needs the Typed Data to work with.

Its UI has also changed considerably. One of the main changes is that in Drupal 8 you do not see the traditional Drupal 7’s “Replacement patterns” link when specifying the Condition and Action values. You can put the values in either by data selection mode (which shows hints upon clicks on the field) or by direct input mode.

The Rules module in Drupal 7 and Drupal 8

The Rules in Drupal 8 is still in its alpha state, so it is not 100% ready for production sites. This is a complex module, so porting it to Drupal 8 is a cumbersome task.

To recap

The Rules module requires careful use and experience, especially when it comes to complex cases. That’s why it is better to entrust the Rules creation to a solid Drupal team.

They can also advise you what kinds of workflows can be created for your particular business goals. Whatever you need that might be missing in the default Rules features can be added by custom code.

For all this, you are welcome to contact our expert Drupal support firm!

Oct 18 2018
Oct 18

Various media, like videos, audios, or images, make your website really engaging. They fill it with colors, music, vivid impressions, and exciting experiences. And Drupal 8 offers new great options for media handling, which make it a leading CMS in 2018. The latest version, Drupal 8.6.0, brings especially interesting media features. We will start exploring the new media opportunities in Drupal 8 right now.

New Drupal 8.6.0 media handling features

Thanks to the Drupal Media Initiative, Drupal 8 now has new modules in core — the Media and the Media Library, which have inherited the best capabilities from a number of contributed modules. They introduce new and awesome concepts like media types, media fields, reusable media, and more.

So what can you do with them? First of all, you can:

  • add media of various types to your site
  • save and reuse media in your Media Library
  • place media inside your content
  • embed remote YouTube and Vimeo videos via an URL

and much more. Let’s consider these options in more detail.

Adding media of various media types to your site

To add media to your website, you can use the ready media types provided by Drupal. In Drupal 8.5.x, there were four media types — Image, File, Video, and Audio.

But Drupal 8.6.0 has prepared a new one — Remote Video, which lets you add third-party videos from YouTube and Vimeo. We will discuss it in more detail later in this post.

remote video media type

In addition to the default media types, you can create custom ones, and specify their media source.

Thanks to the media types, adding media is as easy as adding content, and can be done in Content — Add Media.

add media

Saving and reusing media in the Media Library

As of Drupal 8.6.0, all media can be conveniently stored in your Media Library for further reuse. You can easily access, publish, unpublish, save or delete all the media items in Content — Media.

For your convenience, media can be filtered by media type, publishing status, and name, as well as sorted by newest or oldest and descending or ascending alphabetical order.

One of the greatest things is that you can fetch media from the Media Library while creating your content — for example, to place video inside your blog post. We are moving on to this topic right now.

media library

Placing media inside your content via media fields

Media can be embedded into your content in the most natural way for Drupal — via fields. There is now a special new field type called Media that you can add to your content type (article, blog post, news etc.). When adding this field, you need to specify whether it will be Audio, Video, Remote Video, File, or Image.

the media field

the media field type

After that, on the content creation form, you will see the media embed option. The “Browse” button brings your Media Library to choose your media from.

adding media to content

Embedding remote YouTube and Vimeo videos with oEmbed

Here is one of the most exciting new options for media management in Drupal 8.6.0. It lets you embed remote videos from YouTube or Vimeo with just a URL.

Just add the Media field to your content type, specify it as “Remote Video,” arrange the fields to your liking — and remote videos will be ready to jump inside your content! Just as we described in the previous example, the videos can be fetched from the Media Library during content creation.

add remote video

add remote video to article

remote video embedded into article

Final thoughts

This is just a glimpse at media handling opportunities in Drupal 8 — particularly, Drupal 8.6.0. There are more additional settings for formatting your media, creating custom fields to pull more special data from the source, and many more.

The sky is the limit on your options, and the Media features are hot off the press and constantly developing.

To enjoy all these new features, you need to update your website to the innovative Drupal 8.6.0. For this, as well as for creating the perfect media setup, feel free to contact our Drupal support firm!

Oct 18 2018
Oct 18

Having a map integrated into a website is a huge advantage for business owners, especially for those with brick-and-mortar locations. This helps your customers to find you easily. Google Maps is probably the most popular mapping service and having it embedded into your website will definitely be an advantage for your business.

Drupal has amazing possibilities to help you solve this issue. Whether you do this by using Drupal 8 modules or find other alternative technique, the process is going to be simple and easy. We’ve prepared a guide for you on how to implement Google Maps Data into your Drupal 8 website in different ways.

Methods to integrate Google maps into your Drupal 8 site

Embed Maps

The first way to include Google Maps on your website is to embed them. It is maybe the easiest and the least time consuming way to have Google Map Data shown on your website.

How to embed Google Maps to your Drupal 8 website

The first step is to choose a location you want to show on your website. To do this, you should visit Google maps and find a place you’d like to provide.

How to embed Google Maps to your Drupal 8 website

After a searched location appears, press the Share button. In the opened window choose “Embed Map” and copy the whole <iframe> code.

How to embed Google Maps to your Drupal 8 website

Then you should create a basic page and give it a title.

How to embed Google Maps to your Drupal 8 website

The next thing to do is to insert a copied code into a created page. Note that it will work properly only if you choose Full HTML in the drop down Text format. After that, don’t forget to save changes.

How to embed Google Maps to your Drupal 8 website

The Map will be shown on your website as soon as the page is published.

How to embed Google Maps to your Drupal 8 website

Simple Google Maps Module

Simple Google Maps module is really easy to manage. The main advantage is that you only need to give the address of a place and a map will appear on your website. The module may be installed in different ways. Let’s look at how to downlaod and install it.

How to integrate Google Maps to your Drupal 8 website with Google Maps Module

Log in into your Drupal website as an admin. Go to Modules and click on Install new module.

integrate Google Maps to your Drupal 8 website with Google Maps Module

Find Simple Google Maps module on and copy the link for download tar.gz for Drupal 8.

integrate Google Maps to your Drupal 8 website with Google Maps Module

Go to Install new module page and enter the copied link to Install from URL field and press the Install button.

integrate Google Maps to your Drupal 8 website with Google Maps Module

After module installation, find this one, enable it and save changes.

integrate Google Maps to your Drupal 8 website with Google Maps Module

The module is enabled and the next step is to create a new field to show a map. Go to Structure → Content type. After that, add a new content type, and give it a name.

integrate Google Maps to your Drupal 8 website with Google Maps Module

As soon as a content type is created, go to Manage fields and add a new field with type Text (plain). Then save changes.

integrate Google Maps to your Drupal 8 website with Google Maps Module

After the settings are saved, go to Manage fields, click Manage display and check whether it is displayed on your page. Select Google Map on the one-line format from a drop-down.

integrate Google Maps to your Drupal 8 website with Google Maps Module

To manage the sizes of the map and addresses shown on your page by default, go to the config area (press the button on the right).

integrate Google Maps to your Drupal 8 website with Google Maps Module

The next step is to add a node. Click on Content → Add content and choose the content type you’ve added. Insert the title for your page. After that, in the newly created field enter an address you’d like to show on your map and save changes.

integrate Google Maps to your Drupal 8 website with Google Maps Module

After the page is created, Google Maps will be displayed on it.

integrate Google Maps to your Drupal 8 website with Google Maps Module

Geolocation Field module

Geolocation Field module is probably the most frequently used module when we talk about Google Maps integration. In short, it brings special field types for storing information about geolocation. Moreover, it has extended possibilities and enables mapping, connecting it with the desired content types.

How to integrate Google Maps to your Drupal 8 website with Geolocation Field module

The first step is to install a module. You can use the method described above.

After installing it, all you need to do is to add the Geolocation field to the content type. For this, go to Manage fields while creating a new content type and choose the Geolocation field type.

integrate Google Maps to your Drupal 8 website with Geolocation Field module

The next thing to manage is how the map will be viewed. Go to Manage from display page and choose the Geolocation Google Geocoder from the drop-down menu.

integrate Google Maps to your Drupal 8 website with Geolocation Field module

After that, go to Manage display and choose Geolocation Google Maps API - Map from a drop-down in address field. Then a map will be displayed on your page.

integrate Google Maps to your Drupal 8 website with Geolocation Field module

After a node is created, the map will be shown.

We’ve described 3 ways to integrate Google Maps Data into your Drupal 8 website. Thanks to the simplicity and flexibility of Drupal CMF, it is quite easy to perform. In case you don’t want to do it on your own or have troubles with Google Map Data integration into your Drupal 8 website, let us know and our Drupal maintenance company will assist you.

Oct 18 2018
Oct 18

As a CMS, Drupal has always been basking in compliments. It is the most powerful, the most secure, the most flexible — the list of Drupal strengths could go on. However, all this is not enough to stay current. After all, time moves fast. So what makes a truly cool CMS in 2018, loved by customers, site admins, and developers? Does Drupal fulfil this, and how? It’s time for a little investigation!

What lets Drupal remain a major CMS in 2018?

“The reason Drupal has been successful is because we always made big, forward-looking changes.” This quote is from Drupal founder Dries Buytaert.

The future-oriented changes in Drupal’s latest version, Drupal 8, really left everyone speechless ‑ so much that, when discussing them, you simply do not know where to start.

The particular quote by Dries was part of his article about Drupal’s new architecture, so let’s start with that.

Brand-new architecture and modern concepts

A successful CMS in 2018 must be in line with the most modern programming concepts, have a highly consistent, clean, and reusable code.

To achieve all this and more, Drupal adopts OOP (object-oriented programming), Symphony components, and Twig template engine, as well as polished its APIs, rebuilt its core, and more. Developers applaud, and customers enjoy more efficient processes!

Mobile perfection

According to Statista, the share of mobile phone website traffic jumped from 0.7% in 2009 to 52.2% in 2018. The mobile audience is key already! Modern CMSs cannot ignore that.

Dries Buytaert said that if he built Drupal from scratch again, he would build it for mobile experiences first. “Mobile-first” — that’s the philosophy of Drupal 8.

Responsive core themes, responsive admin interfaces, awesome built-in modules for responsive development are just some points of Drupal 8’s mobile perfection. Your users will enjoy their mobile experiences on any device.

The era of dynamic features and JavaScript

In 2018 and beyond, websites with rich, dynamic, and real-time features are ahead of others. And anywhere you find all these features together, you will also find some representatives of the JavaScript “family.”

React, Vue, Angular, Node, Ember, and other tools are more and more often mentioned in connection with Drupal. It cooperates perfectly with them, and it even planning to adopt of them in the near future. We are likely to see ReactJS as part of the Drupal family!

Beyond the shape of a website

In 2018 and beyond, you can have more than just a website. You can output your content to any imaginable applications, so your users stay with you in their natural environments.

Drupal 8 has an awesome ecosystem of third-party integration modules that provides the data exchange of your Drupal website with any other system. They also magically convert the data to the right format.

High speed with modern caching

For making websites fast enough to fly towards the future, Drupal 8 has excellent caching tools. Users will enjoy the flight!

The novel tool BigPipe uses an especially interesting approach to quick content delivery. The static elements come first, the dynamic ones come second, and the perceived loading speed is awesome.

Usability for editors

Drupal’s reputation as a developer-oriented CMS used to scare customer away a little. It was the other side of the “most powerful CMS” medal.

But now it’s time for editors to enjoy it as well!  Drupal 8’s new level of editor usability impressed even the most sceptical critics.

It is now very easy to apply quick edits right on the page, change block layout, enjoy handy content previews, drag and drop images, shape your toolbar to your liking, embed multimedia from various sources, and so much more.

Truly international

2018 is high time to overcome geographical boundaries! Millions of customers in different countries will be closer to you if your website speaks their language.

Drupal 8 offers a hundred languages, and a very smooth procedure for adding them to websites. Their interface translations are ready for you. And you can also translate every inch of your website — absolutely anything from configuration to content.

High level security

In 2018, cybercriminals have become more ingenious, so CMSs have to be stronger. Drupal is considered the most secure CMS.

This is achieved by continuous security updates that quickly catch any vulnerabilities, the “collective intelligence” of a watchful community, an especially vigilant Security Team, strict standards for submitting contributed code, refined user roles and permissions, great possibilities for data encryption, strong security modules, and more.

Accessibility for everyone

In 2018, it’s a must to provide a smooth experiences for users with visual or other impairments. There are important WCAG 2.0 and ATAG 2.0 accessibility guidelines, and Drupal 8 adheres to them. In particular, the website structure and content are more understandable to screen readers and other assistive technologies.

Semantic HTML5 with WAL-ARIA properties, useful alerts, more convenient forms, compulsory ALT tags that describe images, high contrasts, and other techniques enhance web accessibility.

To recap

That said, 2018 has a CMS that follows all the trends. And, knowing Drupal, we understand it’s just the beginning. Many groundbreaking changes are very close.

Would you like to enjoy all awesome novelties with Drupal? Contact our web development team!

Jul 04 2018
Jul 04

Who is allowed to view, edit, or delete particular information on your website? Details like this are vital for the site’s security and usability. Many website also need special access scenarios. Luckily, we have Drupal — fine-grained user access is a breeze with it! First, one of Drupal’s benefits is that it has built-in user roles and lets you create custom ones, as well as give them granular permissions. Second, there are many useful add-on contributed modules in this area as well. So today, we are reviewing user access modules in the latest Drupal version — Drupal 8.

User access modules in Drupal 8

Permissions by Term

With the help of the Permissions by Term module, you can restrict or allow access to specific website content on the basis of taxonomy terms. These permissions can apply to user roles or to individual users. They work for nodes, views, search, menus etc. The Permissions by Term module had a fresh release in May 2018. It is a lightweight alternative to the Organic Groups and Group modules, which are just getting ready for Drupal 8. We have already dedicated a blog post to the Permissions by Term module that you can check out.

Protected Pages

Here is a fresh module right from the development “oven.” Drupal 8’s version of the Protected Pages module has come out in June 2018. It allows you to protect certain website pages with a password. In Drupal 8 version, you can also protect private files. Interesting features include global password setting, session expiry time, protection bypass permission to free certain users from this procedure, and more.

Node View Permissions

This simple module adds two types of permissions to every content type. Namely, these are “View own content” and “View any content.” The permissions can be found on the website’s Permissions tab. The Node View Permissions module easily combines with any other user access modules.

Vocabulary Permissions Per Role

Thanks to the Vocabulary Permissions Per Role module, you can allow content editors to work with a particular taxonomy vocabulary. They will be able to add new taxonomy terms, edit or reorder them, and more. This is possible without granting them the “administer taxonomy” permission, which would give them too much responsibility.

Menu Admin per Menu

Sometimes, it is necessary to allow certain users to add, edit, or delete particular menus. At the same time, they do not have permissions for other menus. With all its flexibility, Drupal will let you arrange this with the help of the Menu Admin per Menu module. Keep in mind that users without full admin permissions may not, by default, see the menus, so you need to place them within their visibility.

Override Node Options

Here is another user access module with a fresh Drupal 8 release in spring of 2018. The Override Node Options module lets you set permissions for each field on the node form. These permissions refer to “Authoring information” and “Publishing options.” The module also lets you make certain field sets collapsible.

Block Content Permissions

Fine-grained access to block management is offered by the Block Content Permissions module in Drupal 8. It adds the permissions to administer custom block types, view restricted block content, as well as create, edit, and delete the content of specific block types. The permissions are assigned to user roles.

Block Region Permissions

Another great example of flexibility it the Block Region Permissions module. It lets you control access to block management within each region of your website’s theme. For this, the special “administer” permission can be granted to specific user roles. Users with this permission will be able to see the region on the block layout page, update or delete its blocks, and more.


In addition to new and exciting workflow management features in Drupal 8 core, there are contributed modules like Workflow. Its Drupal 8 version is also a novelty of 2018. The module lets you create workflow states for various node types and allow certain user roles to change these states (or example, from “Draft” to “Published”). To the change of state, you can attach particular actions — nodes get published, emails are sent, and so on.

Taxonomy Access Control Lite

Here is another module that works via taxonomy. The Taxonomy Access Control Lite module manages access to nodes on the basis of taxonomy terms that are applied to them. It grants permissions based on user roles and can also assign them to particular users in addition to what their roles allow. The module supports the permissions to view, update, and delete the nodes.

Nodeaccess (beta)

With the Nodeaccess module, it will be possible to give certain users the “grant node permissions” permission. These users will have a “grant” tab on their node pages. Form there, they will grant the permissions to view, edit, or delete the node to particular user roles or to individual users. Administrators can decide which roles are available to grant these permissions to, as well as make default access settings for content types.

Custom Permissions (beta)

The Custom Permissions module (formerly known as Site Configuration Permissions) allows for creating and managing additional permissions on the administration page. A permission gets a name and a route (which used to be a path in Drupal 7). The permissions can then be assigned to user roles. In Drupal 8, custom permissions are configuration entities that can easily be exported and imported.

Final thoughts

This is just a brief overview of Drupal 8 user access modules. There are many other very good modules, some of which are in the beta or alpha stage, getting ready for Drupal 8. In any case, the choice is great!

Our Drupal team is always ready to choose the most relevant modules for your website and configure them in optimal ways. If necessary, we will create custom modules for you.

Everything can be done to provide your Drupal 8 site with user access scenarios that you need — just contact Drudesk!

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web