Jul 20 2018
Jul 20

Usain Bolt, in his last appearance at the World Track and Field Championships in 2017, stood third by a narrow defeat in the 100m race leaving behind a yawning gulf. Bolt finished the race just a hundredth of a second later than his fellow competitors.

Every (nano)second counts!

Four sprinters crossing the finishing line with crowd cheering them on in the background


Such is the importance of speed that even a three-time Olympic gold medallist, Usain Bolt, had to bear the brunt of those nanoseconds. Someone might ask “How do I get started learning about web performance?”

Visualise that it is the Mega Book Sale Day and the bookworms are thronging the best performing online stores that are selling the books of renowned authors. Coping with such a colossal turn-up, a site with much faster page load speed would be preferred over the ones that are a bit sluggish. Drupal offers a superb platform for an effective website performance optimisation thereby making it faster and user-friendly.

The Significance of Website Performance Optimisation

Web performance optimisation involves monitoring the performance of web application analysing and assessing it, and identifying the best practices to improve it.

Web applications are a combination of server-side and client-side code. To improve the web performance, both the sides need to be optimised.

The client-side optimisation relates to the initial page load time, JavaScript that runs in the browser, downloading all of the resources etc. that are seen in the web browser.

The server-side optimisation relates to database queries and other application dependencies to check how long it takes to run on the server for executing requests.

Performance optimisation is significant because of the following factors:

User retention

BBC found that they are losing out of 10% of users for every extra second their website took to load. Also, DoubleClick by Google found that if the web page took more than 3 seconds to load, 53% of mobile site visitors tend to abandon the page.

Infographic showing statistics on the importance of performance optimisation for improving user retention

 

We all strive to make our users engage in a meaningful interaction with what we have built for the web.

So, if it is an online store, you would like to see a prospective audience turning into buyers. Or if it is a social networking web application, you would want your online visitors to get ensconced in an arresting interaction with one another. High performing sites play a vital role in engaging and retaining users.

An increase in user retention by 5% can result in increased profits by up to 95%.

It costs 5 to 25 times more to attract new customers. So, even a 5% enhancement in customer retention can lead to increased profits of 25%-95%.

By redesigning their web pages, Pinterest combated a 40% reduction in perceived wait times and witnessed a 15% increase in their search engine traffic and sign-ups.

COOK, a provider of high-quality frozen meals, was able to address the average page load time and cut it down by 850 milliseconds which resulted in 7% in conversions, 10% increase in pages per session and 7% decrease in bounce rate.

Improved Conversions

User retention ultimately leads to better conversion rates. Slow sites can have huge repercussions on the business revenues. Better performance of sites can be highly profitable to shore up revenues.

Graphical representation depicting conversion rate and bounce rate with respect to page load timeSource: Hubspot

According to 2016 Q2 Mobile Insights Report by Mobify, 1.11% increase in session-based conversion was seen for every 100ms decrease in homepage load speed. Moreover, a 1.55% increase in session-based conversion was noticed for every 100ms decrease in checkout page load time. The outcome was an increase in the average annual revenue by approximately $530,000.

Also, AutoAnything revved up their sales by 12-13% after decreasing their page load time by half.

User experience

When sites ship tons of code, underwhelming performance persists as the browsers chew through megabytes of it on snail-paced networks. 

Infographic showing statistics on importance of web user experienceSource: Impactbnd

Even the devices with limited processing power and memory can find it hard to cope up with the modest amount of unoptimised code. With poor performance taking centre stage, application responsiveness and availability diminishes.

Better optimised code lead to high functioning and better-performing sites which in return alleviate the digital user experience.

Strategising the web performance

Formulation of strategies to improve web performance can be done in two ways:

Bottom-up strategy

Also known as performance-by-design, the bottom-up strategy is the preferred approach to integrate performance as a core development principle. In this strategy, the performance optimisation principles are framed, applied and maintained. This is done right from the application design phase. 

The key stages that are involved in this approach are stated below:

  • Performance principles are laid out.
  • The key pages/transactions are identified, optimised accordingly, and then performance principles are executed.
  • Performance SLAs (Service Level Agreement) are monitored and maintained.

Here's a chart by Infosys which explains it best: 

Illustration showing the key stages involved in bottom-up strategy for improving the web performanceKey stages involved in bottom-up strategy

Top-down strategy

If an existing application needs to be optimised for performance, top-down strategy comes into play. This is a preferred option only when the legacy applications are being optimised for high performance. Also, this is not cost effective and the optimisation options are limited.

Steps involved in this strategy are as follows:

  1. Factors that are contributing to the page performance are assessed using tools like PageSpeed Insights, WebPageTest etc.
  2. Activities that would lead to maximum performance improvements are optimised.
  3. Other optimisations with subsequent releases are iteratively implemented.

In addition to these strategies, one must consider an important methodology called ‘Performance Budgeting’. It means setting a performance threshold that you aim to stay within. You can safeguard your site speed and detect any regression in the performance by setting up a performance budget to ensure continual eye on performance.

This is how we do it!

Expected load time and Google page speed score, as shown below, is the core of our perpetual and iterative development process.

Illustration showing the key processes involved in the performance budgeting methodology 

The above chart shows that, while applying performance budgeting methodology, we take note of:

  1. Average load time of 2 seconds or less
  2. Defined maximum limit on page size and number of HTTP requests
  3. Verification of all server site tuning for an efficient and responsive site
  4. Google page speed performance grade of above 90
  5. Implementing performance optimisation

How to Speed up My Drupal Website Performance?

How to speed up my Drupal website performance? Drupal is loaded with an enormous amount of features which, when implemented smartly, can lead to superfast page loads. There are several techniques to make your website faster by leveraging the amazing features of Drupal.

Keeping your site and modules updated

Outmoded modules can deter your efforts in speeding up your website. Thus, it is important to update every module enabled on your Drupal site.

Uninstalling unused modules

Like those outdated modules, it is significant to keep a tab on least used or no longer used modules. The number of Drupal modules installed on the site is directly proportional to the time taken for code execution which affects page load time. Uninstalling unwanted modules can alleviate execution time.

Moreover disabling the modules also adds to the execution time of the code. So, a complete removal by uninstalling the unused modules can speed up the Drupal site.

Optimising Cache

Optimisation of native cache system ensures that all the web page components are stored in an easily accessible location after a user visits your site for the very time. So, whenever the user visits your site again, the page elements are loaded from the cache which leads to increased page load speed.

Drupal has the provision of advanced caching with a great set of modules:

  • Internal Page Cache module helps in caching the web pages for anonymous users to increase the speed for subsequent users.
     
  • Dynamic Page Cache module caches web pages for the anonymous and authenticated users and is recommended for the websites of all screen sizes.
     
  • BigPipe module allows your users to quickly see the unchanged, cacheable page elements while the personalised content is exhibited next. This technology was inspired by Facebook. Drupal 8’s much improved render pipeline and render API is of huge help.
     
  • Redis module helps in integrating Drupal with Redis key-value store thereby providing a robust cache system for static pages.
     
  • Varnish module lets you integrate Drupal sites with an advanced and fast reverse-proxy system - Varnish cache -  to serve static files and unknown page-views quicker and at high volumes.

Optimising database

Website coding is not the sole thing that can be optimised. Optimising database by regularly cleaning up the data and removing the unwanted piece of information.

Memcache API and Integration module, help in the integration of Drupal and Memcached. It stores your data in active memory for a limited period of time thereby making it faster to access. 

So, instead of making queries to the database constantly, the information is readily available. Such a system also works on the shared web hosting plans.

Incorporating a Content Delivery Network (CDN)

Components like CSS, JavaScript and media are hosted by CDN and served to the online visitors from the nearest location. This can help in mitigating the page load time by rapidly delivering web page components.

Drupal module, CDN, helps in the integration of Content Delivery Network for Drupal websites. It changes the file URLs so that files like CSS, JavaScripts, images, videos, and fonts are downloaded from the CDN instead of your web server.

Optimising bandwidth

Aggregating all CSS and JavaScript files to make them load together is what bandwidth optimisation refers to. Such a parallel processing ensures that all the page elements can be seen by the users almost immediately.

Optimising images

Drupal 8 core is loaded with image optimisation feature to set the compression ratio of the images and fine-tune the page performance.

Moreover, the size of the images for screen sizes of different devices can be optimised in Drupal 8 to enhance the page load speed.

Handling 404 errors

Whenever something on the website breaks to cause a 404 error, it can lead to sluggishness. For instance, a failed image can damage the performance of the site. Drupal 8 provides a module called Fast 404 which utilises the resources better and whitelists files and verifies pathways of problem.

Managing the use of CSS and JavaScript

CSS and JavaScript provide wonderful methods for customisation and flexibility. But, too much of good things can be troublesome for your websites. Avoiding excessive use of CSS files and JavaScript use and keeping the code to a minimum can improve performance.

Advanced CSS/JS Aggregation, Drupal module, can help in keeping a tab of your front-end performance by aggregating CSS and JavaScript files to improve speed.

Using lazy loading

Lazy or on-demand loading is a perfect way to optimise your site’s performance. In this method, you split your code at logical breakpoints and then load it once the user has done something that requires a new block of code.

Basically, in traditional websites, all the images and content are preloaded into the web browser when someone accesses the site. Lazy loading loads these elements as soon as a user scrolls to view a content.

Blazy, Drupal module, provides the functionalities of lazy loading and multi-serving the images to save bandwidth and server requests.

Better web hosting

It is of consummate importance that, while implementing every possible tips and trick and utilising the Drupal’s amazing features, you chose the best web hosting provider that will decide your site’s ultimate speed, stability and security.

Case Study

The Drupal website of the Farm Journal’s MILK was optimised for high performance and better search engine rankings with a help of carefully drafted audit report by Opensense Labs.

In this section, we will focus on how we used our Drupal expertise to resolve the performance issues.

Project highlights

Previously segregated CSS and JS files cached separately which escalated the page load time. We aggregated all these files and put them in one place which assuaged the page load time.

Moreover, we used Advanced CSS/JS Aggregation Drupal module to minify CSS, JS and HTML and reduce load time.

In addition to these, we enabled Redis, used as a database, cache and message broker, so that it can be used as the backend instead of MySQL. This allowed cached items to be retrieved swiftly and improved performance.

Project outcome

On testing the performance metrics on tools like PageSpeed Insights and Pingdom, we witnessed significant improvement.

PageSpeed Insights

  • Result on handheld devices
Google pagespeed insights result for mobile devices before implementing performance enhancement in the sitePre-implementation (Live Instance)

 

Alt text: Google pagespeed insights result for mobile devices after implementing performance enhancement in the sitePost-implementation (Live Instance)

 

  • Result on Desktop
Google pagespeed insights result for desktop before implementing performance enhancement in the sitePre-implementation (Live Instance)

 

Google pagespeed insights result for desktop after implementing performance enhancement in the sitePost-implementation (Live Instance)

 

Pingdom

Pingdom scores on different performance metrics of site before implementing performance enhancementPre-implementation Pingdom Score (Live Environment)

 

Pingdom scores on different performance metrics of site after implementing performance enhancementPost-implementation Pingdom Score (Live Environment)

 

Conclusion

Speed can be the determining factor in the amount of time an online user spends on your website. It’s important that you remove the sluggishness from your website and inculcate betterments in its performance. Drupal 8 can help by incorporating wonderful features to make your site a high performing space.

Feel free to reach us at [email protected] for developing a high performing Drupal website.

Jul 17 2018
Jul 17

It’s always a battle when planning a website design. Your end goals, target audience, content, user experience, everything must align. It’s like a cloud of thoughts right inside your team’s head. It’s critical to optimize your website experience for the devices your audience is or will be using. 

Emarketer forecasts, approximately 83% of internet users will use a mobile phone to go online by 2021. 

1.2 billion mobile web users worldwide written on a white background with the globe on left

Since now that we’ve established the fact that mobile is where the future lies, a mobile-first redesign is a way to go. We’ll dive into what a mobile-first approach entails, including tips for creating a seamless experience for visitors from mobile devices. 

In 2018, it is critical to analyze what’s the right way to go about it. 

1. Shoot for the least 

Without compromising the functionalities, it is definitely a challenge to pull everything into such a limited real estate. The difference in the screen space of various devices should tell you the varied approach to design. 

Minimalism begins by removing every element one by one.

After listing down all the elements, prioritizing is key. Sort out the cruciality of every element and how would they hierarchically sit in the interface. This should be in a way that the most important elements are displayed prominently. 

If after this exercise there’s still space for more, carefully add some elements in order of importance without overdoing it. Doing this would make sure every inch is utilised to the fullest. 

Content Repository 

The approach to this should be by drafting a document or a spreadsheet containing all the content elements you want the interface to entail. 

List down the page titles, navigation titles and be open to comments from peers. An example is given below:

an example of a content repository with content presented in an excel sheet An example of a content repository

2. Analyse the Important Interaction Points

Comparing smartphones from 2008 to the ones in 2018,  a lot has changed since then. The user experience is no more frustrating. Earlier you had to touch the exact alphabet in the keyboard now the smart devices can read your movement through sensors. Keyboards differ according to the smartphone size, button space and overall sensitivity. And so your mobile design should be approached in the same manner. 

Unfortunately, many websites are still lagging behind when it comes to the user experience which leads to weak engagement, poor sessions and doubled bounce rates. 
Make sure the important elements are not missed. 

This includes: 

  • Make button more clickable
  • Make CTAs more appealing and responsive
  • Choose the right color combination for the user to read on the sunny noon
  • Give hyperlinks plenty of space
  • Keep the tabs in the drop down manner
Image containing two mobiles displaying the differences between a good and bad mobile first design with appealing CTAs.Good vs Bad UX design
The number of mobile phone users in the world is expected to pass the five billion mark by 2019, according to Statista. 

3. Optimize Your Images

When it comes to loading size, images make up nearly 64% of an average web page. Outlining the “why”, it is now important to know how you can optimize your images to deliver an optimum and engaging experience to your user, without hogging on those extra kilobytes of data. 

Hacks to Optimize Images

  • Use correct image dimensions for faster loading
  • Use the correct image format. JPEG image would be a lot lighter than the PNG.
  • Compress your image with lossless compression
  • Use Lazy loader to keep the user engaged

4. Content is all that matters

Devising content around mobile is time-consuming as it requires due thinking and goes through numerous iterations along the course of finalizing the content itself. 

Taking the limited space aside for a while, there are more added difficulties when it comes to mobile web development. 

There comes screen rotation, device to device compatibility, text and image overlaps and what not. These factors have everything to make your content look very less appealing. What do you do for cutting these hurdles off? 

Think from an app perspective

Mobile users are accustomed to motion and a modicum of control in their experience. Think about off-canvas navigation, expandable widgets, AJAX calls, or other elements on the screen with which users can interact without refreshing the page. This would help you always maintain the right threshold for user experience. 

Screen and remove all the distracting elements, make the content as precise as possible while catering to actual product or service display. 

Landscape photos and complex graphics don't show well when your screen is reduced by half. Take into account the mobile user with pictures that are comprehensible on handheld screens.

5. Be a User, Before Presenting to the User

Our industry standard for approaching design is devising wireframes first. During wireframing or prototyping, use adaptive breakpoints reference. It streamlines the process of moving to different screen sizes, starting with the least real estate. 

Hover is off the table

Interactive interfaces from 2018 mostly utilize hover effects. UX designers go bonkers over them. But that’s a desktop only thing as we do not have the finger-hover technology in town. You will have to forget hover' existence when going mobile. 

Having trouble configuring your site? Check out services by OpenSense Labs.

6. Opt for Accelerated Mobile Pages

Your users are likely to bounce off your website if it doesn’t load within 3 seconds. With mobile, the standard has been set high (or rather less). Since the internet has been taken for granted, people have become second sensitive these days. 

AMP does bring you speedy pages and is a great way to boost your SEO and stop losing out of potential customers. It’s important to note that Google has gone lengths to identify and promote AMP pages.

If your web pages follow AMP standards, it becomes eligible to be cached by Google and appear in the search results and carousels with the AMP logo, indicating that they offer a fast experience. 

A standard built on top of existing technologies to speed up the loading of web pages on mobile devices.
Search result for google pixel. The first story has the AMP logo

How to go about it?

Configure AMP in your website

7. Make engagement on Mobile Simple 

Whether it’s deciding between a “hamburger” style menu or a more visible-style on the front end or how to display forms on specific pages, don’t make engagement paths more abstract than they need to be. Engagement should be extremely crisp and effective in nature.


Set the Display Order

Now, after listing down all the elements, prioritizing is key. Sort out the cruciality of every element and how would they hierarchically sit in the interface. This should be in a way that the most important elements are displayed prominently. 

8. Test It Before You Sell It

Even after having the final product in your hands, recommendations and tweaks will keep flowing in. Change is evergreen. With changes being made, you need to be testing them as soon as they are deployed. 

Nothing beats discovering for yourself how usable a website is (or isn’t). Step away from your computer desktops and load up your product on a real phone or tablet. 

Test it in a real devices 

Using testing tools, you can conduct A/B tests. Some tests may be like, an orange CTA vs a Yellow CTA, Button size changes, block layout tweaks and etc. Tests can range from regular functionality checks to user experience tests.

Tap through pages. Is the site easy to navigate? Does it load in a timely fashion? Are the text and graphics easy to read?

It's as clear as the skies that the future of the internet is dependent on mobile experiences. Responsive web design is a must if you run your business online or attend to your customers for any purpose. 

The tips above will help you build what you are looking at while making the least possible amount of mistakes. 

If you need any further recommendations, we are here. Hook with us at [email protected] or tweet us at @OpenSenseLabs and our mobile development team will save you the trouble.

Jul 16 2018
Jul 16

Modern applications are expected to be equipped with powerful search engines. Drupal provides a core search module that is capable of doing a basic keyword search by querying the database. When it comes to storing and retrieving data, databases are very efficient and reliable. They can be also used for basic filtering and aggregating of data. However, they are not very efficient when it comes to searching for specific terms and phrases.

seriers of files with the bookmark


Performing inefficient queries on large sets of data can result in a poor performance. Moreover, what if we want to sort the search results according to their relevance, implement advanced searching techniques like autocompletion, full-text, fuzzy search or integrate search with RESTful APIs to build a decoupled application?

This is where dedicated search servers come into the picture. They provide a robust solution to all these problems. There are a few popular open-source search engines to choose from, such as Apache Solr, Elasticsearch, and Sphinx. When to use which one depends on your needs and situation, and is a discussion for another day. In this article, we are going to explore how we can use Elasticsearch for indexing in Drupal.

What is Elasticsearch?

“Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you to store, search, and analyze big volumes of data quickly and in near real time.” – elastic.co 

It is a search server built using Apache Lucene, a Java library, that can be used to implement advanced searching techniques and perform analytics on large sets of data without compromising on performance.

“You Know, for Search”

It is a document-oriented search engine, that is, it stores and queries data in JSON format. It also provides a RESTful interface to interact with the Lucene engine. 

Many popular communities including Github, StackOverflow, and Wikipedia benefit from Elasticsearch due to its speed, distributed architecture, and scalability.

Downloading and Running Elasticsearch server

Before integrating Elasticsearch with Drupal, we need to install it on our machine. Since it needs Java, make sure you have Java 8 or later installed on the system. Also, the Drupal module currently supports the version 5 of Elasticsearch, so download the same.

  • Download the archive from its website and extract it
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.tar.gz
$ tar -zxvf elasticsearch-5.6.10.tar.gz
  • Execute the “elasticsearch” bash script located inside the bin directory. If you are on Windows, execute the “elasticsearch.bat” batch file
$ elasticsearch-5.6.10/bin/elasticsearch

The search server should start running on port 9200 port of localhost by default. To make sure it has been set up correctly, make a request at http://localhost:9200/ 

$ curl http://localhost:9200

If you receive the following response, you are good to go

{
  "name" : "hzBUZA1",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "5RMhDoOHSfyI4a9s78qJtQ",
  "version" : {
    "number" : "5.6.10",
    "build_hash" : "b727a60",
    "build_date" : "2018-06-06T15:48:34.860Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

Since Elasticsearch does not do any access control out of the box, you must take care of it while deploying it.

Integrating Elasticsearch with Drupal

Now that we have the search server up and running, we can proceed with integrating it with Drupal. In D8, it can be done in two ways (unless you build your own custom solution, of course).

  1. Using Search API and Elasticsearch Connector
  2. Using Elastic Search module

Method 1: Using Search API and Elasticsearch Connector

We will need the following modules.

However, we also need two PHP libraries for it to work – des-connector and php-lucene. Let us download them using composer as it will take care of the dependencies.

$ composer require 'drupal/elasticsearch_connector:^5.0'
$ composer require 'drupal/search_api:^1.8'

Now, enable the modules either using drupal console, drush or by admin UI.

$ drupal module:install elasticsearch_connector search_api

or

$ drush en elasticsearch_connector search_api -y

You can verify that the library has been correctly installed from Status reports available under admin/reports/status.

status of the library under Status ReportsViewing the status of the library under Status Reports

Configuring Elasticsearch Connector

Now, we need to create a cluster (collection of node servers) where all the data will get stored or indexed.

  1. Navigate to Manage → Configuration → Search and metadata → Elasticsearch Connector and click on “Add cluster” button
  2. Fill in the details of the cluster. Give an admin title, enter the server URL, optionally make it the default cluster and make sure to keep the status as Active.Adding an Elasticsearch ClusterAdding an Elasticsearch Cluster
  3. Click on “Save” button to add the cluster

Adding a Search API server

In Drupal, Search API is responsible for providing the interface to a search server. In our case, it is the Elasticsearch. We need to make the Search API server to point to the recently created cluster.

  1. Navigate to Manage → Configuration → Search and metadata → Search API and click on “Add server” button
  2. Give the server a suitable name and description. Select “Elasticsearch” as the backend and optionally adjust the fuzzinessAdding a Search API serverAdding a Search API server
  3. Click on “Save” to add the serverViewing the status of the newly added serverViewing the status of the newly added server

Creating a Search API Index and adding fields to it

Next, we need to create a Search API index. The terminologies used here can be a bit confusing. The Search API index is basically an Elasticsearch Type (and not Elasticsearch index). 

  1. On the same configuration page, click on “Add Index” button
  2. Give an administrative name to the index. Select the entities in the data sources which you need to indexAdding the data sources of the search indexAdding the data sources of the search index
  3. Select the bundles and language to be indexed while configuring the data source, and also select the indexing order.Configuring the added data sourcesConfiguring the added data sources
  4. Next, select the search API server, check enabled. You may want to disable the immediate indexing. Then, click on “Save and add fields”Configuring the search index optionsConfiguring the search index options
  5. Now, we need to add the fields to be indexed. These fields will become the fields of the documents in our Elasticsearch index. Click on the “Add field” button.
  6. Click on “Add” button next to the field you wish to add. Let’s add the title and click on “Done”Adding the required fields to the indexAdding the required fields to the index
  7. Now, configure the type of the field. This can vary with your application. If you are implementing a search functionality, you may want to select “Full-text”Customizing the fields of the indexCustomizing the fields of the index
  8. Finally, click on “Save Changes”

Processing of Data

This is an important concept of how a search engine works. We need to perform certain operations on data before indexing it into the search server. For example, consider an implementation of a simple full-text search bar in a view or a decoupled application. 

  1. To implement this, click on the “Processors” tab. Enable the following and arrange them in this order.
    1. Tokenization: Split the text into tokens or words
    2. Lower Casing: Change the case of all the tokens into lower
    3. Removing stopwords: Remove the noise words like ‘is’, ‘the’, ‘was’, etc
    4. Stemming: Chop off or modify the end of words like  ‘–-ing’, ‘–uous’, etc

      Along with these steps, you may enable checks on Content access, publishing status of the entity and enable Result Highlighting

  2. Scroll down to the bottom, arrange the order and enable all the processes from their individual vertical tabs.Arranging the order of ProcessorsArranging the order of Processors
  3. Click on “Save” to save the configuration.

Note that the processes that need to be applied can vary on your application. For example, you shouldn’t remove the stopwords if you want to implement Autocompletion.

Indexing the content items

By default, Drupal cron will do the job of indexing whenever it executes. But for the time being, let’s index the items manually from the “View” tab.

Indexing the content itemsIndexing the content items

Optionally alter the batch size and click on “Index now” button to start indexing.

Wait for the indexing to finishWait for the indexing to finish

Now, you can view or browse the created index using the REST interface or a client like Elasticsearch Head or Kibana. 

$ curl http://localhost:9200/elasticsearch_drupal_content_index/_search?pretty=true&q=*:*
Creating a view with full-text searchCreating a view with full-text search

You may create a view with the search index or use the REST interface of Elasticsearch to build a decoupled application.

Example of a full-text search using Drupal viewExample of a full-text search using Drupal view

Method 2: Using Elastic Search module

As you may notice, there is a lot of terminology mismatch between Search API and Elasticsearch’s core concepts. Hence, we can alternatively use this method.

For this, we will need the Elastic Search module and 3 PHP libraries – elasticsearch, elasticsearch-dsl, and twlib. Let’s download the module using composer.

$ composer require 'drupal/elastic_search:^1.2'

Now, enable it either using drupal console, drush or by admin UI.

$ drupal module:install elastic_search

or

$ drush en elastic_search -y

Connecting to Elasticsearch Server

First, we need to connect the module with the search server, similar to the previous method.

  1. Navigate to Configuration → Search and metadata → Elastic Server
  2. Select HTTP protocol, add the elastic search host and port number, and optionally add the Kibana host. You may also add a prefix for indices. Rest of the configurations can be left at defaults.Adding the Elasticsearch serverAdding the Elasticsearch server
  3. Click on “Save configurations” to add the server

Generating mappings and configuring them

A mapping is essentially a schema that will define the fields of the documents in an index. All the bundles of entities in Drupal can be mapped into indices.

  1. Click on “Generate mappings”
  2. Select the entity type, let’s say node. Then select its bundles. Optionally allow mapping of its childrenAdding the entity and selecting its bundles to be mappedAdding the entity and selecting its bundles to be mapped
  3. Click on “Submit” button. It will automatically add all the fields, you may want to keep only the desired fields and configure them correctly. Their mapping DSL can also be exported.Configuring the fields of a bundleConfiguring the fields of a bundle

Generating index and pushing the documents

Now, we can push the indices and the required documents to the search server.

  1. For that, move on to the indices tab, click on “Generate New Elastic Search Indices” and then click on “Push Server Indices and Mappings”. This will create all the indices on the server.
  2. Now index all the nodes using “Push All Documents”. You may also push the nodes for a specific index. Wait for the indexing to finish.Managing the indices using the admin UIManaging the indices using the admin UI

Conclusion

Drupal entities can be indexed into the Elasticsearch documents, which can be used to create an advanced search system using Drupal views or can be used to build a decoupled application using the REST interface of Elasticsearch. 
While Search API provides an abstract approach, the Elastic Search module follows the conventions and principles of the search engine itself to index the documents. Either way, you can relish the flexibility, power, and speed of Elasticsearch to build your desired solution.

Jul 11 2018
Jul 11

The American Disability Act (ADA), 1990 provides provisions to secure the rights of specially-abled people. Although, when first passed, it focussed primarily on physical properties, over time it has covered digital spaces too, which means people can take a complaint to the court for discriminating and violating the ADA act. 

Accessibility is a more accepted norm when it comes to physical infrastructure, however, when accessibility translates to the digital space, industries across the web are struggling to answer. Higher education is no exception.

Building entrance with people sitting on stairs and three Harvard flags tucked on four pillars

 

“The National Association of the Deaf in 2015 slapped Harvard University and Massachusetts Institute of Technology in Massachusetts federal court, accusing them of discriminating against deaf and hard-of-hearing people” 

An absence of hard and fast rules to adhere to in the higher education sector often lead institutes to ignore the web accessibility practices. 

Exploring the Issues in Higher Ed and the ADA Compliance

Lawsuits can be avoided by following WCAG 2.0. Since web accessibility guidelines and best practices are already clear through WCAG 2.0. 

The ADA Compliance

The ADA not only covers the general non-discriminatory guidelines but also encourages organizations, institutions, and businesses to provide accommodations to people with disabilities so they can have the same level of access to services as everyone else. 

The law was amended later in 2008 to fit the conditions of modern society and include the digital space while broadening the term “disability”.

Since, ADA conforms to other state laws, including section 508 of the Rehabilitation Act and existing WCAG 2.0 guidelines, hence the term - ADA Website Compliance. In January 2017, the federal government adopted the Web Content Accessibility Guidelines, (popular as WCAG 2.0) setting the standards with A and AA level for all websites. 

The Guiding Principles to Web Accessibility - POUR

The WCAG 2.0 consists of 12 guidelines with four arching principles of POUR. These guidelines relate to one simple question: can the users with varying degree of ability ingest the content on your site?

“Just as no ramps would exclude people with a wheelchair, videos without caption exclude people who are hard of hearing.”

Accessibility in higher education should not be restricted only to lectures and videos. In the case of a flash-based campus tour, there should be alt-text for visually impaired people. Accessing content should be intuitive. Making navigation easier needs to be part of the plan. 

Perceivable
Operable
Understandable
Robust

  • Perceivable

The content needs to be presented in different ways, including assistive technologies, without losing its meaning. The easiest way to do so is by providing alt-text for non-text content. The content should be easier to see and hear. 

By no means should the multimedia content be unattainable.  In the case of Harvard and Massachusetts Institute of Technology, the content was not perceivable for the deaf and hard-of-hearing people.

Story of Harvard: Harvard and M.I.T. have extensive free materials online, distributed across platforms like [email protected], MIT OpenCourseWare, YouTube, and iTunesU, edX which offers extensive massive open online courses (MOOCs), free to students around the world. 

The videos either did not include captions or were inaccurately captioned (read unintelligibly) making it inaccessible for people with hearing ability.

"Accessible" means fully and equally accessible to, and independently usable by, differently abled students and faculty members in a way that they can acquire the same information, engage in the same interactions, and enjoy the same services as sighted students and faculty with substantially equivalent ease of use.

This principle ensures that the content is easy to operate upon. Web accessibility issues are not synonymous with visibility issues, as is the popular myth. They are as much a problem for people with hearing disability as for a person with a neurological or cognitive disorder. 

The content on the website needs to be accessible with a keyboard for people with limited motor functions, people with color blindness, and avoiding the use of content and types that cause seizure. 

“People living with reflex epilepsy have seizures that occur in response to a specific stimulus, like flashing lights or by noises.” 
  • Understandable

Is the text readable for people with difference in visual ability? This principle ensures that the content appears and operates in a predictable way. This specifically focuses on the issues related to color contrast. 

Two bad examples of contrast on left with black on yellow vs two good contrast example with yellow on black on right

Accessing content should be intuitive and easy. To disable the pop-up button or going back need not be a time-consuming exercise.  

Atlantic Cape Community College in 2007 was dragged to court by a visually challenged student after the campus and curriculum proved to be a challenge for him. 

Any content - written or multimedia - should be future proof. Efforts should be made to maximize compatibility with current and future user tools. Before the dawn of the 21st century, screen readers were not as popular as they are 18 years later. A decade back even mobile phones were not as ubiquitous. 

Assistive technologies are advancing by leaps and bounds, and your site needs to adapt and step up with upcoming trends in hardware and software tools. In order to keep the content robust, higher ed institutes need to adhere to best practices or lose it the way University of California, Berkeley did.

“In a similar scenario in 2017, The University of California, Berkeley, in response to a Justice Department accessibility order, had two options:

1. Update existing content to comply with accessibility standards.
2. Remove more than 20,000 video and audio files from public view.

They chose the latter, the digital equivalent of boarding up the entrance to a building instead of installing a wheelchair accessible ramp.”

Checklist: Making Higher Ed Institutes ADA Compliant

In its defense, the Harvard University asked the court to propose rules “to provide much-needed guidance in this area”. This is one of the most infuriating aspects of accessibility compliance in higher education – there has been an absence of hard and fast rules to adhere to. Something that echoes the statement of Harvard. 

Logo of Massachusetts Institute of Technology on the top left, Harvard University on the top right, and edX on center bottom


Now that we understand the guiding principles, we are in a better position to deliver a better user experience to all. One thing worth highlighting is - accessibility issues are easier to address before they manifest on your site, not after. 

“It costs significantly less to make a site accessible than it does to procure the lawyer to protect you in an accessibility claim.” 

Under WCAG 2.0 priority levels are assigned to each checkpoint based on its impact on accessibility. These levels were the following:

Priority 1: Conforming to this level will make it possible for one or more groups to access the web content. This is level A.
Priority 2: Conforming to this level will make it easy for one or more groups to access the web content. This is level AA. 
Priority 3: Conforming to this level will make it easier for most of the groups to access the web content. This is level AAA.

Drupal has been powering higher education websites. In fact, it is one of the most-sought-after CMS for higher education institutes. Read Why Drupal Is Your Best Bet For Your Educational Site

Level A Conformance 

  • Provide web pages with titles that describe the topic or purpose of the page.
     
  • Make sure it is navigated in a meaningful manner while providing the options to bypass repeating blocks of content on multiple pages.
     
  • Make sure that the purpose of each link can be determined by the link text alone unless the purpose is ambiguous to all users.
     
  • In case of an input error made by the user, provide text information specifying the item in error and the error itself.
     
  • Provide labels, guidance and instructions, and text alternatives for all non-text content. Controls or input fields must have a name describing their purpose. 
     
  • Information must be accessible to different users in multiple ways, including through assistive technologies (such as screen readers) without losing information. 
     
  • Using colors that convey visual information, distinguishing visual components, indicating actions or prompting for a response.
     
  • Users must have the ability to fully operate the website through a keyboard interface, including the ability to pause and stop any presentation, audio or adjust the volume. 
     
  • Content must not cause seizures. Avoid designing content in a way that is known to cause seizures.
     
  • Compatibility with other user software, like the ones in assistive technologies.

Level AA Conformance - other than those in level A

  • Provide captions for all live audio content. And provide audio descriptions for all pre-recorded video content.
     
  • Text content and images of text must have a contrast ratio of 4.5:1. Content that serves only design purposes have no contrast requirements.
     
  • Enable the user to resize the text up to 200 percent without any assistive technology.
     
  • Use of text over images, whenever possible.
     
  • Provide multiple ways to locate web pages.
     
  • Ensure the keyboard focus indicator visibility through all interfaces.
     
  • Components with the same functionality must be identified consistently.
     
  • Ensure the security of legal and financial data transactions by making them reversible, and giving the user an opportunity to recheck the input data and the confirmation mechanism before finalizing submission.

Level AAA Conformance - other than those in level A and AA

  • Support all pre-recorded audio content with sign language interpretation and provide extended audio descriptions for all prerecorded video content where there’s no opportunity to pause the foreground audio and provide audio descriptions.
     
  • The contrast ratio between text and images must be 7:1. However, text or images which serve only design purposes do not require contrast or alt text.
     
  • Any pre-recorded audio content must provide users with context-sensitive help. In case the audio-content is not a CAPTCHA it should either:
    • must not contain any background sounds
    • or the background sounds can be turned off, 
    • or the background sounds should be at least 20 dB lower than the pre-recorded speech content. 
       
  • Provide users with a mechanism to choose foreground and background colors. With the width of blocks of content must not exceed 80 characters or glyphs.
     
  • Line spacing must be at least 1.5 spaces within paragraphs and paragraph spacing must be at least 1.5 times larger than the line spacing.
     
  • Ensure the text can be adjusted up to 200 percent without the use of assistive technologies. The user does not have to scroll horizontally to read a line of text.
     
  • Allow users to postpone or suppress interruptions, except in the case of emergency.
     
  • Ensure the users can continue their activity without much interference or loss of data after re-authentication in case the authenticated session expires. 
     
  • Include information on the user’s location within a set of pages. Provide supplementary content for identifying definitions of unusual words or phrases, including idioms, abbreviations, and jargon.
     
  • Provide additional content when users require a more advanced education level than lower secondary education (to 9th grade) to understand the content.
     
  • Changes of web content may only be initiated by the user or the user must be provided with a mechanism to turn off such changes.

It is worth noting that web accessibility compliance may not be realistic for all websites depending on the type of content. Drop a mail at [email protected] and connect with us if you are planning to build a user-friendly education website. 

Jul 05 2018
Jul 05

When you want to buy a new shirt from an emporium, you look for the best shop that can exhibit different pieces of nicest clothes for you to choose from. Not much has changed with the emergence of the online stores. You still strive to buy the best thing available on the best e-commerce site. Drupal Commerce and Magento offer an amazing e-commerce platform for the digital businesses to establish themselves as the best in the industry.

An illustration showing a shopping cart and 6 people sitting or standing in and around it using their phone or laptop


Drupal Commerce and Magento have different features and specifications. Determining which one is the most suited for your organization’s needs is a matter to be pondered over. To yield the best crop, comparing both of them side-by-side can give you a better picture.

A brief look at Drupal Commerce and Magento

Drupal Commerce

Logo of Drupal Commerce showing a shopping cart and Drupal Commerce written on right

With more than 60,000 sites powered by Drupal Commerce, a module, it is one of the most flexible e-commerce solutions for websites and applications of all sizes. Drupal 7 and Drupal 8 are the versions to be maintained and supported for the years to come. While building an online store in former will require Commerce 1.x, and for the latter Commerce 2.x.

Drupal Commerce is meritorious in various ways bringing e-retailers more traffic to drive more results.
graphical representation of usage statistics of Drupal Commerce from 2013 to 2018Usage statistics for Drupal Commerce from Drupal.org
  • Easy usage: It helps in the development of administration system and customised business workflow. Hence, even a person without the technical expertise can make alterations and do the testing which makes it a marketing driven commerce.
     
  • Digital experience: It enhances digital experience by incorporating commerce, content and, community and brings e-retailers more traffic.
     
  • Business-centric: It gives you the structure that you need for your online store without setting preamble and assuming your business requirements. Simply saying, it is the king of customisation.
     
  • King of content: Built on top of enterprise CMS, it offers a commerce platform to intertwine content and products seamlessly, thereby driving both online and offline sales via a wonderful UX, optimised merchandised tools, and efficient SEO techniques.
     
  • Easy configuration: With its robustness and flexibility, it is configurable to fit right for your enterprise’s needs. It is great for any sort of physical and non-physical items that demand payment models like recurring, licensing or subscription.
     
  • Cost-effective: Being an open source software, it is an affordable solution.
     
  • Adaptable: It allows third-party integrations and enhancements in the features and functionalities to adapt the changing needs of a business. Be it Authorize.net, Braintree, PayPal, Stripe, Amazon Pay and a lot of other payment gateways, it provides many integrations. Thus, it is highly extensible.
Homepage of ObermeyerThe Drupal project of Obermeyer had to encounter a lot of challenges with 3 different websites for 3 distinct audiences in addition to autonomous ERP and B2B ordering systems. Their objective was to optimise the digital processes of Obermeyer and provide an excellent digital experience through a centralised platform. By leveraging the benefits of Drupal 8 and Drupal Commerce 2.x, they built a robust enterprise ecommerce solution that could offer friction-free online shopping experience to their B2B, B2C and VIP audiences.

Magento

Providing a flexible shopping cart system, Magento is another e-commerce platform that is offering online merchants a robust solution and the control over the appearance, content and, functionalities of their e-commerce websites. It provides tools for a powerful marketing, SEO and, catalog-management. Ranging from small-scale sites to the large-scale enterprise SaaS-based systems, it has wonderful platform to accommodate the needs of business requirements.

Graphical representation of usage statistics of MagentoUsage statistics for Magento from BuiltWith.com

Some of the highpoints of Magento where it is advantageous is mentioned below:

  • Installation: It is very simple when it comes to installation and features additional layouts and plug-ins.
     
  • Affordable solution: It offers an efficacious and cost-effective solution being an open source software.
     
  • Payment gateways: Some of its worldwide available payment gateways are PayPal, Authorize.net, CyberSource etc.

Drupal Commerce vs Magento. Which one is the better e-commerce platform?

An exhaustive and side-by-side comparison of Drupal Commerce and Magento needs to be hammered out to see where they score higher.

Metrics/Platforms

Drupal Commerce

Magento

Installation

Easy installation from the scratch

Easy installation from the ground up

Usage

Easy to learn

Steep learning curve

Content management

Can create complex content relationship

Has a basic content management system

Catalogue management

Dynamic addition or removal of products possible

Conventional way of displaying products

Mobile responsiveness

Fully responsive

Fully responsive

Features and functionalities

Great for complex online stores

Good only for simple shopping carts

Multilingual

Has in-built modules to create multilingual site

Multiple Store Views helps in building multilingual site

Administration interface

Easily customisable

Difficult to customise

Cost constraints

Being open source technology, it is absolutely free to use

Shown identity shift with newer modules not free to use

Business-driven

Can be easily integrated with multiple ventures of your business

Would require two or more independent systems to integrate with multiple ventures

SEO tools

Plethora of modules available for enabling SEO

Built-in SEO-friendly tools available

Skills required

Required minimal coding skills

Requires advanced coding skills

Integration scope

Third party integrations possible

Provision for third party integrations available

Security

Most security focussed

Relatively less secure

Installation

illustration showing a man using a machine to place engine in a car and engine installation written below it

Drupal Commerce allows developers to install from the scratch. An installation package has to be downloaded and installed. It requires you to install Drupal CMS and then enable the Drupal Commerce module or use an installation profile to automatically enable it.

Magento allows developers to install from the ground up by providing installation package to be downloaded, loaded and installed.

Verdict: Match is drawn. No side wins this contest. Both of them offer a wonderful platform for the installation.

Usage

A laptop with mouse and keyboard with the screen of laptop resembling an open book

Having a site running on Drupal and familiarity with the Drupal features and functionalities would make your life easier in learning how to use Drupal Commerce.

Although Magento gives complete control to the users and comes with some amazing features, Magento professionals are required to fully extract its potential and use its functionalities to the fullest. Someone new to Magento may lead a tough learning curve initially.

Verdict: Thus, it has the advantage over Magento as you do not have to consume a lot of your time in learning its functionalities. Being adept with Drupal helps in learning Drupal Commerce in no time.

Content Management

A laptop at the centre is being used and five different graphical task sheets connected to it

Built on top of Drupal, Drupal Commerce permits you to endlessly create content types with custom fields and attributes, and cool media tools, thereby improving the editing experience. Its provision for content relationships helps you in forming a listicle consisting of related products and blog posts. Also, you can customise your landing page with optimised product lists. It is great for businesses who consider providing content as the fulcrum of their growth.

In contrast, Magento has a very basic content management system. It only allows you to add pages, some content to different categories of pages and attributes to the products. Other than this, you will step into its custom domain. This incurs heavy costs and increases ongoing support.

Verdict: Drupal Commerce is, obviously, miles ahead and hugely beneficial in this arena.

Catalog Management

A finger tip is clicking on an icon displayed on a tablet and many different icons connected to the tablet from the outside

A product can be dynamically added or removed from the product list automatically in Drupal Commerce. You can develop a traditional catalog-like experience and it automatically follows the way you have organized your products and uses attributes associated with them. Be it tables, grids, or lists, products can be exhibited on your website in any pluggable style with each having their own appearance and feel. This immensely helps in building user engagement.

Magento has a very conventional way of how products are organized and added to the list. You build a set of classifications in a catalog root where the products can be included. A product can fall into multiple categories depending on their type and how the users are trying to find these products. But Magento follows a strict provision for displaying products on the site. For instance, only lists and grid views are available for product listings.

Verdict: Drupal Commerce, apparently, has the upper hand in this area.

Mobile responsiveness

A laptop, a desktop, a tablet and a phone is displayed and responsive web design written below it

Drupal Commerce offers screen flexibility for building the most powerful and versatile business engine in today’s market. Drupal themes help in lending a fully responsive design for the ecommerce website.

For instance, SShop is a bootstrap based Drupal 8 theme with out-of-the-box support for Drupal Commerce. It provides multi-level responsive header menu, slideshow on the homepage, and a custom layout.

Corolla is another stupendously stylised colorable Drupal theme that comes with 6 preset colour schemes, custom colour options, mobile responsive features, and box shadow and background texture options among others.

eStore is a fully responsive, bootstrap-based Drupal theme that comes with cool functionalities like product layouts collection to scan through and choose from, slider content types, custom field additions to the Default Product Type, content types included in the configurations etc.

Magento is not far behind. It adopts responsive web design approach to craft websites that provide an optimal viewing experience across a wide range of devices. For instance, the out-of-the-box Magento Blank and Luma themes offer a fully responsive design.

Verdict: Providing a beautiful design to the site and making the responsive across devices, both the platforms are equally beneficial in this area.

Features and functionalities

a magnifying glass with the word 'features' written over the glass

One of the foremost advantages of Drupal Commerce is that it has a huge and a growing list of modules for enabling customised features and functionalities. Building a custom application and providing a wonderful digital experience thereby incorporating features that are beyond commerce, it is adaptable to changing times and business needs. Whether you need to add web services or forums, it gives you the space for adding a functionality which is entirely new.

Magento comes with a nice set of features which is really good for your online store. If you are looking at a product on the basis of its published feature set, then Magento is good for you. So, in simple words, if you just need to develop a shopping cart, opt for it.

Verdict: Hence, unlike Magento, not only a simple shopping cart, Drupal Commerce can customise your online shopping site for a wide array of needs.

Multilingual capabilities

'I love you' written in many different languages clustered together

Drupal 8 comes with out-of-the-box modules for translating the content on the website. Its built-in language handling abilities help in delivering localised digital experiences by letting you choose from 94 languages.

It also offers the individuals who work on the site - site administrators, content editors, and translators - the choice of their own language. From pages to the taxonomy terms, it can translate everything. Even the configuration of the site like blocks, panels, views etc. can be translated.

With every Magento theme, you can incorporate a multilingual storefront without a lot of trials and tribulations thereby allowing the user to switch between languages with ease.

Store Views are the store instances in the Magento platform. So, if you are running a ecommerce website with a single language, single Store View is required. For multilingual sites, it allows you to have multiple Store Views.

Verdict: Both the platforms share this arena equally and lets you run a great multilingual online store.

Administration interface

9 different icons arranged in an order with each showing administrative tasks of an user

Without even making changes to the code, you can customise the admin interface as per your needs in Drupal Commerce. It lets you create screens for specific users with certain administrative actions.

Magento gives you a structured and properly defined way to govern the entire store. If you are complacent with its built-in admin interface functionalities, then it’s good for you. But if the need arises for some more features, then a lot of development effort is required to make customizations.

Verdict: With provision to choose from a huge list of Drupal modules to make the admin UX better, it should be a no-brainer of a choice that points to Drupal Commerce.

Cost constraints

a hand clasping cash notes

Drupal is an open source technology. So, it is absolutely free to use.

In contrast Magento is showing an identity shift according to Gartner’s Magic Quadrant for Digital Commerce in 2018. It states that some newer modules in Magento are not being offered as open source. Moreover, the prospects drawn to Magento because of its strong reputation in the open source community should be careful of this tectonic shift and determine whether or not they are comfortable with this.

Verdict: Being an open source technology, Drupal Commerce clearly excels in this category. 

Business-Driven

Different people standing over unresolved puzzle of an arrow symbol

Drupal Commerce can help make a site with any of these functionalities or all at once: a multilingual site, a multisite, community forum or an online store. So, it can integrate with multiple business platforms under one umbrella.

To integrate Magento with any other part of business ventures like forums or subscriptions, you will have to confront with two independent systems working with each other. This calls for third-party solutions to keep data between several systems in sync and up-to-date.

Verdict: Drupal Commerce clearly wins this race by miles with a wide pool of benefits for your business.

SEO tools

A laptop displaying the word 'SEO' and the terms 'keyword' and 'result' connected to it.

You can enable SEO through superabundance of modules in Drupal like Pathauto, XML Sitemap, Redirect etc.

With Magento’s out-of-the-box SEO tools, you can easily adjust URLs, meta information, and verify search terms and ranking through Google integration.

Verdict: Both of them offer a perfect platform for making the site search friendly.

Skills required

An illustration showing the word 'Skill' in the centre with may different icons surrounding it.

Without much coding experience, you can easily pick the basics quickly in Drupal Commerce. For someone with minimal coding knowledge, it offers modules like Views, features etc to power user interface. Even for a code genius, aforementioned modules can be really helpful.

With heavy usage of objects, inheritance, and programming concepts, someone with minimal experience of coding, may find it tough in Magento to get to the scheme of things quickly. Also, understanding and detecting Magento extension clashes can be tricky. It has an okay documentation available but active Magento community and a wide range of training and support offering can be pretty useful.

Verdict: With an active, engaging and responsive Drupal Community and a plethora of training and support services available, Drupal Commerce should be the default choice.

Integration scope

Different coloured and non-coloured circles connected to one big circle in the centre

Drupal Commerce can seamlessly integrate with third-party tools. Some of the examples are: 

Magento offers support for third-party integrations too. Some of the example categories are:

  • Magento theme or template integration allows you to use third-party themes from Themeforest or TemplateMonster.
  • SMS gateway integration with third-party service providers like Kapsystem is possible in Magento
  • It also allows Payment Gateway integration with Paypal, Amazon Pay etc.
  • Magento API integrations can be done with Xero, Salesforce, Box etc.
  • It can also be integrated with leading CMS like Drupal.

Verdict: Both the platforms offer third-party integrations.

Security

A house lock

Statistically proven, Drupal is the best security focussed CMS among the major CMS platforms like Wordpress, Joomla and Magento. Both the infected websites and the infection rate of Magento were much higher than that of Drupal in the Hacked Website Report from Sucuri.

Comparison from previous report in Q3 2016 to 2017 for the top four CMSSource: Sucuri.net

Verdict: Drupal is the most secure CMS and should be prioritised over Magento.

Conclusion

For the best e-commerce site, digital firms have to thrive on the e-commerce platforms for a unique and a masterclass of a website. Drupal Commerce and Magento provide a platform for setting up an e-commerce site efficiently. To understand what suits your organisation’s needs, you have to properly understand their features and functionalities to choose wisely. A side-by-side comparison delineates that Drupal Commerce has the clear edge over Magento and comes out as the winner.

We provide Drupal Commerce services to help you scale up. Contact us at [email protected] to gauge which platform would be the best for your enterprise needs.

Jul 02 2018
Jul 02

Governance plays a pivotal role in the business workflow and is significant for the smooth functioning of an  organisation which is expanding at a steadfast pace. In this digitised world of organised chaos, demand for agile marketing has resulted in the accretion of digital assets to such an extent that some of them seem superfluous. Digital Asset Management (DAM) and Drupal can come together to smartly strategise the way enterprises handle unimportant assets.

Drupal governs the content on the website whereas Digital Asset Management manages creation, assessment and approval of digital assets.
Illustration showing a laptop in the centre and icons of video recorder, camera, notepad, folder and smartphone surrounding it

A superabundance of assets clog up our devices and blot out the productivity. Digital Asset Management can help enterprises in eclipsing outmoded asset management processes and take back control of their digital files. Therefore, it helps in optimising content processes and makes life much easier.

Decoding the Digital Asset Management

What is involved in digital asset management? DAM is a content management and branding automation system which uses the centralised mode of storing and governing voluminous digital files. It accredits enterprises to connect, control, and centralise both the local and the global access to digital files thereby ensuring that digital assets are accessible to everyone whenever they have the dire need of them.

Infographic showing statistics on percentage of users implementing digital asset managementSource: Cognizant

Grid, The Guardian’s image management system, is a very good example of an open source digital asset management system. Its team used pragmatic agile processes to build it quickly. It is now incorporated with its print workflow and is used for almost half of the images used in their digital content.

[embedded content]


Does it ring a bell? Definitely! Content Management System (CMS) like Drupal also has its foundation in the provision of a centralised mode of content dissemination. So what’s the difference between CMS and DAM?

Difference between DAM and CMS

Content Management System and Digital Asset Management are two systems that work brilliantly with the digital content but are designed for different tasks.

Digital Asset Management Content Management System

Central repository for handling digital assets

The central system for governing content on the website

Example: Acquia DAM

Example: Drupal

In general, Content Management System, for example, Drupal, is the entire foundation for governing content on the website. The term ‘content’ means anything that is displayed on your site and not just blog posts which are managed by CMS.

In contrast, a Digital Asset Management manages more than just your website. It powers the entire sales and marketing organisation. It acts as the central repository for the approved assets. Moreover, it is the collaborative workflow engine between marketers and designers for the creation, assessment, and approval of those assets.

A Plethora of Benefits

With a superabundance of benefits, Digital Asset Management enhances productivity, improves brand consistency and boosts team collaboration.

An illustration showing benefits of using a DAM namely findability, collaboration, security, time saving, access, user experience, brand growth, and speed.Source: Webdam
  • Cuts business costs: It can improve your ROI through quicker creation, retrieval, and dissemination of company content. Do-it-yourself design templates for business cards, banner ads etc. cut both internal and external admin, design, and production costs.
     
  • Security: It provides collective security measures built around your data’s needs and adheres to strict digital rights management (DRM) guidelines. For instance, be it navigating outmoded sharing methods, or supporting teams to establish effective user access permissions, it maps the usage rights vis-à-vis your digital assets. Internal management of brand’s corporate identity: By paving the way for corporate identity guidelines and numerous on-brand digital assets, it offers secure global access to approve useable content.
     
  • Integration scope: It seamlessly integrates with your existing infrastructure. It helps you in improving project management, delegating resources and roles, optimising and targeting assets, and identifying top-performing content by working with CMS, customer relationship management (CRM) and several other marketing, sales and IT solutions.
     
  • Efficient file management: It eliminates the need to find and deliver assets via multiple locations thereby removing any costly errors and inefficiencies incurred through clumsy file management.
     
  • Time-Saving: It provides 24X7 access to company collateral from anywhere. Thus, it removes the need for time-intensive file searches and avoids the need for recreating missing assets.

Choosing the Best Digital Asset Management for your Business

So, how to strategise in order to choose the best Digital Asset Management? It is important that you understand your prerequisites before making the decision of selecting a Digital Asset Management. 

Understanding DAM capabilities

An illustration showing different capabilities of DAM namely asset repository, asset creation and asset creation

 

  • Repository: One of the first things that you need to consider is a core digital asset repository. A centralised asset repository should on the top of the priority list for efficacy in controlling and governing the assets.
     
  • Creation: Through workflow and collaboration tools,  can help with the creation of assets. If you have multiple departments or have agencies working together to create digital assets, it can make the process of creation of assets faster and makes its easier to assess and approve them. It also ensures that everyone uses the same transparent process. Workflow management tools pre-defines stages and roles so that you can know the status of every asset and their requirements instantly.
     
  • Consumption: It depends on people and systems to determine how these assets are being used. Your Digital Asset Management should be able to provide a way for employees to search for and download assets on their own.


Understanding your Goals

Illustration showing the word goal written in capital letters and a man aiming an arrow on his bow at the target kept at a distance
  • It should simplify the production of digital assets.
  • It should improve the quality, consistency, and on-brand of assets being created especially in the enterprises with global digital marketing teams.
     
  • It should be able to allow the organisation to keep a record of all the assets without leaving a question mark on where to add them or their approval status.
     
  • It should alleviate manual requests that are being made by the marketing team to provide specific files to several people and groups like logos, product images, campaign assets, sales collateral etc.
     
  • It must master your brand consistency.
     
  • It should decrease the time taken to integrate assets into digital marketing campaigns and user experiences.

Understanding your Users

  • Develop a list of stakeholders, people in your organisation, and even outside of your organisation who will be interacting with Digital Asset Management.
     
  • Stakeholders include digital marketers, designers, sales, partners, IT etc.
     
  • Understand what their access and roles are with the Digital Asset Management.

Understanding your Requirements

A notepad with a tick mark overlaying over one of its sides
  • Get the feedback from each of your stakeholder groups. Know what are their most common challenges and build a list of requirements. Make sure to understand the use cases so that you can prioritise those requirements.
     
  • Digital Asset Management systems have the capability to fulfill the need of basic requirements of small teams to extremely intricate ones for sophisticated large teams. 

Keep a note of typical requirements of organisations utilising Digital Asset Management as mentioned in the tabular column below.

Requirement Description

Asset Approval

Processes required to create a new asset should be well managed

Asset Review

A collaborative asset review cycle for the people to add comments, markups, and feedback to asset proofs

Asset Access (Internal)

A portal for employees to search and download assets. Access control by region or department would be required

Asset Access (External)

A controlled asset access for the external users paving the way for secure sharing of assets with partners, contractors, agencies etc.

Branding guidelines

A self-serve access point to get the approved branding guidelines like product images, logos, color palettes etc.

Structured assets

Assets should be placed in the folders

Keywords/Tags

Assets should be assigned with keywords and tags

Customer fields

Custom metadata fields should be assigned to assets

Reports

There must be reporting and assessment on asset usage

Direct access for marketing system

There must be provision for utilising approved assets for creating web banners, blog posts, email marketing campaigns etc. directly from the Digital Asset Management

Understanding your Deployment Options

Deployment options for Digital Asset Management constitute on-premise, private cloud, and Software-as-as-Service (SaaS). To understand what works best for your business needs, let’s look at the merits and demerits of these deployment options.

On-Premise Private Cloud SaaS Merits
  • Flexibility in integration
     
  • Local performance
     
  • Great for heavy customisations
     
  • On-premise control of data
  • Low costs
     
  • Data in cloud
     
  • Accessibility
     
  • Lessens dependence on IT
     
  • Moderate customisations possible
     
  • Security/control
     
  • Somewhat scalable
     
  • Very basic resilience/failover
     
  • Quick implementation
  • Data in cloud 
     
  • Comparatively fast to implement
     
  • Low Cost
     
  • Low risks involved
     
  • Great multi-location performance
     
  • Resilience/failover
     
  • Scalable
     
  • Good integration scope
     
  • Automatic upgrades
     
  • Least requirement of IT dependency
Demerits
  • Huge risks involved
     
  • Not cost effective
     
  • Not scalable
     
  • Very limited accessibility
     
  • Responsible for upgrades and maintenance
     
  • Dependence on IT
     
  • Time-intensive during deployment
  • Dependency on web
     
  • Usually, web hosting requires third parties
     
  • Responsible for maintenance and upgrades
     
  • Data off-premise
  • Dependency on web
     
  • Very limited customisation
     
  • Data off-premise

Drupal modules for DAM Integration

Acquia DAM offers a centralised cloud repository to keep all creative assets systematised, tagged and searchable throughout the lifecycle of those assets. Its easy-to-use workflow and collaboration capability lets digital marketers and designers search, review, approve and publish assets faster

Administrative interface of Acquia DAM showing how it manages digital assets


It allows seamless integration with Drupal 7 and Drupal 8 for delivering a wonderful digital experience by incorporating captivating rich-media assets for centralised management.

Media: Acquia DAM, Drupal module, helps in the integration of Drupal with Acquia DAM. The integration helps Drupal content editors to browse the Acquia DAM repository using their own credentials via an entity browser plugin. They can search by keyword in order to find the right assets for the usage. WYSIWYG editor allows content authors to add assets easily. The assets marked for the usage are copied to Drupal and are stored as Media Entity references thereby rendering image styles.

Through a cron job, these assets are kept in sync between Drupal and Acquia DAM. Updates made to the assets are automatically reflected in Drupal.

This module provides a media entity provider for importing asset metadata into fields on your entities. Users can view the metadata directly in the entity browser without having to import the assets. It also provides a usage report of an asset within Drupal.

Another very useful digital asset management solution is Bynder which is a cloud-based platform for digital marketing teams to create, find, and use digital content.

Bynder integration Drupal module aids in the integration of Drupal with Bynder thereby providing seamless access to asset bank on your website. Users can import assets from and upload assets to Bynder. Image styles imported from Bynder can be displayed to match the derivatives created.

Bynder logo with the text 'Integrating Bynder DAM systems with Drupal 8' written beside it


A digital agency integrated Bynder with Drupal using modules like Entity Browser and Media Entity.

Media entity module made it possible to represent Bynder assets in Drupal without actually copying them over. Its powerful metadata API helped in exposing and using all the information about them in the context of a Drupal website. It offered a central management of assets and their full availability on sites which consume them.

Entity browser module helped in implementing a user-friendly interface for letting the users browse their Bynder assets from the editor’s node of their Drupal site.

DropzoneJS driven widget helped in uploading the right assets into the Bynder DAM directly from the Drupal site.

Case study

Vallabhbhai Jhaverbhai Patel aka Sardar Patel was India’s first Deputy Prime Minister and played a pivotal role in India’s freedom movement. The Sardar Patel website, built on Drupal 8, showcasing information about him gathered from numerous libraries.

The digital assets of more than 2000 content records related to the man events in the life of Sardar Patel can be viewed in the Sardar Patel website.

homepage of sardar patel website with his image on the right


Objectives

The main goal behind building a dedicated site was to access books, texts, videos, audios, and similar content about him in multiple languages. By gathering and standardising the available digital assets, everything about him would be present in an easily searchable form. This would, thus, help in preserving the history of India’s influential freedom struggle through digital content for the generations to come.

Drupal 8 to the rescue

  • The scalability of Drupal 8 helped in migrating 2000+ content from several different sources under a single umbrella.
  • It also lent a mobile-first user experience.
  • Drupal’s out-of-the-box capabilities for building a multilingual site helped in translating the content into multiple languages.
  • Moreover, being the most security focussed CMS, it turned out to be the best choice for the website.

Result

  • 1 TB of data comprising of 1000 images, 800 textual content, numerous audio and video recordings were added as content in addition to keeping the site navigation simple and easy. Most importantly, importing of content in bulk was possible with Drupal 8 thereby streamlining the content migration process and saving a lot of time.
  • For easy access, the website content was sorted and arranged by the main events or themes in addition to the chronological order of events that transpired in his life.
Thematic Collections section of the Sardar Patel website showing different stories of Sardar Patel on the basis on different themes.
  • The site has easy search capability with filter options enabled to zero in on a particular subject.
Search option feature of Sardar Patel website with filters enabled

What the Future holds for DAM?

Mobile applications would be at the epicentre of Digital Asset Management in the coming years. Native applications offer a seamless user experience both online and offline. Connected directly to your asset bank, they provide a mobile marketing portal and interactive features that help in creating, handling, and using the digital content on the fly. No matter what is the location of the user and whether or not they are near their laptop or desktop, they can always work with assets.

Bar graph showing number of mobile phone users worldwide from 2015 to 2020 in billionsNumber of mobile phone users worldwide from 2015 to 2020 (in billions) from Statista

Artificial Intelligence technology is becoming more mainstream, affordable and accessible. Digital Asset Management can leverage the benefits of AI for automating processes and centralising tasks. Also, features like facial, location, and image recognition variables; geospatial technology, and deterministic reasoning capabilities will be the key to utilising AI.

Parabolic graph representation showing hype cycle of emerging technologies in 2017Machine learning, as shown in this graph, would require 2 to 5 years for mainstream adoption from Gartner

Machine learning algorithms can be of great use for Digital Asset Management in the future. It can recommend assets for a particular channel or task within a campaign based on analytical data. This would help you in promptly selecting the best asset swiftly without wasting the time thinking over which video, image or banner will best serve your digital marketing pursuits.

Conclusion

With the rapid expansion of businesses, digital assets like images, videos and company documents are piling up to an unimaginable extent. It is imperative that a proper governance is incorporated to handle these increasing digitised assets. Drupal 8 can be a wonderful option to integrate Digital Asset Management to manage your organisation’s increasing online presence and its ever-growing digital assets.

Drupal development is our key service where we are excelling since our birth as a company. Ping us at [email protected] to instill the best asset management solution for your enterprise using Drupal 8.

Jun 22 2018
Jun 22

Reading a fantasy book, envisaging yourself living in an imaginary world, and identifying yourself with your favourite character - such is the feeling of reading a book full of imaginations which stays with you for a long long time. We all try to visualize something far from the reality and technological advancement has made it possible to not only imagine things but to actually see them right in front of our eyes. Augmented reality is the futuristic tech marvel that can be integrated with Drupal to build a tech genius.

A graphic showing a pair of shoes, free weights, water bottle, and smart watch are placed over a smart phone

So, what is Augmented Reality (AR)? Gartner defines AR as the real-time use of information in the form of text, graphics, audio and other virtual enhancements integrated with real-world objects. It is this “real world” element that differentiates AR from virtual reality. AR integrates and adds value to the user’s interaction with the real world, versus a simulation.

The evolution of AR is staggering and interesting at the same time.

How did Augmented Reality come into being?

The user of one of today’s visual displays can easily make solid objects transparent - he can “see through matter!”
- Ivan Sutherland 

Today informational overlays layered on top of the physical world is the talk of the town. Back in the 1960s, 1965 to be precise, Ivan Sutherland talked about immersive displays in an essay and created the first-ever head mounted display in 1968.

timeline of Augmented reality from 1965 to 2018Timeline of Augmented Reality 

Krueger demonstrated collaborative interactive overlays of graphical annotations in 1978. Fast forward to 1990s, we would witness plenty of research works and prototypes. In 1992, terminology called Augmented Reality was for the first time seen in a research at Boeing. Subsequent discoveries like KARMA in ‘93, first medical AR application in ‘94, Studierstube in ‘96, The Touring Machine in ‘97, and ARToolKit in ‘99 paved the way for many complex innovations post the millennium.

The launch of Pokémon Go had almost 45 million users at its peak in 2016. More recently, in 2018, Google displayed AR street view mode to help you in the real time in addition to personalized recommendations to discover new places around you.

A smartphone showing Google Map's augmented reality featureA smartphone showing Google Map's augmented reality feature

Today, AR developers have a lot of options to choose from when it comes to software platforms dedicated to AR. But these inventions had a lot to offer in terms of guidance and model.

Types of Augmented Reality

AR did come a long way to go for commercial use. There are different classifications within AR.

  • Marker-based AR: It is also known as image recognition AR is the easiest to implement. It used a trigger object to display content. Google Goggles, Popcode, and ScanLife are some of the examples.
     
  • Markerless AR: It is more versatile than the market-based AR. In place of trigger object, it uses cameras, GPS and accelerometer information to track the user location and offer them relevant content. Examples of markerless AR include ARIS and Layar.
     
  • Projection-based AR: It projects digital images directly onto a surface within the user’s surrounding. Disney theme park has employed projector camera toolbox that builds 3D objects to enhance theme park experience.
     
  • Outlining AR: It uses image recognition to outline shapes and boundaries. It can be used to help drivers see the edges of the highway in dim light for safe driving.
     
  • Superimposition-based AR:  It uses object recognition to replace an object within the user’s surrounding either partially or fully with a digital image. For instance, a surgeon can use such technology for adding digital x-rays over a part of a patient’s body during a surgery.

Applications of Augmented Reality

Whether it’s transportation or sports, AR has a lot to offer for different industries. Let’s see all of them.

Retail industry can reap the benefits of AR to a great effect. IKEA has an AR application called IKEA Place which allows customers to preview thousands of virtual furniture in the actual room within their home.

Infographics showing statistics on augmented reality in the retail sector with an image of cash notes inside itSource: Entrepreneur

Transportation sector can also explore AR to simplify their work. Aero Glass have created AR headsets that can display airports, navigation points, terrain features etc. for the pilots.

AR can be a big boon for the sports industry. Stubhub developed a feature on their mobile application that would allow ticket buyers of the Super Bowl to see a virtual 3D model of the stadium and the surrounding area.

It has immense potential in the education sector as well. An application like AR Flashcards Animal Alphabet can help children in learning alphabets easily by bringing flashcards to life.

Healthcare industry promises to be one of the most important areas for AR to be explored with a vast potential. AccuVein uses AR technology to help nurses find veins more easily while inserting IVs.

Infographics showing statistics on augmented reality in healthcare sector with two images of cash notes and one image of a man being diagnosedSource: Hackernoon

Marketing sector can’t be far behind. In 2014, by installing outward facing cameras in a London bus shelter and projected UFOs, robots, balloons, and tigers, Pepsi took the promotional campaign to a whole new level.

Working Principle of Augmented Reality

AR is great on so many levels for a multitude of industries. How does augmented reality work?

Sensors can be found on the outside of the AR devices that gather data regarding user’s real-world interactions and process them.

Cameras, also located on the outside of the AR device, scan the surrounding area and uses this information to determine the appropriate output.

Projection based AR works through miniature projector which is found in an outward-facing AR device. They can turn any surface or object into an immersive environment. The data collected by the cameras is projected onto the surface through projection-based AR devices.

AR devices are like mini-supercomputers that require a great deal of computer processing power. They use many of the same components that the smartphones do which includes CPU, GPU, flash memory, RAM, Bluetooth/Wifi microchip, GPS microchip, etc.

AR devices can also use mirrors for reflection to help in viewing the way our eyes view the virtual image. While some AR devices may use an array of small curved mirrors, other AR devices can use a double-sided mirror with one surface that reflects incoming light to the camera which is side-mounted and the other surface would reflect this light to the user’s eye.

Drupal and Augmented Reality Use Cases

A Drupal agency built a chatbot prototype which assisted customers to select recipes based on the health constraints and their preferences. Interactive experience with the chatbot could make their life easier and forbade them from intensively researching for their grocery shopping. To improve it further, they tried to integrate AR in Drupal.

[embedded content]

The demonstration shown in this video displayed a shopper interacting with the AR application. The mobile application of Freshland Market (a fictional grocery store), built on Drupal 8, guided the shopper through her shopping list.

It also assisted her to make better decisions while shopping through AR overlays. It superimposes relevant details like price, product ratings, and recommendations over the shopping items detected by the smartphone camera. The mobile application personalised the shopper’s experience by displaying the products that were best for her dietary restrictions and her preferences.

Flowchart showing the working of Freshland market AR mobile applicationSource: Drupal.org

Drupal’s web services support and JSON API module helped in serving content to the mobile application. The Drupal 8 site of Freshland Market stored all the product related information including price, dietary constraints, and reviews and ratings. If Drupal content for one of the products is edited to show the item as being on sale, it automatically reflected in the content superimposed through the mobile application. In addition to this, the location of the product was also stored on the site to guide the shopper to the product’s location in the store.

The application was developed using AR library, Vuforia, which identifies pre-configured targets like images of product labels. For instance, in the demonstration, it identifies tomato sauce and cereal labels. Each of these targets was given a unique ID to query the Freshland Market’s Drupal 8 site thereby finding the content related to those targets.

Another use case is the Lift HoloDeck prototype which was built using commercially available technologies like Drupal(content store), Acquia Lift(a personalised engine), Vuforia(AR library) and Unity(3D game engine).

[embedded content]

Lift HoloDeck team built a mobile application that superimposes product information and smart notifications over real-life objects that are detected on the smartphone’s screen. It could change the way customers interact with brands and improve the customer experience.

Let’s say a user informs about his purchases to a coffee shop through this mobile application. When he enters the shop, he would show his phone screen displaying “deal of the day”. The application superimposes dietary information, directions on how to order, and product information on top of the beverage. By going through the nutritional facts, he would order his preferred choice and would receive notification that his order was ready to be picked up. 

Future of Augmented Reality

Graphical representation showing the hype cycle of emerging technologies in 2017Source: Gartner

What is the future of augmented reality? Gartner Hype cycle discovery in 2017 suggests that it will take another 5 to 10 years for the mainstream adoption of AR.

Bar graph showing the market size of augmented reality and virtual reality worldwide in billion US Dollars from 2016 to 2022Forecast AR & VR market size worldwide from 2016 to 2022 (in billion US dollars) Source: Statista

The graphical representation, mentioned above, clearly states that AR is going to be a force to reckon with in the coming years. The market share of AR is going to witness a dramatic transformation in the coming years.

 

Infographics showing statistics on future of augmented reality in different industries with an image of bar graph inside it.Source: Hackernoon

By 2025, the biggest industries for AR, as shown in the graph above, will be the gaming and the healthcare industries followed by the engineering, real estate, and retail sectors.

Conclusion

The world is changing. And it is changing at an unimaginable pace. Technologies like augmented reality were once a part of our huge list of fantasies. Many of your fantasies can come true with this awesome piece of disrupting technology. With Drupal as a content store, designing an AR-driven web and mobile applications can be highly rewarding for your organization.

Talk to Drupal experts, ping us at [email protected] to get the best of Drupal and augmented reality for your future businesses.

Jun 21 2018
Jun 21

There has been a rapid increase in the popularity of JavaScript frameworks since their introduction in early 2010. They provide powerful architectures to build fluid, responsive and user-friendly web applications. Moreover, there are more people than ever using their mobile devices to access the digital content, hence building native applications for your site makes sense. 

headless drupal with a headless body on right and body-less head on left

Drupal has realized the potential of this market and has added the support for building RESTful APIs into the core. But the RESTful Web services of Drupal core does not provide a very robust solution out-of-the-box. You need to enable all the resources, configure the endpoints, verbs, authentication mechanisms, and create views with REST export to build the desired solution.

RESTful Web services of Drupal core do not provide a very robust solution out-of-the-box

But even then, the APIs built this way, do not necessarily follow any widely accepted guidelines or specifications like JSON API. You can always write custom logic, but luckily there is a contributed module for that. Before understanding this how this module proves to be a robust solution to build decoupled applications, let us clear some basics.

What is an API?

In terms of web services, an API is an agreement or a contract of request and response between the server(provider) and the client(consumer) for the purpose of exchange of data. It is that element bridges the front end and the back end. It defines which resources are accessible, who can access them, and how to access them.

What is JSON?

JavaScript Object Notation (JSON) is the most common data format for exchange of data over web services. It has primarily replaced XML due to its lightweight nature. It is easier for humans to read and for machines to parse. It is supported by almost every modern programming language and framework.

JSON API specifications – What and Why you should consider implementing them?

The JSON API specifications are a set of standards and conventions that describe how the APIs should be served by the servers and consumed by the clients for exchanging data in JSON format. The key benefits of implementing these specifications include:

  • Consistency
    The front end developers expect a consistent structure and behavior from the APIs while consuming them to build the applications.
     
  • Widely accepted and supported
    The specifications are widely accepted and implementations of client libraries can be found for almost every programming language and framework.
     
  • Efficiency
    The specification is designed to keep the number of requests and size of the data to a minimum.
     
  • Productivity
    There are numerous ways of designing an API and as a developer, you will often find yourself in an argument on what are the best practices or conventions to build an API. By following these set of standards, you can eliminate this and focus on building the application. 

Now, that we understand the foundations, let us see how does the JSON API module help in building a headless website in Drupal.

JSON API specifications of what and why are important.

Downloading and installing JSON API module

The module has a dependency on the Serialization module, so enable it first and then download and install JSON API using any of the below methods:

Using Drush

$ drush en serialization -y

$ drush dl jsonapi && drush en jsonapi -y

Using Drupal Console  

$ drupal module:install serialization
$ drupal module:download jsonapi && drupal module:install jsonapi

Using UI

Enabling JSON API and Serialization modules in drupal websiteEnabling JSON API and Serialization modules
  • Navigate to Manage → Extend → Install new module and enter the .tar.gz or .zip URL of the module and click on Install.
  • Once the downloader finishes downloading, click on “Enable newly added modules”.
  • Select the Serialization and the JSON API module under the Web Services package and click on “Install”.

How does JSON API help?

The module provides an implementation of the above-discussed specifications for Drupal. Following are the set of features of the API provided by the module.
 

  1. Zero configuration required – Production-ready out-of-the-box

    As soon as you enable the module, it exposes all the resources with appropriate verbs, endpoints, and fields. It allows no configurations to be modified (more on that later). This ensures that API always follows the JSON API specifications and also makes the deployment quick and easy.

    All the bundles get their unique endpoints, in case an entity does not have a bundle, the entity type is repeated. For example, in case of articles, it will be /jsonapi/node/article but for users, it will be /jsonapi/user/user. We need to specify the UUID (Universally Unique Identifier) of the entity, else we will receive a “collection” of the entities.

    The standard Drupal permissions determine the accessibility of the resource. So, you may need to authenticate using Basic Auth or OAuth to perform certain operations.

    You can make the following standard requests to perform CRUD operations on the resources. Note that the configuration entities only support the read operation, i.e. only the GET request.
     

    Accept: application/vnd.api+json
    Authorization: Basic {base64 encoded username + password}
    Content-Type:application/vnd.api+json
    
    GET /jsonapi/{entity-type}/{bundle-name}?_format=api_json
    GET /jsonapi/{entity-type}/{bundle-name}/{uuid}?_format=api_json 
    POST /jsonapi/{entity-type}/{bundle-name}?_format=api_json
    PATCH /jsonapi/{entity-type}/{bundle-name}/{uuid}?_format=api_json
    DELETE /jsonapi/{entity-type}/{bundle-name}/{uuid}?_format=api_json
    
    For example, the following request will return a JSON response of the collection of all the articles (paginated in the sets of 50 articles per page).
    GET /jsonapi/node/article?_format=api_json
    
    To get a specific article you need to specify its UUID. For example: 
    GET /jsonapi/node/article/6a1571e0-26c7-423f-8ff5-04b2e4deb6d3?_format=api_json
    
    Retrieving a collection of articlesRetrieving a collection of articles
  2. Include relationships

    A “relationships” object contains all the related information to the resource. This may be the author, entity references, image fields, revision details, etc. Usually, you would have to make additional requests to retrieve further information. But instead, we can add a request parameter “include” and specify the required fields of this related information to be retrieved.

    All the additional fields will be available in the “included” object. This ensures that we receive all the required data in one single request. You can even use nesting in the relationships, i.e. if the object further has relationships, it can be specified using the “.” operator.

    GET /jsonapi/{entity-type}/{bundle-name}?_format=api_json&include={relationships-object}
    
    For example, the article bundle has an image (entity reference) field, we can retrieve its path along with the article as follows.
    GET /jsonapi/node/article?_format=api_json&include=field_image
    
    This time, we will receive the JSON data with an “included” object along with the data. As you may notice, it further has UID in the relationships object, we can retrieve that by using include=field_image.uid.
     "included": [
            {
                "type": "file--file",
                "id": "e7f9cd27-3cd0-43d3-b205-b46e88d09109",
                "attributes": {
                    "fid": 12,
                    "uuid": "e7f9cd27-3cd0-43d3-b205-b46e88d09109",
                    "langcode": "en",
                    "filename": "gen50F1.tmp.jpg",
                    "uri": "public://2018-04/gen50F1.tmp.jpg",
                    "filemime": "image/jpeg",
                    "filesize": 5652,
                    "status": true,
                    "created": 1523243077,
                    "changed": 1523243077,
                    "url": "/drupal-8.4.4/sites/default/files/2018-04/gen50F1.tmp.jpg"
                },
                "relationships": {
                    "uid": {
                        "data": {
                            "type": "user--user",
                            "id": "434ec884-0f9b-4593-8bc4-ef58e542ac0e"
                        },
                        "links": {
                            "self": "/drupal-8.4.4/jsonapi/file/file/e7f9cd27-3cd0-43d3-b205-b46e88d09109/relationships/uid",
                            "related": "/drupal-8.4.4/jsonapi/file/file/e7f9cd27-3cd0-43d3-b205-b46e88d09109/uid"
                        }
                    }
                },
                "links": {
                    "self": "/drupal-8.4.4/jsonapi/file/file/e7f9cd27-3cd0-43d3-b205-b46e88d09109"
                }
            }
        ]
    
  3. Filtering

    Filters can be applied to the collections to retrieve only the required resources. They can be added using the “filter” request parameter. We need to specify the field on which the comparison has to be done, the value with which we need to compare and optionally specify the operator(default is ‘=’).

     GET /jsonapi/{entity-type}/{bundle-name}?_format=api_json&filter[label][condition][path]={field}&filter[label][condition][operator]={operator}&filter[label][condition][value]={value}
    

    Or

     GET /jsonapi/{entity-type}/{bundle-name}?_format=api_json&filter[field][operator]={operator}&filter[field][value]={value}
    

    For example, we can search an article with the title that contains some keywords.

     GET /jsonapi/node/article?_format=api_json&filter[title][operator]=CONTAINS&filter[title][value]=search-keyword
    

    We can even use nested and grouped filters for advanced use cases. Read the official documentation for complete reference.

  4. Paging

    Paging is a common technique used to divide a long listing of items into pages. It can be used to implement an infinite scroll, or simply a pager. This requires two parameters – limit and offset. Limit decides maximum number (default is 50) and offset(default is 0) can be used to skip first ‘n’ items or resources. The presence of “next” and “prev” links indicates our position in the pager.

    ​​​​​​​GET /jsonapi/{entity-type}/{bundle-name}?_format=api_json&page[offset]={offset}&page[limit]={limit}
    

    For example, we can build an infinite feed of articles. When the user scrolls to the bottom, we can use the following request asynchronously to fetch let’s say 10 more articles.

    ​​​​​​​GET /jsonapi/node/article?_format=api_json&page[offset]=10&page[limit]=10
    
  5. Sparse Fieldsets

    We can specify the fields of the resource which are required performing a GET request using the “fields” parameter. This is useful when we need only a limited information and save bandwidth.

    GET /jsonapi/{entity-type}/{bundle-name}?_format=api_json&fields[entity-type--bundle]={field(s)}
    

    For example, to display only the titles of all the articles we can use the following request.

    GET /jsonapi/node/article?_format=api_json&fields[node--article]=title
     
     "data": [
            {
                "type": "node--article",
                "id": "6a1571e0-26c7-423f-8ff5-04b2e4deb6d3",
                "attributes": {
                    "title": "Drupal 8 is awesome"
                },
                "links": {
                    "self": "drupal-8.4.4/jsonapi/node/article/6a1571e0-26c7-423f-8ff5-04b2e4deb6d3"
                }
            },
            {...}
    ]
    
  6. Sorting

    To sort a collection, we can add a “sort” parameter, specifying the field and the sort direction.

     GET /jsonapi/{entity-type}/{bundle-name}?_format=api_json&sort[label][path]={field}&sort[label][direction]={ASC/DESC}
    

    Or

     GET /jsonapi/{entity-type}/{bundle-name}?_format=api_json&sort=±{field}
    

    For example, to retrieve all the articles sorted by their created date and then by their titles, we can use this request:

     GET /jsonapi/node/article?_format=api_json&sort=created,title
    

    This is not an exhaustive list, please refer the official documentation for more usage details and examples. But, with the right mix of these features, we can easily implement all the required features in our headless website.

Customizing the API

The module does not provide any way to configure the resources and the API. We need to install an additional module, JSON API Extras, in order to customize the API. This module allows us to configure the endpoints, fields and enabling or disabling the resources.

  1. Navigate to Manage → Configuration → Web services → JSON API Overwrites. This lists all the available resources. All of them are enabled by default.Admin UI for managing the resourcesAdmin UI for managing the resources
  2. Click on the “Overwrite” button next to the resource you wish to customize.
     
  3. You can alter the resource type, path or the endpoint, disable specific fields, and give an alias to fields. You may disable the resources that are not required, rest of the configurations can be mostly left untouched.
     Configuration options for resourcesConfiguration options for resources
  4. Click on “Save” when done to save the configuration.

To Conclude

The JSON API module provides production-ready API out of the box. It provides standard HTTP methods to perform basic CRUD operations on entities. It also provides some advanced features including paging, sorting, and filtering to retrieve all the required data in a single request.

However, it lacks few features like registering a user, logging in a user, checking login status, etc. But we can use Drupal core’s REST web service for this purpose and build a headless website or a native mobile application by using best of both worlds. 

At OpenSense Labs, we have worked on decoupled Drupal projects, drop a mail at [email protected] to connect with us. 

Jun 20 2018
Jun 20
"In a virtual community we can go directly to the place where our favourite subjects are being discussed, then get acquainted with people who share our passions or who use words in a way we find attractive. Your chances of making friends are magnified by orders of magnitude over the old methods of finding a peer group."
- Howard Rheingold, The Virtual Community, 1994

Communities are important for the success of any multimedia information systems, today. Gaming is no exception, especially when it has become a part of our new media culture, entertaining people of all ages. The satisfaction of gaming community members can influence the success of a game and it is no secret why highest selling games have the largest communities. 

pokemon gif with money falling over on meow


To keep up the community and the platform with the latest trends, features, and functionalities, it is important that you choose the right technology for your platform. Drupal is an easy choice. But why are gaming communities increasingly opting for Drupal as the platform of their choice? 

“The famous augmented reality game, Pokemon, managed to give an unprecedented swiftness, leading to Nintendo’s stock value increasing dramatically and achieving $470 million in revenue in just 80 days.”

The Power Of Gaming: Why Gaming Industry Needs Community?

Not very often will we associate the word community with gaming. And yet, these community platforms are where the games really mature. In terms of engagement and shared values, a common cultural background plays an important role, which can be reflected by the spatiotemporal distribution of the gamers. 

What is a Gaming Community?

The community of gamers can be identified either as a whole or part of video game culture.
It comprises of people who play games and those are interested in watching and reading about it. 

Community support is important for both game development and community building. 

  • User Acquisition: A shared goal, interest provides the reason for being a part of the community. A community is what builds a game, and community is what drives the game beyond its niche success into the blockbuster — shaping the success of ROI for an engaged, excited community is off the charts.

    Intense interactions and strong ties are not only important for online multiplayer games, they enhance the intensity and user experience too.  

    Over 53% of US teenagers play online games with people they know in their offline lives (Pew Research, 2015). Community support allows integration of offline friend circles into online communities.  
     

  • User Retention: Gaming communities form a very crucial part in retaining the users as video games have grown into a subculture since their birth.

    Community services enhance competition within games, which builds up customer loyalty as a consequence. Games and gaming communities are strongly intertwined and experience permanent co-development. 

    Discussions on new features, problems they encounter at playing, advice about gaming strategies via forums is where the retention starts at. 

    The modern games provide direct in-game communication, which is not restricted to a simple message exchange, but also involves further service functionality. 

  • Improves Quality: Gaming communities are a place of intense interaction after all games are about shared experiences, rendered with extraordinarily interaction and ownership.  All successful games have communities. tracer over the shoulder victory poserThe infamous butt pose - Tracer' over the shoulder victory poseAnd this where the changes come from. Remember the infamous Tracer butt controversy from 2016? Well, it was after the community chose to put their outrage did the gaming giant Blizzard Entertainment had to pull down the post to show the accurate representation of the values.


Why are Gaming Communities Opting for Drupal?

What does Drupal offer to the gaming communities that they are opting for it? Here is a list of why Drupal is the choice for the community platforms.

  • Decoupled Drupal for Intuitive Game Live UI Experiences

Much like physical sports, video games demand a certain standard of ability where the player can enjoy from the very moment the game is started. Regardless of whether there is an explicit tutorial, players must instantly intuit what to do, what the basic rules are, what is good, what is bad, and how to go about doing the various things that can be accomplished.

The more the realism your game offers to the gamer, the longer they would want to play. 

With the decoupled experience in Drupal, you can create an interactive experience for the gamers by utilizing your site to completely control the useful in-program applications. While the front end can easily be coupled with other technologies such as jQuery, JavaScript, Node.js, and React.js. The backend in turn shifts to become the system of record, but the interaction happens real-time in the browser, back-and-forth. 

The headless site advancement can possibly release the imaginative influence of the diversion with intense gaming experience which is faster, more natural, intuitive and responsive at the gamers’ end. The end result is smoother and faster games played live. 

  • Gameplay based customizations

Games allow players to perceive themselves in alternate ways in their imagined worlds. Player identification – with Avatar and Character – helps build the interest while also improving the gameplay experience and is important to maintain the identity in the possible communities as well. 
 

Garen Avatar from the leagues of legends highlightedAvatars in the Leagues of Legend

An example of this could be the website of League of Legends – built on Drupal – which is a team-oriented strategy game where the goal is to work together and bring down the enemy nexus located in the middle of the game. 

Roles of assasin, fighter, mage, and marksmen offered in the Leagues of LegendRoles offered in the Leagues of Legend

Drupal has tools and services for building user profiles, fostering the creation of virtual sessions, allowing communication with third party serious games, and storing and processing the game analytics. This is important since it helps the gamer take the game more seriously and relate to it on a virtual level.

  • Scalability

Zynga – a leading developer of the world's most popular social games – website is built on Drupal. It claims to have 100 million monthly unique visitors, making it the largest online gaming destination on the web.

Scalability is Drupal’s middle name
Farmville 2 description on Zynga

Handling high volumes of visitors, content, and users is a tough job. But Drupal does it easily. As it is said, “scalability is Drupal’s middle name”. Some of the busiest sites across the world are built on Drupal. 

It is apt in handling sites that burst with humongous traffic, which means your gaming website can perform spectacularly even on the busiest of the days without breaking or bending. 

  • Multimedia support

Visit the famous StarWars The Old Republic (SWOTR) website and the background has video snippets playing from the game. Multimedia support is not new to the gaming industry. To keep the engagement high, you need to support multimedia features like scorecards, videos, photos, audios among others. 

gif from star wars games

Drupal is a highly versatile and customizable CMS. It has various modules available to support this need. The photo gallery module, media entity module, and easy to use templates to customize appearance are just a few from the list.   

Not just this the photo gallery module helps you customize images with templates, build you scorecards

  • Mobile Responsiveness

Video games have once again found themselves more widely played and accepted, thanks to the increasing smartphone reach. Add to it one more feature, your game needs to be device responsive too with easy and intuitive controls. 

Drupal 8 is device responsive out-of-the-box. Which means your content adjusts well from the big screen of your desktop to the little screen. Image size changes, menu items shift to drop-downs, other items are pushed around to make sense of content and size of the device. 

But games are not just about the squeezing to a different size thing. They need to offer the same experience as in the native web application without taking away the intuitive design. This can be sorted with the Hammer.js module in Drupal. Hammer.js helps you enhance the user experience by providing cross-browser support and taking away a lot of complexity when implementing touch and pointer gestures. Leveraging it in Drupal is easier than ever due to the Library API of Drupal 8.

  • Adding complex categories and catalogs

Gaming communities are a lot different from what the gaming websites offer. Since each game will have different sub-communities, it becomes a need to build those categories with design and category apt to the theme. 

screenshot from leagues of legends with various categories and catalogs

Drupal provides a powerful taxonomy engine, allowing gaming companies to support intricate designs and complex categories and catalogs, without much ado. The flexibility of adding different types of products and content is ensured by content creation kit (CCK). CCK allows you to add custom fields to any of the content types using a web interface

  • Discussions, Reviews, and News

Communities are all about discussing what is happening or happened. Therefore one of the primary community needs is for a easy content creation with different content types. The more the types, higher the engagement, more the users will interact. Blogs, events, FAQs, news are all important.

screenshot of leagues of legend with news sectionScreengrab from League of Legends
  • Quick Search 

Communities are a busy place with a lot of activities happening at the same time. Content that might interest a user can get lost in the myriad of content. In Drupal, Solr is used to get more accuracy within less time. 

search for new games and its results

Drupal has Solr integrated for a quicker search. Solr is a highly reliable, scalable and fault tolerant search application which provides distributed indexing, replication, and load-balanced querying with a centralized configuration. 

  • E-commerce Solution

Integrating commerce with the website is an old practice and most gaming companies leverage this opportunity to boost their sales. Klei – an Independent game studio – chose Drupal to create a seamless shopping experience for both mobile and desktop users.

According to The Jibe, "Klei needed a site and store that was as easy for them to manage as it was for their customers to buy: easy sorting, featured items, promo-code inputs, simple searching, and clear calls-to-action."

shopping cart with Klei

After integrating the online store with Drupal the team can easily add new products and games on the fly while also managing the promotions and highlighting featured items easily.

DrupalCommerce and Commerce Kickstart are two of the most popular solution that Drupal offers. With easy payment gateway integration, your online transactions are secure with Drupal.

Drupal vs. Wordpress 2018

Building a Community website

Building an online community, a network of people with shared interests and goals with target niche audience to be part of it with easy usability and navigation. 

Example: Pinterest Community

Winner: Drupal 8 

Why? For an extensive user management in your community, it would require custom fields, different content types, scalability, varied user roles and permissions among the others - all of which are easy to build in Drupal 8. In case you need a simple to-do community with limited features and functionalities, then maybe Wordpress will work. But then that format would be closer to a blog, anyway.

Building a Gaming Website

These are the sites featuring direct online gaming with single or multiplayer and can include games of any type from the different genre. 

Example: Zynga

Winner: Drupal 8 (Clearly)

Why? While you might think of Drupal as a preconfigured PHP framework, it is vastly more suited to developing an online game than Wordpress is. Drupal is fast, mobile responsive and scalable. It can handle as content as much as you want, as many people as you can think of - without crashing. 

And as far as WordPress is concerned, why would you want to choose a software built from a blogging background to create a game?

Building a Basic Gaming related Website

These are the types devoted to the world and culture of computer gaming. Will includes gaming news, magazines, FAQs, and resources. 

Winner: WordPress

Why? Although Drupal 8 more suited to handle the content, WordPress has a slight edge here. All the types mentioned here are related to publishing. Being a blogging platform (niche) WP can suit the needs better since its out-of-the-box configuration comes closer to your goals. 

Although in case there are varied features added like user login, reviews, managing multimedia content, and discussions then, Drupal is clearly the hero. 

Building a Media-Streaming Website

These are the sites that offer audio/video streaming services, such as podcast, television and film, sports, music, among others.

Example: AXN 

Winner: Drupal 8

Why? Drupal 8 can handle multimedia content much more flexible than WordPress. While WordPress can excellently handle content that's primary text, Drupal 8 makes all types of a media a first-class citizen. 

With clear taxonomy and easier role management, coupled with faster-load time, it won’t bend or break when streaming content live. 

Summing Up

Community platforms have become an easy measure to the success of any game since they serve a combination of purposes varying from technical to human factors. Further community satisfaction measures need to be considered in order to improve the product model and quality in future. 

Drupal mostly serves the needs of the gaming industry, is should be a no-brainer when opting for it. Drop a mail at [email protected] to connect with us if you are building your gaming website or community platform.

Jun 11 2018
Jun 11

Even though security remains one of the major concerns for an organization, the implication of new technologies has at the same time broadened and complicated the understanding of the term. 

Security is no more about working in isolation. 

Recent events such as Drupalgeddon 2 in March and other subsequent security releases in April – marked critical – have once again brought the question ‘Is Drupal Secure?’ to the center-table. Drupal is among those few open source projects popular for their security with a dedicated team working on to improve it. However, there are still sometimes when the security of your Drupal website is under the impression of threat. 

anonymous mask on a black background with a cctv on top left corner

Security is a vast area of expertise and it is quickly changing with time. No more is it about one person working in isolation or an expert who can understand all the aspects. 

While the list of do’s and don'ts is extensive and exhaustive to keep up with the threats, vulnerabilities and mitigation strategies, here are the top seven Drupal security practices to follow in order to keep up the health of your website. 

And Aristotle once said...

The aim of the wise is not to secure pleasure but, to avoid pain.

Seven Drupal 8 Security Practices

Securing the Server-side Hosting Environment

Before starting off with the general security hacks and tips, you need to secure your server-side hosting environment. Here are some points to keep in mind before moving to securing your core. 

  1. Protect the server: Only a limited number of users must be allowed to access your server. One of the key points is to add a basic layer by restricting the access to server login details. Once the authentication is set up, it is easier to monitor server access and restricting file access usage. This can help you detect unusual activities.
     
  2. Hide the server signature: Server Signature needs to be hidden as it reveals an important piece of information about the server and operating system. It can let a hacker know if you are using Apache or Linux - information which can be utilized as a vulnerability used to hack the server. In order to keep the server secure from possible vulnerabilities, you need to hide the server signature. 
     
  3. Enable port wise security - Since the applications use the port numbers, it is important to keep certain port numbers hidden from general access. 

Securing the Drupal Core

  • Keep your Core Updated
    A key practice, keeping the core updated will always be the first when listing healthy security practices. And this was the first lesson we learned from the Drupalgeddon2. Always look out for core updates (include the minor releases as well) unless security is not on your agenda. In all of its advisories, the Drupal Security Team asks for updating the core version of the system. 

    If you fall a long ways behind the latest update, you are opening yourself to vulnerabilities. Since history tells us that hackers target the older versions.

    Look out for core updates. Follow the Drupal security team @drupalsecurity on Twitter. Get quick updates and announcements from the team through the emails and security newsletter. You can also follow Security Group in order to contribute and stay part of the security discussions. 

    Another important point to note here is when updating the core - ALWAYS keep a backup of your site's database and codebase. We will discuss this security practice later in the article. 
     

  • Security by Design
    As a matter of fact, every stakeholder wants security to be a simple concept, sadly it isn’t. One of the biggest misconceptions here would be that investing a hefty sum post development would ensure a secure system. However, it is never the case. 

    The best practice to follow is at the architectural level when the website is being designed. 

    Security by Design ensures that designing the software up by the ground to be secured in order to minimize the impact of a vulnerability when discovered. Pacing up your security from the foundation - is the key. It implies following the best security practices at the architectural level instead after building the website. 

    When the foundation of the design remains secure regardless of a reasonable approach adopted later, you can tackle the issues easily. A uniform methodology needs to be adopted to protect the assets from the threats. 

    Once the requirements have been collected, the architecture can be laid out and other elements can be discussed later like trusted execution environment, secure boot, secure software update among others.

"The key to security is eternal vigilance"
  • But Use only Security Team Approved Modules 
    Your site probably uses a number of contributed modules, although that’s not an issue. Using the stable and approved modules is where the key lies. This is especially worth noting for contrib modules which are more susceptible to vulnerability. 

    Always look out for the green batch when downloading a contrib module. Rest, as the advisory reads, Use it at your own risk! module covered by security team with the green batchAn example of security team approved module with a green batch module not covered by security advisory with an orange batchAn example of a vulnerable module

Backing Up - In Case of a Mishappening

  • Keep Up your Backup
    Catastrophes never come invited. While all seems perfect, you might wake up to find out that your website has been taken down by some psychotic hacker. Although it is an unforeseen event, you can definitely arm up yourself.

    As an administrator, you have to be prepared for all of such uninvited events. They can be controlled and the damage minimized by strengthening security, frequent backups, installing updates in a timely manner.  

    We cannot stop disasters but we can arm ourselves with better security and backups. Hosting by Acquia cloud or Pantheon provide automated daily backups of your site’s database, files, and code plus single-click restoration if something goes wrong. 

    You can also use the Backup and Migrate Module or Demo Module because unlike life your Drupal website has the option to go back for some changes. 

User-Side Security

  • Follow a Standard Practice with a Strong Password Policy
    Passwords are used at both admin and user level, therefore strong and secure passwords are important for your website. When I say strong password should be used I have nothing against short and easy passwords. Easy should never imply less efficient. 

     A string like Mypassword123 will prove acceptable but is obviously weak and can easily be brute-forced.

    The best practice? Your password should provide realistic strength in terms of measurement and complexity. A password must only be allowed as long as it proves to be of high enough entropy with a combination of characters, alphabets - uppercase and lowercase, symbols, and numbers.

    Start checking passwords on explicit rules and amount of varying character types to be used (symbols, numbers, uppercase letters, etc). 

    Password Strength - a Drupal module - classifies the expected brute-force time for the summed entropy of common underlying patterns in the password. Patterns that can be detected in passwords include words that are found in a dictionary of common words, common first and last names or common passwords. 

Your password can make the difference between a vulnerable and a hard-to-hack Drupal site.

While there will always be some new thing to add to the list, you can be sure that this list comprises of the core practices which need to follow. The protocol for communication needs to be clear and well documented. Properly documented procedures are important, as third-party services can often be manipulated.

In need of a security update or services? Drop a mail at [email protected] and let us help you out. 

Site builders and developers need to keep an eye open for the possible when security releases are announced and apply them quickly, to ensure the site is not compromised. It is good to be consistent and have your reasoning documented so that it is clearly understood.

Jun 08 2018
Jun 08

Content is the fulcrum of any enterprise that gives them the tensile strength to build a robust online presence. Having the right approach towards delivering astounding content involves plenty of effectual content strategies in place. Drupal 8 is your one-stop destination for building an efficacious content strategy with its out-of-the-box capabilities.

An illustration showing a crown placed on a palm with premium content in itSource: Getty Images

According to a research by LinkedIn, 72 percent of the digital marketers have a content strategy in place of which 30 percent are the documented and the rest non-documented.

Before we look at the ways of forming a blueprint for content distribution, let’s see what are the various models of disseminating content.

Content dissemination

Every organisation has a different need for content distribution plan and requires different kind of content dissemination. An organisation may have a primary global site that contains the most of the content. This might have to be distributed to different secondary sites if it is a large organisation with a global presence. Even some external sites might be receiving the content from the primary site. It is also possible that these secondary sites would be sharing the content with each other through a peer-to-peer network.

Primarily, organisations adopt either of the top content distribution models namely, centralized and decentralized models.

Centralization

This involves a primary site that acts as the main activity hub when it comes to content production. Large enterprises would have the dire need of such a website which would pass on the content to its global sites or product sites. Thus, this helps in maintaining the brand consistency during cross-channel marketing campaigns.

A flowchart showing the centralized content flowSource: Acquia

It is possible that one of the secondary sites may have a relevant information on the subject. Primary site may need to import important information from its sub-sites so that it can then distribute it to the other secondary sites. In any case, in the centralized model of content dissemination, content is propagated through a primary site to the global sites.

For instance, the website of United Nations is powered by Drupal. It has a global presence with member nations from across the globe. To meet their needs, it has dedicated country sites that comprises of unique digital marketing teams. So, if a new agreement has been signed on by influential nations on combating climate change, a digital marketer can push the information out to the secondary sites via a primary site thereby publishing the content to both primary site and its secondary sites spread across the nations.

Another very good example is the Planet Drupal, which displays the aggregated list of feeds about Drupal posted around the globe. Drupal.org, Groups.Drupal.org and several other sub-sites may find several absorbing contents fit into its topical sections. Planet Drupal provides the platform to share interesting, relevant and highly useful Drupal-related informative blogs.

Decentralization

It is not always the case where a primary site would be distributing content to additional sites. What if there is no such main site to propagate the information to the secondary sites? Independently run sites can share content with each other through a peer-to-peer model of content dissemination.

Flowchart showing decentralized model of content flowSource: Acquia

For instance, an organisation from media and publishing industry can have several regional sites. So, in a country like India, with a diverse and multi-linguistic culture, a digital media might have independently run regional sites. If a regional site in Chennai, a metropolitan city in India, is running a cover story of the citywide celebration of a festival, their national television channel can reuse that coverage of festival to be posted on its site.

It is doubly important to choose the right model of content distribution for your organisation’s needs and its success. It is also significant to have the best content strategies in place in addition to the continuous flow of wonderful content.

Constructing effectual content strategies

Infographic showing the state of content strategy, describing the percentage of businesses with a content strategySource: Contently

A question on Quora reads, “How do I develop content strategy?”. It involves identification of roles and workflow to find out who does what, formulation of standard guidelines to be followed by content producers, repurposing available content on your site, and using the best tools and technology available.

Infographic showing the importance of documented content strategy with percentages and piecharts.Source: Contently

Hammer out the finer details of your objectives

Before you commence with the proceedings involving content production, you need to be smart and have the right set of goals and plans for the creation of superabundance of content.

  • Being succinct: Make sure that what you plan is precise, specific and succinct.
  • Relevancy: Your objectives should be relevant to your business. So, if you are a Drupal agency, in addition to Drupal related content, you can explore many other technologies that can work together with Drupal.
  • Being realistic: Setting goals that are attainable would serve you the purpose better. If your Drupal agency has been churning out 30 blogs per month, setting 100 blogs per month would be too drastic.
  • Trackable: Your objectives should be measurable. So, if you want to boost your social media presence, formulate a goal that focuses on increasing it by X percentage so that you can measure your achievement rate.
  • Time constraints: You should have a goal that is time-bound. You should be able to adhere to the timeline set for the particular task.

Define your target audience

A proper persona research would help immensely to build content that is ideal for your users. For the creation of optimal content, you should know who your customers and prospects are, what are their interests and concerns, and what sort of content do they want to consume.

Graphic describing what buyer persona is and why it is important.Source: Online Marketing Institute

Start off by developing the persona research for existing user base. Pen down user profiles like their name, job role, industry information and demographic details. Once you do so, try to gauge what information are they searching for, their needs and challenges.

Assess your content

Performing a content audit would help you in re-organising your existing content. Always review your existing content to see what can be repurposed or reused.

Instead of spending a lot of your time in creating or recreating something, content assessment can help in identifying gaps in the existing ones.

Choose the right Content Management System

Selecting the best CMS to power your website can pay dividends. Drupal 8 should be your goto CMS when it comes to choosing the best content-friendly framework.

Infographics showing the features of a CMSSource: Bluehost

Its amazing themes offer the best UX to the content editors. A plethora of custom and contributed modules assist in customization of your site as per your needs and help hugely in content publication. It can of great use for content analytics. For instance, Real-time SEO for Drupal recommends automatic alterations that can boost the SEO of the content that is going to be published.

Prepare a super list of topic buckets

Brainstorming on content ideas can be effectively done through tools like Buzzsumo, Feedly, Semrush and many more. Once done, start preparing a topic cluster to construct a super list of relevant content based on the parameters like search volume and long tail keywords.

Rummage through the content types

A plenitude of content types can be derived, after the super list has been prepared, to work upon. Determining the sort of content you should be using would depend on different stages of buying cycle of the prospects.

  • Brand awareness: The prospects would rummage through your products and services, understand your brand value and try to gauge whether they have the need for your product.
  • Identification of problem: Prospect might figure out the problems and start researching about the possible solutions thereby coming across your products.
  • Comparing available options: Prospect can compile the list of vendors and validates these options.
  • Decision-making: After the comparison of different options, the prospect can start deciding which one to choose from.

Once the different stages of buying cycle are figured out, it is time for mapping what sort of content type would suit best for each of the stages. An illustration below shows the types of content that can be identified with different stages.

Flowchart showing different stages of buying cycleSource: Hubspot

Drupal can be of great use to build these content formats. Let’s see some of them.

Posting blogs: Posting blogs on your website on a regular basis is of utmost importance. Blog posts should provide valuable information to your readers ranging from long form to short form blog types. Drupal provides options for posting different types of content on your website. Whether it is business-centric article or an interview of a CEO from a renowned company, Drupal has the provision for posting different sorts of content.

Administrator view of opensenselabs.com with drop down menu of content.

Developing infographics: Another great way of producing content is the infographics that provide graphical information to convey an information clearly and quickly. Drupal offers a lot of modules that can help in embedding images with infographics in your blog posts. For instance, colorbox, a Drupal module, can help in displaying an image by overlaying it above the current page.Graphic describing the importance of infographics with a laptop and thumb on the left side.

Embedding videos:  A research by Hubspot, as can be seen in the stats below, shows that video is increasingly becoming the most influential and preferred medium of content. Drupal has plenty of modules that can be used for producing videos and embedding them in the blog posts. For instance, CKeditor Media embed module can help in embedding videos, images, tweets that are hosted by other services.Statistics showing percentage of different forms of content that people want to consume in future

Creating Podcasts: Edison research, in one of their studies, reports that 57 million people listen to podcasts every month.  If you have interesting presentations, want to share the latest information on your products and services, or have some amazing conversation with industry leaders, podcasts are the way to go. Drupal 8 module, RSS SimplePodcast, lets you create simple podcast RSS.

Content Governance

Governing the publishing of content is one of the foremost things that content editors need to take care. Having the provision for publishing the content should be hassle-free. You should not only be able to publish your blogs posts but also be able to schedule it as per your organisation’s workflow and your convenience. Scheduler, Drupal 8 module, helps in publishing or unpublishing a content at a particular date and time.

Content editors should also have to administer the publishing of content other than their own sites. Creating original content for an online content portal like Medium would be really helpful in spreading the content to bigger and relevant audience. Also, publishing the content on social media sites like Twitter, LinkedIn etc. can help in targeting more eyeballs.

Conquering challenges

Strategizing the content flow can be rewarding but it does have its fair share of hurdles.

  • Construction of right content for the audience can be hassling.
  • Churning out the right amount of content can be tricky.
  • Looking up for a specific content from the wealth of content on website can be strenuous.
Pie chart on the challenges faced with different content marketing strategiesSource: Hubspot

Drupal 8: Ultimate choice for content strategy

It is of paramount importance that you choose the right CMS for your business when it comes to producing a great content efficaciously. Drupal offers the belligerent support needed for content-heavy websites.

APIs as a core feature

Business enterprises can choose Drupal as the central content repository getting the best out of its rich content structuring, content creation, and administration provisions. Drupal provides the best way to curate, build, and publish content through APIs as its core feature. It makes multi-channel content distribution much easier.

Web personalization

Drupal has the means for enabling web personalization that helps in understanding the interests of the users, tailoring the website to accommodate their profile and, offer them the best content that is relevant to them.

infographic on importance of web personalisationSource: WhiskData

Acquia Lift Connector, Drupal module, helps in the unification of content and the insight collected from several sources about the customers for delivering in-context and personalized experiences across multiple platforms.

Intelligent content tool module, supported by Opensense Labs, helps in auto-tagging, text summarization and finding content duplication.

Multilingual capabilities

Drupal 8 has out-of-the-box multilingual capabilities that help in building websites in more than 90 languages. With in-built modules for language handling, interface translation, configuration management, content translation, Drupal 8 can of great help in building multilingual sites easily. This helps in tailoring user experiences by translating the content in their own language.

Mobile-first approach

Drupal 8 is responsive out-of-the-box. That means the mobile-first approach is a core part of the Drupal framework. It comes with a plethora of fully responsive themes that enables it to work efficiently across platforms. Your content would look exactly the way you want on computers, tablets, and smartphones.

Content strategy project for Drupal.org

Drupal.org Content Working Group met for a two-day workshop in 2014 to get the team from Forum One, content strategists and user experience designers, to build a content strategy for the official Drupal website.

Why is content strategy formulation needed?

Drupal.org is the hub of Drupal and its community. It is the main source of code, Drupal-related information and collaboration among the community members. From project managers to web developers, everyone contributes towards its development and betterment. Organisations from a wide array of industries like governments, nonprofits, and Fortune 500 companies have been using Drupal for their business needs.

What were the objectives of this initiative?

One of the first things that they wanted to improve was the quality and the relevancy of the content available on the Drupal.org website. They also planned to reframe it around all the user roles and proficiencies to address all the audiences. Moreover, their objective was to develop a content governance for the site and improve user engagement within the Drupal community.

What were the steps taken to improve content strategy?

Content Working Group and Documentation Working Group of Drupal identified some gaps and put forth some fixes as part of their content strategy for the site.

  • With over a dozen content types, more than a million pieces of content, much more taxonomy terms and views that represent displays of data, thousands of forum topics, projects (including modules, themes and distributions) and issues associated with these projects, Drupal.org had a lot of content.
  • They took steps to break down these content types into more meaningful content types. For instance, a book page content type can be anything ranging from documentation to resource guides. Thus, this had to be broken down into relevant content types so that the new users can find information more easily.
  • Moreover, a dearth of marketing materials was noticed. They pledged to create content to promote Drupal 8 among the likes of CIOs, CTOs, managers, and business decision-makers.
  • A content audit was needed to be performed regularly. They zeroed in on what sort of content could be archived, what can be removed, and what can be updated. Content mapping was done as well to figure what content they have on the site and what sort of content would they need that would assist in building better information architecture for the new users.
  • They analysed and tested the user experience for creating and maintaining the content on the site.

Tools and technology for content strategy

Understanding the significance of formulating a master plan for producing content on your website can have dramatic metamorphosis for your business. Now, that we have understood the importance, we need to look for the right technology stack that can help out attain our goals.

Integration of CMS and DAM

Content Management System (CMS) like Drupal is primarily designed to build, publish and handle the content on your website. A Digital Asset Management (DAM), in contrast, is highly useful for governing the digital rights and the storage of media content like photos and videos. Integrating DAM capabilities into the CMS can be a big boost for your content endeavours. For instance, integration of Drupal with Acquia DAM, a cloud-based DAM, cam improve brand consistency with the usage of rich media content.

Project management

Usage of project management tools like JIRA, Workbench or InMotionNow can help in imbibing an agile approach to your content workflow, incorporate editorial calendar for effective content management and also help in the proper planning of content production.

Content analysis

Integrating business intelligence and analytics tools like Tableau and Google Analytics would help in compiling reports on your content marketing efforts and assist in the assessment and measurement of your website content.

Future of content strategy

With an enormous presence of disrupting technologies promising to streamline the way existing technologies manage our workflow, curating and distributing content on your website can benefit from some of the future technological advancements.

Virtual reality

A Statista report states that by the year of 2022, the market size of virtual reality would amount to 209.2 billion US dollars. Virtual reality can be a great option to produce immersive content for your content marketing campaigns. For instance, IKEA introduced their customers a way of virtually exploring the living room rather than just looking at their products at the store.

A fictional site of Massachusetts State University was built on Drupal 8 that would help students to take a virtual tour of the University from their website.

[embedded content]

 

Artificial intelligence

To make your content production more predictive, personalised and relevant, AI can be of great help. For instance, Amazon Rekognition helps in integrating photo and video analysis in your application and lets you identify which influencers are generating more user engagement vis-à-vis various product categories.

Native advertising

You might have noticed some form of paid advertisement while reading e-newspaper where the content seems similar to the native content of the platform. Native advertising can play a big role in the content marketing tactics in the future. Almost 60 percent of US digital display ad spending would be done through native advertising.

Live streaming

Another form of content dissemination is the live streaming which will grow immensely in the coming years. It is more like a real-life conversation where audience can pose questions and get responses in real-time thereby increasing user engagement. Viewers spend 8 times longer on a live streaming video content than the on-demand videos.

Conclusion

Creating cornucopia of content is a great deal of work. Producing content smartly by devising right strategy to disseminate content across channels is the way to go. Drupal has been pioneering in the effective distribution of content and can be a great option to embed your website with the best of content.

Ping us at [email protected] to implement the best content strategies for your Drupal site.

May 31 2018
May 31

You might have listened to the new album of your favourite band on a music application. Or, you would have streamed a critically acclaimed movie on a video streaming platform. In both cases, you will notice suggestions curated especially for you based on your choice of music and movies. Personalized content is the way to go for providing the better user experience. Drupal has provisions for building personalization features into your site to tailor the content as per the interests of the user thereby enhancing user engagement.

personalizationSource: Getty Images

Proper analysis of web personalization criteria and strategies should prove vital for the digital firms. According to a research from Econsultancy, 94 percent of the in-house marketers agree that web personalization is really significant for the current as well as the future growth of their business.

What is web personalization anyway?

comparison a website before and after web personalizationSource: Marketo
Web personalization implies that on the basis of attributes like profile, behaviour and the location of the internet users, you should create dynamic and personalized content to provide them with the relevant website experience.

It refers to understanding the interests of the users, tailoring the website to accommodate their profile and, offer them the best content that is relevant to them.

Due to intricacies and traffic volume of some websites, digital marketers may find web personalisation as convoluted and may think that it will occupy a lot of their time. And they may also think that it is for large enterprises who have enormous presence globally, have a huge team, and can sustain increasing budget. But, with right tools and strategies, it can be incorporated into every website no matter what sort of business they do thereby making the website efficacious and skyrocketing the return on investment.

How is web personalization meritorious?

Experian marketing services statistics

Digital marketers constantly work on personalizing the way they interact with the customers and attain their objectives through customer satisfaction and retention. There are various ways you can reap the merits of web personalization.

  • Strengthens customer’s loyalty to your brand: You can use it to firm the grip on how the customer thinks about you and your brand. A research from Invespcro stated that 45 percent of the online users are more likely to shop on a website that shows personalized suggestions. You can compile the data collected from a user’s interaction with your website and curate messages for your cross-channel marketing. Hence, it helps in developing a brand value and customer loyalty.
  • Enhances lead generation: A Hubspot research found that personalized calls-to-actions (CTA) can assist in generating leads. CTAs that were targeted for specific users had 42 percent higher view-to-submission rate than the ones that were same for every user.
  • Offers insight into online visitor’s preferences: You can get a deep insight into who your online users are, what they prefer and, lead to higher conversion rate. You can then channelise your messages based on what certain user might want to know.statistics on shopping interests
  • Shores up sales and revenue: Through loyalty programs, it can help in accentuating your sales. It is not just restricted to offering discounts and merchandises to the customers but promotes more user engagement. For instance, you can send alert to the customers when a product is back in stock or encourage them for future purchases by sending them notifications when a brand new product is launched. A report by Mckinsey and Company states that acquisition costs get reduced by almost 50 percent and business revenue increases by 5-15 percent.
  • Increases conversion rate: Web personalization can help track demographics and the behavioural patterns and convert an anonymous user into a potential customer.Statistics on conversion rates
  • Improves user engagement: Engagement and acquisition are two of the important terms that digital marketers adhere to. Personalizing the website lets you cultivate user engagement through steps like cross-sell, upsell and, customer loyalty. The E-Tailing Group says that increasing the personalisation to multiple channels can increase the customer spending by 500 percent.
  • Disseminates targeted ads: It helps in broadcasting targeted cross-channel promotional campaigns. Through the compilation of user preferences and the advertisements which they click on, your website can spread targeted messages to enhance user engagement. Constellation Research says that lack of content relevancy would lead to 83 percent lower response rates than the average promotional campaigns.

Web personalization with Drupal

Drupal 8 provides the perfect foundation for incorporation of technologies to enable personalization from marketing automation to web analytics. Drupal 8’s web services initiative has streamlined the process of sharing meaningful information with external systems. There is no circumscription on which marketing tools you apply as the Drupal managed content can be turned into standardized data sharing formats.

DrupalCon New Orleans 2016 threw light on how Drupal can be effectively implemented in your Drupal site to increase the user engagement.

This DrupalCon session talked about how Drupal module Acquia Lift can delineate unprecedented insight into what customers want and don’t want to serve them personalized content. With such a system incorporated into the site, digital marketers get more control over automation, testing and measurement of marketing activities.

Acquia Lift module helps in the unification of content and the insight collected from several sources about the customers for delivering in-context and personalized experiences across multiple platforms. It has functionalities like drag-and-drop user interface for targeting messages, syndicating content, behavioural targeting, A/B testing, unifying customer profile, and combining anonymous and known online visitor profiles.

Let’s see how can we strategize the integration of web personalization into the Drupal site.

How to implement web personalization?

1. Understand the classifications of web personalization

  • Feedbacks: Implicit and explicit feedback can be used to send personalized messages to the target segments. A data is said to be implicit when an inference is taken from user interactions with the website. Assessment of their page visits, response to CTAs, behavioural patterns with menu navigation etc. gives you an implicit data about user behaviour. When you use Google analytics data to know the geolocation, browser or the device of the user. Or, when you ask a user to fill out a form, it comes under explicit data.
  • Data sources: You can gain an insight into user behaviour from first-party data sources like user interactions with the website, email marketing, and marketing automation. Second-party data sources include the first party information that is known to a different entity. You can get this information out from trusted partners who are ready to enclose the data with some kind of agreement. Third-party data sources are the external data providers who can come handy in extracting user profiles.
  • Identity: Attributes like IP address, location, device, and browser of a user are automatically detected non-personal identification traits. A user’s age, gender, interests belong to personal identification traits.
  • Online visitor profile: User’s interaction with the website like the onsite searches, date and time of site visits, response to online forms etc. helps in building their user profile.

2. Creation of a content plan

  • Segmentation of audience: It is very much evident that personalizing your website lets you target your messages accordingly. Having content that requires being sent to different sort of audience calls for segmenting the audience type. You might be having a lot of whitepapers, case studies, ebooks, etc. on your website that can be useful for B2B marketing. Or, you might be having a lot of advertisements promoting slashed rates of popular products that are helpful for consumer marketing. So, sending the right content to the right audience is of paramount importance.
  • Efficacy in mapping out content: Once you have decided the segment of the audience that you are targeting, it is important to figure how to effectively map out content. For instance, in B2B marketing, you can consider building on metrics like awareness, interest, evaluation and commitment through infographics, case studies, live demos, and advanced solutions respectively. And in consumer marketing, you can build on metrics like awareness, interest, and decision through product highlights, videos, and special offers respectively.
content mapping exampleSource: Marketocontent mapping exampleSource: Marketo
  • Betterments with the existing content: Smart calculation of dissemination of the content is very essential. Creation of cornucopia of content won’t solve your trials and tribulations. Personalized advertorial campaigns may require you to develop new content but it is also imperative to improvise the content that is already existing on the site. Repurpose the content according to the segmentation of audiences. Revisit the titles and the CTAs to make it appropriate as per the segments. Add the industry-specific research studies that resonate with your content. Convert your large reports into short ebooks, infographics etc.
  • Choosing the right place on your website: You can customize your homepage based on the region from where the user is accessing your website. Sometimes, an internal page with product details might be having higher SEO rankings than the homepage. So, it is fruitful to personalize that page with some live demos that is relevant to them.Stats on types of personalized content

3. Testing the web personalization efforts

  • A/B testing: In other words, it is also known as split testing. This process refers to the comparison of more than two versions of promotional campaigns or advertorial messages through cross-channel marketing to understand which method is working and which isn’t.
  • Importance of A/B testing: Not only it helps in enhancing the engagement of online users and efficacy of promotional campaigns but also improves digital marketers’ awareness and expertise when it comes to understanding user preferences.

4. Measuring the success rate

Sca;e representing stages of personalization successSource: Marketo

You would notice the early signs of success through the increase in time on site, amount of content consumed and the return visitors. Thereafter, contact quality gets better. Finally, you see improvement in return on investment.

Stats on measuring web personalizationSource: Marketo

Case study

Drupal has a proven track record in the healthcare industries. “What does it mean for content to be “personalized”?”. Humana, which finds a place in the list of Fortune 500 healthcare company, personalized their Drupal microsite for one of their customers with the help a digital agency to deliver relevant content.

The objective was to send out targeted content to the users and find their interests. Humana wanted to personalize their website based on the data including demographics and click path of the users. They pushed their existing online users to a personal wellness analysis that provided them with the insight into their behavioural patterns and their interests.

Website of Humana's micrositeSource: Acquia

When the users clicked on this personal wellness registration forms, Humana got their demographic details. Users could also manually edit the settings through some sliders. This enabled them to see the type of content that they wanted to see on the website. Thus, it paved the way for mapping users with similar demographics and preferences.

Website of Humana's micrositeSource: Acquia

They could disseminate the content by constructing different segments like health, finance, etc. For instance, in the health segment, they could categorise on the basis of attributes like demographics (gender and age) and site activity (users who mostly clicked on the content related to health factors).

Conclusion

Content strategies that prophesize the one-size-fits-for-everyone would make your site banal, trite and shorn of any fanfare. Digital strategies have come a full circle and have clung on to web personalization tactics to provide relevant and meaningful content to the users. Drupal 8 provides a magnificent platform for personalizing the website. With right strategies and plans in place, you can build a bonhomie between the online users and your website.

Ping us at [email protected] to personalize your site and build a colossal online presence.

May 18 2018
May 18

Just like land, air, and water are meant for everyone, the web was designed to work for all people and expel any hindrance, irrespective of the surroundings and capabilities of people. But the effect of incapacity (of individuals) in the light of the fact that the web standards don’t include all in itself has become a barrier. Creating quite the paradox in the situation. 

graphics for web accessibility with an ear, brain, eye, mouth, and heart

Before completing this blog, my ignorance led me to believe that web accessibility was limited to ‘accessibility only for people with disability’. Another thing that I was coxed to believe was that it is almost synonymous with visibility issues. But it is as much for a person with auditory disabilities as it is for a person with cognitive or neurological disabilities. However, I realized I was not the only one associating such wrong notions with disabilities and web accessibility.

Lack of awareness and taboos associated with disabilities often mislead us.

Ensuring that people with disability have equal and inclusive access to the resources on the web, governments and agencies follow certain guidelines in order to establish equal accessibility for all without any bias. 

What are Web Accessibility Standards and why do they matter?

The Web Content Accessibility Guidelines (WCAG) explains how the web content be made more accessible to people. Here the word "content" refers to any and every kind of information in a web page, such as text (include heading and captions too), images, sounds, codes, markup - anything that defines the layout and framework.  

“WCAG is developed through the World Wide Web Consortium process with a goal of providing a single shared standard for web content accessibility that meets the needs of individuals, organizations, and governments internationally.”

Take examples of physical infrastructures like ramps and digital vision signboards, which can be used by anyone, in a similar fashion web accessibility is for everyone.

When you go out in the noon, the level of contrast can be an issue as much for a person with 6/6 vision as it can be for a person with visibility issues. Or say, older people (due to aging) face problems with changing abilities, as much as people with “temporary disabilities” such as a broken arm or lost glasses. Thus, not only web accessibility standards ensure justice for people with disability but, it is inclusive for all. 

According to the Convention on the Rights of Persons with Disabilities by the United Nations, enjoying equal human rights is a fundamental freedom. To ensure the dignity of people with disability is not a subject of ridicule, governments across the globe signed a treaty for easy web accessibility. 

How does Drupal help?

A person may face an issue either when building a website or when using it. The WCAG ensures that both the times the guidelines are followed. The World Wide Web Consortium (W3C) guidelines are then divided into two: ATAG 2.0 and WCAG 2.0. Authoring Tool Accessibility Guidelines (ATAG 2.0) addresses authoring tools and Web Content Accessibility Guidelines (WCAG 2.0) addresses Web content and is used by developers, authoring tools, and accessibility evaluation tools. 

Drupal conforms to both the guidelines. The initiative started with Drupal 7 accessibility and the community has been committed to ensuring that accessibility for all. 

What Drupal does...

The community has an accessibility team which works to identify the barriers both at the code level and the awareness level to resolve them. As a person using assistive technologies to browse the web, Drupal is built to encourage and support the semantic markup (which comes out-of-box in Drupal 8 now).

One can realize that the improvements are meant for both the visitor and administrator in the:

  • Color contrast and intensity
  • Drag and Drop functionality
  • Adding skip navigation to core themes
  • Image handling
  • Form labeling
  • Search engine form and presentation
  • Removing duplicate or null tags
  • Accessibility for Developers

Modules For Accessibility

Following are some of the Drupal modules which will assist you in keeping up with the accessibility standards. 

  1. Automatic Alt text
    The basic principle at work here is the idea of easy perceivability. Any and every information should be, thus, presented in such a way that is easily perceivable to the user. It is required for any non-text information like images and video to describe the content in the form of text for the screen readers to read it. 

    Logo of automatic alt text module by Microsoft

    The Automatic Alt text module automatically generates an alternative text for images when no alt text has been provided by the user. This module works great for the websites and portals with user-generated content where the users may even not be aware of the purpose and importance of the Alternative text. 

    It describes the content of the image in one sentence but it doesn’t provide face recognition. 
     

  2. Block ARIA Landmark Roles
    Inspired by Block Class, Block ARAI Landmark Roles adds additional elements to the block configuration forms that allow users to assign a ARIA landmark role to a block.
     
  3. CKEditor Abbreviation
    The CKEditor Abbreviation module adds a button to CKEditor which helps in inserting and editing abbreviations in a given text. If an existing abbr tag is selected, the context menu also contains a link to edit the abbreviation.

    Abbr tag defines the abbreviation or an acronym in the content. Marking up abbreviations can give useful information to browsers, translation systems, and help boost search-engines.
     

  4. CKEditor Accessibility Checker
    The CKEditor Accessibility Checker module enables the Accessibility Checker plugin in your WYSIWYG editor. A plugin, the module lets you inspect the accessibility level of content created and immediately solve any accessibility issues that are found.
     
  5. High Contrast
    On April 13, 2011, Joseph Dolson published an article "Web Accessibility: 10 Common Developer Mistakes" stating the most common mistakes related to web accessibility and quoted that most of the issues have "more to do with a failure to understand what constitutes accessible content than with a failure to understand the technology"

    In most of the surveys, poor contrast level is often cited as the most commonly overlooked feature by the developers.

    an example of Drupal high contrast

    High Contrast module, provides a quick solution to allow the user to switch between the active theme and a high contrast version of it helping them pull out of the problem.

  6. htmLawed
    According to the "Ten Common Accessibility Problems" an article by Roger Hudson, failure to use HTML header elements appropriately is one of the key accessibility issues. 

    The htmLawed module utilizes the htmLawed PHP library to limit and filter HTML for consistency with site administrator policy and standards and for security. Use of the htmLawed library allows for highly customizable control of HTML markup.

  7. Style Switcher
    The Style Switcher module takes the fuss out of creating themes or building sites with alternate stylesheets. Most of the accessibility issues have been confronted at the theming level. With this module, themers can provide a theme with alternate stylesheets. Site builder can add other alternate stylesheets right in the admin section to bring it under the right guidelines of accessibility. Allowing special styling of some part of the site, the module presents all those styles as a block with links. So any site user is able to choose the style of the site he/she prefers.

  8. Text Resize
    The handiest feature giving the end users just the right autonomy to resize the text as per their comfort of the eyesight. The Text Resize module provides the end-users with a block that can be used to quickly change the font size of text on your Drupal site. 

    an example of text resize block

    It includes two buttons that can increase and decrease the size of the printed text on the page.

  9. Accessibility
    A module for the developer, Accessibility module gives you a list of available Accessibility tests, (most of which are) aligned with one or more guidelines like WCAG 2.0 or Section 508. 

    It immediately informs the site maintainer about the missing an “alt” attribute in an image, or if the headers are used appropriately. Further, each test can be customized to fit your site’s specific challenges, and customize messages users see for each test so that you can provide tips on fixing accessibility problems within the context of your site’s editing environment.

Drupal 8 Features for Accessibility 

Other than the modules that can assist you to overcome web compatibility issues, here is a list of top Drupal 8 features for easier web accessibility. 

  1. Semantics in the Core
    When an assistive device scans a web page for information, it extracts the data about the Document Object Model (DOM), or the HTML structure of the page. No further information is read by the screen reader.

    Often these assistive devices only allow a user to select to read the headings on the page or only the links. It prioritizes according to the hierarchy in which the headings and links are presented making browsing easier for users of assistive devices. 

    Drupal 8 is based on HTML5. Presenting new and better semantic components HTML5 is, in fact, one of five major initiatives outlined in Drupal 8 development. It allows theme developers to control where to use the new semantic elements and opt out entirely if they so choose. 

    When we compose semantically correct HTML, we’re telling the browser and the assistive technology what type of content it is managing with and how that information relates to other content. By doing this, assistive technology is all the more effortlessly ready to carry out its activity since it has a structure that it can work with.
     
  2. Aural Alerts
    Often page updates are expressed visually through color changes and animations. But listening to a site is a very different experience from seeing it, therefore, Drupal provides a method called “Drupal.announce()”. This helps make page updates obvious in a non-visual manner. This method creates an aria-live element on the page.

    This also lets the user know of any alert box appearing along with providing instructions to screen reader users about the tone as well. Text attached to the page is read by the assistive technologies. Drupal.announce accepts a string to be read by an audio UA. 
     

  3. Controlled Tab Order
    The accessibility issues also crop when a user uses different mediums while navigating the web. Not every user uses a mouse to navigate the website. The TabbingManager, in Drupal, is an awesome medium to direct both non-visual and non-mouse users to access the prime elements on the page in a logical order. It, thus, permits more control when exploring complex UIs.

    The tabbing manager helps in defining explicit tab order. It also allows elements besides links and form to receive keyboard focus. Without breaking the tab order it places the elements in a logical navigation flow as if it were a link on the page.
     

  4. Accessible Inline Form Errors
    It is important to provide the necessary feedback to users about the results of their form submission. Both the times when successful and when not.  This incorporates an in-line feedback that is typically provided after form submission.

    Notifications have to be concise and clear. The error message, in particular, should be easy to understand and provide simple instructions on how the situation can be resolved. And in case of successful submission, a message to confirm would do. 

    Drupal forms have turned out to be impressively more open to the expansion of available inline form errors. It is now easier for everyone to identify what errors they might have made when filling in a web form.

  5. Fieldsets
    Fieldset labels are utilized as systems for gathering related segments of forms. Effectively implemented <fieldset> label gives a visual diagram around the shape field gathering. This can, to a great degree, be valuable for individuals with cognitive disabilities as it viably breaks the form into subsections, making it easier to understand.

    Drupal presently uses fieldsets for radios & checkboxes in the Form API. This helps towards additionally upgrading forms in Drupal.

Conclusion

However good the features Drupal offers, in the end, it is up to the organizations to strategize and build the websites and applications around the web accessibility.   

We ensure that our different teams and interaction work together in order to make the Web more accessible to people with disabilities. At OpenSense Labs we design and develop the web technologies to ensure universal accessibility. Connect with us at [email protected] to make the web a better place. 

May 17 2018
May 17

A black spot on a white sheet of paper can be found with a quick glance. What if you have to search for a black dot with certain radius among the cluster of dots on a large sheet of white paper. Such is the need of the hour where you have to intelligently search for a piece of information from a cornucopia of data in your system. Cognitive search is revolutionizing the process of retrieving the files.

There is a diminishing trend of manually searching for a document stored somewhere in your system. Large enterprises are the ones who are showing their dire inclination towards this disrupting technology.

Before we move on to how large organizations are looking to extract the merits of cognitive search, let’s understand what it is.

What is Cognitive Search anyway?

Graph showing evolution of cognitive searchSource: Forrester

Forrester, research and advisory firm, defined cognitive search and knowledge discovery as “the new generation of enterprise search solutions that employ Artificial Intelligence (AI) technologies such as natural language processing (NLP) and machine learning to ingest, understand, organize, and query digital content from multiple data sources”.

That is the best definition one can give to describe a cognitive information system. In short, it can extract the most relevant piece of information from large sets of data in their work context.

Platforms enabled with cognitive computing abilities can interact with the users in a natural manner. With experience, they can learn user preferences and behavioral patterns. This helps them establish links between related data from both internal and external sources.

How Beneficial is Cognitive Search?

So now we have an understanding of what it is and how it works. How can it turn out to be a great asset?

Tapping into large sets of data sources

  • To fetch the best piece of data out of voluminous sources of data can seem tiring. Cognitive search can work wonders in extracting the most valuable piece of information from large sets of intricate and varied data sources.
  • Whether it is internal or external, it peeks inside everything that is available in your entire enterprise. It also touches searches through structured and unstructured data and lends deep and insightful search capabilities to your organization. This helps in making better decisions in the business.

Providing relevant knowledge

  • It comes packed with a lot of functionalities that leads us to find meaningful and relevant information. Doing a search across the enterprise data may seem daunting, but it does that with ease. 
  • Using NLP, it can gauge and get to know the scheme of things vis-à-vis text content like email, blog, report, research work, and document and also media content like meeting videos and its audio recordings.
  • Once it is done with the understanding part, machine learning algorithms help it do deeper research and come up with insightful information. Company dictionaries and ontologies help with understanding the terminologies and their relationships.

Enhancing search results

Machine learning algorithms help in providing better search results.

  • To help digital marketers predict if the advertisements designed by them is going to work or not, a supervised learning algorithm called Classification By Example can help. For instance, it can help them judge how people reacted to particular ad campaigns in the past to help them come up with something better this time around.
  • Marketers can ascertain a particular group of people and target them for their upcoming marketing campaigns. Clustering, an unsupervised learning algorithm, helps them in the process.
  • To understand the relationship between input and output variables and do the prediction, regression algorithm comes handy. For instance, it can be used to build applications that determine the road traffic based on the present weather situations. Also, based on various economic factors, it can help predict stock prices.
  • Similarity algorithm can help you appoint an expert team for a business project based on their skills and competency levels in the previous projects.
  • Personalized recommendation based on the interests of the users can be done using Recommendation algorithm. Based on the previous history and usage patterns, it can recommend content which a user would most likely want to consume.

How did Cognitive Search come into existence?

It is a valid question. One would ponder whether this was developed in a short span of time or did it involve some amazing technologies behind the scenes. It was, of course, a very long roadmap which had to be traveled to reach this tech marvel.

By now, you have already noticed that, as the definition mentions it, machine learning and artificial intelligence are the frontrunners in leading up to this masterpiece.

Almost all the search methods that exist today are some way or the other related to Google. Leverage Marketing came up with an interesting study. When Google first created a search engine in 1996, there were already several others in place. But Google’s search was different. While other search engines delivered search results only if they could find an exact keyword in the search box, Google had a different algorithm.

Google gave a value to certain keywords. So, keyword frequency determined the search results which led to irrelevancy in terms of content that it showed on top. So, in the 2000s, Google devised several improved search techniques. It, finally, incorporated machine learning into their search engine in 2015. That means Google would not just read what you have written in the search box but interpret what we really mean when we type that.

By developing its cognitive learning search method, Google’s search algorithm could understand keywords and provide rankings, past search results, browser history, user location and other such parameters. This was their major leaning towards artificial intelligence.

This is how Google standardized the internal search. Office network developers contemplated developing search methods for their business needs. Their pursuit of search method development was based on Google cognitive search and machine learning techniques. That is how cognitive search came into existence and did a splendid job in improving the search experience.

Challenges that lie ahead...

Three-pronged approaches to look at the challenges that it might encounter and how to tackle them:

  • Expertise: Shortage of personnel required to develop and maintain this budding technology can be one of the main challenges that have to be overcome.
  • AI implementation:
    • Supervised machine learning helps in recognizing user patterns over time. Providing sufficient labeled training datasets from which these systems can learn is a huge challenge.
    • Unsupervised machine learning identifies existing user patterns. Systems with this capability face a major hurdle. Sufficient data with intervention for proper guidance and interpretation to train the system is a challenge.
  • Goal formulation: There has to be clear goals and outcomes formulated. For instance, in reinforcement learning, systems perform several attempts and learn from the outcome of the trials to take better decisions. The biggest task is to provide clear-cut goals and enough practice to the systems in a challenging environment.

How can Cognitive Search improve Enterprise search?

Large enterprises are having this question as this will make life easier. We have seen that relevancy, meaningfulness, and completeness are required to get the better search results. But they should also have the enterprise qualities.

  • Understanding data: It should understand any data that an enterprise would fling at it. It should browse through the plenitude of data sources, understand both structured and unstructured data to come up with better enterprise search results.
  • Scalability: It should be able to scale with the ever-increasing density of enterprise data. Large enterprises have hundreds and thousands of applications with several bytes of data stored in the cloud or on-premises. Cognitive search solutions should deliver better quality search results.
  • Manual fine-tuning: It uses natural language processing and machine learning algorithms to understand data, do the prediction of user’s search patterns, improve the relevance of search results and automatically tune them over a period of time. Cognitive search solutions should provide tools for administrators to manually tune search results. After all, AI is not perfect.
  • Building search applications: It should help developers to develop search applications. Instead of incorporating simple text box search methods, business enterprises should be able to build an application that works like virtual digital assistants such as Google Now and Siri.

Use Cases

Sinequa, which provides cognitive search and analytics platform for over 2000 organizations, has a great cognitive computing solution. As a matter of fact, it is recognized as the leader in the Gartner 2017 Magic Quadrant for Insight Engines and the Forrester Wave™: Cognitive Search and Knowledge Discovery Solutions Q2 2017.

Sinequa partnered with content platform firm Box to enhance cross-platform enterprise search and analytics.

  • The Partnership between Sinequa and Box helped in leveraging the aggregation of human-generated data in an enterprise, exploring information, and apply them in a business decision makings. This integration not only lets customers mine their Box content but also allows to search across other organizations’ repositories. This increases the value of the information searched by linking them with related content across different sources which was previously affected by standalone silos.
  • Sinequa offers more than 150 connectors to its various data sources. And with this partnership, the relevancy of search results for the enterprise data corpus has only got improved. Individuals can do the enterprise search across platforms for contextually relevant search results across platforms from a single interface. Hence this shows that their partnership has promoted the enterprise cloud-first philosophy that is becoming the norm of the industries.
  • From the angle of information management, the partnership is significant with both the companies having a huge presence among the large enterprise clients. Box provides the user-friendly cloud file sharing and sync functionalities. It decided to embed enterprise governance features for the content by building tools for reports, access controls, workflow, securities policies etc. Partnering Sinequa further strengthened the voluminous knowledge base content of Box by allowing it to maintain control settings on data while the content is being searched and assessed on Sinequa.
  • Native security and permissions settings of connected repositories are preserved to a great extent with this integration. Users can search the Box environment without bothering the native control settings on the respective platforms where the information is located. That means Sinequa search interface allows users to endlessly search for the content and the granular security and permissions settings of the Box remain intact.
  • 360-degree view of the customer is attained through this partnership. Sinequa’s natural language processing and machine capabilities, powered by Apache Spark, and its more than 150 connectors to content sources let it form compound results of the enterprise search for detailed understanding by humans. If a user is searching for a specific subject in Box, he or she can view most contextually relevant results from email, Salesforce, on-premise file shares and other such sources. This mitigates the time and efforts required to find the right actionable insight. Thus, this improves yields from certain initiatives like gaining a 360-degree view of the customer.

Hewlett Packard Enterprise (HPE), multinational enterprise information technology company, has its own cognitive computing solution. Delivering natural language based systems to meet the ever-increasing needs of users, providing answers that are precise, relevant and trustworthy is important. HPE IDOL Natural Language Question Answering is one such solution that comes with natural language processing enables features for large enterprises.

  • Accurate response: IDOL Answer Bank feature helps in providing accurate and curate responses to the predefined reference questions. For instance, It can be programmed to give you instructions on configuring a smartphone.
  • Fact-based answers: IDOL Fact Bank feature helps in providing answers based on proper facts. For instance, it can give the stock price details through structured data sources. Or it can provide company's annual report through unstructured data sources.
  • Text-based overview: IDOL Passage Extract feature helps in giving you an overview. For instance, you can see the latest financial services and their rules and regulations or the news events.
  • Assessment questions and data sources: IDOL Answer Server feature assesses the questions and various content sources to provide the best possible answer.

Cognitive Search solution providers

Forrester research showing cognitive search solution providersSource: Forrester

Forrester, in their research study for Cognitive Search and Knowledge Discovery Solutions, compiled a list of high performing vendor solutions.

  • HPE IDOL: This solution is built to analyze everything that is searched using it.  With HPE’s intentions apparently not restricted to unstructured text, its cognitive computing platform also does a deep analysis of speech, images, and video. It includes capabilities like gauging a question and optimally answering that can help developers in developing chatbots or virtual conversational assistants.
  • Coveo: Its major focus lies in contextual and relevant search results. It uses advanced analytics and machine learning algorithms to return the most contextual results for the queries made by the user. It has also integrated with Salesforce using its cloud-based model.
  • Sinequa: It gave importance to natural language processing for the better understanding of search queries and relevance of content discovery. Moreover, incorporating Apache spark, its analytics platform has got a further boost.
  • Attivio: It is suitable for most complex search applications. It offers knowledge management, anti-money laundering, customer 360, and other such features. Developers can use the structured query language to search the index.
  • IBM: It has leveraged the utilities of Watson Explorer by incorporating it in IBM’s Watson Developer Cloud. Watson explorer can be deployed in the cloud or on-premises. It is very helpful for customer 360 search applications, enterprise search, and claims processing.
  • Lucidworks: Their solution called Fusion has fantastic enterprise search features, 40 prebuilt connectors to applications like Salesforce and Slack, better administration tool, and out-of-the-box machine learning algorithms to come up with better knowledge discovery.

Summary

Cognitive search has emerged as the default standard for enterprise search. By analyzing a search query, using its AI capabilities, to give most relevant and contextual output, it has led to a volte-face in the thinking of large enterprises.

Using internal and external content sources to provide the most relevant knowledge and enhance search results, it has been a huge helping aid in the smart cross-platform search.

Google’s search engine integrated it in their algorithms to understand user’s behavioral patterns and show results. This is how cognitive search came into existence in the enterprise world.

It has to break through the straitjackets of few challenges to come out as an improved technology in the coming years.

With a deep understanding of data, scalability with challenges and manual tuning by administrators etc. it can improve enterprise search.

Leaders in cognitive search solution providers like Sinequa, HPE, Attivio among others have amazing platforms where customers can reap the benefits.

Opensense Labs love this tech genius. Contact us at [email protected] to understand more about this remarkable piece of technology.

May 17 2018
May 17

As an entrepreneur, you need a reliable, secure, and flexible platform to build your business on. Not only scalable it should be future-proof to sustain the content without hampering the performance of your website.

Leaders worldwide are using the power of open source to innovate their platforms and improve their business statistics. Selecting the right technology means working on the solutions that will support an active and growing business over the long-haul. Therefore, it requires careful consideration and foresight, when choosing the CMS for your enterprise.

Fulfilling the business requirements as well meeting the technical aspects, no wonder why Drupal is used 7 times the number of top sites as its next two competitors combined (BuiltWith.com)

Let's simplify the word enterprise 

An oft-repeated word in the world of business, “enterprise” covers organizations of all shapes and sizes. All such businesses cover individual organizational units with a distinct need to build their firm with a unique identity and reputation of its own kind.

Even though the meaning may vary considerably, when it comes to web development and technology, an enterprise website requires a particular set of abilities such as, accommodating a larger and varied content base, handle traffic, microsites, and of course provide tight security.

Who uses Drupal CMS for their enterprise?

Drupal is fostering billion dollar businesses under the aegis of its brand, a few well known are:

  • Puma
  • Tesla Motors
  • Grammy
  • Pfizer
  • Timex
  • The Economist
  • Whole Food
  • Honda (Brazil)
  • Johnson and Johnson
  • Shoretel
  • LOreal (India)

And a million more add to Drupal's credentials. Acknowledging that enterprise solutions often demand complex requirements, Drupal has it sorted for you.

Why Drupal For Your Enterprise?

Covering the enterprises using Drupal, below are some of the solid technical reasons which makes it an excellent candidate for any enterprise of any scale or vertical.

It is Easier To Build

As an online platform on which your business will be built, Drupal lets your need dictate the terms.

Providing easy-to-set-up solutions with distribution, the development time is cut by half.

Enabling companies to deploy core features and functionality rapidly, it allows easier customization as per their business requirements.

It is easier to choose the layout and themes for your Drupal website, as themes and appearances are just a click away. With features simplified to make non-developers comfortable around Drupal, the editorial capabilities have been made fluent and easy.

Drupal is Secure

Used by hundreds and thousands of websites, Drupal’s core, codes, and passwords are repeatedly encrypted and hashed to strengthen the life of your website. Supported by experts, and a large and continuously growing community, it has a dedicated security team to patch any probable security violation.

Frequent Updates

In case of any security update, the community ensures that you get notified the day patches are released. Security release windows are released every Wednesday for contributed projects, and the third Wednesday of every month for core, usually, for a fixed period of time.

Drupal security animation

Even though the release window does not necessarily mean that a release will actually be rolled out on that date, it exists for the site administrators to know in advance the days they should look out for a possible security release.

Security Modules

In addition to the proven security of core, numerous contributed modules can strengthen the security of your website. These modules extend the security by adding password complexity, login, and session controls, increasing cryptographic strength, and improving Drupal' logging and auditing functions. For a detailed research on security-related modules, check the list of must-have security modules.

Security Team and Working Group

The security team works closely with the Drupal Security Working Group (SecWG), comprising dozens of experts from around the world to validate and respond to security issues, aim being - to ensure that core and contributed project system provides world-class security and provide security practices to community developers.

Its core is designed to prevent any possible security breach. Vulnerabilities in the core are coordinated with branch maintainers and individual project maintainers respectively.

Drupal has proven to be a secure solution for enterprise needs and is used by top-tier enterprises.

Drupal is Scalable and Flexible

Another salient feature that makes it popular among businesses. When concerning web technology, enterprises require the ability to handle considerable traffic throughout - especially if it is a media and entertainment site.

It is built with core web technologies which have stood both the test of time and traffic spike.

Drupal’s ability to make the framework extensible via its modules and distributions is at the heart of much of its success. While it has enabled the core to sustain the bulk of the content, its way to streamline the demands of new industries by allowing them to address their needs in the form of custom modules and distributions has given it more satisfactory customer reviews.  

One matter that addresses the worries of enterprises is the cost of maintenance. Many government and non-government organizations have migrated to Drupal to avoid the licensing and maintenance cost of the proprietary systems.  

Excels at Responsive Development and Quick Loading Time

According to Google’s official statement, more than 50 percent of search queries globally now come from mobile devices. People want to be able to find answers as fast as possible and various studies have proved that people really do care about the loading speed.

And that is why a recent Google release says that page speed will be a ranking factor for mobile searches from July 2018. It’s high time that you take the combination of performance and mobile responsiveness as a serious factor for improving visibility and revenue from the web.

Drupal 8 is built for a mobile-first world. Everything in version 8 supports mobile responsive design. Its admin and default designs are responsive for both developers and content authors providing a responsive front-end theming framework.

Increasing the loading speed of your web page opens numerous doors for business. And when users can view your Drupal website the same way on a desktop and mobile devices you cannot be having second thoughts.

Mobile responsiveness helps you deliver the optimal mobile visitor experience. It supports the best responsive design practices and ensures that your users get a coherent experience anytime and every time.   

Supports Multi-site Functionalities

Given that your organization is running more than one site, the maintenance and management would require big bucks and time. But with the multi-site feature you can share one single Drupal installation (which includes core code, contributed modules, and themes) among other several sites.

Enterprises, this way, can handle complex requirements from a single Drupal installation which implies that less time and resources are required to build your network of websites.

One can manage any number of sites across their organization or brand, crossing geographies and campaigns from a single platform that allows swift and uncomplicated site creation and deployment.

This is particularly useful for managing the core code since each upgrade only needs to be done once. While each site will have its own database and configuration settings to manage their own content, the sites would be sharing one code base and web document root.

The multisite feature can be used for sites with same features and functionalities. But if you have different functionalities it is better to test each site independently.

For Every Enterprise

Realizing the needs of every industry is different, Drupal has something for everyone.

Media and entertainment

Editing and Scalability

Media and entertainment websites worldwide use Drupal for their online platforms for seamless editing and scalability. The list of over one million organizations includes The Economist, ET Online, MTV(UK), The Grammy, The Emmy, The Weather.com, The Beatles, and Warner Bros Music.

The Warner Brothers logo

Scalability is all about quantity - how many requests and amount of information you can handle at any given time without breaking or bending. Supporting some of the world’s most visited sites, Drupal is the other name of scalability.

Allowing easy content editing and management, which media and entertainment websites look for, it provides it all with WYSIWYG and CKEditor without another weighty feature.

SaaS

Community solutions:

SaaS enterprises are using Drupal to build the platform for their product as well as a community to engage with the clients and followers. It is easy to develop the platforms and then keep on adding the features in the later phase.

Given that community platforms are one of the key needs of SaaS organizations which allow the domain for the prospects and help the product and community to grow alike, distributions like OpenSocial offer great help.

Zoho is one of the SaaS products using Drupal for its community platforms.

E-commerce

E-commerce functionalities

Providing easy payment gateway to conduct online transactions, Drupal ensures the customer information passes seamlessly and remains safe.

Its core commerce payment module and distributions (Drupal commerce and Commerce KickStart) support the payment API, for a smooth payment collection procedure, through the check out form.

Supporting Paypal Express Checkout and Paypal Credit along with Amazon Pay, it lets you reach a wider audience by letting your shoppers complete the payment and shipping information stored on their Amazon accounts.

Tour and travel

For a potential traveler, your site shouldn’t look like just-another-information-brochure on the web. The need for an end-to-end solution to integrate all the minute details (from hotel booking to landing back) has never been greater.  

Booking Engine:

Providing two of the best booking solutions for your website:

  • EasyBooking - Distribution
  • BAT - Module

A complete solution for your vacation portal, BAT allows you to build an exclusive booking engine for a better customer relationship management. And EasyBooking gives a set of options to your visitors to make room reservations, contact hotel administration, or just sign-up for the hotel’s newsletter to be aware of the special offers and discounts.

FMCG

Theming

A design which resonates with your brand, interests and engages with your visitors is what you should indulge your resources in developing.

It’s the psychological effect which drives the visitor to make a transaction or to explore provided possibilities throughout the interface. Every landing page matters.

Regardless of your showcased products, Drupal themes provide sound navigation throughout the categories and sections with in-built hero banners’ section and pop-ups which are definitely customizable.

Additional modules can be further used to build an industry-specific theme. In order to cope up with varied demands, it provides more than two thousand easy and free to use themes on the go.

Government and Non-Government

Cost and Security:

In 2012 when the Georgian government shifted to Drupal, the first reason to dump its previous CMS (Vignette) was its rising maintenance costs. 

Running a total of 65 state websites on two different versions of this proprietary system proved to be costly in the long run

Another decisive factor for government websites, uncompromised security is why government organizations are opting for Drupal. Around 150 governments are already powered by it. Just like the Georgian government, costs have been a significant factor affecting the choice of government and non-government agencies.  

Higher Education

Distributions:

To quickly build your higher education website, distributions provide an easy opportunity to build the website halving the development time and providing quick features. Opigno and OpenEDU are two of the distributions used widely by the higher-ed websites.

Drupal is most widely used CMS in the education sector no wonder why top international universities like the Harvard, Brown, Yale, Pennsylvania, and Columbia rely on it.

HealthCare and Life Sciences

Content and User access control:

It can conform to any workflow that can be programmed with just a few configurations available. You can identify different types of content such as text, images, comments, file attachments, and any other information on your website for easy content integration and management.

Drupal As an Enterprise Management System

The need for an intranet system cannot be emphasized enough. For your business to grow by leaps and bounds, it is necessary to establish clear communication within your organization.

As your business expands, the need for an intranet system which can help in storage and sharing of data increases. ECMS is different from the web content management system in the way that the former is specifically designed for enterprise websites and is more dynamic.

Drupal allows building ECMS in two ways, either by using its modules and features or with the third party configuration. Its integration capabilities help the website to serve as a central content management system integrated with other necessary advancements.

Drupal Is Easier To Manage

Drupal isn’t hard to use, but it can be hard to learn how to use. Even though it requires more technical experience it is capable of producing exceptionally advanced sites. There is a WYSIWYG editor and drag-and-drop functionality to ease out the process and help you start straight away.

The release of version 8 has made the platform easier to use even for non-developers(and it includes content authors). Managing your website is easy as the community platform provides you with necessary documentation and answers in case you get stuck.

Summary

Being one of the leading technologies in the market, Drupal gives your enterprise the features and flexibility to innovate as per your visitor behavior and preferences.

We’d love to hear your thoughts. To get in touch, drop a mail at [email protected] and let us know how we can enhance your statistics with Drupal.

May 14 2018
May 14

A lot has been written in and around the EU’s new data privacy compliance - General Data Protection Regulation. As we near 25th May, the search around GDPR compliance is breaking the internet. 

In my previous blog What is GDPR? User Rights and Business Guidelines we covered a comprehensive guide on what GDPR is. Understanding in details the guiding principles and the data subject rights. In this blog, we will cover how EU GDPR will affect your business. And what can you do if your website is built on Drupal? 

In the later part, we would be answering the questions like ‘How does Drupal comply with GDPR?’ and most importantly - Is Drupal ready for GDPR compliance?

A Quick Recap on GDPR 

The EU General Data Protection Regulation (GDPR) would replace the 1995 EU Data Protection Directive (95/46/EC) and is devised to “harmonize” data privacy laws across Europe. GDPR is focused on the way the information is taken by the businesses and utilized thereafter. 

The regulation will come into force on 25th May 2018 and was adopted in April 2016 after first being proposed in January 2012. The two year period has given time to the businesses and public bodies to prepare for the coming change.

Its aim is to protect and most importantly empower all the EU citizens’ with a major focus on the consent of the user while being stringent on the data privacy and reshape the way organizations across the region approach data privacy.  

How Does it Affect My Business? 

The new data protection regulation puts the consumers in the driver’s seat and the errands of conforming fall on the businesses.

TL;DR

  1. Non-EU established organizations will also be subject to GDPR if their data subject is from EU.
  2. Every data collection step should involve the clear consent of the user.
  3. It affects SMEs too.
  4. Need to appoint a Data Protection Officer.
  5. It will affect the way the customer engagement and sales and marketing occur in your organization.
  6. The penalties are quite harsh.

Companies processing the personal data of data subjects residing in the Union, regardless of the company’s location also come under the scope of GDPR. This means that non-EU organizations not previously caught under the DPA for targeting an EU market or EU citizens will now be caught by the GDPR.

No more will the “we use cookies” message suffice. To comply with the new EU data privacy law, the website needs to put out a clear message as to where and how they will be using the information. They also need to give the user a clear way to opt out of it. 

mail from drupal.org regarding the update settings according to the GDPRUpdate notification from Drupal.org with an 'opt-out' option and how the information will be used

A lot of people think that GDPR will affect only the bigger organizations but GDPR will also apply to any business that processes the personal data, including those with fewer than 250 employees. However, it is acknowledged that SMEs have fewer resources or that the fact that they process lower volumes of both sensitive and non-sensitive data when compared. For this reason, an SME may be exempt from some of the more rigorous steps (such as the need to appoint a data protection officer). 
GDPR affects your marketing and customer engagement

Since a fair share of focus has been given to the “consent of the consumer” and transparency and so the conditions for obtaining consent are stricter. The individual must have the right to withdraw consent at any time and there is a presumption that consent will not be valid unless separate consents are obtained for different processing activities. 

The statistics shared below from Statista.com make it quite evident that a large number of agencies are preparing for the new regulation by changing the way they work. 

stistics from statista.com on how businesses are changing their way after gdpr

Simply put, non-EU established organizations will be subject to GDPR, if their data subjects are from EU.

While 44% agencies are updating their contracts and data protection policies, 26% have reviewed and changed their product/s. At the same time, 22% are altogether devising new marketing strategies and 15% changing the way they sell their product.

It wouldn’t be wrong to say that GDPR would be affecting the way the organizations work and market their products. 

Be GDPR compliant with Google Analytics

Under GDPR, using Google Analytics on your website makes you a data processor. Since you are in control of which data to be sent and which not. Google in its official statement declared its commitment to compliance with GDPR. Where it went on to explain that certain measures have been put in place relating to privacy and data processing. 

However, Google also encourages “data controllers” to be vigilant about how they collect and handle data. 

HowTo: Make Your Drupal Website GDPR Complaint?

The community is aimed at bringing people from all walks of life together and work as a team. Here are some of the modules that can help you out. Here are the following ways to make your Drupal site GDPR compliant.

  1. Drupal GDPR Compliance Team

    One of the best things about Drupal community is you don’t have to wait long to fight off an issue. The same goes for GDPR. Drupal GDPR Compliance team, is intended to serve as a locus for the Drupal community to discuss and coordinate efforts to improve Drupal's framework for GDPR compliance. 

    You can add to the work of other members by ensuring the duplicacy of efforts doesn’t happen, bring cooperation and help the agencies and businesses tackle the new EU data privacy law swiftly. A piece of warning which has been put up is - this module project will not produce any software tools. 

    Drupal has some awesome tools and modules aimed to help you achieve the aforementioned goals.  

  2. Module - General Data Protection Regulation
    The General Data Protection Regulation module aims to help site admins follow the guidelines and legislation set by the Union.

    Installing and using this module does not mean your site becomes GDPR compliant. Since GDPR affects the whole organization, this module aims to help understand its Drupal relations and (tries to) provides helper tools to make your site GDPR compliant.

    A Checklist for site admin is provided which includes automated content, module, configuration discovery (e.g. cookie consent, check if there is privacy policy page etc), along with the status line on the status report page.
    selecting sanitize name, pass, and mail in dump settings

    A GDPR consent submodule which allows setting up "agreements" and track the consent per user is also available. Currently, it is only for Drupal 8.

    A GDPR fields submodule (currently only for Drupal 8) to mark personal data on the field level is also available. This is for documentation purposes, handling of incoming requests. Say for deletion of data which will be handled by the upcoming GDPR tasks submodule.

    Drush command (drush gdpr-sql-dump) is used to obfuscate data. The primary goal here is to prevent developers from accessing user data.

    It also uses Hidden Author, a  module, which allows users with the proper permissions post nodes and comments (through NodeComment) without revealing their username. This is in sync with the guidelines and only users with permission "see original author" will access such information

  3. Module - General Data Protection Regulation Compliance 
    Since the responsibility of conforming with the regulations fall on companies, it is a great help if the businesses have a checklist ready without missing out on minor details. The General Data Protection Regulation Compliance module helps you comply with the regulation by giving you the following features:

    * Form checkboxes
    * Pop-up alert
    * Policy Page

    For a clear consent from the user, it is important that the user knows everything about the collection and processing of the data. For this, it is important that as an organization it is easy for you to change your form settings create user registration and login, add and edit contact form, and node add form, all so easily. 

    The module also complies with the eu_cookie_compliance and is easy to use with 
    * User / Guest display
    * With a translatable pop-up template

    Since the regulations define different conditions for a guest user and an authenticated user, it is important that each user has the best experience.  

    With this module, you can also create your own Policy Page or replace the link & clear cache, in case you don’t like it.
    form warning popup

  4. Module - GDPR Consent
    GDPR Consent Module lets you collect the GDPR Data processing consent from logged-in users using the site.
    However, the module is in beta version (not in final state) and applicable only for version 7.
     
  5. Module - Commerce GDPR
    The Commerce GDPR is available for only for version 7. It adds data anonymization features so the data will still be available for statistical and historical purposes but will not allow identifying a user and the store will comply with the GDPR directive.

Security by Design

Putting all the clauses and guidelines aside, GDPR is more than just data regulation. It’s a policy to secure the information giving the users a definitive edge. One of the core practices that should be followed regardless of any regulation is ‘Security by Design’. 

Security by Design implies designing the software up by the ground to be secured to minimize the impact when the security vulnerability is discovered. Pacing up your security from the start. It implies following the best security practices at the architectural level instead after building the website. 

This ensures that the design remains secure regardless of a reasonable approach adopted later to tackle the issue. A uniform methodology needs to be adopted to protect the assets from the threats. 

Once the requirements have been collected, the architecture can be laid out and other elements can be discussed later like trusted execution environment, secure boot, secure software update among others.

Some Data Protection Practices You Need to Follow
GDPR will affect almost all the site owners. The best you can do is keep every step from data collection to processing transparent. You can take following steps to comply with the new regulation

Make user consent your top priority: Article 12 of the official document says “The information shall be provided in writing, or by other means, including, where appropriate, by electronic means..” your Drupal website needs to provide one such form along with the cookies popup message. This should include the possible use of information and the opt-out message. 

Keep your communication transparent: Article 15 which covers rights of access by data subjects also states that the consent should be clear and this should include the possible use of information. The cookie consent form should also include where the information will be used. 

Keep the information transparent: A user has a right to manually request data erasure from the website as well as for data portability. Not only switch-off the account, but totally delete data from the database. Review your current privacy policy and mention clearly for making any necessary changes after the implementation of GDPR.  

Breach notification: Let the users know about the breach in 72 hours. Where you have to, as an organization, appoint a data protection officer who will be responsible for the security of the data.

Is Drupal ready for GDPR compliance?

Although the community is equipped to take on the big data privacy regulation, a sense of uncertainty still looms over not just the web development community at large but, for Europe as well. Until the regulation comes into practice, these are just the ideal scenarios where you can do what needs to be done. 

If you still have some doubts over the implementation let us know, we are here to assist you. Drop a mail at [email protected] so our Drupal experts can help and guide you. 

Mar 20 2018
Mar 20

For some reason, you aren’t getting good traffic to your site. Before diving into an intensive content review, consider that you may have made a great website for people, but you haven’t caught the attention of search engines.

Search engine optimization is a set of rules and practices which help business owners escalate their online reputation. 

Say, someone who owns a hiking gear business and has 100 rivals in the same region, s/he can follow certain optimization rules to get ahead of everyone in Google results for hiking gear, eventually establishing a firm position in their respective market and catching numerous eyes.

That’s alright but here is more:

  • 10/10 people who look for products or services online mostly trust the first 6 results, because, from a consumer standpoint, Google does justice to the best vendors. Think for a while, in the early 2000’s if you had to call a technician, you would choose someone at the beginning of your telephone directory rather than flipping two pages.  
  • SEO has one of the best ROIs in advertising, it rewards you ten times than what traditional advertising practices can. You don’t have to allocate revenue to pay for square meters of space on a billboard or pay for seconds of television airtime. Traditional is the least efficient sometimes, from my standpoint. Practicing fair search engine optimizations advertises you to the exactly right flock of sheep. 
  • Over this decade, marketing strategies and practices have absolutely pivoted to online. 82 % of marketers believe SEO has overhauled advertising while enabling precision. Also, 72% of customers who did a local search for products online, visited the store within 5 miles. (Source: web strategies)
  • In 2018, the average firm is expected to allocate 41% of their marketing budget to online, and this rate is expected to grow to 45% by 2020. (Source: web strategies)

I am pretty sure no other SEO statistics will persuade you to advertise the 2017 way. 

Does your Content Management System Matter?

Your CMS plays the catalyst when it comes to search engine optimization. Whichever you might be running on right now, you should know that not every CMS is designed with search engine optimization in mind. In fact, they are constructed on dynamic databases which are not all SEO-friendly. Picking the wrong one can lead to multiple costly pitfalls in the road ahead.

What should it necessarily provide?

Ability to customize page titles and metadata. It should make you able to customize fields like page titles, metadata, meta keyword tag, and the H tags. Also, it should be capable of automatically populating these respective fields as per SEO norms and best practices. For example, auto-generation of meta descriptions while keeping them within 150 characters. 

Breadcrumb Navigation

Navigational drop-down menus are too crucial internal link structures, silently contributing to search engine optimization. They establish relevancy and hierarchy across your website to help search engines index them in from the beginning of time. It should also provide easy customization of navigation menus. 

The point is to not have JavaScript based navigation menus in your CMS as Google and many search engines face issues with them. 

Contextual and Readable URLs

The biggest issue with CMS systems is that they only produce one unique URL for any given page of content. For example, if you have a product page where the URL is dependent on the navigation path, you may have issues if the product appears in more than one category.

Website Search

It is a great add-on to SEO and user experience throughout the website.
You can monitor which keywords are being searched for on your website by visitors. Which proves to be helpful improving the content variety and accessibility on your website. Researching over these keywords can help you strategize your content. Not only the search feature, but it should be blazing fast in function. 

Control content Duplicacy

Your CMS should allow you to choose what to index and what to archive. Sometimes, you might have two articles being somewhat identical to each other, which might be taken for a duplicate by search engines. It should also signal to search engines that archive sections or category pages that often contain very similar content are evident and coded properly. 
While there are a whole lot of things, depending on the scale of your business, you should make sure your CMS facilitates you these necessary items. 

Since Drupal was built with SEO in mind, some functionalities come in by default and some can be integrated into the platform with time. Drupal is reportedly the best search engine friendly content management system. The Drupal community also provides a checklist to analyze the health and SEO of your Drupal website. 

Drupal SEO Checklist

“Drupal SEO checklist is the most powerful Drupal module that does nothing". - Robert Shea, IBM

The Drupal SEO Checklist uses best practices to run a thorough check on your website's search engine optimization capabilities. It creates a todo list of functional modules and tasks which need to be undertaken to enhance the website's SEO. It is also regularly updated by the community to provide you with the best trends and fresh practices to make search engine optimization a hassle-free job.

It breaks the tasks down into functional needs like Title Tags, Paths, Content and much more. Next to each task is a link to download the module from D.o and a link to the proper admin screen of your website so that you can configure the settings perfectly.
 

Drupal seo checklistDrupal SEO checklist

It is wonderful to have such a programme which also tracks already undertaken activities along time proper date and time record. 

SEO More Modules To Elevate Your Drupal Website

Time is for SEO modules you must immediately implement on your Drupal website to make it super search engine friendly.

XML Sitemap

Drupal XML sitemap module once installed will automatically provide your website a sitemap and make it recognizable by search engines. Search engines will find it easy to crawl your website in a tree sort of manner. 
 

XML sitemap issues in DrupalXML sitemap issues


Usually, Drupal property owners forget or underestimate having a sitemap. Instead, they should understand how important it is to make search engines understand the hierarchy of any website. 

XML Sitemap In Action

The best part being, you have the option to include or exclude certain pages from the sitemap of your website, meaning, the pages you don’t care about anymore and there is no need for them to be indexed. 

Pathauto

While URLs play a fair role in your search engine optimization efforts. Drupal has a URL aliasing option to help automatically define a neat URL structure which conveys the context of the landing page, you can find this facility in Drupal core. 
URL aliasing ensures you communicate something to the visitors instead of something which is far from their level of understanding.

For example - opensenselabs.com/node/92 conveys nothing. Instead, URLs like "www.opensenselabs.com/blog/articles/drupal-8-seo-guide" makes absolute sense of the user.
 
Pathauto module automates the manual URL structuring procedure, things get easier for website administrators or editors who publish in bulk every week. 

Redirect

Redirect happens to be one of the best Drupal SEO modules. I suggest every Drupal property owner have it. Redirect prevents users from landing on a page showing 404, this happens when the content has been shifted to a new URL. 

The redirect module allows you to guide Drupal to transfer the traffic approaching opensenselabs.com/article to opensenselabs.com/blog/article. Smooth.

Also, having expired or dead links hanging along with your website is never a good search engine optimization practice. The Redirect module not does direct traffic to the fresher URL but also keeps count of people hitting redirects so that you get an estimate of how demanding a removed or renamed landing page is on your website. 

Global redirect

The landing page you relocated to another search engine friendly URL, unfortunately, retains the older one as well. The search engine crawlers find these two as identical landing pages with two URL structures, which will never help you get into their good books and stamp your website for duplicate content. 

Global redirect helps you overcome this burdening problem. On the left hand, it also keeps a track of all the broken pages and redirects page requests to your home page ensuring a fine visitor experience and good record with search engines. 

Meta tag 

The meta tag module lets you automatically add meta descriptions and meta keyword tags to your nodes. This proves to be a lot helpful when your websites release content frequently every day. 

Drupal metatag settingsDrupal Metatag settings


Several website owners take the unfair practice and stuff keywords into their meta tags to boost search engine results rank but fortunately, that doesn’t matter anymore, you can provide the right summary and tags along with your geographical location as well. The best helpful meta escalates to the top. 
For example, your meta will automatically be generated with the help of your node summary and your page title will play your title tag.

Google Analytics

The Google Analytics Module helps you keep track of every landing page and user behavior flow. It also enables you to eliminate the tracking of in-house personnel who might be visiting the website very often and could be counted as visitors and unique sessions.

It is a great integration to have when you have on your website. However, to take full advantage of it, you are required to use the available web application. 

SEO Compliance checker

This module runs a thorough check each time you create a new node or made minute edits to the existing one. This check re-run is to make sure that every SEO element on the newest node is following the right practice and is fully search engine optimized.

Drupal google analytics module dashboardGoogle analytics dashboard

You can even enhance it further by devising a set of new rules it should check for in nodes using compliance checker API. 

Site verification

Proving your legit identity on the web is necessary these days as there are numerous spammers spread all over for notorious reasons. The site verification module allows you to get your site verified without the usual hassle. 
Now, these modules prove to be extremely necessary when you plan to use numerous webmaster applications. All it makes you do is upload a verification file and it takes care of the authentication procedure from there on.

Speed and Security Matter

Your website's Speed and security parallelly control the Search engine's rank. As search engines are more driven towards swift and secure websites. Implementing best SEO practices isn't quite sufficient. 

Speed turned out to be a critical criterion to top the list of Google searches in April 2010. In other words, when every other aspect of your site is equal to that of your competitor, faster site will get a higher rank. 

Drupal’s responsive web design further enriches the SEO as Google prefers mobile-first websites over those which are not mobile device friendly. devices also. In this setup, the same HTML code is sent to all devices by the server. CSS changes the visuals on the page for every mobile device. The same URL can be used for all the pages to share and drive traffic to your site.

You can use Google’s AMP to enhance the mobile responsiveness.
SEO is a game of inches. A title tag without a keyword or body or a metadata that is not well structured can do nothing to your site except for kicking you off the top search results of Google. 

Some common SEO errors and respective solutions/best practices.

Broken Internal Links

The reason as to why you have broken links has to be figured out. In case the page has been relocated to another URL, please consider applying 301 redirects.

In case there happen to be external broken links, it might take longer than you think. You should contact the website owners who you linked to and figure why was the page hooked off. 
The next step is to reallocate the broken external links by finding the alternatives which will be of the same value for your visitors. 

Duplicate Content Issues

There can be multiple reasons for duplicate content, for example:

URL variants, HTTP vs. HTTPS or WWW and non-www pages or plagiarised content. 

When it comes to URL variants, the best way to combat is to set up a 301 redirect from the old URL  to the new one. Also, you can setup rel=canonical to the primary URL which tells search engines that the other identical URLs should be treated as duplicates of the primarily specified URL. Alongside, all of the links and metric records that search engines have been monitoring on these identical pages should actually be credited to the primary URL.

graphic for Duplicate content issues; 4 types of content with duplicate content Duplicate content issues hit your website hard on Google.

Crawl Issues

This issue indicates that crawler couldn’t access the webpage because the server either timed out or refused the connection before the crawler received any response. The best possible solution is to contact your hosting support team and look into the issue. 

Incorrect URL Formats

As discussed earlier, you can set up automatic URL aliasing on your Drupal website to enable contextual URL patterns for every landing page. 

Low text-to-HTML ratio

Your text to HTML ratio indicates the amount of actual text you have on your webpage compared to the amount of code. Search engines focus more on content laden pages. A higher text to HTML ratio means your page has the chance of securing better search results position. 

Unnecessary code deteriorates your the page load time which keeps you from ranking well in the SERPs. Moreover, search engine robots would crawl your Drupal website faster. 
What could be done is separating your webpage’s text content and code into separate files do a size comparison. You should consider reviewing your page’s HTML code and consider removing useless code, embedded scripts, and styles if the text-to-HTML ratio is lower.

Missing meta descriptions

Missing meta descriptions could prevent you from boosting click-through-rates as they are not able to be contextually appealing or do not provide a peek into the content.

Using the meta tag modules in Drupal should resolve this problem as it auto-generates a summary of the page and populates the meta description. 

Broken internal images

There could be two reasons as to why an internal image isn't accessible anymore:

  1. It has a misspelled URL 
  2. The file's path is currently invalid.

Broken images always have deterred search rankings of a web page because they resemble poor user experience which forces users to quit the page far before the ideal time one should spend on a page. Secondly, the signal to search engines that your page is low quality. 

You should immediately replace all broken images with alternatives or delete them before the consequences get worse.

Robots.txt does not exist

Not having Robots.txt on your Drupal website is not crawling friendly. You can easily implement the robots.txt module as this file plays a crucial part in overall performance as well as search engines optimization.

Duplicate Title Tags

When your pages have duplicate title tags only if they are exactly the same. Duplicate <title> tags make it difficult for search engines to determine which of a website’s pages is relevant for a specific search query, and which one should be prioritized in search results.

Pages with duplicate titles have a lower chance of ranking well and are at risk of being banned. Moreover, identical <title> tags confuse users as to which webpage they should follow. You can fix this by implementing the meta tag module on your Drupal website or provide a unique and concise title for each of your pages.

4xx Error 

In times of 4xx errors, the requested webpage cannot be accessed. This is usually the result of broken links. These errors prevent users and search engine robots from accessing your web pages. This will bring a dramatic drop in your usual traffic. Crawlers may also categorize a working link as broken if your website blocks the crawler from accessing it. 

This following may be the reasons: 

  1. DDoS protection system. 
  2. Overloaded or misconfigured server. 
  3. Disallowed entries in your robots.txt. 

You can manually check all 4xx error links and see if the webpage returns an error, removing the link leading to the error page or replacing it with an alternative resource would make sense.

If the links reported as 4xx do work when accessed with a browser, you should instruct the search engine robots not to crawl your website too frequently by specifying the crawl-delay directive in your robots.txt

Uncompressed Pages

This issue is triggered if the Content-Encoding entity is not present in the response header of your Drupal website. Having compressed pages is necessary to the process of optimizing your website. Using uncompressed pages leads to a slower page load time, resulting in a poor user experience and a lower search engine ranking. 

You should make sure the elements of your web page such as images, videos, graphics do not exceed the standard size. Also, enable CSS and JS aggregation on your Drupal website.

External links contain Nofollow attributes

Nofollow links are known to not pass any link juice or anchor texts to the specifically referred webpages. A nofollow attribute is an element in an <a> tag which tells crawlers not to follow the link. 
You might have mistakenly used nofollow attributes which may negatively impact the crawling process and ultimately your rankings.

You should keep a check that you don't include nofollow attributes by mistake. Also, removing them from the <a> tags shall help this issue further.

No redirect to HTTPS homepage from HTTP version

This may result in losing the usual traffic as your visitors would be taken to an error page instead. Redirecting your HTTP version of the website to HTTPS will ensure the page requests are being fulfilled, ultimately preventing a terrible user experience. 

Don't have an h1 heading

For pages which don’t have an H1 heading, they are not being given the position they might deserve in the search results. As told earlier, page hierarchy, which includes headings, has a fair hand in Drupal SEO.

Sitemap XML not found

A sitemap.xml file enables the website to be fully crawled as per hierarchy. It can also include additional data about each URL. It provides easier navigation and better visibility to search engines, it also quickly informs search engines about any new or updated content on your website. 

Generate a sitemap.xml file by implementing the Sitemap module on your Drupal website. This is a far better approach to building it up manually would consume too much of time. 

Thin content

To eliminate the thin content issue, as it proves to be poor for search engine optimization. You should make sure every landing page has 200 (bare minimum) meaningful words.

The remainder

Drupal is an amazing CMS for search engine optimization, and using the right SEO modules will push you up the search engine ladder. 

At OpenSense Labs we pride ourselves on educating our customers, developing brilliant websites and giving back to the Drupal community. Building SEO-friendly websites is our niche with which we aim to satisfy our customers and theirs. Hopefully, this article will set you on the right path to a high-quality website, but if you need more information or a quote, please feel free to get in touch with us at [email protected]

Jan 02 2018
Jan 02

Knowledge and reasoning have enabled machines to beat even humans while bringing new power to the web.

Inspired by complex human autonomy, Artificial Intelligence (AI) is the perfect mix of science and art. The application of machine learning has advanced to an extent that it can read, understand, analyze and process the language. Siri, Cortana, Echo, and the Google Assistant are all great examples.

Natural Language Processing, another application of machine learning, is already taking the web by storm. Its ability to understand and process even the sentiments of the content has brought a new dimension to the web technology. Browsing is simplified, and it is now easier to classify the content, understand the user behavior, and protect the website (from attacks and spambots).

Widening The Horizon With Drupal

Although the prospect of artificial intelligence, coupled with web development is vast. We will touch the areas of Natural Language Processing in this piece. 

NLP has the potential to read, understand and improvise the content. 

Content Classification 

The first step is content extraction where different types of notable entities from documents, as context, are extracted and analyzed. 

When combined with Drupal the information can be evenly organized. The additional semantic entities in Drupal can be used to categorize the elements.

Taxonomy Proposer by IBM fits the bill just right. It analyzes and then groups similar documents together. Using custom clustering algorithm, it helps you create a taxonomy for your own content: the division of content into a categorized body of documents.

Descriptive image for taxonomy proposer by IBM Watson; Categorizing the documents(Source: IBM Knowledge Centre)

Next comes content classification, where the machine learns and then inspects the given text for known entities such as nouns, adjectives, or a verb to classify the content.


Content classification with Drupal
    
A 'node' can be linked with any (relevant) taxonomy term, but it can be presented to the users only after a 'view' is created for each node.     

In case the numbers are small, the editor can memorize them.   
  
Otherwise, the node can be passed to the NLP engine to memorize words. Once it is done, the content can be added to the 'tags' field.     

Similarly, NLP can also be used to prepare the content summary which can be used in Meta tags.

Tagging 

Organizations which are burdened with tagging and publishing a huge number of articles on a daily basis can utilize NLP. It can memorize the words and their respective categories, after which manual tagging is not necessary. 

It also improves the algorithm of the system. The system can be fed with words from various tags under the category of your choice. 

The machine learns. Identifies. And saves it in the memory. If needed, you may even alter it along with time.

Remember, you are only teaching the machine. The results will improve after some time.

Sentiment analysis

It examines the content (texts, images, and videos) and identifies the emotional outlook within the content, to identify and classify the writer's attitude as positive, negative, or neutral. 

Extracting sentiment from different types of content

(tweets, blogs or a video byte) can provide us with valuable insights into the author's emotions and point of view. It is important to ascertain if the tone is positive, neutral or negative, and whether the text is subjective (if it is reflecting the author's opinion) or objective (if it is expressing a fact).  

It serves its purpose truly when the quantity of content published is beyond human potential.

Given below is a demo on how NLP helps in sentiment analysis. The below-mentioned screenshots are taken from IBM Watson. 

The famous speech of Martin Luther King Jr. ‘I have a dream’ is added to the 'text' section. 

Descriptive image of Sentiment analysis by IBM Watson; Martin Luther King Jr popular speech entered in the text (Source: IBM Watson)


The overall sentiment of the speech as analyzed by the API

Sentiment analysis of 'I have a Dream' by Martin Luther King Jr; Overall sentiment score as 0.08 positive(Source: IBM Watson)

 

The overall emotion summary of the speech, as analyzed by the API 

Emotion analysis of Martin Luther King Jr. by IBM Watson; 0.12 anger detected; 0.53 sadness detected; 0.65 joy detected; (Source: IBM Watson)

Auto Summarizer 

It examines the content, keeping the basics of grammar for reference. After analyzing the tone and sentiments of the content it is easy for the machine to summarize the content. 

With auto summarizer, the machine can easily analyze and write the summary from the passage keeping in mind the keywords, sentiments, and the gist of the content. 

E-commerce 

In the era of the digital world, nothing beats the idea of personalization. As tantalizing as the concept may look, it is equally important as any other strategy for your business.   

Not only it helps boost the sales but it increases the time spent by customers too. By analyzing the browsing history and shopping preference the NLP can learn about the choices of the user better and personalize the suggested content in a better way. 

Amazon.com home page; An example of personalisation by Amazon(Source: Invespcro.com)

User information collected by statistic module (in Drupal) can be used to improve the NLP engine, which then would suggest related content to the user under “You may like” or “Related products” category. 

Inspired by behavioral psychology, reinforcement learning can be used to boost returns.

NLP can read, classify and group the products. When a user visits a category of product repeatedly, all the products from the collected information are shown as ‘suggestions’.  

Image Screening and Tagging 

For websites where people can share content through text, images, and videos, it is not possible to manually filter images that do not match the standards (are obscene). For this, image screening helps the system by identifying common shapes, objects, and concepts of images and returns a list of tags along with a score of how confident the system is about the result. This score can be used to maintain standards.

An example of this is given below in the screenshot where the object is identified, recognized and then tagged as ‘cat’.

Descriptive image of image tagging by filestack.com; Image of cat; Tags for cat on the right(Source: Filestack.com)


Another example shows how the system identifies, marks the confidence scores and then passes the result.  

Example of image tagging by Aylien.com; Tags and confidence score by the machine(Source: Aylien.com)

By a huge margin, this can ease the process of allowing graphics which meet the set standards without any form of manual verification.  

How Can NLP Boost Growth?

Manually classifying and categorizing the text sources is a time-taking procedure, especially for those who deal with a lot of content on a daily basis.

Social Media Presence

It can crawl and index thousands of stories which are live and trending on top with the help of keyword analysis, creating a live data set of analyzed and filtered data. You can also access real-time news and important stories of your interest. It can also monitor and measure the social media reactions on each post, and compose the next post accordingly.

Enhanced SEO

The discovery of NLP has shifted the focus from an explicit keyword-based search to context and intent-based content. This has changed the way SEO works. From what Google standards tell us, the SEO strategies should include on-page optimizations, like page titles, meta descriptions, and meta tags.

These are still effective parameters for bringing out a user-friendly content, particularly for long tail topics. NLP helps you find effective keywords and add them to your content to improve the relevancy as well as the ranking of the content.

Editorial and Publishing Solution

Even if you don’t publish content the way publishing agencies do, it is very important that your content delivers the value and goals of the agencies. NLP can create production-ready custom content in way lesser time. 

Solutions with semantic technology

With NLP one can review the unstructured data, too, and check large amounts of varied content (text, image, tweet). Not only it can add the meta information of a page, it can do so after analyzing the SEO trends around the topic and important keywords.

To Sum up

Machine learning has added a new dimension to Artificial Intelligence. It has the potential to revamp content marketing across all verticals and dramatically improve the user experience.

A crucial question here is, to what extent will AI change the web? What effects can it have on the web technologies and the relation between the web and the society? Can the advancement in AI bring another revolution to the web? The way it is seen, the way it works, and the way it is understood.
 

Nov 29 2017
Nov 29

I wouldn’t be surprised if as a developer you believe SEO is not your job or why should you give a dime about SEO.

If your website isn't ranked on the first page, it wouldn’t be wrong to say that you are missing on many opportunities. You might be aware of the basics to start with but what hinders your growth and progress is your knowledge of SEO, as it has been a notorious child all these years. 

Your knowledge and proficiency in SEO will only ensure you don’t deteriorate the presence of your website. You are familiar with it but feasibility looks like a far cry.  

Already known as an SEO Friendly CMS, Drupal gives the added benefit of its robust architecture and security. With Drupal 8 you can optimize as well as make your website SEO friendly, way before you add content to it. It provides a hassle-free user experience when it comes to maintaining SEO norms.

Here is a step-by-step guide on how to pull-off your Drupal 8 website's SEO.

Optimization or Search Engine Optimization?
Often these words are used interchangeably used but they constitute things which have their respective impacts. While optimization deals with the speed and performance of your website, SEO deals with improving the flow and quality of traffic your website generates, organically. SEO can be done both by developers (optimizing, using modules, and utilizing features) and non-developers (analyzing trends, utilizing voluminous keywords, improving the content etc.).

Some Amazing Pros Of Drupal 8

Drupal 8 provides various services and modules which help you practice fair search engine optimization. Also, it is easy to make your website SEO friendly with Drupal.

  • Faster load time: Simply put - Drupal 8 is fast. Page speed has been a decisive factor in ranking the results. It has numerous modules which make your website light and easy to load post-implementation. 
  • Content-as-a-service: It allows content to be managed in a single place efficiently for several mediums without much fuss with its architecture. 
  • SEO friendly modules: Its various modules are devised to leave no stone unturned when it comes to search engines optimization.

How To Go About It With Your Drupal 8 Website?

Merely deploying the modules isn’t enough, it is important to configure them as well. And excellent if you know which module to introduce when, and how to implement them.

Below there is a list of some important SEO practices for your Drupal 8 website.

Using MetaData

Page title, tags, and description are one of the most important on-page ranking factors and should be highly prioritized.. Search engines use these tags and descriptions to access the relevancy of the results on search. Your meta title helps establish the relevancy of your content from its title. Similarly, Meta tags help search engines read important keywords and correlate whether the keywords are being requested for?example of SEO friendly meta description;

Also, providing meta descriptions allows users to have a sneak peek at what's inside. It helps them decide whether it will be fruitful for them to visit the page or not. 

The way to do it

By Installing the Metatag module all the MetaData can be defined for all page types.

Utilizing H1, H2 & H3 headings

These hierarchical headings help indicate the importance of the various topics on your page to the search engines. While it is equally important as a good meta-title and description, H1/H2 headings help define/index the topics of your page to search engines.

How to do it

Twig files can be used to alter the HTML of your website and insert heading tags. Accordingly, there are also modules such as views, panels, and paragraphs which can be used to wrap important text in HTML headings. Any person who adds content using the Content Creation Kit can use the full HTML mode to do the same.

Using Robots.txt

Robots.txt deals with page indexing. It is a standard used by websites to communicate with web crawlers and web robots. It informs the search engine/web bot about areas/pages to be indexed and the ones which shouldn’t be.

How to do it

Drupal provides Robots.txt (file) as one it's out-of-the-box solutions and it rarely needs to be manually altered.

Using SEO Friendly URL Structures

Utilizing an easy-to-decipher URL structure is one of the top guidelines listed in Google’s Search Engine Optimization Starter Guide. A clean and readable structure is not only search engine friendly but user-friendly too. Well-constructed URL also gives people a prior idea of what she is going to see before clicking the link. Poor URL structure, on the other hand, does not tell users or search engines anything about the content on that page.

How to do it

Drupal provides the option of defining URL alias for all the content added through its UI. In case there are a lot of URLs, Pathauto module can be used to define patterns for all kind of pages on the website.

Optimize Your Speed

Google, and now Facebook too, has a list of particulars that define the hierarchy of the search results. Speed is, of course, one of them. To keep up with the competition, it is important that your website is optimized and gets a score of at least 80.

How to do it

Advanced CSS and JS aggregation module can be used to generate GZIP for all kinds of CSS and JS files. By enabling this module, your user is served with a compressed version which prevents load lags and provides a smooth experience throughout.

Using Tools And Analytics

“Tactics flow from a superior position”, these lines stay true for the most part of the business (and life as well). One needs to stay ahead by analyzing and strategizing beforehand using the available tools. Using Analytics tools is one of the best possible options which can help you understand your vulnerable factors (factors in improvement).  

How to do it

With its third-party integration feature, Drupal makes it easy for you to integrate Google Analytics using its ‘Google Analytics module’. One only needs to set up an account and configure the module. This module can be used in the most admin-friendly and easiest way. 

Other Easy To Use Drupal SEO Modules

Below are some of the modules which can also be used for your Drupal 8 website.

  • PathAuto- It saves your time by automatically generating SEO friendly URL for your new content.

an example of adding URL through pathauto; auto-generating SEO friendly URL

  • Page title- With ‘Page title’ module your page titles are generated using pre-defined tokens.
  • Global redirect It checks your current URL for an alias and does a 301 redirect if it is not being used. It assigns a 301 redirect for the alias (created by a default URL).
  • SEO Checklist- This module helps you check if you have installed all the SEO related modules or not.
  • XML Sitemap/Simple Sitemap- It creates a sitemap to help search engines intelligently crawl your website.  
  • Search 404- It helps in redirecting the audience coming from an old URL. Also, it helps reduce the bounce rate and helps improve the experience for your user. Instead of showing “Error- page not found” it redirects your users to the page by intelligently assessing the URL.
  • Taxonomy Title- It helps you update the heading tag at the top of the taxonomy term page. It provides tokens which can instead be used with page titles and meta tags modules.
  • HTML Purifier- HTML Purifier is a HTML filter library. It will not only remove malicious codes but secure your website by setting permission.
  • ​​​​​​Menu Attributes- It lets you add additional information to menu items. With SEO it helps you by letting the search engine know about “no follow” link (affects your rank).   
  • Real-Time SEO For Drupal- It helps in management and optimization of your content and metadata. This helps you easily optimize title and the snippet preview in the search results. It also highlights specific keywords in the search result (in your snippet).

While search engines still seek unique and helpful content to push in the SERPs, your CMS can make a huge difference. Seek only expert advice when working on the SEO. 

Still insecure? We are here to get you through it, drop a word at [email protected] to know how you can improve the SEO of your website.  

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