Feeds

Author

Jan 16 2020
Jan 16

Drupal 9 is just around the corner. Do you have a plan to upgrade to Drupal 9? Are you still in the “Why should I upgrade to Drupal 9 after all” phase? Wondering what your next steps should be for Drupal 9 readiness? We have answers to all your questions and a quick Drupal 9 checklist on how to prepare for Drupal 9.


The best way to prepare yourself for tomorrow is to give your best today. And very apparently, the Drupal community has done just that. I know, migrating to Drupal 8 from previous versions was hard. It meant a complete rebuild of the code and a lot of learning. But once you are fully onboard Drupal 8, life gets easier. Think of it as a hard climb for a gorgeous view from the mountaintop. Truly worth all the effort, isn’t it?
 

The Much-Talked-About Drupal 9 Release Date

One of the most frequently asked Drupal questions lately has been about the Drupal 9 release date. Drupal 9 is currently scheduled to release on June 3rd, 2020. The Drupal community has been successfully releasing minor versions every six months since the adoption of semantic versioning in Drupal 8. Every minor version came with several valuable new features. 


Drupal 8 extensively depends on third-party libraries like Symfony, Twig, Guzzle, CKEditor and must keep up pace with their updates as well. For example, Symfony 3 (Drupal 8’s biggest dependency) will reach EOL (end of life) by November 2021. The same time as Drupal 8 reaches end of life as well. Drupal 9 will be released with the latest Symfony 4.4 support and will not be backwards compatible with Symfony 3. 

Drupal 9The Drupal 9 Readiness Roadmap (Image Credits – Drupal.org)

What’s New in Drupal 9 (Drupal 8 vs Drupal 9)

Drupal 9 is already being built within Drupal 8. Drupal 8.9 will release along with Drupal 9.0 in June 2020. This is because Drupal 9 is going to be the same as Drupal 8.9, except that it will be a cleaned-up version that is updated with support for its third-party dependencies. And hence one of the outstanding Drupal 9 features is that it is so easy to upgrade!

Every new minor version of Drupal 8 saw many new features but it also contained a lot of old code so it could be backwards compatible. This “old code” is also famously known as “deprecated code”. Because of the dependencies on third parties like Symfony, Twig, etc., Drupal 9 will incorporate updates to these dependencies. Drupal contributors and module developers are collectively making the road to Drupal 9 easier by eliminating “bad smelling code” (as Jacob Rockowitz calls it in his blog about deprecating code for his Webform module) from various Drupal 8 modules.

Drupal 9What’s new in Drupal 9.0 (Image Credits - Drupal.org)

From Drupal 9.1 onwards, the same story continues. New Drupal 9 features will continue to be added every six months (Drupal 9.1..Drupal 9.2..Drupal 9.3…and so on) which will be backwards compatible with Drupal 9.

“If Drupal 9 is the same as Drupal 8.9, why should I even upgrade?”. Because Drupal 8 reaches end of life on November 2021 and will stop receiving any security fixes or updates from then on. So once Drupal 9 is released, there is an 18-month window to upgrade to Drupal 9. Sure, long-term support will be offered by Drupal vendors, but do we really want to miss out on all the new Drupal 9 features and enhancements that it will offer?

Drupal 9 Checklist

Regardless whether you’re upgrading from Drupal 7 to Drupal 9 or Drupal 8 to Drupal 9, you will need to start planning for Drupal 9. The scheduled release is soon approaching and now is a good time to get prepared for Drupal 9. 

  • Drupal 7 to Drupal 9
    If you are still on Drupal 7 and looking forward to getting onboard Drupal 9, it isn’t too late. Ideally, it is recommended you upgrade to Drupal 8 now and stay updated with the latest core releases. Migrate content and code to Drupal 8, Check for availability of modules in Drupal 8 using the Upgrade Status Drupal module, upgrade your Drupal 7 modules to Drupal 8 with the help of modules such as Drupal Module Upgrader, remove any deprecated code, upgrade to Drupal 9. And as already discussed, upgrading from Drupal 8’s latest version to Drupal 9 is easy as pie. Upgrading from Drupal 7 to Drupal 9 will take as much resource time (and resource budget) as a Drupal 7 to Drupal 8 to Drupal 9 upgrade. Drupal 7 will reach end-of-life by November 2021 and will continue to receive community support until then. 
  • Stay Up to date with Drupal 8
    With every new minor version release of Drupal 8, the benefits are not only restricted to access to new features and enhancements. It also takes you one step closer to Drupal 9. Since Drupal 8.8 is the last minor release before the Drupal 8.9 release (which also happens at the same time as Drupal 9!), it is the last Drupal 8 version to contain significant feature additions. Drupal 8.9 releases on June 3rd, 2020 and will include more stable modules (that were previously experimental) and a few UX and API enhancements. So, the best thing to do now is to keep Drupal core updated and update your website to Drupal 8.8. 
  • Weed out the Deprecated code
    Make way for new and improved features by removing old and deprecated code from your Drupal 8 codebase. When you keep Drupal core and contributed modules up to date, you are also embracing cleaner code. Updated versions remove usage of deprecated code and API. There are various methods to check for deprecated code. 
    • Sometimes functions are marked with @deprecated annotations that warn the developer that the following code is deprecated and what they should be using instead. 
    • Use a command-line tool like Drupal Check (by Matt Glaman from Centarro) to help check for deprecated code and other bugs. It can also be integrated in continuous integration environments.
    • Leverage the Drupal 8 Upgrade Status module on top of Drupal-Check for a more UI based solution. It can scan your entire Drupal project and generates a report that illustrates any compatibility issues and Drupal 9 readiness. 
    • Drupal.org also offers support to check for Drupal 9 readiness and deprecation within its testing system. Like enabling static analysis with phpStan or by setting a trigger_error() when a deprecated level is reached.

      Once identified, it is time for some manual work to remove the deprecated code and refine existing codebase. Use automated tools like Drupal 8 rector to resolve some code issues, although it does need some manual intervention.

Jan 07 2020
Jan 07

You’ve just freshly installed Drupal 8 on your computer and you are really looking forward to
getting your website up and running fast. You want all those amazing features you have heard
about of Drupal 8. So, what do you do next? Pick your Drupal 8 modules! Coz modules are the
building blocks of any great Drupal mansion.


Of course, it isn’t as simple as it sounds. Drupal 8 is powered by its ever-growing open-source
community who work hard to develop thousands of modules that can enhance and extend the
functionality of a Drupal website. Choosing out of thousands of Drupal 8 modules can be a
backbreaker.


Luckily for you, many significant contributed modules from Drupal 7 have made their way to
Drupal 8 core. Which means, you will only need to enable these modules once Drupal 8 is
installed. Let’s dive into a short list of top Drupal 8 modules you must have to build great digital
experiences. Following that, we’ll talk about how to pick your Drupal 8 modules.

Admin Toolbar Module

The Drupal Admin Toolbar module is extremely useful for better navigation for site admins and
site builders. The default Toolbar isn’t very user friendly. This module aims to extend the
functionality of the toolbar by offering drop-down menus that allow easy access to various
admin pages. It also offers a submodule to extend its functionality called Admin Toolbar Extra
Tools. This submodule adds more helpful links to the admin menu to perform tasks like flush
cache, run cron and more.

Paragraphs Module

The Drupal 8 Paragraphs Module gives a lot of power in the hands of content authors and
editors. It allows them to create flexible and structured content easily. You can now add various
paragraphs field types like images, text blocks, quotes, slideshows, videos and so much more.
Using the familiar node edit form, you can add/play around with as many paragraph items and
place them wherever you want to. It also offers widgets (still in experimental) which will allow drag and drop functionality, duplicating paragraphs and many other features that can elevate
user experience while working with the Paragraphs module.

Webform Module

This is one Drupal 8 module that is always on my recommended-modules-list. It is so versatile
and such an essential Drupal module that it is hard to ignore. Almost every website needs a
form. A contact form or a survey form or a feedback form – there is no running away from
them. The Drupal 8 Webform Module is a rich form builder that is easily customizable and
extendable. It allows to collect form data, send it to third-party applications or send emails to
admins or users. You can also export this data to spreadsheets for further analysis. There’s so
much more that the Webform module offers which cannot be summed up here.

Display Suite

The Drupal Display Suite module is a very easy-to-use and handy tool to build page layouts. It
offers a slick drag and drop interface to arrange content. There are a list of predefined layouts
and templates to choose from. Custom layouts and templates can also be created and added in
the theme. Custom view modes and custom fields can also be defined.

Devel Module

The Drupal Devel module is a very handy tool for developers and site admins. It is widely used
in testing purposes because of its ability to generate a lot of content for nodes, comments,
users and various content types and entities. Also, it allows developers debug any problems
with node access. Page footers can be added for all pages with the help of its submodule called
Webprofiler. Webprofiler also gives the site admins an insight to some analytics about the
caching abilities, database queries, resource utilization and much more.

Drupal GraphQL Module

GraphQL is a modern querying language that replaces old-timers like REST to communicate with
APIs. It is faster and yields only the results you are looking for – minus all the unwanted
baggage that comes along with a REST API call. The Drupal GraphQL module enables your
Drupal website to create GraphQL schemas and expose Drupal entities with GraphQL client
applications.

Pathauto Module

Having a well-structured URL does not only improve the user experience, it is very vital for
search engine optimization too. The Drupal Pathauto module is definitely a must-have module
in every Drupal project. It helps in automatically generating SEO friendly and well-structured
URLs. Site admins can also change the pattern system by changing the tokens it uses.

Google Analytics

The Drupal Google Analytics module adds Google analytics tracking system to your website.
Using this Drupal module, all features of Google analytics can be accessed and integrated with
your website. It allows for domain tracking, users tracking, monitoring tracked links, monitoring
downloaded files, site search, Adsense support and much more.

Things to Remember while choosing your Drupal 8 modules

Be it personalization modules, social media integration modules, marketing automation
modules or any other module, you can always find more than one for each functionality. Here’s
what you should keep in mind before making a choice:

Compatibility

Before you download a module, you should know if it is going to be compatible with your
version of Drupal. You just cannot install a version 7 module into your Drupal 8 installation
without cross checking if it is supported. To find out what version of the module has been
released in Drupal.org, you can go to the module’s project page and scroll right to the end
where you will see the download link and find the release versions specified. If it isn’t specified,
go to http://drupal.org/project/Modules/name and filter by Core compatibility.

They’re free but they consume space

You must keep in mind that although the contributed Drupal modules are free of cost, they are
not feather light. Unused modules can unnecessarily consume a lot of space and resources
which can make your Drupal website heavier and slower. So, before you download a module,
analyze if you really need it or if any other core module can perform the same functionality for
your website. Also, feel free to abandon those hardly used and inactive modules to make your
website feel healthier and light.

Actively Maintained Modules

It is very important to choose modules that are actively maintained, updated and published by
the developers. Because, if you run into any security vulnerabilities or any other issues, you
know that you can get a quicker response from the developer/contributor. Also, you will be
sure that an updated new version is on its way soon.

Popularity

Using popular modules means you can trust the module to do the job and be secure with less
issues. In the module’s project page on drupal.org, you can see the number of downloads and
how many websites are currently using that particular module.

Look out for issues

On the right side of the Drupal module’s project page, you can find the number of issues and
bugs (open and closed) associated with that module. On clicking on the link, you will be able to

see a detailed report of all bugs and issues. Looking at this can give you an idea if the module
can really help you with your functionality or not. The ‘Last Updated’ date can also give you an
idea of how active the developers are in solving issues and how responsive they are.

Dec 03 2019
Dec 03

With our Drupal SEO guide, you don’t have to go too far in search of SEO modules, features and tips to boost your Drupal website ranking. Read and bookmark this for future reference!

We all know Drupal as this robust, flexible and dependable CMS platform but not many realize its abilities when it comes to SEO. SEO can be one of the most influential factors for the success of an organization or a business. Did you know that 93% of online experiences start with search engines and 51% of all website traffic is attributed to organic searches (source)?! 

When people from around the globe search for your product or services, you want to appear as high as possible on the search engine ranking. Improving your SERP (Search Engine Results Page) ranking is now more important than any other marketing strategy. Ideally, Drupal SEO is about making your website easy for both your visitors and the search engine crawlers to understand. Thus, your SEO strategy begins long before your Drupal website is built. With an effective long-term perspective, its amazing collection of modules, its flexibility and customization options and not to forget, the loyal community working towards the betterment of the open source platform, Drupal 8 tops the CMS chart. Drupal 8 offers some exemplary SEO modules that can boost your Drupal 8 SEO and SERP ranking.

Lay your Foundation

With Drupal 8, most of the required SEO best practices are already embedded into the core of the platform and with a little knowledge of SEO and some must-have configurations, anybody can possibly boost their website’s SEO to drive more traffic. But before you jump right into the tools and other configurations on Drupal 8, sit back and think about the basics which you need to get right for your website's success.

Things to remember -

  • With your website goals in sight and your visitors' interests in mind, sit down and form a proper pre-SEO strategy to begin with. 
  • Know your audience before you begin with your Drupal 8 SEO strategy. Once your audience set is established, shooting targeted content will be easier.
  • Pay attention to every detail that goes into your On-page SEO (content, improve keyword ranking), Off-page SEO (backlinks) and Technical SEO (site architecture, UX, clean code). 
  • Website performance and site speed directly contribute to a website’s SEO ranking factor. This is not just true because of Google’s algorithm update for speed but also because a slow loading website hampers user experience.
  • Yes, come 2019 and Google has changed the way SEO used to work previously. The focus is more now on the value you bring to your users – mainly through content. Hence, getting your Content strategy right is very crucial for a good website ranking.
  • Google favors websites that make it easy for users to navigate and access irrespective of the device. With Drupal 8, you can be assured of a responsive website because of its Mobile-first approach. 
  • Remember that SEO works differently for different businesses. There is no one-size-fits-all when it comes to crafting an SEO strategy for your Drupal website.

Top 5 Drupal SEO Modules to Optimize your Website

With Drupal 8 and the continuous innovation approach, it has adopted some of the best-in-class technologies thus making it more future-proof. More importantly, it has made content authoring more powerful and easier at the same time. One of the great things about Drupal 8 is that it is "SEO ready" right out of the box. To begin with, let us talk about some top Drupal SEO modules that help enhance your SEO efforts on your Drupal website.

1. Drupal SEO Checklist Module

If you are a ‘To-do-list’ person who is in love with organizing things, this Drupal SEO module is for you. This is an important SEO module which does not directly affect your Drupal SEO and improve the SERP but will provide critical information on the changes to be made on the site. The Drupal SEO Checklist module checks your entire Drupal website for proper search engine optimization against SEO best practices and tells you what to do. It provides a detailed report on what needs to be done to improve the performance of your Drupal website.

seo-checklist
          Drupal SEO Checklist

The Drupal SEO checklist module keeps a track of how tasks have been taken care of, what has already been done (with timestamps) and what needs to be attended to. If a task needs you to install a module, it provides with a link to download it as well. This data provides a report that can be used for further monitoring.

2. Pathauto Module

Using clean URLs that indicate what content it represents is extremely important for SEO. One of the most important and useful modules for Drupal SEO, Pathautho module plays a major role in creating SEO-friendly URLs on your website. The usual "example[dot]com/node/1" can be replaced with more SEO specific URL aliases such as "example[dot]com/page/keyword". Based on the category of your website page or based on the page title, with Pathauto SEO module you can build URLs which are SEO friendly. These intuitive URLs are easy for the visitors on your site to understand what they are looking at and where they are, which helps in improving your site ranking on search engines.
 

pathauto.
         Pathauto Module

3. Google Analytics Module

In our recent post, we discussed how you can add Google Analytics module to your Drupal website and also create custom reports for better performance of your website. Though the Google Analytics Drupal SEO module does not have any direct effect on your Drupal SEO or does not improve your search engine ranking, it plays a major role in providing the necessary information that can amplify your Drupal 8 website's SEO success. By tracking your visitors, their behavior and interests within your site, you can change or add new strategies to drive more traffic and increase conversions. You can also use the GA Reports module that can provide you with a graphical representation and details reports about your Drupal website.

drupal google
        Google Analytics Module

4. Global Redirect Module

Google certainly does not like spammy duplicate content on a web page. Such content can have a negative impact on your SEO efforts and as a result, can harm your rankings on the search engine. On Drupal, while you are happy creating clean URLs with the alias system, you should note that there is a small problem arising. With the creation of new URLs, the default URL still exists and the search engines do not see it as a good sign.

global-redirect.

         Global Redirect module

The Global redirect module helps in rectifying this problem by verifying the existence of an alias for a URL and redirecting it to the same. The Global redirect module also plays a role in checking the URL implementation and permission or the access required to the nodes and URLs. However, this module has been deprecated for Drupal 8 and the functionalities are now merged into the Redirect module.

5. SEO Compliance Checker Module

A module which is of great help to Drupal SEO beginners and webmasters, SEO Compliance Checker module performs a complete check when a node is created or modified on your Drupal website. The execution includes checking if the titles and meta tags are optimized, no alt tags are missing, optimized keywords usage and other important factors for better SEO and to improve keyword ranking.

compliance-checker.
           SEO Compliance Checker Module

While the core module - seo_checker does not perform any of these checks, it is the submodules that come along (basic_seo_rules.module and keyword_rules.module) which execute these checks for the implementation of some basic SEO rules. The core Drupal module, on the other hand, gathers the required information about the checks to be performed and applies them to collect the results.
In addition to these modules, there are many other Drupal 8 SEO modules such as the Page Title module which allows the page title to be set, the Meta tag module which equips you with complete control of meta tags on your Drupal website, and the XML Sitemap module to create a search engine readable, dynamic sitemaps.

Some Additional Tips to Improve your Drupal site's Ranking

Just to let you know, in the time you took to read the blog until this point,

  • More than a million Google searches were made.
  • Close to 20,000 Facebook posts were posted.
  • More than 1000 blogs were posted on the internet.

The internet is noisier than ever now, and it doesn't seem like it is going to stop anytime soon. SEO at its beginning stages was all about cramming your website with keywords and let the crawlers do their magic. But over time, SEO has blossomed with Google introducing some amazing algorithms and updates to curb the black hat SEO practices.
Right now, for a successful Drupal 8 SEO campaign, you need to study your visitors, their behavior and interests on your website and curate the content accordingly to stay ahead of the curve. You don't want to be in the midst of a content gap which can create problems for your website's conversions. With this study, you have a real opportunity in hand to develop fresh content for your Drupal website and optimize it for the searches on the search engine.
 

Nov 26 2019
Nov 26

You can run. But you can’t hide… When you’re listed on an XML Sitemap.
Back in 2005, around the time when one of my favorite shows – The Office (US version), premiered on NBC, Google was busy introducing Sitemaps to the world. When the world wide web started getting loaded with websites that consisted of multiple webpages, search engine spider bots like Googlebot found it excruciating to understand which of those pages need to be indexed (listed). Enter Sitemaps. They help in relieving some stress off of search engines. Sitemaps also let you control the priorities of your pages, frequency of page changes and modified dates. Setting up XML sitemaps with Drupal 8 is easy and you can choose from Drupal sitemap modules like the Simple XML Sitemap module or the XML Sitemap module.

What is a Sitemap?

Sitemaps are XML (Extensible Markup Language) files that contain a list of all your webpages and their locations. Listing out all your URLs in a single Sitemap file ensures that search engines like Google, Yahoo, MSN, etc., ‘indexes’ your content that is ready to be seen by the world. Here is an example of our Sitemap -  

Sample sitemap           
               Figure 1- A Sample Sitemap 

The <priority> element tells the crawlers how important that page is to your website with regards to all the other pages. You can set a priority that ranges between 0.0 to 1.0 with 1 being of highest importance. So how important sitemaps are for SEO? This question is often debatable but having a sitemap has proven to improve the time taken to crawl a website by Google/Yahoo bots. Admittedly, the faster your website is crawled the better chance it has at SERP ranking.
Having said that, not all websites need a sitemap. Especially not if your website is small, not very complex and is well referenced through internal links. Here’s what Google has to say about this –

google announcement about sitemap         
             Figure 2 - Google announcement

Drupal Sitemap Modules

SEO has always been priority for Drupal and the community has created tons of modules dedicated to SEO only. With Sitemaps playing a significant role in improving the SEO ranking of a website, Drupal comes with some easy-to-use modules like the Simple XML Sitemap module and the XML Sitemap module. Both Drupal sitemap modules aim to generate XML sitemaps that meet the latest standards and specifications.

 Simple XML Sitemap Module

The Simple XML Sitemap module for Drupal 8 is an easy-to-use XML sitemap generator. This Drupal XML sitemap module has been made specifically for Drupal 8. Needless to say, the codebase complies by the OOP and Drupal 8 standards. Which makes it more futuristic and flexible. It generates XML sitemaps that adhere to Google’s latest standards and even supports multilingual content. The module also provides an API that will allow you to customize links and configurations, making it truly extendible.

Setting up the Simple XML Sitemap Module         
            Figure 3- Setting up the Simple XML Sitemap Module Simple XML Sitemap Module - Advanced Settings         
           Figure 4 - Setting up the Simple XML Sitemap Module - Advanced Settings Setting up the Simple XML Sitemap Module - Priority Settings          
                 Figure 5- Setting up the Simple XML Sitemap Module - Priority Settings

XML Sitemap Module

This robust old-timer has been around since Drupal 5 and continues to support Drupal 8 websites as well. The Drupal XML Sitemap module lets you create xml sitemaps that adheres to the sitemap.org guidelines. Sitemaps generated can be automatically submitted to search engines like Google, Ask, Bing, etc. The module is also flexible and comes with submodules that allow site admins to customize links and the output.

Setting up the XML Sitemap Module           Figure 6- Setting up the XML Sitemap Module Setting up the XML Sitemap Module - Sitemap Content Settings         
            Figure 7- Setting up the XML Sitemap Module - Sitemap Content Settings Setting up the XML Sitemap Module           
              Figure 8 - Setting up the XML Sitemap Module
Nov 06 2019
Nov 06

What are your goals of marketing automation? Every organization has varied targets to meet with their marketing automation strategy. According to a study, the most prominent objective is to optimize productivity. The other significant goals are to increase marketing ROI, acquiring more leads, analyzing performance and to align marketing and sales. With tons of marketing automation platforms available in the market today, it is hard to choose the most effective tools that will work for you. 

Drupal CMS lets you create compelling digital experiences. Its ease of use and powerful features make it a great platform for a marketer. Integrating Drupal with marketing automation tools will not just enable you to enhance the user experience but it can turn into an intelligent lead generation and nurturing tool. Drupal 8 offers seamless integration modules with top marketing automation tools like Hubspot, Mailchimp, Google Analytics and many more.

Why do I need a Marketing Automation Tool, you ask?

 “Good marketing makes the company look smart; Great marketing makes the customers feel smart” - Joe Chernov (VP Marketing @ Pendo). 
Great marketing needs more than just a physical team who can manually manage your marketing workflows. Great marketing needs a Marketing Automation tool to help you nurture your leads and expedite your whole marketing process. Did you know lead nurturing can increase your revenue growth by 85%?

  • Marketing Automation tools help converting raw leads to nourished and qualified marketing leads that are turned over to the Sales team for further customer relation management. This implies for both B2B and B2C organizations.
  • It helps track your prospective customer’s activities right from when they visit your website to reading your blogs or filling out a form. 
  • You can also schedule and track your marketing campaigns via email or social media or any other communication.
  • Prospective customers can be easily segmented into suitable mailing lists based on their interests or preferences and will receive/view only relevant content, thus giving you happier (also read ‘less annoyed’) leads. 
  • A ‘drip campaign’ (email campaign) can be scheduled depending on the right time and right interest shown by your leads that will help you stay on top of their minds thereby nurturing your leads. 
  • You will also be able to see the reports/analytics and analyze the success of your marketing campaigns.

Drupal 8 Modules for Marketing Automation 

Drupal is not only known for its robustness and scalability but also for its huge active community of contributors. You will find various contributed Marketing automation modules or plug-ins within Drupal CMS. They are free and out-of-the-box but sometimes might not provide you with as many features as other thirds-party tools. There are a huge number of third-party Marketing Automation software that integrate seamlessly with your Drupal website. 

Webform

No, the Webform module is not a marketing automation module but is one of the most vital building blocks of an integration between Drupal and other third-party marketing automation software. The Drupal Webform module is used to collect user data via forms. You can build forms like surveys, simple newsletter signup forms or contact forms. This submitted data is then pushed to third-party marketing automation systems. Drupal 8 Webforms have a lot more features added like the object-oriented API, source editing, new and improved form elements, extendable plugins, better documentation and more.

webform module                                         
          Webform Module for Drupal 8 – Form elements

Marketo MA

Marketo is a very popular and widely used marketing automation tool that automates activities such as lead tracking and nurturing, personalization, analytics, advertisements, social marketing, automated campaigns and much more across multiple devices. The Market MA Drupal module helps you capture lead data during form submission and adds tracking capabilities to your Drupal website with the Marketo Munchkin tracking codes and API. It also integrates with the Webform module. 

Marketo MA Module for Drupal 8           Marketo MA Module for Drupal 8 – Setting up

Eloqua 

The Eloqua marketing automation tool by Oracle allows for marketing campaign management, email automation and tracker, lead management and engagement, and more. Eloqua Drupal module integrates Eloqua tracking and Eloqua Webforms submodule with your Drupal website. In Drupal 8, the Eloqua module has been divided into separate module fragments like the Eloqua Tracking module, webform Eloqua module, Eloqua API Redux (Drupal 8 and Eloqua REST API integration)

Eloque module                                 
          Eloqua Module for Drupal 8 - High-level design 

HubSpot 

HubSpot marketing automation is well-known to provide users with a wide range of inbound automation tools – the marketing hub, the sales hub and the service hub. Each of them can function alone or all together. The HubSpot Drupal module integrates with Webform and the HubSpot API. Once a user enters their information via Drupal 8 Webforms, the records are sent to HubSpot’s lead management tool, where the leads can be tracked and nurtured.

Hubspot module
          HubSpot Module for Drupal 8 – Setting up

Pardot

Pardot, the marketing automation service by Salesforce, offers marketers a host of activities like digital marketing campaign management, customer behavior tracking, SEO, website tracking, lead generation and nurturing, etc. The Pardot Drupal 8 module adds web analytics onto your Drupal website allowing marketing and sales department to create, deploy and manage online marketing campaigns. 

 Pardot Module for Drupal - Configuring          Pardot Module for Drupal - Configuring

Mautic

By now you must have heard about the acquisition of Mautic, the first open-source marketing automation platform, by Acquia. Mautic allows for multi-channel communications and campaign management, visitor tracking, email marketing, content customization and personalization and more. The best way to integrate Mautic with your Drupal website is with the Webform Mautic module. It lets you add Mautic handlers to the Webform which allows data from to be submitted to the Mautic list. To be able to track website contacts, the Mautic tracking code should be installed in your Drupal website.

Mautic Module for Drupal          Mautic Module for Drupal – Setting up

Google Analytics

Fun fact – Did you know Co-founder of Urchin (now Google Analytics) sold his company to Google on his wedding day (April 2005)? Google Analytics is the most widely used website analytics tool in the world today. No marketing automation is complete without analytics and GA does a great job at it. The Google Analytics Drupal module lets you add a web statistics tracking system to your website. It can track, monitor and support domains, users, files, search system, Adsense, custom code snippets and so much more. To generate reports for all your tracked data, the Drupal module for Google Analytics Reports can be installed.

google analytics
          Google Analytics Module for Drupal – Setting up

MailChimp

MailChimp is a very popular email automation platform that does more than just sending emails. You can create custom campaigns, send and schedule automated emails based on certain predefined triggers, track and monitor customer behavior, personalize, generate reports, etc. The Drupal MailChimp module integrates your Drupal website with Mailchimp which will help in tracking and creating a list of website visitors. This list is sent to the MailChimp list from where email automation and other features can be accessed. You can also create signup forms, campaigns and track activity from your Drupal website. Your visitors can also have a control over which of your email lists they want to be on or off.

Mailchimp Module for Drupal
          Mailchimp Module for Drupal – Sign up form


 

There are a few Marketing Automation tools that include a collection of marketing components:

IBM Marketing Cloud is a hybrid marketing automation tool based on Silverpop’s cloud-based marketing automation software, DemandTec’s cloud analytics and Xtify’s mobile messaging models and enhanced by IBM marketing software.

Adobe Marketing Cloud includes components like Adobe Target, Adobe Social, Adobe Campaign, Adobe Media Optimizer and Adobe Analytics. Adobe Analytics (previously SiteCatalyst) is a module that you can integrate with your Drupal website that helps provide detailed statistics about website traffic and can categorize customers based on their locations, preferences and behavioral traits.

Oct 01 2019
Oct 01

“Do I really need Drupal support and maintenance services for my website?” 
If this is the question that you have, you probably think that your quest for a public-facing and a customer-attracting tool ends with the development and deployment. Is content updating enough to stay current and relevant? How important is it really to have a support and maintenance plan for your Drupal website? Let me give you five of the most important reasons why you may want to think about Drupal support services–

1. Continuous Safeguarding 

No doubt Drupal is one of the most secure CMS’s today but only if your Drupal website is updated with security upgrades and patches regularly. The Drupal community and the Drupal security team work hard towards building security patches, fixes and upgrades that all add up to building a sustainable ecosystem. These security fixes and upgrades need to be performed immediately to avoid trouble. If you’re still on Drupal 7 (or Drupal 6), migrating to Drupal 8 is crucial to keep your website secure. Drupal 7 support for security will be provided by the community till November 2021. To ensure complete security of your website, you need regular Drupal support and maintenance services.

2. Fixes and repairs

No bug is a small bug. Even the smallest bug/error when ignored, could cost you a customer. Bugs and errors can emerge out of nowhere for multiple reasons. It could be because of a hurried up coding and deployment, insufficient testing, miscommunication, lack of expertise, untrusted third-party tools and more. Some of them are critical and might need immediate attention while some could just lie there unnoticed (which can come to light at wrong times!). Nonetheless, neither of them can be overlooked for a customer focused Drupal website. 

3. Up-to-date

From Drupal 8 onwards, upgrades and minor versions are released more frequently to avoid long waiting times for updates and enhanced features. While Drupal 6 has already reached End-of-life (no security fixes/enhancements), Drupal 7 will continue to only receive security support till November 2021. If you still need Drupal 7 support after that, you will need to contact a vendor who provides Long Term support (like the LTS plan for Drupal 6 support). However, if you need to stay updated and leverage Drupal 8’s new and powerful features, it is about time to upgrade to Drupal 8. Staying up-to-date with Drupal’s latest version will allow you to provide your customers with compelling and fresh digital experiences.

4. On top of things

Growing and scaling up your business calls for proactive and future-proof solutions. If you want to gain an edge over your competition, you have to stay on top of things. Things you will need for this? Frequent content updates and enhanced features. Of course, with Drupal, updating content is easy enough and does not need a technical background. Nonetheless, to remain competitive, you have to add new features and enhancements that can improve your user experience and customer journey. User behaviour is never constant, which is why your website needs to stay fresh and align with your user’s needs and business goals. 

5. Focus on your business goals

An intelligent businessman had once said, “Focus on what you do really well. Let others help you with what you are not good at.”  Making sure that your website needs security updates, fixes, enhancements, updates, etc. needs a lot of time and attention. Businesses are most successful when they focus on what they are best at. Unloading your Drupal support and Drupal maintenance job to a technology partner who is does it day-in and day-out is your best bet.                                                                                                                                     
If your Drupal website is critical to your business, here are a few more reasons you may want to go for professional Drupal support and maintenance: Improve and maintain your Search Engine Optimization (SEO) ranking, Third-party API updates, Drupal core module updates, contributed module updates, scaling your website/application, website performing reporting, Drupal interface improvements, and more.

drupal maintenance

Now that we have established a few strong reasons on why you need Drupal support and Drupal maintenance services, here are a few things you need to know before you choose a technology partner to help you with it.

  • Website Audit – Your Drupal support and maintenance service partners should perform a comprehensive audit of your website. This audit should be able to give you a clear picture of where your website stands in terms of performance, security issues, bugs and SEO status. Your Drupal website’s support and maintenance plan should be based on these factors. 
  • Levels of Support – Different types of websites will need different levels of support. Some of them include-
  • Drupal Security Update Support – Security updates, upgrades and applying patches.
  • Drupal Module Upgrades Support – Module upgrading to leverage better features and/or to remain compatible.
  • Migration Support – Ensuring smooth transition and uptime during migrations, migration bug fixes, content migration support, database migration support, etc.
  • Code Reviews – Reviewing code for structure, quality, logic, performance, testing, design, usability, readability, functionality, etc. 
  • Performance testing and tuning Support – Check and support for performance on website’s expected workload, response time, speed, robustness and scalability.
  • Integration Assistance – Support of existing integrations and during new integrations with third-party applications and APIs.
  • Drupal 6 Support – Long Term Support plan (LTS) and Drupal maintenance
  • Drupal 7 Support – LTS after Nov 2021, Drupal 7 module support
  • Turn-around times – Turnaround and response times for your website depends on the type of an issue/support needed. For emergency issues like a serious bug or a security loophole, the turn-around time should not exceed 24-48 hours. While support for new Drupal features or enhancements or customizations can range from 2 weeks to more depending on the complexity of the task.
  • Dedicated VS Shared Support – As the names suggest, with dedicated support you get a Drupal expert/team of Drupal experts who will exclusively support your website(s). You can pay a monthly fee to carry out Drupal support and maintenance tasks continuously and as and when they arise. This ensures that your website is customized and well looked-after both proactively and on-demand. Most support service providers also offer to utilize your unused support hours into the development of a new feature or enhancing exciting features. 
    You could also opt for shared support where you will be sharing resources with other companies as well. Works best when your website is not very complex does not include customizations and does not require continuous monitoring.
  • Update Release Schedule - Drupal 8 is not just a build-up upon Drupal 7. It has been re-architectured to improve adoption among businesses and Drupal developers by adopting more futurist frameworks (Symfony, Twig, PHP 7+, BigPipe caching, etc.). To be able to stay secure and compatible with the other building blocks, Drupal 8 has adopted a continuous innovation model and releases frequent minor version updates (every 6 months). Your Drupal support and maintenance service partners should ensure regular scheduled updates of Drupal’s version releases, bug fixes, and security releases.
Sep 25 2019
Sep 25

Securing your website is not a one-time goal but an on-going process that needs a lot of your attention. Preventing a disaster is always a better option. With a Drupal 8 website, you can be assured about having some of the top security risks being taken care of by the Drupal security team. 
Drupal has powered millions of websites, many of which handle extremely critical data. Unsurprisingly, Drupal has been the CMS of choice for websites that handle critical information like government websites, banking and financial institutions, e-Commerce stores, etc. Drupal security features address all top 10 security risks of OWASP (Open Web Application Security Project)
Drupal 8 is considered one of the most secure version till date because of its forward-thinking and continuous innovation approach. The Drupal security team had also issued a security bounty program six months before the release of Drupal 8. Through this program, users were invited to test run and find (and report) bugs in Drupal 8. And they even got paid for it! 

Drupal Security Vulnerabilities

It goes without saying that the Drupal community take drupal security issues very seriously and keep releasing Drupal security updates/patches. The Drupal security team is always proactive and ready with patches even before a vulnerability goes public. For example, the Drupal security team released the security vulnerability update - SA-CORE-2018-002 days before it was actually exploited (Drupalgeddon2). Patches and security upgrades were soon released, advising Drupal site admins to update their website.
Quoting Dries from one of his blogs on the security vulnerability – “The Drupal Security Team follows a "coordinated disclosure policy": issues remain private until there is a published fix. A public announcement is made when the threat has been addressed and a secure version of Drupal core is also available. Even when a bug fix is made available, the Drupal Security Team is very thoughtful with its communication. “
Some interesting insights on Drupal’s vulnerability statistics by CVE Details :

drupal securitydrupal security vulnerabilities

1. Keep Calm and Stay Updated – Drupal Security Updates    

The Drupal security team are always on their toes looking out for vulnerabilities. As soon as they find one, a patch/Drupal security update is immediately released. Also, after Drupal 8 and the adoption of continuous innovation, minor releases are more frequent. This has led to easy and quick Drupal updates of a better, more secure version. 
Making sure your Drupal version and modules are up-to-date is really the least you can do to ensure safety of your website. Drupal contributors are staying on top of things and are always looking for any security threats that could spell disaster. A Drupal security update doesn’t just come with new features but also security patches and bug fixes. Drupal security updates and announcements are posted to users’ emails and site admins have to keep their Drupal version updated to safeguard the website.

2. Administer your inputs 

Most interactive websites gather inputs from a user. As website admins, unless you manage and handle these inputs appropriately, you are at a high-security risk. Hackers can inject SQL codes that can cause great harm to your website’s data.
Stopping your users from entering SQL specific words like “SELECT” or “DROP” or “DELETE” could harm the user experience of your website. Instead, with Drupal security, you can use escaping or filtering functions available in the database API to strip and filter out such harmful SQL injections. Sanitizing your code is the most crucial step towards a secure Drupal website.

3. Drupal 8 Security

How is Drupal 8 helping in building a more robust and secure website? Here are a few Drupal 8 security features - 

  • Symfony – With Drupal 8 adopting the Symfony framework, it opened doors to many more developers other than limiting them to just core Drupal developers. Not only is Symfony a more secure framework, it also brought in more developers with different insights to fix bugs and create security patches.
  • Twig Templates – As we just discussed about sanitizing your code to handle inputs better, here’s to tell you that with Drupal 8, it has already been taken care of. How? Thanks to Drupal 8’s adoption of Twig as its templating engine. With Twig, you will not need any additional filtering and escaping of inputs as it is automatically sanitized. Additionally, because Twig’s enforcement of separate layers between logic and presentation, makes it impossible to run SQL queries or misusing the theme layer.
  • More Secure WYSIWYG - The WYSIWYG editor in Drupal is a great editing tool for users but it can also be misused to carry out attacks like XSS attacks. With Drupal 8 following Drupal security best practices, it now allows for using only filtered HTML formats. Also, to prevent users from misusing images and to prevent CSRF (cross-site request forgery), Drupal 8’s core text filtering allows users to use only local images.
  • The Configuration Management Initiative (CMI) – This Drupal 8 initiative works out great for site administrators and owners as it allows them to track configuration in code. Any site configuration changes will be tracked and audited, allowing strict control over website configuration.

4. Choose your Drupal modules wisely

Before you install a module, make sure you look at how active it is. Are the module developers active enough? Do they release updates often? Has it been downloaded before or are you the first scape- goat? You will find all the mentioned details at the bottom of the modules’ download page. Also ensure your modules are updated and uninstall the ones that you no longer use.

5. Drupal Security Modules to the rescue

Just like layered clothing works better than one thick pullover to keep warm during winter, your website is best protected in a layered approach. Drupal security modules can give your website an extra layer of security around it. Some of the top Drupal 8 security modules that you must use for your website –

 Drupal Login Security –

This module enables the site administrator to add various restrictions on user login. The Drupal login security module can restrict the number of invalid login attempts before blocking accounts. Access can be denied for IP addresses either temporarily or permanently. 

Two-factor Authentication –

With this Drupal security module, you can add an extra layer of authentication once your user logs in with a user-id and password. Like entering a code that’s been sent to their mobile phone.

Password Policy –

This is a great Drupal security module that lets you add another layer of security to your login forms, this preventing bots and other security breaches. It enforces certain restrictions on user passwords – like constraints on the length, character type, case (uppercase/lowercase), punctuation, etc. It also forces users to change their passwords regularly (password expiration feature).
 

Username Enumeration Prevention –

By default, Drupal lets you know if the username entered does not exist or exists (if other credentials are wrong). This can be great if a hacker is trying to enter random usernames only to find out one that’s actually valid. This Drupal security module can prevent such an attack by changing the standard error message.

Content Access -

As the name suggests, this module lets you give more detailed access control to your content. Each content type can be specified with a custom view, edit or delete permissions. You can manage permissions for content types by role and author.

Coder -

Loopholes in your code can also make way for an attacker. The Coder module (a command line tool with IDE support) goes through your Drupal code and lets you know where you haven’t followed best coding practices.

Security Kit -

This Drupal security module offers many risk-handling features. Vulnerabilities like cross-site scripting (or sniffing), CSRF, Clickjacking, eavesdropping attacks and more can be easily handled and mitigated with this Drupal 88 security module.

Captcha -

As much as we hate to prove our human’ness, CAPTCHA is probably one of the best Drupal security modules out there to filter unwanted spambots. This Drupal module prevents automated script submissions from spambots and can be used in any web form of a Drupal website

6. Check on your Permissions

Drupal allows you to have multiple roles and users like administrators, authenticated users, anonymous users, editors, etc. In order to fine-tune your website security, each of these roles should be permitted to perform only a certain type of work. For example, an anonymous user should be given least permissions like viewing content only. Once you install Drupal and/or add more modules, do not forget to manually assign and grant access permissions to each role.

7. Get HTTPS

I bet you already knew that any traffic that’s transmitted over just an HTTP can be snooped and recorded by almost anyone. Information like your login id, password and other session information can be grabbed and exploited by an attacker. If you have an e-Commerce website, this gets even more critical as it deals with payment and personal details. Installing an SSL certificate on your server will secure the connection in between the user and the server by encrypting data that’s transferred. An HTTPS website can also increase your SEO ranking – which makes it totally worth the investment.

Sep 17 2019
Sep 17

“Should I upgrade or should I just wait?” This question has been constantly bothering business decision-makers when it comes to migrating their website from Drupal 7 to Drupal 8. Change can be hard and terrifying, especially at its inception. Yet, a change is what allows you to grow, evolve and progress. It can get painful to take a decision as big as a migration of your Drupal 7 (or 6) website – the one that you knew and have loved. But soon you will know you have made the most brilliant business decision, ever! 

Drupal 8 Migration - A Long-term vision

There has always been a perception that Drupal is a difficult CMS to get a hang of. Starting from end-users to developers, Drupal was considered as having a huge learning curve.  Yes, with the previous major versions (before Drupal 8), the process of upgrading and adjusting to the change was harder. It was also more expensive (needed more resource time), the release of contributed modules (and necessary features) were slower and the release cycles got longer.

But with Drupal 8, everything changed. 

Tom Wentworth, (SVP Product Marketing from Acquia), summed up accurately in his article that unlike a few other CMS’s, “Drupal 8 was a teardown all the way to the foundation”. Creating an upgrade based on the same old foundation would have been a much easier task for the Drupal community. But starting from Drupal 8, the Drupal community has focused on long-term sustainability and on getting people to adopt Drupal effortlessly. This called for a complete re-architecture of Drupal 8 with the adoption of Symphony for high performance, Twig for a more modern templating engine, object oriented programming for easier maintenance, modern user experience design creators and editors for rich content editing, and much more. 

Drupal 8’s continuous innovation approach propels an evolution with regular (and shorter) minor releases, semantic versioning (in a ‘major.minor.patch’ format) that helps in backwards-compatibility enhancements and faster stability in modules by releasing experimental modules in core.

Your Drupal 8 Questions, Answered. (To some extent)

Although it has been a while since Drupal 8 has been around and stable, we still get asked a ton of questions by our customers before a migration. 

1. Why should I upgrade to Drupal 8 (from Drupal 7) when Drupal 9 is just around the corner? (We get this nearly every time)

I have a whole blog dedicated to this question, but if you insist, here are your benefits of upgrading to Drupal 8 now -

  • Time crunch – So Drupal 9 does not release until June 2020 and Drupal 7 reaches its end-of-life by December 2021. Which means you have only a year and a half to upgrade to Drupal 9. If your website is considerably simple and needs less customizations, this is a viable option. Else, you’d better off start an upgrade to Drupal 8 now and migrating from Drupal 9 from Drupal 8 is as easy as upgrading to a next minor release.
  • Living with a FOMO – That’s a term I recently learnt about – Fear Of Missing Out. Why do you want to miss out on some powerful and modern enhancements when you can migrate to Drupal 8 now and boost your Drupal website’s performance and experience? Upgrading from Drupal 8 to Drupal 9 is a cakewalk anyway!
  • Just a better version – Drupal 9 is just Drupal 8 minus the deprecated code and modules. Migrate to Drupal 8 now, enjoy a better performing website and an easy upgrade to Drupal 9 (and any future versions of Drupal)

2. We’re still stuck on Drupal 6. Help!

If you’re still stuck on to Drupal 6, you must know that everyone else has moved on. Today, the web has changed and so has Drupal. The Drupal community no longer supports Drupal 6 since February 2016. Which means, there will be no new Drupal modules or features to look forward to, no more bug-fixes, security updates and patches. Thus putting your website’s security at high-risk and of course depriving it of some TLC from the community. If you still want the best for your website, migrate to Drupal 8 now! Yes, you can completely skip Drupal 7. Drupal Migrate module is now included in Drupal 8 core and makes the switch easy and fast.

3. What performance upgrades does Drupal 8 offer?

Drupal 8 comes packed with performance-enhancing features and modules that can turn your website into a speedy and high performing one. Here are a few to name -

  • The Symfony Framework – Drupal 8’s adoption of Symfony framework isn’t just a great move for developers but for website owners as well. Symfony offers a robust, flexible and high-performance framework that allows for easy scalability of a website.
  • BigPipe Caching - It lets you segregate your page into different sections (called Pagelets) which can be rendered as they get available (Cached first). This lets you drastically improve your page’s perceived performance and speed.

migration-d8

  • Caching for Authenticated Users – Drupal 8 uses Varnish to cache page content and serve them to authenticated users for better and faster performance.
  • PHP7 support – Did you know PHP 7 is now two times faster than PHP 5.6 because of its new Zend engine? With PHP 7 support in Drupal 8, your websites can see a performance rise up to about 110% and reduced memory usage.

4. What challenges will we encounter during a Drupal 8 migration? What can be done to alleviate those issues?

Challenges encountered during a website migration from say Drupal 7 to Drupal 8, completely depends upon the complexity of a website, if it includes a redesign, the amount of content needed to be migrated and many more other factors. The first and the most crucial step towards a Drupal 8 migration is to audit your existing website. Auditing and analysing your website could be the biggest challenge if not handled well and could lead to a successful (and quick) migration when done right. If not planned well, you might run into problems where you are unprepared to handle -

  • Module compatibility issues
  • Might migrate old and unused modules that will increase migration time
  • Unavailability of existing modules/features/themes/views/entities (in core or contrib) 
  • The need to rebuild and rewrite custom modules in Drupal 8. (Coz as discussed earlier, D8 has restructured itself to be able to be more future-ready)
  • A rebuild/repackage of features and views
  • A redevelopment of the theme – because of Drupal 8’s new and powerful templating engine Twig

How do we fix this? – Easy. Audit your website well. Get a Drupal technology partner to do a complete analysis and audit of your existing website and list out features, modules and other elements that need to be migrated. They will need to provide you with details on what needs a rebuild and what can just be easily ported. You can also use evaluation modules like the Upgrade checker which will give you a comprehensive list of migration components and an estimate of how long it might take.

5. Can we migrate to Drupal 8 and yet preserve our existing data whilst remaining GDPR compliant?

Absolutely! The reason why Drupal is so successful is because of its proactive and battle-ready Drupal community. The Drupal GDPR Compliance team project aims at providing websites with modules and features that can assist in making them GGDPR compliant. There are over 15 new modules in Drupal 8 for GDPR compliance to choose from with some modules that can be ported to Drupal 8 and some that may need a rewrite. Check here for a list of Drupal modules that help you build GDPR compliant websites.

6. What happens to my content? 

Drupal understands how important content is to every organisation. With efforts from more than 500 contributors, the release of Drupal 8.5.0 brought together a stable and robust Drupal Migrate architecture. Modules like Migrate API, Drupal Migrate module and Migrate Drupal UI allows for a flexible and easy content migration from the database or sources like JSON, CSV or XML.

7. If we migrate to Drupal 8, will it break any of our existing features/modules?

The answer to this question depends on your website structure, complexity and the way Drupal 7 (or Drupal 6) was implemented on your website. Many times, there is no direct path for a Drupal 8 upgrade. Custom modules will need a rebuild and will break if simply ported because Drupal 8 is now built on Symfony framework (and OOPS principles). Themes will need to be redeveloped as with the new template engine Twig, migrating your existing Drupal theme will not work.

8. Will our integrations with third-party software break when we migrate to Drupal 8?

Integrations with third-party software have just gotten better with Drupal 8. With web services in core in Drupal 8, creating RESTful APIs are easy and fast. This is invaluable in connecting with many third-party applications. Additionally, Drupal 8 has added many more integration modules to its list.

9. Will our core Drupal 7 modules still work?

Yes. Drupal 7 Core modules have made their way to Drupal 8 and some of them are even better in Drupal 8! While most of them are automatically upgraded, a few modules will need manual work if they don’t have an automatic upgrade path. Some Drupal 7 (or 6) modules are not mapped to the same Drupal 8 module. For example, the Block module in Drupal 7 is now divided into a Block and Custom Block module in Drupal 8. Nonetheless, many contributed modules in Drupal 7 are now in Drupal 8 core (like the Views module). 

10. What happens to our custom and contributed modules?

After Drupal 8’s adoption of the Symfony framework and Object Oriented Programming principles, Drupal has opened its doors to wider set of developers and programmers. This also helps in building code that is more robust and reusable. But this time-saving, future-ready concept brings along some bad news too. The bad news is that most of the existing custom modules and some contributed modules will need to be rebuilt from scratch to be able to support Drupal 8’s futuristic mission. But the great part about this is from Drupal 8 onwards, any major/minor upgrade will be easy as pie.

11. Will our Drupal theme break on migrating to Drupal 8?

Unfortunately, yes it will. Since Drupal 4.7 up until Drupal 7, PHPTemplate has been the default Drupal Theme engine. But with the adoption of the Twig (part of Symfony2) for a more powerful, secure and modern templating engine, themes will need to be redeveloped. However, parts of code can be replaced as is.

12. How can Drupal 8’s API-first approach benefit us?

By the year 2020, there are going to be more than 50 billion internet connected devices. Content is now consumed via a plethora of mediums – computers, mobiles, IoTs, wearables, conversational interfaces, smart TVs… and the list keeps growing. Which means, your brand needs to interact with a lot more devices and in many more formats than just a website. Content delivery has gotten a lot more challenging.

Just so we are on the same page, an API (Application Programing Interface) is a set of rules or routines (functions or programs) that specifies how applications can interact with each other. For example, if you want to display the current weather on your website, you can invoke an API with websites that offer this service.
To be able to handle the content delivery challenge efficiently, content needs to be treated like well-structured data. Drupal’s API-first approach, lets you create an API before you build your website or mobile app. This futuristic approach allows you to turn content into services which can then interact with diverse devices irrespective of the formats. While Drupal 7, also supports the API-first approach with the help of additional modules, Drupal 8 comes built-in with the content-as-a-service model.
This is what our in-house expert Drupal Practice Head, Malabya Tewari has to say about Drupal 8’s API first approach – “Drupal 8 has taken this approach to another level and here’s why- REST module is now in core, where you can create own custom web-services using Views (which is also added in core in D8). It is easier to create custom REST APIs using the core REST module. Adding basic authentication is in core as well. You can get APIs, including JSON API and GraphQL, for all entities - out of the box! 

13.What are the benefits of upgrading to Drupal 8?

One of the most stunning features of Drupal 8 is that you have (almost) everything you need, out-of-the-box. 

  • Responsive websites are not a luxury anymore, they are a necessity. All of Drupal 8’s themes are responsive off-the-rack – which not only works great with all devices also makes configuration and set up of your Drupal website a lot easier.
  • A built-in, well configured WYSIWYG editor CKEditor lets you preview and edit your content in a breeze. You also have an in-place editor that lets you edit blocks, content, menus, etc. right in the same page.
  • SEO gets you noticed and out-there. With some of Drupal’s built-in powerful SEO modules, you can take your website places! Modules like SEO Checklist, PathAuto, Redirect, MetaTag, etc. are killing it!
  • The newest and most powerful version of HTML, which is HTML5 is now built-into Drupal 8. It lets you embed complex input elements like audio, video, date, email, etc with ease and better functionality across all devices.
  • Take your business global with Drupal 8’s out-of-the-box multilingual support. You can not only create pages enabled with language-based views, even the admin interface allows you to select our preferred language. The built-in content translate modules enables you to translate any content entity into different languages.
Aug 21 2019
Aug 21

Do you like people who are warm and friendly or cold and hostile? You’ve got it right! I’m comparing Interactive to Non-interactive (static) websites here. In this increasingly digital generation, it isn’t sufficient to place some content on your website and wait for it to work its magic. Providing a web User experience without interactivity is like opening a store filled with inventory without a salesperson to interact with. 
When you create an interactive website, you are forming a connection with your audience. It propels a two-way communication on a medium where you cannot directly interact with a user. Studies have proven that people are more likely to convert on, return to or recommend websites that are interactive. Drupal CMS offers a wide variety of interactive themes and modules that can be easily adapted to your website and further customized.

What is an interactive website?

Put simply, an interactive website is a website that communicates and allows for interaction with users. And by interaction, we don’t just mean allowing users to “click” and “scroll”. Offering users with content that is amusing, collaborative and engaging is the essential objective of an interactive website. An interactive website design will not just display attractive content, it will exhibit interactive content. Content that will compel users to communicate and deeply engage with the website. 
 

Interactive website design 
Interactive Website Designs Communicate & Engage with users 

Why do you need one?

Today, all businesses in the digital market are racing to expand their audience. Most of them, however, forget that increasing traffic is simply not enough. Retaining and engaging users is what converts. Engaging your users should be your prime motive and for this you will first need an interactive business website. 

  • Drives more engagement. Interactive business websites can make your website less boring, thus garnering more action. 
  • Users will spend more time on a website that interacts with them. This increases your conversion rate, decreases bounce rate and can boost the SEO of your website.
  • Develops a more personalized user experience that can result in happy users. 
  • Engaged users are more likely to maintain a long-term relationship with websites.
  • Interactive website designs can create lasting effects in user’s minds. This improves your brand awareness and reach. 
  • Interactive websites encourages users to recommend your website and link back to it.
  • More conversions means you have a better chance in making a sale!

How to make interactive websites? 

Creating an interactive website from scratch is easier and more effective as you envision and plan the customer journey from day one. Nevertheless, if you already have a website that you think is static or needs more interactive website features, it is never too late. The first step is to define your business objectives and then identify various touch points from where you can interact with your customers.
If budgets and timelines are constraints you could also look at HTML5 interactive website templates (not recommended if you need customizations).
There are various interactive website features that can increase user engagement but you should pick the ones that suit your business goals. For example, if you are sell financial services, having an interest calculator in your website can prove to be very useful. Nonetheless, the most essential interactive feature that you just cannot ignore is responsiveness. Users will respond to your website on various devices only when it looks and feels presentable.
So what kind of interactive website features or elements can you utilize for your benefit?

  • Social Media Applications

There is no denying that Social media marketing can give you the visibility like no other marketing programs if done right. Provide your users with an option to like and share your content on social media platforms like LinkedIn Twitter or Facebook. Or just to be able to follow your page. You can also display live feed from your social media page to keep users updated. 

  • Simple Interactive Tools

Offer your users with simple interactive tools like Quizzes, short Games, math tools, tax calculators, etc. connected to your business objectives. Integrating simple software tools that can provide your users with instant results have proven to boost user engagement. 

  • Interactive Page Elements

You can enhance your page elements by adding something interesting and attractive to it. For example, colourful and dynamic hover-states on links or images, on-scroll or on-click loading/animation, navigation with clicks on image stories, and much more. Add videos or animations to say more about your business in an interactive way.

  • Forms and Feedback

Allowing users to get in touch with you via a contact form is a great way to connect with them. Not only does it let you increase your database of leads, it is a nice way of saying “We care”. Feedback forms lets you identify your strengths and weaknesses via the best source – your audience! 

  • Chat Widgets

What’s better than a live person chatting with you, answering all your questions about the products or services being offered?! That’s probably the highest level of interactivity you can offer in an interactive business website. If live chat sounds like too much commitment, you could also opt for Chat bots that can be configured to answer predictive questions.

  • User-generated Content

Letting users add their content on your website is a great way to improve interactivity. This can be done in the form of Comments (in your blogs/articles section), inviting them to write guest posts, submit images or even creating a small discussion Forum.

  • Other interactive website Features

You can get creative with the interactive features you want for your audience but here’s a short list of commonly used interactive elements –

  • Google Maps makes you a more trust-worthy brand and provide a great way to improve interaction especially when they are clickable.
  • Newsletters can keep your users coming back to your website for more updates.
  • Voting and showing them results of previous polls helps increase engagement.
  • Search functionalities eases the user from the pain of navigating through your website.
  • Ratings can be a quick and interactive method of getting instant feedback that can improve your products/services/work.
  • Slideshows offer a great way to engage users and can make them want to keep going to the next image.
interactive elements     
           Interactive Website Features and Elements 
                                         

Drupal for Interactive Websites

When you build your website with Drupal, you will come across multiple options in the form of modules and features that can instantly turn your static website into an interactive one. With Drupal 8, responsiveness comes out of the box. Which means that you don’t need any additional modules to make your Drupal website look great irrespective of the devices. In addition there are a variety of modules that encourage interactivity like the Search API, Contact forms module, Social Media module, Slideshow module,  SimpleNews (or newsletters) and much more! 

Aug 20 2019
Aug 20

It is no mystery why Drupal has been the chosen one for over a million diverse organizations all across the globe. Unsurprisingly, the reason behind the success of this open-source software is the devoted Drupal community. A diverse group of individuals who relentlessly work towards making Drupal stronger and more powerful every single day! To them, Drupal isn’t just a web CMS platform - Drupal is a Religion. A religion that unites everyone who believe that giving back is the only way to move forward. Where contributing to the Drupal project gives them meaning and purpose.

Recently, I had the privilege of interacting with a few of the most decorated and remarkable members of the Drupal community - who also happen to be Drupal’s top contributors. I questioned them about the reason(s) behind them contributing to Drupal and what do they do to make a difference. Their responses were incredible, honest and unfeigned.

Adrian_Cid_Almaguer

Adrian Cid Almaguer

Senior Drupal Developer. Acquia Certified Grand Master - Drupal 8

quotes I use Drupal every day and my career in the last years are focused to it, so I want to work with something that I feel comfortable and that meets my needs. If I find errors or something that can be done in a better way in projects I´m using or in the Drupal Core, I open an issue in the project queue and if I have the knowledge and the time, I create a patch for it. This is a way I can says THANKS to the Drupal community.

The strength of Drupal is the community and the contributes modules you can use to create your project, one person can’t create and maintain all the modules you will need, but if several of us give ourselves the task of doing it, all will be more easy, and is not just code, we need documentation, we need examples, translations and many other things in the community, the only way to do this is if each of the Drupal user give at least a small contribution to the community. So, when I contribute to Drupal, I’m helping you to have time to contribute to something that I may need in the future.

I maintain many Drupal modules, so basically the main contributions are create, update and migrate Drupal modules, but I contribute too in other areas. I contribute translating Drupal to the Spanish language and moderating the user translations, I create patches for some projects I do not maintain, sometimes I review some patches in the issue queue, I write and update modules documentation, I make some contributions creating tests for Drupal modules, I give support to the community in the Slack channels and in the Drupal Stack-exchange site and help new contributors to learn how to contribute projects to Drupal in the correct way. And as I’m a former teacher, I participate in regional Drupal events promoting how and why is important to contribute to Drupal projects and how to do it.

I will love to maintain a Drupal core module but I don’t know if I will have the time to do it, so for the moment I will continue migrating to Drupal 8, evolving and having up to date the modules I maintain.

Alex_Moreno

Alex Moreno

Technical Architect at Acquia

quotesContributing to open source is not just a good and healthy habit for the communities. It is also a healthy habit for your own projects and your self-improvement. Contributing validates your knowledge opening your knowledge to everyone else. So you can get feedback that helps yourself to improve, and also ensures that your project is taking the right direction. For example when patching other contributed modules with fixes or improvements.

I enjoy writing code. My main contributions have been always on that direction. Although more recently I have been also helping on other tasks, like Spanish translations in Drupal 8 Umami.

Baddy Sonja Breidert.

Baddy Sonja Breidert

Co-Founder of 1xINTERNET

quotes One of the reasons why I contribute to Drupal is to make Drupal more known in my area, get more people involved, attract new users, etc. I do my bit in contributing to the Drupal project by organising events like Drupal Europe and Drupal Camps in Germany and Iceland.

It is extremely gratifying to see new people from all over the world join the Drupal community - be it as developers, designers, volunteers, event organisers, testers or for example writing documentation. There are so many different ways to contribute!

And what happens over and over again is that people originally come for a very specific purpose, say a project they want to launch, and then stay in the community just because it is such a friendly, diverse and welcoming place! My work in the board of the Drupal Association confirms the old slogan over and over again: Come for the code, stay for the community!

Daniel_Wehner

Daniel Wehner

Senior Drupal Engineer at Times Higher Education

quotesUnlike many other projects the Drupal community tries to create a sustainable environment. Both from the technical site, but probably on the long run more important from the community side. Initiatives like Drupal Diversity & Inclusion lead the foundation for a project which won't just go away like many others

Jacob_Rockowitz>

Jacob Rockowitz

Drupal developer. Built and maintains the Webform module for Drupal 8

quotesContributing to open source software provides me with an endless collaborative challenge. My professional livelihood is tied to the success of Drupal which inspires me to give something back to the Drupal community. Contributing to Drupal also provides me with an intellectual and social hobby where I get to interact with new people every day.

Everyone has a personal groove/style for building software. After 20 years of writing software, I have come to accept that I like working towards a single goal/project, which is the Webform module for Drupal 8. At the same time, I also have learned that building open source software is more than just contributing code; it is about supporting and creating a community around the code. Supporting the Drupal community has led to also write documentation, blog about Drupal, Webform, and sustainability, present at conferences, and address the bigger picture around building and maintaining software

Joel_Pittet

Joel Pittet

Web Coder. Drupal 8 Theme System Co-maintainer

quotesI feel that I should give back to ensure the tools I use keep working. Monetarily or with my time. And with Drupal it’s a bit of both:

I started submitting patches for the Twig initiative for Drupal core, then mentoring and talks at DrupalCons and camps, followed by some contrib patches, then offered to co-maintain some commerce modules, which snowballed into more and more contrib module co-maintaining, mostly for ones I use at work.

I pay the Drupal Association individual membership to help the teams for all the Drupal.orgwork and event work they do.

Joachim_Noreiko

Joachim Noreiko

Freelance Drupal developer. Built and Maintains Drupal Code Builder

quotesI guess, I like fixing stuff, I like to code a bit in my spare time, I like to contribute to Drupal, and as a freelancer, it’s good to be visible in the community.

Lately I’ve actually been feeling a bit demotivated. I’ve been contributing to core a bit, but it’s always an uphill struggle getting beyond an initial patch. I maintain a few contrib modules, and my Drupal Code Builder tool as well.

Joris_Vercammen

Joris Vercammen (borisson)

Drupal developer, Search API + Facets

quotesBeing able to pull so many awesome modules for free really makes the work we all do in building good solutions for our customers a lot easier. This system doesn’t work without some of us putting things (code/time/blogposts/…) back into it. The Drupal community has given me a lot of things unrelated to just the software as well (really awesome friends, a better job, the ability to travel all over Europe, etc.). To enable others that come after me to have a similar experience, I think that it is important to give back, as long as it fits in the schedule.

Most of my contributions are under the form of code. I try to do some mentoring but while that is a lot more effective, it is really hard and I’m not that great at it, yet. I’m mostly interested in the Search API ecosystem because that’s what I got roped in to when I started contributing. A lot of my core contributions are for blockers (of blockers of blockers) for things that we need. I try to focus a little bit on the Facets module, since that is what I’m responsible for, but it’s not always easy or the most fun to do. Especially since I’ve still not built a Drupal 8 site with facets on it.

Malabya_Tiwari

Malabya

Open-source evangelist. Drupal Practice Head at Specbee

quotesCommunity. That’s what motivates me to contribute. The feeling I get when someone uses your code or module or theme is great. Which is a good drive to motivate for more contributions. Drupal being an open-source software, it is where it is just of the contributions by thousands of contributors. So, when we use Drupal it is our responsibility to contribute back to the software to make it even better for a wider reach

Apart from contributing modules, theme & distributions I help in organising local meetups in Bangalore and mentoring new developers to contribute and begin their contribution journey from the root level. This gives me immense pleasure when I can help someone to introduce to the world of Drupal and make them understand about the importance of contributions and community. Going forward, I would definitely strive towards introducing Drupal to students giving them a career choice and bring in more members to the Drupal community.

Nick_Wilde

Nick Wilde

Drupal developer at Taoti Creative

quotesMy main motivation has always been improving what I use - first OS contribution before my Drupal days was a bug-fix for an abandoned at the time project that was impairing my Modding of TES-III Morrowind ;). I like the challenges and benefits of working in a community. Code reviews both that I've done and those done on my code have been incredibly important to my growth as a developer. I also have used it as a portfolio/career advancement method, although that is important it is only of tertiary importance to me. Seeing a test go green or a getting confirmation that a bug is fixed is incredibly satisfying to me personally. Also, I believe if you use an open source project especially professionally, contributing back is the right thing.

My level of contributions vary a fair bit depending on my personal and professional level of busy, but mostly through contrib module maintenance/patch submissions. Also in the last year or so, I've been getting into a lot more mentorship roles - both in my new company and within the broader community. Restarted my local Drupal meetup and am doing presentations there regularly.

Rachel_Norfolk

Rachel Norfolk

Community Liaison at Drupal Association

quotes Contribution for me is, at least partly, a selfish act. I have learned so much from some of the best people in the industry, simply by following along and helping where I can. I have also built up an amazing network of people who, because they know I help others, are more prepared to help me when I need it. Both code and other ways of contributing. I’m occasionally in the Drupal core issue queues, I help mentor others and I get involved in community issues.

Renato_Goncalves

Renato Goncalves

Software Engineer at CI&T's Drupal Competence Office ()

quotesMy first motivation to contribute to the Drupal community is helping others that have the same requirement as mine. To be honest, I get very happy when someone uses my community code in their projects. I'm glad to know that I'm helping people. When I'm developing a new feature I check if my solution can be useful to other projects and that way I create my code using a generic way. - Usually, I'm the first to reuse the code several times. I think this is important to make Drupal a powerful and collaborative framework. I liked my first experience using the framework because for each requirement of my project, Drupal has a solution. I think contributing to the community is important for that. More and more new people are going to use the framework, and consequently new contributors, and in that way, it becomes increasingly powerful and efficient. An example of this is the Drupal Security Team, where they work hard to ensure that Drupal is a secure framework. I'm making contributions at the same time I delivery projects. Today I write my code in a generic way, that is, the code can be reused in other times. A good example of this model is the Janrain Connect project. This project is official in the community (contrib project) and my team and I w hard using 100% of the generic code, so we can reuse this code on other cases.

When we need to make some improvement in the code, the first point is checking a way to make this improvement using a generic solution. Using this approach we can help our project and help the community. In this way, we are contributing to making an organized and agile framework. The goal is that other people don't need to re-write code. It is a way of transforming the framework into a collaborative model.

Thomas_Seidl

Thomas Seidl

Drupal developer, “The Search API Guy”

quotesMy motivation comes from several sources: First off, I just like programming, and while fixing bugs, writing tests or giving support isn’t always fun, a lot of the time working on my modules is. It’s just one of my hobbies in that regard. Then, with my modules running on more than 100,000 sites (based on the report), there’s both a sense of accomplishment and responsibility – I feel proud in providing functionality for so many sites, and while, as a volunteer, I don’t feel directly responsible for them, I still want to help improve them where I can, take away pain points and ensure they keep running. And lastly, having a popular, well-maintained module is also the base of my business as a freelancer: it not only provides marketing for my abilities, but also the very market of users who want customizations. So, maintaining and improving my modules is also, indirectly, important for my income, even though the vast majority of my contributed work is unpaid.

Apart from participating in coding standards discussions, I almost exclusively contribute by maintaining my modules (and, increasingly rarely, adding new ones) – fixing bugs, adding features, answering support requests, etc. I sometimes also provide patches for other modules, but generally only when I’m paid to do so. (“My modules” being Search API and its add-on modules Database Search, Autocomplete, Saved Searches and, for D7 only, Solr, Pages, Location and Multi-Index Searches.)

And Lastly....

It’s not just brands that have adopted Drupal as their CMS – they are the cream of brands. From NASA to the Emmy Awards. From Harvard University to eBay. From Twitter to the New York State. These brands have various reasons to choose Drupal as their Content Management System. Drupal’s adaptability to any business process, advanced UX and UI capabilities for an interactive and personalized experience, load-time optimization functionalities, easy content authoring and management, high-security standards, the API-first architecture and so much more!

The major reason why Drupal is being accepted and endorsed by more than a million websites today is because Drupal is always ahead of the curve. Especially since Drupal adopted a continuous innovation model wherein updated versions are released every 6-months with seamless upgrade paths. All of this is possible because of the proactive and ever-evolving Drupal community. The goals for their contributions may vary - from optimizing projects for personal/professional success to creating an impact on others or simply to gain more experience. Either way, they are making a difference and taking Drupal to the next level every time they contribute. Thanks to all the contributors who are making Drupal a better place.

I’d like to end with an excerpt from Dries - “It’s really the Drupal community and not so much the software that makes the Drupal project what it is. So fostering the Drupal community is actually more important than just managing the code base.”

Warmly thanking all the mentioned contributors for helping me put this article together.

drupal community infographic
Aug 06 2019
Aug 06

Did you know that the term “One-Stop-Shop” is one of the most clichéd marketing taglines to use, according to Hubspot? Thankfully, I came across that article before I sat down to write this one. So, I’m NOT going to say that a Drupal distribution is a “one-stop-shop” for a quick and easy way to launch your website. Let’s put it this way instead – If you want to build a Drupal website and eager to see it go live real quick, while making sure that you want to save time on maintenance too, Drupal distributions are meant for you.  

What is a Drupal distribution?

A Drupal distribution is an all-inclusive package to get your website up and running quickly. This package consists of the Drupal Core (basic features), installation profiles, themes (for customized designs), libraries (consists of assets like CSS or Javascript) and modules specific to an industry. For example, if you run a publishing company, a distribution like Thunder can help you speed up your development process. Here you can find modules like Paragraphs, Media Entity, Entity Browser and features like Thunder admin theme, scheduled publishing and much more – all in one place. 

Why should you use a Drupal 8 distribution?

Let me give you a few reasons for that -

  • You don’t have to scramble your way through thousands of Drupal modules only to find a few that you really need.  
  • Configuring Drupal core is easier too as most part of it comes preconfigured.
  • The features and modules included in a Drupal distribution are time tested, optimized and proven for quality.
  • Maintenance of a Drupal distribution is simpler because updates for all modules and features can be performed on one shot!  
  • Since you don’t have to reinvent the wheel every time, you save on time. You save precious resource time. Which also means, you save on money! 
  • Now that you have saved some time, you can spend more time on customizing and personalizing these components to tailor-fit your business needs.

Top 15 Drupal Distributions (alphabetically sorted)

1. CiviCRM Starter Kit

The CiviCRM Starter Kit brings together the power of Drupal and the open-source CRM tool – CiviCRM. The popular CRM is used by more than 8000 organizations to centralize constituent communications. Along with core Drupal and CiviCRM, the distribution also packs in CiviCRM related modules like CiviCRM Cron, Webform CiviCRM, CiviCRM Clear All Caches, etc.

 2. Commerce Kiskstart

If you are looking to quickly get your e-commerce store up and running on Drupal Commerce framework, this one’s for you. Commerce Kickstart is a Drupal distribution made for both Drupal 7 and Drupal 8 and is maintained by Centarro (previously Commerce Guys). The Commerce Kickstart 2.x version comes loaded with beautiful themes, catalog, promotion engines, variety of payment tools, utility tools, shipping and fulfilment tools, analytics and reporting tools, marketing tools, search configuration, custom back office interface and much more.

drupal distributions

                                Source - https://www.drupal.org/project/commerce_kickstart

3. Conference Organizing Distribution

Creating a website for events and conference gets easier with this Drupal distribution. Conference Organizing Distribution (COD) was made for Drupal 7 but is being actively ported to Drupal 8. With COD, you can -

  • Create/manage tickets for event registrations
  • Create announcements for paper submissions
  • Moderate session selections
  • Provide an option for attendees to vote for their favourite sessions
  • Schedule sessions on any day and place
  • Easily manage sponsorships
  • Event management made easy with a powerful event management dashboard
  • Keep a track on multiple events and sessions
  • Sell tickets with Drupal commerce

4. Contenta

This API-first Drupal distribution provides you with a framework that is API ready. It reduces the complexity and pain of using or trying decoupled/headless Drupal. Contenta also comes pre-installed with code and demo content along with front-end application examples. Even if you are new to Drupal, Contenta offers simple and quick ways to get the Drupal CMS part ready and you can then focus on frontend frameworks you intend to use. If you’re looking for a complete solution for a headless Drupal project, ContentJS is your best bet. Content JS integrates Contenta CS with front-end framework NodeJs for a powerful, high performing digital experience.

5. Drupal Government Distributions (federal, regional, local)

The aGov Drupal 8 distribution was developed to meet the guidelines of the Australian government. It allows government bodies to follow standards like the WCAG 2.0 AA, Australian government Web guide, AGLS metadata and Digital Service Standard. However, the developers of aGov, PreviousNext, no longer develop of support this distribution as they are now focused on the GovCMS Drupal distribution. GovCMS was built on the foundation of aGov to build more secure, compliant and adaptable government websites. 
deGov Drupal 8 distribution was built for German government websites and used Acquia Lightning to offer more valuable features and functionalities. Some features common to all the Drupal government distributions-

  • Meeting all government standards
  • Workbench moderation
  • Citizen engagement portals
  • Responsive design
  • Example content
  • Intranet/Extranet

6. Acquia Lightning

True to its name, Acquia Lightning is a light-weight Drupal 8 distribution that you can use to develop and deploy a website in lightning speed (up to 30% lesser development time!). Developed by Acquia, Lightning aims to provide full flexibility and a great authoring experience to editorial teams and content authors. Built on Drupal 8, it offers powerful features like page layouts, drag and drop of assets using Panels, rich text, media, slideshows, Google maps, content scheduling and much more. You can also streamline the workflow process of publishing, reviewing, approving and scheduling content.

7. Open Atrium

OpenAtrium is a Drupal distribution built specifically for organizations to be able to create a collaborative intranet solution for social collaboration and knowledge management. It offers features like a drag and drop layout, events management (Events), document management (Files), issue tracking, granular access controls, media management, a worktracker (to monitor tasks and maintain transparency), and much more. It is also offers responsive layouts and themes.

8. Open Academy

Built on the Panopoly base distribution, the Drupal distribution is tailor-made for higher education websites which can be further extended and customized. It is an easy-to-use tool that does not need users to be technical. You can have a great website without any customizations too! Open Academy distribution consists of a Drupal 7 installation profile and features meant for managing courses, departments, faculty, presentations, news, events, publications and more. The themes provided are optimized and mobile ready.

9. Open Social

Open Social is a Drupal 8 distribution that allows organizations to create intranets, online communities and other social portals easily. It is being used by hundreds of organizations including NGOs and government bodies to facilitate communication and connection with their volunteers, employees, members and customers. It also has features like multi-lingual support, private file system, social login, Geo-location maps, etc.

drupal distribution social module

Source : https://www.drupal.org/project/social

10. Opigno LMS

Opigno Distribution is a Learning Management System built on Drupal. It is an easily scalable solution built not just for universities but also for organizations looking to create e-learning solutions. It allows to manage training paths that are organized in courses, activities and modules. It also provides with features like adaptive learning paths, management of skill acquisition, quizzes, blended learning (online modules + in-house sessions + virtual classrooms), award certificates, forums, live meetings and more.

opigno lms drupal distributions

                                               
 Source: https://www.drupal.org/project/opigno_lms

11. Panopoly

This is a base Drupal distribution – which basically means it also acts like a foundation or a base framework for many other distros to be built upon. Panopoly Distribution is powered by the magic of the Panels module and its features like In-place editor, Panelizer, Fieldable Panel Panes, etc. The Panopoly package consists of contributed modules and libraries. It offers cross-browser and responsive layouts, drag and drop page customizations, a powerful easy-to-use Admin interface, etc. It can also be extended through many Panopoly apps. 

12. Presto!

Want a Drupal 8 starter-kit that can meet all your content management needs and get you up and running, presto?! Count on Presto! Whats better, you can start using Presto right out-of-the-box! It is power packed with some great content features like Intelligent content editing, Promo bar (inline alerts for news/announcements), Divider (adding space), Carousel (interactive images), Blocks, etc. It also comes shipped with a responsive theme based on Bootstrap framework that can be further customized to add more layouts. It also lets you easily integrate with Drupal Commerce to make selling on your website easier. With Presto, you can reduce the development time by 20%!

13. Reservoir

Like Contenta, Reservoir too is an API-first Drupal distribution for decoupling Drupal. With this tool, you can build content repositories that are ready to be consumed by front-end applications. It is packed with all necessary web service APIs necessary to create decoupled websites. Reservoir was developed with the objective to make Drupal more accessible to developers, to provide best-practices for building decoupled applications and to provide a starting point for Drupal developers (with less or no Drupal experience) to build a content repository. Reservoir uses JSON API (a specification used for APIs in JSON) to interact with the back-end content. It also ships with API documentation, OpenAPI format export (compatible with a plethora of tools) and a huge set of libraries, SDKs and references.

14. Thunder

This Drupal 8 distribution is designed exclusively for professional publishing. Thunder was originally designed for and by Hubert Burda Media. The Drupal distribution is loaded with features meant for the publishing sector like the Paragraph module, drag and drop of content, Media Entity, Entity browser, Content lock, Video embed field, Facebook Instant articles, Google AMP, LiveBlog, Nexx.tv video player and much more. All of this along with Drupal core features and responsive themes. 

Drupal distribution module thunder


Source: https://www.drupal.org/project/thunder

15. Varbase

Are you lost in a mountain of Drupal modules and wondering which one to pick? Looking for a package that can jumpstart your web development process right away? Varbase is your go-to Drupal distribution then! Varbase provides you with all the necessities and essential modules, features and configurations to speed up your time to market. 

Jul 30 2019
Jul 30

Today, User experience (UX) is not just about how a user feels when interacting with your website. In this world of rapidly growing interfaces and APIs, content plays a supreme role in offering your users with exceptional UX. To keep up the pace, you need to adopt hot-selling, fast-moving front-end technologies like Angular JS, React JS, etc. that can deliver your content in an application-like speed.  Headless Drupal (or decoupled Drupal) is one such approach that is gaining much popularity because of its innovative ability to deliver outstanding digital experiences. Bigwigs like Weather.com, The Tonight Show, Great Wolf Resorts, Warner Music Group and many more, have taken the headless Drupal route offering their customers with interactive and unique front-end designs and fast-loading websites.

What is Headless Drupal?

headless drupal

To go headless or not is a rather tricky decision to make in this digital world. So what’s the whole buzz about going Headless? Simply put, in a headless Drupal architecture, the front-end (consumers of content) of the CMS is detached from the back-end (provider of content). 

Conventionally, Drupal websites are meant to multi-task. Which means, Drupal manages both - the back-end content management as well as the front-end rendering of content. There is no doubt that Drupal CMS on its own can deliver a rich user experience to the end user but when it comes down to instantaneous responses for a request, delivering content seamlessly in different interfaces, it does fall short. In a decoupled Drupal architecture, instead of the Drupal’s theme layer, a client-side framework like AngularJS, React or Backbone.JS is used. A user request does not have to be processed by the server all the time, which can drastically improve the speed and UX of your Drupal website.

Technically speaking, a headless Drupal website sends out data in JSON format instead of HTML. A powerful front-end UI framework renders this data in JSON format and delivers the web page.

decoupled drupal                           Headless Drupal Architecture

Categorizing Decoupled Drupal

In a traditional Drupal CMS architecture, the browser invokes a request that is processed by PHP logic which then renders the HTML and sends it back to the browser. Of course, the developer can embed Javascript for some client-side improvements but this can result in a situation where different client-side frameworks are being used for different modules. Thus making it an extremely complex system.

Progressive Decoupling

If you are looking to preserve your Drupal Theme layer and yet be able to provide immediate responses to the browser, the Progressive Decoupling approach is your best move. Here you can have your cake and eat it too! The initial application state is rendered by Drupal which can be then manipulated by client-side coding. Modules can be written in PHP or Javascript while you can avail the powerful performance benefits of Drupal.

This version of decoupled Drupal allows for contextualized interfaces, content workflow, site preview, and other features to remain usable and integrated with Drupal as a whole. While content editors and site assemblers feel at home with this decoupled Drupal version, it also allows front-end developers to pursue their own velocity while keeping site assemblers unblocked, by dedicating a portion of the page to a JavaScript framework.

In short, a progressively decoupled Drupal offers an approach that does a great job in striking the perfect balance between editorial needs like layout management and developer desires to use more JavaScript.

decoupling drupal
A graph illustrating the progressive decoupling spectrum for these examples – Source- Acquia
 

Fully Decoupled Architecture

And then there’s the Full decoupling – where Drupal’s presentation layer is completely replaced with a client-side framework. This version of the decoupled CMS allows an uninterrupted workflow as the client-side framework also acts as a server-side pre-renderer. Drupal CMS is purely used as a content repository that takes care of all the back-stage jazz. When you completely ignore Drupal’s theme functionality you are also letting go of some effective performance benefits that Drupal provides. Also a lot of rebuilding would need to be done to fully decouple the administrative interface and front-end of a Drupal website. Using Javascript on the server-side also complicates the infrastructure requirements.

While a fully decoupled Drupal architecture has gained more attention in recent years with the growth of JavaScript showing no signs of slowing down, it involves separation of concerns between your content structure and its presentation. In a nut shell, creating a fully decoupled Drupal system is like treating your web experience as a separate application that needs to be served content.

Is it a good idea?

Traditionally, Drupal CMS is meant to do both – content management and rendering the front-end for the whole website. A lot of pressure, don’t you think? Drupal experts believe that Drupal’s strengths lies in the power and flexibility of its back-end and that it needs to be service oriented first instead of HTML oriented. Decoupling Drupal means letting some other system manage the front-end while Drupal takes care of the back-end system. Why is it a good idea to decouple Drupal, you ask?

If you want to adopt cutting-edge and modern front-end technologies that Drupal cannot provide you will need a powerful front-end framework like React JS or Angular JS. With a headless Drupal approach, you can have all of this and still maintain your robust backend Drupal CMS.

  • With the Headless Drupal architecture, you can “Write once and publish everywhere”. This system allows content editors, marketers and business owners to create content once and deliver it to multiple interfaces seamlessly.
  • With a decoupled CMS, detaching the front-end from the back-end content management system will allow for more flexibility and efficiency of the Drupal content model. Just like how delegating work decreases your workload and increases productivity.
  • A layered architecture promotes a more secure system. Site admins can restrict access to different areas of the infrastructure. 
  • Headless Drupal allows front-end developers to have full control over the presentation, UI design and UX of the website. The combination of a great client-side framework and a seasoned front-end developer can get you a website with a rich, faster, application-like user-experience, and seamless interactivity.
  • Integrating with third party applications is easier and more efficient with a headless Drupal model.
  • Both the front-end and back-end developers can work independently which can lead to efficient and speedy delivery of a project.
  • If you want to redesign your website, you won’t have to re-implement your Drupal CMS. Likewise, revamping your back-end system can be accomplished without having to alter your front- end.

Is headless Drupal for everybody?

Although decoupling Drupal can help you achieve your goals of an uninterrupted and application-like user- experience, it might not be a good fit for everyone. Here’s why –

  • Websites like News sites or Blogs, that don’t really need much user interactivity, will not benefit from decoupling their Drupal website.
  • When you opt for a fully decoupled Drupal architecture for your website, you are letting go of some of the top (and free) functionalities that come with the Drupal theme layer like the block placements, layout and display management, content previews, UI localization, security features like cross-site scripting (XSS), etc. Some of them cannot be replicated by a client-side framework.
  • If budget is an issue you need to keep in mind about the price you will have to shell out for experienced front-end developers. Also the cost for rebuilding a missing (otherwise freely available) Drupal feature from scratch. 

Who uses Headless Drupal?

Many top enterprises have taken the headless Drupal approach and successfully so! Their websites are fast to load and offer interactive experiences to their users in all devices and interfaces. Some examples are –

  • The Tonight Show with Jimmy Fallon – uses Backbone.js and Node.js for the front-end
  • Weather[dot]com – uses Angular.js for the front-end
  • Great Wolf Resorts – uses CoffeeScript and Spine framework
  • EC Red Bull Salzburg – uses Angular.js for the front-end
  • Warner Music Group – uses Angular.js for the front-end

…And many more on this list here.

Jul 02 2019
Jul 02

Pull, Fetch, Commit, Push, Merge, Rebase – have these terms have managed to make their way into your everyday lives yet? When Linus Torvalds created his very first version of Git, he described it as “the stupid content tracker”. Fast-forward to today, this free open-source software is now the most popular version control system.

What is Git? 

Don’t you wish you could turn back time sometimes, so you could have made a better decision or done things differently? Well, in the world of technology and coding, you can. Git is an open-source distributed version control system that saves versions of your precious code every time you make any changes/additions to it. So whenever you need to rollback, you just pick the working version and voila! Git also allows disruption-free working within teams as developers work on their individual local copies concurrently. Every change by every team member is tracked, thus maintaining transparency in an organized flow. So what is GitHub then? GitHub is a repository hosting service for Git that also has plenty of features to optimize your version control system. 
Git Workflow

Every organization has a different Git workflow. The most successful Git workflow is the one that gives your team enough space for productivity while maximizing the effectiveness of their outputs. It should be scalable with your team’s size and should minimize the number of conflicts that can arise. The Centralized Git workflow is the base upon which other Git workflows are built, like the Feature branching workflow, the forking workflow, the Gitflow workflow, etc. A workflow should be planned to enhance and complement your organization’s culture. To each Team, their own Git Workflow. 

Why use Git?
 

1. The distributed architecture 

Unlike Centralized version control systems that force developers to access the single central repository to be able to “checkout” and commit changes to the individual files, Git follows a distributed approach. In the distributed architecture, every developer has their own local copies of the entire central repository, allowing them to work offline, access complete revision history and easy branching and merging.

2. Powerful performance

Branching, merging, committing, etc. are really easy and fast with Git workflow because of its intelligent deep knowledge algorithms that understand the access patterns to the T.


3. It is Secure

Git stores all file content including relationships between versions and directories, cryptographically using a SHA1 as its hashtag algorithm. Any accidental or malicious code change is completely traceable.


4. Open-source

Being open-source, Git is free, enjoys good community support, continuously scrutinized for quality and is backed-up with loads of documentation and tutorials for learners.


5. Faster releases

Git’s distributed development and easy branching and creating of new features encourages developers to make more frequent changes in an agile workflow
 

Git - Distributed Architecture                       
                           Git - Distributed Architecture

Best practices for Git

  • New project? New repository

It just makes good organizational sense to create a new repo for every new project you want to start working on. Once done, push it to GitHub.

  •  New feature? Branch out

Now that you have created a new project, how about creating some new Git features? Git Branching lets you create and manage an organized workflow within your repo. Team members can be assigned various Git branches allowing them to work concurrently but in an isolated manner. Always give a meaningful to your git branch so others know what exactly you are working on. 

  • Start your day by staying current

Always “rebase” or get the latest, the most current version of your project (master) before you start working on the features you created/ assigned to you. You don’t want to make changes on outdated files.

  • Have periodic check-points

Don’t save your commits for a big change. “Commit” small changes frequently so the code is easier to comprehend for you and your team members. Reverting back and tracking is also easier when the changes are small and frequent. 

  • Stash your work

Often, you might come across situations where you are working on one Git branch but you have suddenly remembered that you need work on another branch but don’t want to “commit” those half-done changes. Or you might simply want a clean working copy. “git stash” to the rescue. Stashing lets you save your unfinished changes on a stack where you can get back to anytime!

  • Squashing them commits

Having lesser commits in your history makes it easier to monitor and track where you went wrong. If you want to keep a clean commit history, this one’s for you. Squash and merge all your commits into one when the pull request is merged.

  • Commit messages

Always provide clear and understandable information in your commit message. Start by writing a short summary of your changes, leave a blank line and then follow it up with a detailed description of the change. You don’t want your commit history to end up looking like this :/ 

git-commit message                      
                         https://xkcd.com/1296/
  • Don’t change history

Once you have committed your changes the repository, do not go back and change history. Although Git allows you to do that and rewrite pubic history, it is never a good practice to do so. Both for you and your team.

  • Apply a Git patch

At times when you don’t have write access to the repository but you still want to fix a bug – apply a Git patch. Always remember to clone the master repository and then create a branch for the new feature. When you have your .patch file ready, always preview it and do a dry run to check for errors. Git apply the patch (git apply -R path/file.patch) once done. DO NOT forget to test and check for 

  • Don’t leave Pull requests out for too long

An open “pull” request can create conflicts sooner or later. Don’t leave them unattended for more than 2 days. Always review the code and if it is ok to deploy, merge the pull request. This will not only fasten the shipping process but also avoid code conflicts.

  • Better organizing with project management tools

If you have been using project management tools like Redmine, it is a good practice to use it in conjunction with Git to be able to manage multiple team members and their tasks better. Creating your Git branches with the Redmine task as the name is one of the best Git best practices as it allows for better transparency and organizing. 

Git Project Management tools                                                               
                                                                       Task created in Redmine Creating git branch
                                                              Creating a branch with the Task id and name
 
  • GitLab CI/CD

Using a Continuous Integration/ Continuous Deployment tool like this one allows you to test and check for bugs and errors and ensures compatibility with code standards. These jobs are performed after the code is pushed to the staging server.

Gitlab CI
                                                                                GitLab CI/CD list of jobs
  Git best practices infographic

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