Planet Drupal

Syndicate content
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 7 hours 38 min ago

Droptica: How to Protect your Drupal Forms against Bots? Review of the Captcha Module

Fri, 02/12/2021 - 10:54

When publishing a form on your website, you must be aware that sooner or later spambots will find it. It is one of the biggest scourges of the modern Internet. The Captcha module will protect you against such situations.

Further down the article, I will present the instructions for using the module and its potential possibilities. This is essential knowledge that we use in practice as part of the Drupal development services provided by Droptica.

Dates

The first version of the module was released in May 2005 for Drupal 4. Developing the version for Drupal 8 took many years. The first try-outs took place in 2013, but the première of a stable version took place only at the beginning of 2020.

Module’s popularity

Captcha is a popular and appreciated module. According to official statistics, it is used by almost 300,000 Drupal-based websites. The latest version from the 8.x-1.x branch is installed on 80,000 websites. The module’s popularity is gradually decreasing – probably due to the transition to other, more modern solutions.

Module’s creators

The Captcha module has five maintainers; they are Jakob Perry (Acquia and Lanfest), Fabiano Sant’Ana (Chuva Inc.), Lachlan Ennis (Expert1 Pty Ltd), Naveen Valecha (Acquia) and Andrii Podanenko (Open Y and ITCare). They are all very active and valuable members of the Drupal community. The official sponsor of the module is the Chuva Inc. company. The code repository consists of 606 commits by almost 120 users.

What is the module used for?

The Captcha module is used to protect forms against spam; it helps you ensure that the website’s visitor is not an Internet robot. There are many ways to check the user’s authenticity (such as reCaptcha) – they are delivered as dependent modules. By default, you can use a simple math challenge that will lock the form if the person completing it fails to add two numbers.

Unboxing

You can download the Captcha module at https://www.drupal.org/project/captcha.

After enabling the Drupal module, the only necessary step is to select the forms you want to cover by protection. Go to the module settings by selecting “Configuration → People → CAPTCHA module settings“ and select the “Form settings” tab. Find your form there and enable it by clicking on the “Enable” button.

If the form is not on the list, add it by clicking the “Add captcha point” button and enter form_id. The effect of the module for the user login form looks like this:

Module’s use

The Captcha module has several advanced settings that allow you to customise the protection of your websites better. The most important ones are:

  • Default challenge type - the ability to choose the type of a “trap”, by default it is a mathematical operation. External modules provide other types.
  • Default challenge on non-listed forms - a radical solution that enables protection for all forms that are not listed in the “Form settings” list.
  • Add CAPTCHA administration links to forms - a very useful option that allows you to manage the type of security directly from the given form. It saves a lot of time on complicated websites.
  • CAPTCHA placement caching - cache clearing, useful in the case of problems with forms.
  • Add a description to the CAPTCHA - adding a description explaining why the user needs to prove that they are not a bot.
  • Case sensitive/insensitive validation - determining whether there will be a distinction between uppercase and lowercase letters in solving the “puzzle” presented to the user.
  • Persistence - the ability to disable protection in certain special cases, e.g., when the user has previously confirmed their authenticity.
Hooks and integrations

Captcha provides two hooks to integrate Drupal modules that verify users. These are:

  • hook_captcha() - the main hook used to define your own submodules; it has a structure known from Drupal 7 (it transmits the $op variable containing the type of the currently performed operation).
  • hook_captcha_placement_map() - optional hook specifying the place in the form that should be modified.

This is where the real power of the module lies. At drupal.org, you can find a number of projects that implement various verification methods:

  • reCAPTCHA - to support the most popular verification services available, provided by Google.
  • Image CAPTCHA refresh - this module is an integral part of Captcha for Drupal 8; for Drupal 7 it functions as a separate project. It introduces a widget with an image from which one has to rewrite a text.
  • CAPTCHA Pack (alpha version only) - a collection of very interesting “traps” for bots, including completing a missing letter or word in a sentence.
  • Text CAPTCHA (Drupal 7 only) - integration with the textcaptcha.com website.
  • Captcha Riddler - allows you to define your own set of puzzles for the user.
  • Hidden CAPTCHA (Drupal 7 only) - cheats bots by inserting an invisible field that blocks the form from being sent.
  • CAPTCHA after (Drupal 7 only) - only runs Captcha after the user has submitted the form multiple times.
  • KeyCAPTCHA (Drupal 7 only) - integration with the keycaptcha.com website.
  • Draggable CAPTCHA (Drupal 7 only) - a drag & drop puzzle, no dependence on external websites.
Summary

The main arguments behind the module are the effectiveness and simplicity of implementation. It is perfect for fighting against Internet spammers.

We also use it in our Drupal agency as a tool that fits every form and does not require additional coding.

Bounteous.com: A Mini Case Study: How to Rescue an Abandoned/Neglected Drupal Module

Thu, 02/11/2021 - 19:19
A great way to contribute to the Drupal ecosystem is by creating your own contributed module—but you don’t always have to start from scratch. This post tells the story of how Bounteous rescued the TB MegaMenu module after several years of neglect.

Mediacurrent: Webinar Recap: Reimagining Your Higher Ed Web Strategy

Thu, 02/11/2021 - 14:36

In our recent webinar, we set out to help higher ed marketing teams rethink their digital focus for the year ahead. 

We tapped a group of experts with years of experience helping some of the best-known colleges and universities deliver engaging digital experiences to discuss key web strategy takeaways. Members of the expert panel included:

  • Muzel Chen - Senior Digital Strategist, Mediacurrent 
  • Diane Kulseth - Senior SEO Consultant, Siteimprove 
  • Steve Persch - Technical Product Marketing Manager, Pantheon

If you missed our webinar or want to watch it again, check out the full recording: 

The live audience came ready with their most pressing questions on topics from personalization and SEO best practices to harnessing analytics and breaking down the communication barriers between Marketing and Admission departments. Below is a summary of what was discussed on the webinar. 

Personalization  Is personalization dead?

Diane Kulseth: I've seen some higher education institutions using personalization effectively by auto-populating forms. That can be really helpful to keep things seamless for the experience for the student. At the same time, we're talking to a generation that's getting more and more skeptical of the internet. 

There's a misconception that adopting new technology will automatically save you time. Technology, like personalization, can save you a lot of time but it will also take time to implement correctly.

Steve Persch: Technology buying decisions are often made on the assumption that by buying a tool, you will get to spend less time doing a certain task. I think a similar motivation leads a lot of people to buy personalization. They think getting a more powerful measuring tool will fix their problem, but it actually gives you more to measure and requires more of your time.

Muzel Chen: There’s also the issue of how do we use personalization effectively? Students want to get information right away and personalization can reduce these obstacles in navigation and process.

Personalization can mean many things, but in the context of higher ed, we can personalize content for an audience based on their common demographics and behaviors. But it also depends on your medium: are you trying to personalize in social media? Website? Email? Text message? Audiences have different expectations from each marketing channel, which is predicated by the amount of PII (Personally Identifiable Information) they have disclosed to those channels. 

Depending on the context and level of personalization, they can range from convenient to creepy, and striking that right balance can be tricky. But when it works, visitors experience a higher level of engagement because of the convenience and they feel the institution cares about them.

SEO Best Practices for Subsites and Domains  When thinking about a redesign, I know websites should have ONE main goal, but how do you handle a few different audiences without creating microsites? For example, prospective vs. current students?

Muzel Chen: Some of these issues are mitigated by dedicating an area in your architecture for those specific audiences. But there are situations where it feels the content is servicing all audiences or only one exclusively. These situations typically result in microsites which can be difficult to manage. 

An easy way to address those needs is to start with an audience-neutral page, have the audience self-identify, and place those audience-specific pages at a deeper level. For example, common pages where this occurs are: campus living, parking permits, and health services. These top-level pages will have content that speaks to all audiences and grows in detail as the visitor goes deeper into your site. The details can then begin to diverge by audience type. 

Do you see any trend of separate sites vs. subsites for academic departments (or other smaller units) within a university or college?

Muzel Chen: Over the last decade, it's been very common for higher ed to have subdomains (separate sites) for each individual department or school. But, these sites grow out of hand and become difficult to manage especially when there's not any established governance for tracking content updates across all of the subdomains. 

More institutions are starting to transition to the subfolder (or subsite) practice. It’s easier to see the big picture of all your sites and manage them all within their content management system. 

How can one build a culture of importance for SEO across a decentralized organization (i.e., schools, departments, and offices, like Admissions, all run their own websites)?

Diane Kulseth: I think the biggest part is tying it back to what it all means. Whether it's donor relations, increased revenue for the university, or admissions, tie it back to their goals. That's first and foremost and all of that helps the website and it helps your students. It helps your donors. It helps your prospective parents of students to be able to better navigate the website. 

SEO is great for SEO's sake and building great traffic, but it's also really helpful for all your other marketing initiatives to make sure that people are able to get where they want to go on a seamless web experience that loads properly and is easy to navigate with strong information architecture. 

Marketing Strategy and Analytics  What are some of the challenges you've seen higher ed leaders face when implementing marketing technology?

Muzel Chen: Reporting. I often see data collection tools being misconfigured. Or collecting lots of data without really defining its purpose. Everybody wants to get access to analytics data, and once that's provided, they use it once and never touch it again. Suddenly, you have 100 users and nobody is providing insights. Without data, all planning comes down to guesswork.

Steve Persch: You almost need Google Analytics for your Google Analytics to track who's using it.

Which analytics data seems to be the most valuable to higher ed? I realize this is likely very organization or campaign dependent, but anything generally useful that may not be obvious?

Diane Kulseth: First and foremost, you want to have your reports on RFIs or requests for information and your applications, and then connect that to enrolled students within your CRM or admissions platform. 

Beyond that, once you start digging deeper, it's really important to start looking at insights like when people are coming to this page from an advertising campaign, are they actually engaging with the page for a substantial amount of time? Are they going elsewhere? How are they responding to your marketing messages? Can you get even more granular and start looking at the demographics behind them? Are these men, women, what are their age ranges? What other insights can you glean from your different tools? I think all of that can be really helpful, but again, start with your basics: RFIs, enrollments, and applications.

Overcoming Department Silos  Do you have any tips for how Admissions and Marketing can work together?

Steve Persch: Shifting to an iterative or agile mindset for your website is especially difficult when so much of a university operates on a semester or year-long calendar. There's an expectation that you need the web plan for the next year or 10. Saying we're going to do small experiments and get feedback week by week is challenging to accomplish in the higher ed ecosystem. However, I think that you need to find a way to do it with strong cross-departmental relationships across those silos. 

Muzel Chen: We talked about analytics access as one of the technology challenges, but as far as a people challenge, what I see most often is communication. A lot of departments are still siloed — especially marketing and admissions.

A good starting point here is setting up a meeting cadence where you can share common challenges to solve and opportunities to pursue. For example, an ideal project is to link marketing and admissions data, which tracks the visitor as they leave the main site and enters the application process. Marketing could validate their campaigns by reviewing the application data, whereas admissions could personalize the student experience by using marketing’s data. 

Optimize Your Higher Ed Site 

Explore how RainU CMS can help your school launch on Drupal in 30 days or less with a Pantheon-powered hosting solution. Together with Siteimprove, Mediacurrent’s digital strategists can help you optimize your website for SEO, accessibility, and overall performance. 

 

 

Promet Source: Things We Love

Thu, 02/11/2021 - 06:49
The past 12 months have presented lots of opportunities for looking at life and work through a different lens. Many of us have gained a newfound gratitude for the people, perspectives, and technologies that have sparked new possibilities and powered us through. Love is in the air as Valentine's Day approaches and here at Promet Source, we thought we'd take this opportunity to share an inside look at some of new inspiration, developments, and tools that we've come to love lately.   

Dave Hall Consulting: We Have a New Website (Finally)

Thu, 02/11/2021 - 01:00
After 15 years we rebuilt our website. Learn more about the new site.

Drudesk: Drupal 8 to 9 Migration: Preparing Your Website for Drupal 9

Wed, 02/10/2021 - 13:37

2020 was significant for web development — not just because of Сovid, but also because of the new version Drupal 9.

Since the new version was based on the same core as the previous one, the developers promise that the Drupal 8 to Drupal 9 migration will be smooth and fast.

Drudesk, our web development agency, has put together a guide for you on the migration preparation process from Drupal 8 to Drupal 9 to understand all the details and conditions.

Golems GABB: How the reCAPTCHA Drupal module helps you stop website spam

Wed, 02/10/2021 - 12:09
How the reCAPTCHA Drupal module helps you stop website spam Editor Wed, 02/10/2021 - 13:09

In an ideal world, only real and well-behaved users access websites. Unfortunately, many “visitors” knocking on your website’s doors are malicious bots that masquerade as humans. Their goals are spam comments, spam emails, and spam forms — and these are just some relatively innocent examples. They, so websites need to learn to distinguish between real people and bots and use the blocking mechanisms.

It’s great to know there are helpful technologies in this sphere, one of which is Google reCAPTCHA. If your website is based on Drupal, you can rely on the special reCAPTCHA module for Drupal that will make it easier to install reCAPTCHA and stop website spam.

What is reCAPTCHA?

Most readers, both tech-savvy and not, must have heard the term “reCAPTCHA” and definitely met with reCAPTCHA on the Web. Still, we would like to make it clear and answer the question “What does reCAPTCHA mean?” in more detail.

Tag1 Consulting: What's the update on Auto Updates?

Wed, 02/10/2021 - 08:54

The Automatic Updates initiative in Drupal has made significant progress since we first discussed it in our third-ever Tag1 Team Talk. Bringing automatic updates into Drupal core is a significant step in helping small to medium sized Drupal installations be able to keep running, with less time dedicated to maintenance. In this talk, Tag1 Managing Director Michael Meyers sits down with Senior Back End Engineer and Migration Lead Lucas Hedding to discuss the progress of the Auto Update system intended for Drupal Core, how it’s different from the Auto Updater module, how it should help you keep your websites up to date more easily, and the variety of projects who are working together on creating this as an extensible system. ## Links Automatic Updates Module - Module Automatic Updates - Drupal 7 and Drupal 8 Documentation Pages Automatic Updates - Issue Queue To provide your feedback on this first generation of the Automatic Updates module, create an issue in the Automatic Updates issue queue Drupal Core Strategic Initiative More information about the PSA.json feed can be found at the link. Drupal.org uses a package hashing and signing...

Read more lynette@tag1co… Tue, 02/09/2021 - 23:54

DrupalCon News: Contribution at DrupalCon is evolving—here's how

Tue, 02/09/2021 - 22:10

On January 15, 2021, Drupal celebrated its 20th birthday - a major accomplishment for an open source project! As we look to the future, how can we propel Drupal forward to be the top digital experience platform?

DrupalCon News: Lead a session at DrupalCon North America

Tue, 02/09/2021 - 20:02

Submit your proposal to host a short, interactive session, and share what you know with the Drupal community.

OpenSense Labs: Every Misconception about Drupal: Debunked and Asserted

Tue, 02/09/2021 - 16:51
Every Misconception about Drupal: Debunked and Asserted Gurpreet Kaur Tue, 02/09/2021 - 21:21

A myth is a pretty powerful thing, especially if you end up believing it. Even if you don’t, it does dampen the prospects of whatever it is associated with. It’s like if someone told you that the latest smartphone, which is exorbitantly expensive, is not worth the price. In such a scenario, even if you had the means of buying it, you would end up thinking twice. And you don’t even know whether the myth is true or not. That is how powerful a myth can be. 
 
A myth, a misconception, a false belief, whatever you call it, follows as many things as you can imagine. It follows you and me, and it also follows the inanimate objects, making their abilities seem weaker than they actually are. 
 
And it is one such thing that we are going to be discussing and try to debunk the falsified claims that have been following it for a long time. The thing I would be talking about is actually a software, a Content Management Software by the name of Drupal
 
Drupal is used to build websites, websites that are feature packed and give a powerful performance, yet there have been many claims made that try to show Drupal in a bad light.
 
Today, you and I will get into all of these and ensure that all the myths associated with the name Drupal are busted so colourfully that they can never ever be claimed by anyone. So, let’s start with the most common misconceptions about Drupal.

# Drupal tends to be difficult to use

Any software or system that you may end up using, the foremost aspect that you would look out for is its usability. It might be able to provide you with a ton of features and functionality, but if you cannot figure out how to use it, all of that would be a waste. So, on the same note, let me tell you the first Drupal myth. 

The most common myth about Drupal is the fact that it is very difficult to use by all the parties involved. Developers find it tedious to work with, marketers can’t get a hang of it and the content authors and editors, well, they feel that they are way out of their element. 
 
This myth is not true at all. Drupal is a little complex to use, at least in comparison to its competitors. However, it requires that level of complexity to be able to do its job properly. For instance, Drupal provides umpteen number of modules, all of which are able to provide you with any kind of functionality that you may be on the lookout for. Selecting from these could be a daunting task, but it is also a necessary one. 

Let us look at some of the Drupal complexities to understand why they are mis-conceptualising an easy-to-use CMS.

  • Drupal’s large codebase seems intimidating, but the system only loads what you need, so the point is basically moot here. 
  • Drupal uses more memory, so it is perceived that if there is an out-of-memory error, it would become very difficult to solve, making the experience pretty complicated. 
  • Then, there is the fact that Drupal is built on PHP. Since that is a language many developers lack experience with, the myth of difficulty in use prevails all the more.
  • The last one would be the lousy UX experience Drupal provides to the non-technical users. Being a content editor myself, I would say that this isn’t true at all. I have been able to use Drupal with ease to edit and publish my content and so far the experience hasn’t been lousy in the least. 

That is my take on Drupal ease-of-use. There is an acclimating period required, but that is true of any new technology.

# Drupal migration and upgrade tend to be an insurmountable task

Migrations and upgrades are an inevitable part of website development. There will come a point when the version you have built your site on is going to become so basic and on the verge of being obsolete that you would need to upgrade or migrate to something new and better. 
 
With Drupal, the story is the same. From the first version of Drupal that was launched almost two decades ago to Drupal 9, which is the current version, there is a stark difference that is too obvious to ignore. 
 
The myth going on is that these migrations and upgrades of Drupal are very difficult, complex and will most likely give you a headache. The truth behind it is quite the opposite. 
 
I would be wrong to say that Drupal migrations do not require any work because they do. Imagine moving from your home in India to the US, there would be work required and lots of it too. However, the work won’t be too much to make you rethink the move because the other side is too special to give up. 
 
Coming back to Drupal, the upgrades are usually seen from Drupal 7 to 8, 8 to 9 or directly from Drupal 7 to 9. All of which are possible scenarios for your site and its enhanced functionality. 
 
Drupal 7 users can first upgrade to Drupal 8 and then move on to Drupal 9. Or, they may choose the best route by going directly to Drupal 9 to ensure that the upgraded site has maximum expected life.
 
For the Drupal 8 to Drupal 9 upgrade, there are six steps involved; only 6 and not a bazillion.  

  • First, you would need to ensure that your hosting environment aligns with the platform requirements mandated by Drupal 9.
  • Then you would need to update to Drupal‘s more current versions, it could be Drupal 8.8.x or 8.9.x. 
  • Once that is done, you would need to ensure that all your contributed projects are compatible with Drupal 9 by simply updating them. 
  • When that is out of way, you would be required to build custom code that is also compatible with Drupal 9. 
  • In the penultimate step, you will be asked to update the core codebase of Drupal 9. 
  • And as the final step, all you have to do is run update.php and that is it. 

There is also a step by step guide in the upgrading section provided by Drupal to help in the transition process with all the details you may be looking for. 
 
It is true that upgrading from Drupal 7 to 8 or 9 can be pretty intricate. Drupal Community took cognisance of this matter and made sure upgrading to Drupal 9 would be the easier you can get. As a matter of fact, the upgrade to Drupal 9 has been deemed as the easiest upgrade of the decade. This in itself should have been enough to pop this myth there and then. Access this ultimate guide to Drupal 9 to know more. You can browse through our complete list Drupal 9 FAQs that answers every burning question that might have regarding Drupal 9.

# As Drupal 9 rolled out, Drupal 7 and 8 tend to be less efficient

Since we just talked about the upgrading to Drupal 9, I felt this myth that has been for a while now needed some straightening too. 

The myth is that since Drupal 9 has launched and is the most advanced and feature-packed version of Drupal, the earlier editions of Drupal, namely 7 and 8, are simply no longer viable. 

This is not by any means true. It will come true at one point of time, but that point is very distant in the future; not according to me, but the makers themselves claim so. 

  • If I talk about Drupal 8, which is reliant on Symfony 3, it would be supported by Drupal until the 2nd of November, 2021, since that is how long the life of Symfony 3 is expected to be.
  • Talking about Drupal 7, its community support was earlier marked to end by November, 2021. However, with COVID and the consequent crisis, that has been extended to by a year. So, Drupal is expected to be supported by the Drupal community until 28 November, 2022

This support is proof that Drupal 7 and 8 would still be fully functional for a couple of years, and their efficiency is not going to be marred by any way. The sites and projects reliant on them will continue to bask in all the glorified features of Drupal. Don’t believe anyone who tells you otherwise. Dries Buytaert, the founder and project lead of Drupal, takes pride in continuing to care for old software. Drupal 7 released almost a decade ago and continues to get the sort of care and attention from the Drupal Community it requires to function well. He wishes more and more software is well-maintained like Drupal is.

Another thing that I want to add is that even if the community support dies down, there is still the vendor support that lets the project be efficient. For Drupal 7 sites that support is extended to 2025. Let me also tell you that there are still many Drupal 6 sites which are performing efficiently through the vendor support. 

Yes, the end of life would come for the older versions sooner than the later versions, but that is how life in general works, don’t you agree?

# Drupal tends to be heavy on the pocket

Financial considerations are one of the major aspects to pivot someone’s intentions towards taking up a project or software. The same is true for Drupal as well, taking us to the next myth.

It is perceived that Drupal is extremely expensive, making it hard for smaller organisations to take it up as a software to build their websites.

Drupal is an open source software, which means it is free of cost, so this myth is a little funny to say the least. Yes, open source software is not entirely free or rather its implementation and maintenance is not free. It would definitely cost you to hire Drupal developers to make that happen. From maintaining Drupal modules and updating your digital properties to migrating Drupal to the most current version requires skilled developers who are not always economical. However, these costs are not exorbitant, at least not in comparison to proprietary software, with its licensing fee and other perpetual expenses. 

Then there is the support of the Drupal community, which is always there to help you in any dilemma you find yourself in. Any and all of your questions will always be answered. This also means you get to take advantage of the abundance of experience found throughout the community, you can simply build on solutions that have already been created. 

Apart from this, your non-technical staff, especially your content authors are not reliant on developers to post and edit the content. This frees up the developers, leading to savings. Finally, the migration from one Drupal version to the next is also not expensive at all. So, if you are planning to shift to Drupal 9 from 8, remember the switch from Drupal 8.0 to 8.1, the migration would be that simple. 

Now, you tell me, is this not cost effective?

# Drupal tends to lack in security

For any web application, it is extremely important to be secure. Having security issues often make you vulnerable and prone to hackers and that outcome is never going to be favourable. 

So, this Drupal myth states that the CMS is not secure at all. It is an open source software and that is reason enough to doubt all of its claimed security features. 

Let me start by telling you that Open Source security cannot be taken lightly. Also known as Software Composition Analysis, Open Source Security provides the user an opportunity to garner more visibility for his application. From examining binary fingerprints to using professional and proprietary research and corroborating it with scans is done to build elements and tools that help developers in building safer applications. 

Focusing on Drupal, it is deemed as one of the most secure CMSs in the market, not just in the Open Source market, but the proprietary as well.

Source: Acunetix

The above image clearly shows Drupal leading the way in terms security, being the CMS with the least issues faced as per a sample group’s findings.

Let’s find out why. 

  • Drupal’s security team works with the community to tackle any security issue as soon as it arises. 
  • Drupal’s API and default configuration is equipped to handle security issues like XSS, injection and forgeries with standard solutions. 
  • Drupal provides a lot of out-of-the-box security features like secure access, granular user access control and database encryption to make it all the more secure. 
  • Then there is the fact that many prominent government agencies use Drupal to build and manage their online projects. This speaks to its security measures. 

So, no Drupal does not, by any means, lack in terms of security, rather its security is almost impeccable and really hard to breach.

# Drupal tends to be unscalable and gives a meagre performance

Despite how great your site is now, there would come a point when its present state is no longer viable with your business goals. And that is when you would need to scale your site accordingly and boost its performance. This leads us to the next myth. 

It is often presumed that Drupal is not very scalable and its lacklustre performance in terms of higher traffic load and more content growth is not appreciable by any means. 

As an answer to this preposterous myth, I just want to say that, if that were the case, why would sites like The Weather Company and NBC, which have a daily audience in hundreds of thousands use Drupal? The justification is the exact opposite of the myth. 

Drupal can handle traffic spikes, it can handle content growth and it can handle an incredibly elevated user count and it can do it all like a breeze. All you have to do is optimise Drupal to its best abilities. It provides a number of features and modules for you to work with to manage your site’s performance and scalability. Be it the Blazy module to provide integration or the Content Delivery Network to offload your site’s delivery, Drupal has you covered.

I think this misconception should be clarified now. These guides to Drupal performance optimisation techniques and scalability offerings would clear the air further.

# Drupal tends to be inaccessible

Web accessibility refers to a website or application being built in a manner that anyone can access it with ease, anyone has a special focus on people with disabilities. The World Wide Consortium has set a few guidelines that web developers have to follow to become universally accessible.
 
According to this Drupal myth, it is assumed that Drupal is not universally accessible. It is not meant to be used by people with disabilities and can cause them harm, if they were to use Drupal sites. 
 
There is absolutely no truth in this misconception. Drupal stringently follows the WCAG 2.0 guidelines and has built its features accordingly.  

  • The Olivero theme for the front end in Drupal 9 is the prime example of Drupal’s accessibility. With focus on colour, contrast and fonts in accordance to the WCAG 2.0 guidelines, it is universally accessible. 
  • The use of HTML5 and WAI-ARIA has led to better semantics of purpose and behaviour of the web pages for the screen readers. 
  • The use of alt text in images helps in making them accessible to the visually impaired. 

These are simply a few examples of Drupal’s accessibility features and values. To understand web accessibility completely, read our blog Design Considerations for Accessibility and know that Drupal follows each one of them.

# Drupal tends to be unequipped to handle large site

There are two kinds of websites, the first one is for small businesses and the second one falls under the big business umbrellas. Taking these categories into consideration, we come to the next false claim. 

Many believe that Drupal is only competent to handle smaller sites, when it comes to the larger businesses and their web needs, Drupal may fall short. 

To clarify this bizarre claim, let’s just look at some of Drupal’s clientele. Tesla, Oxford University, European Commission, NBA and the French Government are just a few names that do not need an elaboration, people already know them. With such an elite clientele, is it justified to say that Drupal cannot handle large sites? I think not. 

Drupal is well equipped to provide enterprise grade services and features that include; 

  • Impeccable user management; 
  • Impeccable content management; 
  • Impeccable admin interface; 
  • Impeccably easy coding; 
  • Impeccable technology stack; 
  • And an infrastructure that resounds all the impeccable innovations in it. 

That is a whole lot of impeccable, but that is Drupal for you.

# Drupal tends to be incompatible with mobile devices and unsuitable for mobile solutions

Today, it is the responsive sites that reign over the internet. If you have a site that is compatible with the computer and the mobile phone, you can consider yourself amongst the rulers, metaphorically speaking of course. 
 
Drupal is often understood as a CMS that is not mobile-friendly, which means the sites and applications built on Drupal are not able to support responsive designs. 
 
Again, this isn’t the case. Rather Drupal works on the ideology of building sites that are responsive and creating web applications that provide an enthralling visitor experience, regardless of the device they may be using. This means that Drupal is compatible with mobile devices as well as desktops, since it has the ability to offer a seamless content experience to every user every time. So, the myth is debunked. 

# Drupal tends to be disintegrated with third-party tools

Confining a website to just one tool and software has become a thing of the past. With more technological innovations come more third party integrations. And where does Drupal stand in all of that?
 
According to the myth, Drupal is not at the top of the integrations list. Rather it is assumed that Drupal does not work well with other tools and has an isolated digital marketing philosophy as well. 
 
And there is very little truth in this assumption. In fact, Drupal has the ability to integrate itself with a massive ecosystem of digital marketing technologies and other business applications. It allows you to have the chance of tapping into the most popular tools of the present as well as the chance to do the same in the future. 
 
Drupal also has an API-first rule, which essentially means that your content can easily be connected to other sites and applications. This means your words would resonate with a much wider audience, making them all the more powerful.

# Drupal tends to have an inflexible and uneasy content workflow

Content is basically the voice of your site, so it is wise to choose a platform that makes your voice the loudest and most clear. Does Drupal do that?
 
The myth related to content workflow doesn’t believe that. As per the misconception, it is believed that Drupal is quite inflexible in terms of content and using it for creating, editing and publishing the content is not easy at all.
 
Let me start debunking this Drupal myth with its Admin Interface. This helps you in creating the exact content architecture that you want. You get to display only the content suitable for every context. The use of Drupal efficient display mode tools and Views makes this task all more fun. You can add any media type you want, be it images, videos or pdfs. Then there is the fact that you can customise your menus to make them aligned with the user’s device. 
 
And there is more. 

  • You can create and edit in-place. You can simply browse to a page, click on the content and start editing then and there. 
  • You can edit from any mobile device, iPads, smartphones or tablets, android or iOS, your pick. 
  • You can make revisions multiple times and keep track of all of them even months after. 

Is this what you call inflexible and difficult? 
 
Modules are Layout Builder and Paragraphs are renowned for the ease they provide to editors and content authors.

# Drupal tends to be unfriendly with SEO

SEO and all that it encompasses is essential or more like life-saving for your website and its visibility on the web. Since that is what brings in the numbers, you know how important that should be. 
 
So, the myth that is doing that rounds is that Drupal is not SEO friendly. It does not have the features to heighten the visibility of your site on Google or any of the other search engines.
 
Do you think that could be true?
 
I certainly don’t and neither should you. Drupal has dedicated features and modules that help you get the best out of SEO. Take the SEO checklist module for instance. Being an SEO module, it helps you be on top of all the SEO related tasks and ensures you are reminded of them. It is always being updated with the latest SEO guidelines so that you are aware and ready to tackle all of them. 
 
From modules capitalising on your URLs to tags and onto communication and editing, Drupal will have you covered for every SEO dimension you can think of. Our blog, The ultimate Drupal SEO guide will help you get an even elaborated explanation of Drupal’s SEO capabilities, which by no means are lacking.

# Drupal tends to be incompetent as a headless CMS

Going headless or decoupling has become a trend as it allows the developers to use the different technologies available in the site building process and make it all the more impressive. 
 
With Drupal, it is often assumed that decoupling would mean more work and less benefits. You would have a lot on your plate when you decouple Drupal and the result would be a dysfunctional and mismanaged site. 
 
This is nowhere close to the truth. When you decouple, you would have a separate frontend and backend development and management; both of which will be interdependent and connected through an API. Yes, you would most definitely have to part with some of Drupal’s out-of-the-box features, but that isn’t necessarily bad. 
 
With decoupling, you would be able to build a frontend the way you want to, with whatever technology you want to. Fancy React, go for it. Have a liking for Angular, go for that. You would be using Drupal as a content repository and since Drupal knows its contextual ABCs pretty well, you will be in great hands. You can publish your content across varying channels and manage it from one place. 
When you go headless, you will get to choose from the best frontend technologies and get the best at the backend layer with Drupal. The best of both worlds for you. 
 
Now, do these features portray incompetence to you? 
 
Read about everything you would want to know about Decoupled Drupal, Decoupled Drupal Architecture, how to decouple Drupal and some of the success stories to get an understanding of how competent decoupled Drupal can be.

# Drupal tends to be efficient with multisites

Many organisations have subsidiary businesses for which they need to build multiple sites. They might want these sites to become a replica of each other, offering the same features and functionality, yet be different to each other. 
 
There is a false claim being made that Drupal cannot optimise multisites. It cannot provide the separate individual sites their own database, configuration or even the URL/ domain names .
 
Drupal offers a multisite setup that is pretty efficient and well-equipped to handle all the requirements.

  • You would be able to manage all your Drupal sites running on the same version of Drupal core, which ultimately saves you time. 
  • You would be able to update all your sites simultaneously when there is a  new release because all of them would have one codebase. 
  • You might have some drawbacks through the multisite setup, but by using Aegir hosting system, you would easily overcome them.

Inefficient isn’t a term that should go with Drupal, since it is anything but that. So, manage your sites from across the globe from your laptop while sipping coffee on your kitchen island with Drupal. I consider this pretty efficient.

# Drupal tends to be hostile to multilingual sites

Like I talked about in the previous point, sites today aren’t confined to a region, they are almost universal. An American brand is also famous in India and it gained popularity because it was able to resonate with the Indian audience at a personal level in their language and dialect. 
 
Everybody knows that Drupal can handle multilingual sites, but many believe that Drupal isn’t great at that. Translations and other multilingual features tend to be below average. And that is just a myth.
 
Translations are the most crucial for multilingual sites and Drupal offers not one nor two, but four translation modules in Drupal 8. From content to configuration and interface, everything can be translated to the local language with ease. You can install Drupal 8 in as many as 94 languages without any need for the installation of extra components. Moreover, custom translations are often packaged and deployed on several properties, so you developers have lesser language related headaches. Everything on Drupal’s multilingual capabilities can be accessed here.
 
I would not call Drupal hostile to multilingual sites, would you?

# Drupal tends to only be suitable for a few industries

A CMS builds and manages websites. Since these websites can be for any business and field, a CMS should be able to cater to their industry type. 
 
There is a Drupal myth going around that states that the CMS isn’t meant for every industry. It only caters to a few, and I am not even sure which ones account in those few. 
 
This one is probably the most ludicrous misconception of them all. I can understand that people may be skeptical about open source security, but this is just nonsensical. I mean if a CMS is able to build a site for a retail business, what is stopping it from building one for a blogger? Kind of bizarre, isn’t it?

Source: Drupal.org

This is a list of industries that has Drupal imprinted on their web services. And the extensiveness of the list is clarification enough for the myth.  From publishing houses and educational institutions to government agencies and charitable organisations, Drupal serves the majority of the industries.

# Drupal tends to become a pain when it comes to support, maintenance, hiring and partnering with digital agencies

Working with Drupal on your own can become challenging. You would need support and expertise of someone who has worked with the CMS and knows its ins and outs with clarity and that is a Drupal agency. 
 
This Drupal myth states that the hiring of Drupal agencies is a blood-sucking task, which would drain you of the same. Add to this the support and maintenance of Drupal and you might just give up on site building altogether. 
 
Let me start with Drupal agencies, there are a lot of them for you to choose from. The good thing about that many agencies is that they try to outweigh each other in terms of the services they offer and you end up with everything you desire. Being a part of OpenSense Labs, I can proudly say that we rank amongst the top 5 Drupal agencies in the global Drupal marketplace.

Source: Drupal.org

Talking about support and maintenance, whichever agency you may choose, you are bound to get some very convenient services in this regard. 

These are only a few of the support and maintenance features available and they won’t let you be in any kind of pain.

# Finally, Drupal tends to be incompetent with the emerging technologies

We live in a dynamic world, where everything is transitory, from human life and thoughts to the technologies we have become so dependent on. These changes are basically advancements that aim to enhance our quality of life and all of the experiences in it. So, how does Drupal come into the picture and what is the myth?
 
This Drupal myth states that the software cannot work well with all the new technologies coming on every day and its integration with them is almost impossible. 
 
Do I have to say that this is untrue? I’m sure you know that by now. Drupal and its abundant content-heavy sites mandate that it utilises the latest technologies to make the user experience even more delightful.
 
The use of artificial intelligence in the form of chatbots, cognitive search and digital voice assistants like Alexa on Drupal sites is probably the most justified clarification to the bizarrely unjustified claim. Along with these, the streamlined incorporation of Virtual Reality, with all its realness, IoT and Blockchain into Drupal sites is further proof of the myth being a colossal misconception. Our blog, From conception to reality:Drupal for futuristic websites will shed further light on this notion. 

Conclusion

Drupal is one of the very best content management systems in the market. Its features and abilities are truly astounding. Believing some false claim that says that Drupal is anything but one of the finest would be a mistake you do not want to make. Yes, there isn’t everything Drupal is great at and yes, it may even have some flaws, being perfect is almost impossible after all, but all of Drupal’s imperfections are not enough to dampen its overall appeal. 
 
So, if you have chosen Drupal to provide your site’s groundwork, rest assured that you have made the right choice. We, at OpenSense Labs, have clients from across the globe asking us to build their sites using Drupal and to this day, not a single one of them has gone disappointed. 
 
Finally, the moral of the story is that don’t believe everything you hear, at least not until you have proof of its trueness and I think I have managed to tell you all of Drupal’s truths for you to shun all of Drupal’s myths. Debunking Drupal myths was fun. 

blog banner blog image Drupal Drupal modules Blog Type Articles Is it a good read ? On

Mediacurrent: How to Dynamically Render a Button or Link in Drupal or Gatsby

Tue, 02/09/2021 - 14:21

It is not uncommon for links to be styled like buttons when building websites.  Although this is not frowned upon, it is important to understand what HTML element to use depending on the purpose of that element.  For example, a <button> element is frequently used to perform an action such as submit a form, or interact with an element to change its behavior., whereas s <a> element is often used to direct the user to another page, site, or section of a page.  Visually it may not make much difference how links or buttons are styled, but choosing the right element matters from a semantic and even accessibility perspective.  Let’s go over how to dynamically render the right HTML element depending on the element’s purpose using Twig on a Drupal website.

Before we get into the details of the code, let’s understand how the two elements differentiate from each other which will help us qualify the right element to use.  Probably the easiest way that makes the <button> and <a> different from each other is that a <a> contains a href attribute and the <button> does not.  This alone can help us determine whether we should use a <button> or <a> element on our site.  The href attribute will always be present when using an anchor element.  So let’s use the href attribute to our advantage.

  1. Let's start by defining some key data elements we usually have at our disposal when building a button or anchor element in Twig or React:  url, text, class
  2. It’s possible we won’t always have url or class, but text will most likely be available so we can label the element (i.e. Read more, Submit, etc.)
  3. We know that a <a> will always need a url.  We also know a <button> will never have a url value

Using the logic above, we could start writing some code.  Let’s start with Twig and then we will repeat the process with JavaScript if you are working on a React or Gatsby project.

 

{% if url %}   <a href="{{ url }}" class="button button--link">     {{ text }}   </a> {% else %}   <button class="button">     {{ text }}   </button> {% endif %}

 

  • By using the url as the condition, we check whether a url in fact exists, and if so, we print a <a> element, otherwise we print a <button>
  • Whether we have a url or not, we print the text variable on either element
  • We are passing a class of button to each element, but for the <a> we are also passing a class of button--link.  This will help us style the links differently than buttons if that is something we may wish to do sometimes.  Otherwise, the link will automatically inherit the same styles as a <button> element.

 

JavaScript and/or Gatsby

The logic to follow in any other language will be the same. The syntax may vary but ultimately we are checking for a URL and if so, let’s print a <a> element, otherwise, let’s print a <button> element.  However, in Gatsby there is one more scenario to consider; is the URL internal or going to an external page/site?  One of Gatsby’s powerful core components or features is <Link>.  This is used to prefetch pages in a gatsby site which results in incredible performance improvements.  So our logic just got a little more complex because not only do we need to check for whether there is a URL, we also need to determine if the URL is internal or external.  If it is internal, we will use a <Link> component, otherwise, we will use a traditional <a> element.  Let’s see how we can make this work.  In an effort to keep this example short and to the point, I am excluding some pieces you normally would see in a real gatsby component.  This would typically be done in a button.js file.

import React from 'react'; import { Link } from 'gatsby'; const Button = ({ children, to, href, ...props }) => { // If the `to` prop exists, return a link. if (to) { return ( <Link className='button button--link' to={to} > {children} </Link> ); } // if the `to` prop does not exist but `href` does, return a <a> element. if (href) { return ( <a className='button button--link' href={href} target="_blank" rel="noopener noreferrer" > {children} </a> ); } // If the `to` or `href` props do not exist, return a <button> element. return ( <button aria-expanded={props['aria-expanded'] || null} className='button' {...props} > {children} </button> ); }; export default Button;


If a to prop is identified, we return a <Link> Gatsby component. As we can see this is a more complex piece of code but ultimately does the same thing as when we wrote it in Twig.  The difference here is that we are detecting three scenarios to determine which element to return:

  • If href prop is detected instead of to, we return a traditional <a> element with target="blank" and rel="noopener noreferrer", According to Gatsby docs, routing to target="_blank" is the equivalent of an external page and Gatsby <Link> cannot be used. Docs here: https://www.gatsbyjs.com/docs/linking-between-pages/#using-a-for-external-links
  • Finally, if neither to nor href are detected, we return a <button> element.
In Closing

Some may not see the need to go to this extreme to simply decide whether we need a button or anchor element.  However, there are many reasons why this is something you should consider as this could impact accessibility, UX, and in the case of Gatsby, even your site performance.

OpenSense Labs: The role of Community Initiatives to help Drupal evolve

Tue, 02/09/2021 - 14:21
The role of Community Initiatives to help Drupal evolve Akanksha Mehta Tue, 02/09/2021 - 18:51

Drupal being an open source project relies significantly on its community for contributions, promotion and overall expansion. The user base adds to Drupal in terms of coding, testing, bug fixation on the software, also contributing themes, modules and distributions regularly. Acknowledging the important role that the community plays and also its requirements, Drupal comes up with Initiatives to streamline and channelize everyone’s efforts to a common high priority goal.

Drupal Initiatives are common upcoming goals in the Drupal sphere prioritised according to commercial interests and their effect on the community. Initiatives are formulated around a feature, a new module, or an alteration in any element of the software. Usually, 

  • user research, 
  • proposals by Drupal Core Maintainers,
  • advice of key community members, and
  • inputs from the board of directors

are taken into account before launching an initiative. 

How core development and strategic initiatives come about in Drupal?

To understand the functioning of initiatives better, let’s skim through the life cycle of Drupal initiatives.

Proposition 

To start with filing Drupal initiatives, the first step would be to file a proposal. Although absolutely anyone could propose an initiative in Drupal, it is recommended that certain factors be taken into consideration before the said proposal. It needs to have a proper backing of relevant data along with a farsighted vision of what the end result would look like. It is recommended that the proposed initiative should have a positive market impact on Drupal and adds sufficient value to both the software and the principles that it stands for. Discussion with the community must also take place before bringing an idea on the floor, and subsequent revisions must be done accordingly with respect to the feedback received. Lastly, an individual wanting to get a proposal approved also needs to be patient with the whole process, as in a large community like Drupal, things move forward in a pretty organic fashion.  

                                                                                                        
Prioritisation

The sites supported by Drupal are diverse and cater to a plethora of end users, therefore prioritising initiatives in such a manner that every user persona is appropriately benefitted assumes utmost importance. Hence, several Drupal initiatives might be proposed, but only a few get highlighted. This is done in accordance with Drupal.org Prioritization Criteria. Prioritising can be a tricky business as while one initiative might affect every Drupal user one-on-one, another might influence a small segment of users but at the same time be essential for Drupal’s core. Keeping all these things in mind, propositions are ‘accepted’, ‘rejected’ or ‘postponed’. The accepted proposals are then prioritized.


Roadmap

The association’s staff are tasked with weighing the impact of the Drupal initiatives against the spectrum of affected audience. Once a bunch of initiatives are finalised, they’re listed in the Current section of the roadmap. Architects are assigned to supervise the initiative, the member also acting as the lead for that particular initiative. His job is to ensure accessibility to open discussions and related information. Weekly or biweekly meetings are done between the staff liaison and the community working on the initiative all throughout its execution, and the completed draft is then submitted for review.

The time taken to get done with an initiative is highly variable. A smaller one might take a few days while a lengthier initiative can also span a few months to complete. 

For core initiatives, the process looks a little different than this. Initiatives that are identified as being of utmost importance to Drupal and the community are included in strategic initiatives by Dries Buytaert himself, who is the founder and project lead of Drupal.

For an initiative to be included in this category, it must have the following -

  • Surveys or statistics figures substantiating the validity of the initiative.
  • An underlying vision that could result in a breakthrough for Drupal.
  • Requirement of channelised resources as it is high priority.
  • Due to its larger scope and influence, need for multiple stakeholders to come together and collaborate on it.
Major Ongoing Community Initiatives

Drupal Community initiatives are projects where the user base comes together to work on several components of Drupal like contributed modules and themes or even Drupal Core. These are some major ongoing Drupal initiatives -

Composer Support in Core Initiative

Composer dependency manager for PHP does not have an official dedicated Support, although there do exist several documented ways to use it wherever necessary. Owing to the manager’s widespread adoption by a number of contributed modules, an initiative has been set up to create a Composer Support in Drupal Core. 

Bug Smash Initiative

As the name suggests, the bug smash initiative is meant to contribute towards bug resolution. It is a core issue focusing on bugs in the newer versions of Drupal that have been recently launched. Issues resolved under this initiative are tagged accordingly under the same name.

Documentation and Help Initiatives

The goal here is to improve, with the help of extensive documentation, the user experience of a Drupal evaluator, developer or site builder. The initiative also focuses on achieving a better in-house Help system by adding high utility features like a topic based help provision.

Workflow in Core Initiative

This initiative is working towards bringing upgrades in Drupal’s content workflow, preview and staging features with the aim to provide content authors and editors sufficient tools to review and deliberate upon the content before it is rolled out.

Drupal Open Curriculum

The open curriculum initiative is self explanatory - the aim here being the provision of a systematic and structured training to new recruits in Drupal. Features like in-class sessions, self learning along with training exercises are to be included, culminating with on the job learning. It is targeted towards developer entrepreneurs owning Drupal agencies with new hires learning Drupal or individuals curious about the software.

Accessibility contribution

Another really important initiative is to ensure compliance to web accessibility norms set by various governments and organisations. Greater awareness regarding accessibility by individuals suffering from certain ailments has led to widespread adoption by the players, and the Drupal community aims on pitching in every idea and suggestion to improve accessibility for its users.

Major Ongoing Strategic Drupal Initiatives

Some major ongoing strategic Drupal initiatives are as follows -

Automatic Updates

This initiative aims to solve the inconvenience that comes with having to manually update a Drupal site after updates have been incorporated in the software, as one running behind the deadline might compromise on the standard and security of a website. Hence, the community is working on automated updates to provide a safe and secure environment for pre programmed updation, and also to cut down maintenance costs of a Drupal website.

Decoupled Menus

An initiative for decoupled menus is also ongoing, aiming for better synchronisation with front end JavaScript

Source : Drupal.orgDrupal 10 Readiness

The Drupal 10 readiness initiative provides a timeline for things that need to be wrapped by 2022 to facilitate the release of Drupal 10 in June, or latest by December that year (which is 2 years after the release of Drupal 9). Milestones that need to be aced are updating dependencies before Drupal 10’s release, removing deprecated APIs, helping module contributors maintain the modules’ updation, and consecutively speeding up the launch of Drupal 10. The primary components of this initiative are -

Source : Drupal.orgEasy out of the box

Ease of use has become a matter of prominence in recent years, which is why Drupal 9 was largely focused on making the update easier and convenient to use and incorporate by the users. Another area under maintenance now is the enabling of the new Media Library, Layout Builder and Administration Theme by default in Drupal for added user satisfaction.

New Olivero Front-End Theme

Olivero is set to become the new default frontend theme by replacing Claro. As design is what truly manifests changing technologies and advancements for the end user, upgrades  in terms of modernity and functionality are essential for proper representation. The new theme is also meant to include support for Drupal’s second level navigation and the embedded media. Staying laser focused on accessibility, the theme is also supposed to be fully WCAG (Web Content Accessibility Guidelines) AA (mid range) compliant.

Conclusion

Drupal Initiatives are a good way to both bring the community together and stay afloat on the productivity factor. Some major changes in the past have been triggered by initiative action, for example, several design changes, changing Drupal’s default markup to one that conforms to HTML5 standards, making Drupal mobile first, etc Hence, initiatives have brought together people of diverse backgrounds and experiences to create something global together, affecting both the individuals personally but also the community at large. 
 

blog banner blog image Drupal initiatives Drupal community Blog Type Articles Is it a good read ? Off

Specbee: Front-End Frameworks for Drupal – Helping you to Make a Better Choice

Tue, 02/09/2021 - 13:21
Front-End Frameworks for Drupal – Helping you to Make a Better Choice Shri Ganesh Hegde 09 Feb, 2021 Top 10 best practices for designing a perfect UX for your mobile app

Are you among those who are still wondering if your web application really demands a front-end framework? With names like React, Angular, Vue, Backbonejs, Emberjs and jQuery hitting the tech market, choosing the best front-end framework for your Drupal website is another added conundrum. Read on to find answers to these popular questions that can help you make a better decision in choosing the best front-end framework for your Drupal website.

Why do you need a front-end framework?

Today's world is a close reality to something I dreamt of as a child. A world run by devices, the technology they use and their potential to change the future. New interfaces and devices have brought in sweeping changes to transform the web as we know it. Technologies like Artificial Intelligence and IOT have started to establish and make an impact in the digital world. This impact has changed the way we perceive a future with seamless, feature rich websites.

However, while newly web-enabled devices continue to dominate, we have evolved the way we develop for the web. Though the content remains the same, delivering this content differs from one to another based on requirements and complexities. The next generation of user-experience is here and websites are expected to function seamlessly and instantaneously.

With such requirements, it is tough to stick with the old solutions. While it isn’t impossible to build a complex yet awesome UI/UX with plain HTML and CSS, implementing one a front-end framework does reduce some bulk and messiness off as your front-end grows. Not surprisingly, most of the bigwigs like Airbnb, GitHub, Forbes, Netflix, Pinterest, PayPal, etc., who offer outstanding user-experiences, implement popular front-end frameworks like React, Angular and Vue.

Headless Drupal and Front-end frameworks

While Drupal can handle the backend beautifully, it isn’t as flexible in terms of its front-end capabilities. The need for modern, intricate, dynamic and application-like front-end interfaces gave rise to headless Drupal or decoupled Drupal as we know it. In a headless Drupal architecture, developers have the flexibility to build the front-end on their own without using Drupal. While Drupal still serves as a backend repository, front-end frameworks can talk to the database via API calls.

But how do you pick the right front-end framework for your Drupal website? While every framework has its own set of pros and cons, the choice largely depends on the needs and business requirements for the project. Let us discuss in detail.

AngularJS

The most preferred front-end framework on the list, Angular JS, is a developer's favorite when it comes to interfacing with Drupal. It lets you create feature-rich dynamic web applications and allows Drupal to work more efficiently, resulting in a dynamic, secure and a gripping Drupal website. Backed by Google itself, this open-source framework allows you to do handle your user's browser without having to fetch data from your server.

Things Developers Love about Angular
  • Extremely light weight and extensible with a wide scope of features.

  • An interactive framework, a result of which is great functionality like the two-way binding, which allows user actions to immediately trigger application objects.

  • Developers love HTML and the fact that AngularJS uses plain HTML templates that can be easily re-used, modified or extended, allows them to build interactive feature-rich web applications.
  • With a client-side nature, AngularJS does a great job in handling cyber-attacks as any data looking to breach the security cannot get anywhere near the server.
  • Immense community support which provides answers, tutorials and used cases, with well-developed documentation.
Drupal & AngularJS

With the user expectations growing with each passing day, decoupled Drupal or headless Drupal as it is commonly known, is gaining more popularity these days. The idea is to take advantage of Drupal's flexibility and powerful back-end capabilities while using a front-end framework to handle the client-facing interface. What better option than the interactive AngularJS to do the talking to the browser while Drupal takes care of the feature filled back-end.

Also, AngularJS does a great job in offloading Drupal from some of its logic and helping Drupal function effectively at the back-end. By moving display logic to the client-side and streamlining the back end will result in a site that performs better and faster.

VueJS

Created by former Google employee Evan You, this incredibly adoptable JS has quickly gained recognition among developers. A JavaScript library for building modern web interface, it provides data-reactive components with a simple and flexible API.

Things Developers Love about Vue
  • With a subtle learning curve and a component model, Vue stands on the shoulders of giants to provide benefits of reactive data binding and composable view components with a simple API.
  • A combination of React's best - Virtual DOM and Angular's best - two-way binding, allows VueJS to perform efficiently and improve the performance of the websites.
  • Real-time monitoring of the progress in development with a built-in state management is an added advantage.
  • Vue JS follows a component-oriented development style with modern tooling and supporting libraries. With a simple-to-use syntax, people who are using it for the first time find it easy to adopt.
  • VueJS is one of the top trending JS frameworks on Github.
  • It is highly supported by an awesome community and adoption within the PHP community which does a great job of maintaining good documentation.
Drupal & VueJS

Vue allows developers to request and store Drupal content as data objects using the official Vue-Resource plugin.

In combination with Vue, Drupal can exhibit its magic at the back end while the compelling features of the JS handle the client side. The component system in Vue is one of its most powerful features that allows large-scale application building which comprises small and self-contained reusable components.

ReactJS

ReactJS is more of a library than a framework, used to build user interfaces that work on a concept of reusable components and aim to solve the issues created by the slowness of the DOM by replacing it with the virtual DOM structure. An open-source project maintained by Facebook, ReactJS is the go-to option for some of the biggest corporations for a fast and seamless client-side user experience.

Things Developers Love about React
  • By nature, ReactJS is very readable and easy to understand thus making it easier to understand how components render from their source files.
  • ReactJS does a great job in combining HTML and JavaScript into JSX, which is a great asset for developers as the complexity between HTML and JS is eliminated.
  • With Virtual DOM, React can easily process large amounts of data in an efficient manner by monitoring the lightweight virtual DOMs.
  • Rendered extremely fast, ReactJS is a great option to build speedy public facing apps and sites that are smooth and offer a best in class UI experience.
  • A ton of proper documentation, invaluable tools, add-ons and more which are available to developers, courtesy of constant contribution by Facebook towards the development of React.
  • It is highly supported by an awesome community and adoption within the PHP community which does a great job of maintaining good documentation.
Drupal & ReactJS

A hybrid approach to use React for dealing with the UX complexities while relying on Drupal for handling the content can be an added advantage which easily allows consistent mapping of Drupal and React components.

With Drupal, one of the major weaknesses that hinder its performance is the way it consumes and displays the structure of content to the end user. This goes out of hand when the user interactions are complex and even the combination of Twig with JQuery is not good enough to match the complexities. However, integration with a modern library such as React provides all the necessary modern mechanisms that do a great job in building seamless, rich user experiences.

End-users are now accustomed to better performing websites and they don't expect anything less than a speedy, interactive website with a rich user-experience. To overcome Drupal's limitation in rendering the client-side, decoupled Drupal architecture is now preferred. With the "headless Drupal" approach, the best of Drupal can be experienced without any interruption. These three frameworks (Angular, React and Vue) are not the only ones available for integration. However, when it comes to the performance of a Drupal website, these they are the most preferred by Drupal development companies. Analyze them, match your requirements and then choose the suitable framework that can add to the success of your business.

Drupal Planet Drupal Development Drupal Tutorial Drupal 9 Drupal 8 Shefali ShettyApr 05, 2017 Subscribe For Our Newsletter And Stay Updated Subscribe

Leave us a Comment

  Shefali ShettyApr 05, 2017 Recent Posts Image Front-End Frameworks for Drupal – Helping you to Make a Better Choice Image Boost Up your Drupal 9 SEO game - Implementing the RobotsTxt module in Drupal 9 Image Top 7 Remarkable Education Websites Built on Drupal (and Why was it Chosen) Want to extract the maximum out of Drupal? TALK TO US Featured Success Stories

A Drupal powered multi-site, multi-lingual platform to enable a unified user experience at SEMI.

link

Discover how our technology enabled UX Magazine to cater to their massive audience and launch outreach programs.

link

Discover how a Drupal powered internal portal encouraged the sellers at Flipkart to obtain the latest insights with respect to a particular domain.

link

DrupalCon News: Lead a session at DrupalCon North America

Tue, 02/09/2021 - 12:59

Submit your proposal to host a short, interactive session, and share what you know with the Drupal community.

php[architect]: Community Corner: Interview with Angie Byron, Part Two

Tue, 02/09/2021 - 04:01

Now on Drupal 9, the community isn’t slowing down. This month, we continue our interview with Angie Byron, a.k.a Webchick, a Drupal Core committer and product manager, Drupal Association Board Member, author, speaker, mentor, and Mom, and so much more. Currently, she works at Aquia for the Drupal acceleration team, where her primary role is to “Make Drupal awesome.” We talk about Drupal, coding, family, and her journey throughout the years.

The post Community Corner: Interview with Angie Byron, Part Two appeared first on php[architect].

undpaul: New Drupal module for contextual assistants

Tue, 02/09/2021 - 01:00
To enable visitors to the site to navigate more effectively via individual assistants that inform and direct them to the relevant topics depending on the context - that's what we wanted to realize for one of our projects. However, we lacked a good way to do this in Drupal, so we developed the Site Assistant module. Are you curious what's behind the new Drupal module?

Centarro: Commerce Core 2.24 improves merchant experience, BOGO promotions, and more

Mon, 02/08/2021 - 19:21

Hey, fellow Drupalists! January has been such a busy month at Centarro that we haven't been able to blog about the exciting improvements we've made to Commerce Core since last year's 2.21 release. We've worked specifically to improve the merchant experience to make our clients' lives easier, and we hope the changes will excite you as well.

Order management improvements

Starting on the order view page, we've had multiple client projects where order state transitions should be approved only when an order is paid in full. It's easy enough to alter the transition form to make that a hard requirement, but as with most things eCommerce, it isn't always a requirement. Moving the state transition buttons to the top of the sidebar and placing the order balance right above them makes it easier for merchants to take the next step of processing an order that much faster:

Because the rendering of the order view page is controlled by a Twig template, existing sites will need to reproduce Commerce Core's code change to move the state transitions up / make room for the order balance. Existing sites using the default template will still need to edit their order type(s) to enable the new Order balance field for display.

Read more

Jacob Rockowitz: To Drupal or not to Drupal… that is my mid-career crisis

Mon, 02/08/2021 - 15:34

Two months with a new puppy

As the year came to an end, I shared a blog post title, Ozzy, the puppy, vs. Drupal, the open-source project. This blog post began a discussion about the sustainability of my involvement in the Drupal community, specifically focusing on the maintenance of the Webform module.

In the New Year, Ozzy and I reprioritized my commitment to maintaining the Webform module for Drupal 8/9; I changed my morning routine. Instead of opening my laptop at 5 AM to start work, usually on the Webform module, I make a cup of coffee, sit with Ozzy, and read a book for an hour. It's something I haven’t done in years. Then I take Ozzy for a walk in the park. Because work and family come first. Gradually, I’m timeboxing my contribution to Open Source to a few minutes during the week and an hour or two on weekends. This change is a personal decision as to how I manage my time and commitments.

Changing my commitment to Drupal is a taxing decision because I’ve been a very active contributor to Drupal for the past 5-years, and a member of the Drupal community for over 10 years. Overlapping with that, I’ve held a full-time job at the same organization for over 20 years, and now I have to face professional change, challenge, and a decision.

Two decades working for the same organization

In my first ten years with this organization, I built and maintained a custom Content Management System (CMS), using ASP Classic, JScript, and ColdFusion. Ten years ago, we transitioned the organization's website to Drupal 6, and then more recently migrated to Drupal 8.

Now the organization is building a Digital Experience Platform (DXP), and they have chosen to move to a proprietary CMS. Naturally, I...Read More