Aug 23 2019
Aug 23

Marketing department these days are feeling the heat to make processes faster, agile, and efficient in this fast-paced digital world. That’s where the concept of Drupal comes into the picture! 

Drupal, since its inception, has been considered crucial for the companies which are trying to get on the digital transformation bandwagon in order to provide a faster and more nimble digital experience to customers.

Drupal comes equipped with a set of marketing tools to target the right audience and increase the overall ROI for the businesses. Additionally, the suite of tools and solutions available, build a solid foundation important for marketers, to unearth its potential and other martech capabilities; making it one of the most powerful and widely approached platforms for all the marketing needs. 

The blog gives you insights on how Drupal can be a perfect choice for marketers.-

Leveraging Drupal For Marketing

Drupal has become an inseparable part of the marketing space which not only drives the business revenue but also makes a remarkable balance between marketing technologies and its ecosystem with its content first, commerce-first, and community-first marketing solutions.

Creative Freedom 

Dependence on the IT team for implementation is the most known problem for digital marketers. With traditional CMS it takes an added effort, time, and resources across design, development and marketing departments to work in sync.

By the time changes are implemented the model already looks outdated to the new situation.

“Drupal seamlessly incorporates with the existing marketing and sales technologies of the enterprises”


The cutting-edge Drupal modules and distributions empowers different teams with to have their creative freedom in order to manage the development of a project at their own pace and convenience. 

With Drupal’s architecture, organizations have a platform where they can dynamically launch their website. Marketing teams can curate the structure with segment content and visuals to lay the foundation of a strong digital strategy in its backbone.

Drupal turns out to be a useful asset for organizations which are looking for implementing it in their digital business as it seamlessly incorporates with their existing marketing and sales technologies.

Balancing Marketing Ecosystem

CRM systems are important in running businesses and boosting sales management. It is important for organizations to integrate and be able to customize the martech stack to their unique needs. 

Salesforce written in blue cloud
Drupal offers features that help you create a fine balance between CRM and marketing ecosystem- with content-first, commerce-first, and community-first marketing solutions. Business, technology, and marketing professionals use Drupal to create such agile solutions that are easy-to-use and offer a wide reach across the web. Built fully-responsive, customers and users can discover products and solutions with the help of any device. 

It possesses infinite potential with native features and module extensions, including collaboration with third-party digital marketing tools.

In all, it’s a platform to help you push your strategy for the upcoming phase of digital customer engagement and digital business.

Responsive Customer Experience

Based on the system of engagement, it gives a solid foundation important, for all the single interactions with customers and people within the organization alike, to provide the ultimate unified experience. Streamlining your business operations and aligning your digital strategies, it delivers on the mobile-first approach. Enterprises’ marketing teams can manage the website and administrative pages with ease across multiple platforms.

“Personalized customer experience is evolving at a blistering pace”

Organizations competing in this customer-centric age are putting efforts to provide a personalized experience to customers for keeping them engaged and simultaneously attracting new visitors on board for lead generation.

The digital strategies run by marketing teams majorly focuses on increasing leads, conversions, and revenue percentage of the company gradually via digital channels. 

As customers lie at the center of the organization, this can be accomplished by offering them a tailor-made experience across all channels.

The motive is the same but the way it is rendered has evolved significantly and Drupal has a large part to play in it. Here’s how-

Have a look at the video to understand more about the Acquia Lift and how it can be beneficial for marketers-

Focus on Personalization with Acquia Lift

There is no denying to the fact that companies are leaving no stone unturned to provide personalized results to users- it's not just about presenting content on the website but rather tweaking the whole experience. Simply put, they are trying to ensure that every single user-prospect or customer - gets what they want, even before they realize it.

Acquia Lift is a powerful amalgamation of data collection, content distribution, and personalization helping marketers deliver on the refined user experience 

Acquia Lift bolsters the personalized experiences of the customers. It is a powerful amalgamation of data collection, content distribution, and personalization that helps enterprises’ marketing teams ascertain the refined user experience without much dependency on development or IT teams. 

7 Vertical and 4 horizontal blocks with text written on them

Source: Acquia

Acquia Lift encompasses three key elements to boost personalization-

Profile Manager

It helps you build a complete profile of your users right from when they land on your website as anonymous visitors up until the stage where they are repeat visitors or loyal customers. Collecting user info such as demography, historical behavior, and real-time interactions, it complements the collected insights on user preference with best-suggested actions in your capacity.

Content Hub

This cloud-based tool provides a secure content syndication, discovery, and distribution. Any content created within the organization can be consolidated and stored here; readily available to broadcast on any channel, in any format.

Searches on varied topics and automatic updates give insights on a wide spectrum of content being developed within the enterprise- in different departments, across websites, and on different platforms.

Experience Builder

This is the most essential element of Acquia Lift. It lets you create a personalized experience for your users from the beginning.

The Experience Builder is an easy-peasy drag-and-drop tool that allows you to personalize every section of your website to showcase different content to different target audiences, based on the information retrieved from the Profile Manager.

Marketing teams can:
  1. Define the rules and protocol on how content should be displayed to a different segment of site visitors
  2. Carry out A/B testing to determine what type of content drives more conversions for which user segments.


All this can be executed with simple overlays onto the existing website segments, without disturbing the core structure of the site and without depending on IT teams for implementation.


Multilingual

With companies expanding their reach to the international markets, Drupal multilingual features are definitely worth to make capital out of it. As it supports 94 international languages, it can translate the complete website within a fraction of seconds with less than 4 modules in action, enabling marketing teams to deliver localized content experiences; thus increasing the probability of turning a visitor into a customer. 

“Drupal multilingual features are definitely worth to make capital out of it”

Despite the features of Drupal site’s language for the audience, the editors and admins have the option to choose a different language for themselves at the backend. Marketing and editorial teams have the rights to create and manage multilingual sites, with no need for additional local resources.

Layout Builder

The Layout Builder with its stable features showcased in Drupal 8.7 allows content marketers to create and edit page layouts and arrange the presentation of individual content, its types, media, and nodes. It also lets you feed user data, views, fields, and menus.

"Marketing teams can preview the pages with ease without impacting the user-experience”

It acts as a huge asset for enterprise marketing and digital experience teams-

  1. It offers flexibility to help you create custom layouts for pages and other specific sections on websites. You can override the predefined templates for individual landing pages when required.
  2. Content authors can embed videos effortlessly across the site to enhance user experience and ultimately drive conversion rate.
  3. Marketers can preview the pages with ease and without the fear of impacting the user experience


Layout Builder explained with the help of flowers in square gift box

Source: Dri.es


All these features offered ensures that marketing teams have more control over the website and can work independently without needing to take help from developers. This ultimately reduces the turnaround time for launching campaigns and hence the dependency on development teams.

Improved UI with API - First headless architecture

With the ever-increasing demands of acquiring and retaining customers, marketing teams are always in a hurry to redesign and update the backend and front-end in a short period. However, this becomes quite a strenuous task for them to update and redesign digital properties rapidly keeping in mind the evolving customer expectations.

Traditional Drupal architecture could take ample amount of time to make updates and redesigns because the refinement needs to take place at both front end and back end resulting in a dependency on developers and designers for the completion of the project.

“A decoupled CMS strategy can work wonders for a website that is in desperate need for a change”

But now with the powerful feature of Drupal, i.e., decoupled Drupal, marketing teams can become more agile and efficaciously segregate the processes & streamline the upgrades without impacting the user experience at the front end. This uber-cool feature of the Drupal helps in making the design and UX alterations easier to maintain.


Three blocks on the grey background with text written on them
Source: Acquia

Having the flexibility to come up with more ideas and implementing them by being able to easily add them to the website is a huge upliftment for marketers. New requirements can pop up anytime in the marketer’s mind that could be added to the site for more customer engagement and lead generation. The decoupled approach gives the extra agility needed to keep improving the public-facing site.

Final Words

Drupal has the potential to provide a promising future for better digital experiences with its every upcoming release. The appending of new features in Drupal will help marketing teams to become more flexible and scalable and yet provide a surpassing customer experience in no time. Consequently, conversion rate, sales, and brand visibility would increase manifolds.

Marketing teams in the organization who are already running their sites on Drupal have a lot to be happy about. Specifically, the development around Acquia Lift and Acquia Journey gives them freedom and hence no reliance on developers for any website updates and making content live, etc, to target the audience at the right time and increase ROI.

And for the marketing teams of the organizations those who are envisaging to roll out a plan for shifting to Drupal due to its all-inclusive features, the culmination from the highly-skilled and empowered team will make it worth all the efforts.

Aug 23 2019
Aug 23

With enterprises looking for ways to stay ahead of the curve in the growing digital age, machine learning is providing them with the needed boost for seamless digital customer experience.

Machine learning algorithms can transform your Drupal website into an interactive CMS and can come up with relevant service recommendations targeting each individual customer needs by understanding their behavioural pattern.


Machine Learning integrated Drupal website ensures effortless content management and publishing, better targeting and empowering your enterprise to craft personalized experiences for your customers. It automates the customer service tasks and frees up your customer support teams, subsequently impacting RoI.

However, with various big names competing in the market, let’s look at how Amazon’s Machine Learning stands out amongst all and provides customised offerings by integrating with Drupal.

Benefits of Integrating AWS Machine Learning with Drupal

AWS offers the widest set of machine learning services ranging from pre-trained AI services for computer vision, language, recommendations, and forecasting. These capabilities are built on the most comprehensive cloud platform and are optimized without compromising security. Let’s look at the host of advantages it offers when integrated with Drupal.

Search Functionality

One of the major problems encountered while searching on a website is the usage of exact keyword. If the content uses a related keyword, you will not be able to find it without using the correct keyword.

This problem can be solved by using machine learning to train the search algorithm to look for synonyms and display related results. The search functionality can also be improved by using automatically filtering as per past reads, the search results according to the past reads, click-through rate, etc.

Amazon Cloudsearch is designed to help users improve the search capabilities of their applications and services by setting up a scalable search domain solution with low latency and to handle high throughput.

Image Captioning

Amazon Machine Learning helps in automatic generation of related captions for all images on the website by analyzing the image content. The admin would have the right to configure whether the captions should be added automatically or after manual approval, saving a lot of time for the content curators and administrators of the website.

Amazon Rekognition helps search several images to find content within them and easily helps segregate them almost effortlessly with minimal human interaction.

Website Personalization

Machine learning ensures users get to view tailored content on websites as per their favorite reads and searches by assigning them unique identifier (UID) and tracking their behaviour (clicks, searches, favourite reads etc) on the website for personalized web experience.

Machine learning analyzes the data connected with the user’s UID and provides personalized website content.

Amazon Personalize is a machine learning service which makes it easy for developers to create individualized recommendations for its customers. It saves upto 60% of the time needed to set up and tune the infrastructure for the machine learning models as compared to setting own environment.

Another natural language processing (NLP) service that uses machine learning to find insights and relationships in text is Amazon Comprehend. It easily finds out which topics are the most popular on the internet for easy recommendation. So, when you’re trying to add tags to an article, instead of searching through all possible options, it allows you to see suggested tags that sync up with the topic.

Vulnerability Scanning

A website is always exposed to potential threats, with a risk to lose customer confidential data.

Using machine learning, Drupal based websites can be made secure and immune to data loss by automatically scanning themselves for any vulnerabilities and notifying the administrator about them. This gives a great advantage to websites and also help them save the extra cost spent on using external software for this purpose.

Amazon Inspector is an automated security assessment service, which helps improve the security and compliance of the website deployed on AWS and assesses it for exposure, vulnerabilities, and deviations from best practices.

Voice-Based operations

With machine learning, it’s possible to control and navigate your website by using your voice. With Drupal standing by its commitment towards accessibility, when integrated with Amazon Machine Learning features, it promotes inclusion to make web content more accessible to people.

Amazon Transcribe is an automatic speech recognition (ASR) service. When integrated with a Drupal website, it benefits the media industry with live subtitling of news or shows, video game companies by streaming transcription to help hearing-impaired players, enables stenography in courtrooms in legal domain, helps lawyers to make legal annotations on top of live transcripts, and enables business productivity by leveraging real-time transcription to capture meeting notes.

The future of websites looks interesting and is predicted to benefit users through seamless experience by data and behavior analysis. The benefits of integrating Amazon Machine Learning with Drupal will clearly give it a greater advantage over other CMSs and will pave the way for a brighter future and better roadmap.

Srijan has certified AWS professionals and an expertise in AWS competencies. Contact us to get started with the conversation.

Aug 21 2019
Aug 21

The JS frameworks have changed quite a lot in Drupal especially with API-first concept adding to the scenario. It is only expected that developers are inclined towards learning more about JS and related possibilities.

Recently, I was tasked to render blocks on a page while keeping individual components encapsulated in their own. JavaScript has the potential to make web pages dynamic and interactive without hindering the page speed and so I decided to opt for progressively decoupled blocks.

I came across this Drupal module Progressive Decoupled Blocks, which allows us to render blocks in a decoupled way and seemed a perfect fit for the situation.

Anatomy of Progressive Decoupled Blocks

The module is javascript-framework-agnostic, progressive decoupling tool to allow custom blocks to be written in the javascript framework of one’s choice. What makes it unique is one can do all this without needing to know any Drupal API.

It keeps individual components compact in their own directories containing all the CSS, JS, and template assets necessary for them to work, and using an info.yml file to declare these components and their framework dependencies to Drupal.

Did it work?

I decided to test the module in the new Umami Demo profile, that comes out of the box with Drupal, with React and Angular blocks.

I used the Layout module and picked a page to place these blocks. This is one of the best parts I liked about the module, every piece of block content that we need to be placed on the page, can be done without even visiting the block page and setting visibility.

Module Architecture

The module has a custom block derivative, which searches for all components that have been added and exposes them as blocks. This architecture makes it super easy to add a new block.

You can refer to this git for the block derivative - https://git.drupalcode.org/project/pdb/blob/8.x-1.x/src/Plugin/Derivative/PdbBlockDeriver.php

Refer to this git for component discovery - https://git.drupalcode.org/project/pdb/blob/8.x-1.x/src/ComponentDiscovery.php

Possibilities

For React JS there are 2 examples in this module.

First is with a simple React Create element class, without JSX. This example renders a simple text inside a React component. This is a very good starter example for anyone who wants to understand how to integrate a react component with Drupal in a progressive way.

The second example is a ToDo app, which allows you to add and remove todo items to a list. It makes use of local storage to store any item that has been added. This app creates React components, integrate these components in other component and renders a fully functional DOM inside Drupal DOM in a progressive way.

This example comes with a package.json which needs to be installed before making it functional. However, the component did not render perfectly on Umami theme, I made certain changes to make sure it renders correctly. Patch attached in the end.

progressive decoupled block

I decided to extend this module and added a new component to render a banner block (comes OOB with Umami), and exposed this block as an API via JSON:API. As this was a very simple block, I decided to create this block without JSX. Also, I decided to generate the URL with static ID in the path. This can, however, be made dynamic, which I plan to do later in my implementation. I also decided to choose the same class names to save on styling. The classes can be found in the Umami theme profile.

(function ($, Drupal, drupalSettings) {
Drupal.behaviors.pddemo = {
attach: function (context, settings) {
$.ajax(drupalSettings.pdb.reactbanner.url, {
type: 'get',
success: function (result) {
var image = result.included[0].attributes.uri.url;
var title = result.data.attributes.field_title;
ReactDOM.render(React.createElement(
'div',
{
className: 'block-type-banner-block',
style: {backgroundImage: 'url(' + image + ')'}
},
React.createElement(
'div',
{className: 'block-inner'},
React.createElement(
'div',
{className: 'summary'},
React.createElement(
'div',
{className: 'field--name-field-title'},
title
)
)
)
), document.getElementById('reactbanner'));
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(textStatus || errorThrown);
},
});
}
};
})(jQuery, Drupal, drupalSettings);


Angular JS

Angular JS comes with many more easy and complex examples. Things didn’t work as smoothly as it did with React. There were a couple of changes we were required to make it work.

Patch is attached in the end. You can refer to this gist for the patch.

You will have to install node modules before, to make it work. Also, all JS is in the form of Typescript, which needs to be processed to JS before you can make it work.

Conclusion

The module gives you a great kickstart to move any block, rendered by Drupal, to a progressively decoupled block, using React, Angular or Ember as JS framework. However, you may want to extend the module or create your own to render the blocks.

Aug 08 2019
Aug 08

With Dries’ latest announcement on the launch of Drupal 9 in 2020, enterprises are in an urgent need to upgrade from Drupal 7 and 8 to version 9.

Drupal 7 and 8 will reach their end of life in November 2021, and those who wish to stick to previous versions might possibly face security challenges.

Eager but unsure what the process would be like? This comprehensive guide aims to simplify the entire Drupal migration process for easy implementation.

Getting Started with the Migration Process

When site is upgraded to Drupal 7, the old database is upgraded to Drupal 7 structure. However, a different approach is followed when the site is upgraded from Drupal 7 to Drupal 8.

Upgrading D7 to D8

Step 1: Take back-up of your website

Start the migration process by making a local copy of your website. As making changes to live site is not recommended, it is a best practice to keep all data safe by taking a backup locally on your machine.

Step 2: Install fresh new site

Install a new Drupal 8 site by downloading the latest version of Drupal 8 from drupal.org.

Drupal 8.7 is the latest release.

Install the latest release of Drupal 8 along with installing dependencies with Composer.

Step 3: Prepare your Drupal 8 website for the migration

Setup a local Drupal 8 website on your machine as a destination website for the migration process.

Step 4: Verifying the modules are in core and enabled

Ensure Migrate, Migrate Drupal and Migrate Drupal UI modules are enabled on your Drupal 8 site. This can be done by navigating to the ‘Extend’ tab of your website and ensuring all the above modules are present in the core.

Now, check the three modules and click ‘Install’ button at the bottom of the page.

1-526074867869569243

 

Step 5: Upgrade your website

Go to your website and append the website address with /upgrade (www.<yourwebsitename>.com/upgrade) and follow the instructions. Now click ‘Continue’ button.

2-10

Step 6: Enter website details

On clicking ‘Continue’ the below screen comes up which asks you for the website credentials, database location and other details.

4-2

 

Step 7: Start the migration

If the database credentials to your source database are correct, the upgrade review page will appear on the Migrate UI. It will show the summary of the upgrade status for all installed modules on the old site.

As a site builder you should carefully review the modules that will not be upgraded and evaluate if your Drupal 8 site will work without the module.

click on ‘Perform Upgrade’ button.

Tip: Don’t proceed and perform the actual upgrade without first installing the missing Drupal 8 module.

Tip: If you get ID conflict warnings

If you manually create a node to the Drupal 8 site before upgrading and the source Drupal 6/7 site has a node with the same ID, the migration system will overwrite the node that was manually created in Drupal 8.

If conflicting IDs are detected, a warning about conflicting IDs will be shown which can be ignored to risk losing data or abort and take an alternative approach.

Depending on the size and types of content/configuration on the source site, the upgrade may take a very long time. Once the process is finished, you are directed to the site's frontpage with messages summarizing the results:

Upgrading D8 to D9

When it comes to migrating to Drupal 9 from Drupal 8, process is quite simpler. As D9 is an extended version of D8, it is much easier to upgrade. Read the complete guide of Drupal 8 to Drupal 9 upgrade to understand the complete process.

Alternate Method: Migration using Drush Command

Upgrading to Drupal 8 using Drush is useful when migrating complex sites as it allows you to run migrations one by one and it allows rollbacks.

If you are using Composer to build your Drupal 8 site, then you may already have Drush installed. However, if not, then you can install Drush from command line as follows:

composer require drush/drush

To migrate using Drush you need to download and enable the contributed modules: Migrate Upgrade, Migrate Plus and Migrate Tools.

Ensure the Drush is up to date (with the command: “drush –version”)

Now it’s time to start the migration through Drush with following drush command

“drush ://user:[email protected]/db — ://example.com –configure-only”

Where the below mentioned values can be with your values in the above command

  • ‘user’ is the username of the source database
  • ‘password’ is the source database user’s password
  • ‘server’ is the source database server
  • ‘db’ is the source database

Now check your migration status (with the command “drush migrate-status”)

Import the data with the command (“drush migrate-import –all”).

After successful migration, go to the structure->migrations to check the status of migration.

5-1

Check the list migration button next to the migration group ‘import from drupal 7’ to view the entire migrated data.

 

6-590

 

After clicking on all upgraded data will be visible. Click to the execute button and data will be imported.

7-2

 

Once you click on the execute button, you will be redirected to the page with below mentioned options.

8-2

Import button imports all previously unprocessed records from the source into destination Drupal objects.

With this we come to an end of our Drupal migration process. If the above steps are followed carefully, a website can be easily migrated to the latest version.

Srijan has more than 35 Acquia certified Drupal experts with expertise in migrating projects to newer versions of Drupal. Contact us to seamlessly get started with the latest Drupal version.

 

Aug 05 2019
Aug 05

Using cloud is about leveraging its agility among other benefits. For the Drupal-powered website, a right service provider can impact how well the website performs and can affect the business revenue.

A robust server infrastructure, such as AWS, when backs up the most advanced CMS, Drupal, it proves to accelerate the website’s performance, security and availability.

But why AWS and what benefits does it offer over others? Let’s deep dive to understand how it proves to be the best solution for hosting your Drupal websites.

Points To Consider For Hosting Drupal Websites

The following are the points to keep in mind while considering providers for hosting your pure or headless Drupal website.

Better Server Infrastructure: Drupal specialised cloud hosting provider should offer a server infrastructure that is specifically optimized for running Drupal websites in a way they were designed to run.

Better Speed: It should help optimise the Drupal website to run faster and should have the ability to use caching tools such as memcache, varnish, etc.

Better Support: The provider should offer better hosting support with the right knowledge of a Drupal website.

Better Security and Compatibility: The hosting provider should be able to provide security notifications, server-wide security patches, and even pre-emptive server upgrades to handle nuances in upcoming Drupal versions.

Why not a traditional server method?

There are two ways of hosting Drupal website via traditional server setups: 

  • a shared hosting server, where multiple websites run on the same server
  • or  a dedicated Virtual Private Server (VPS) per website. 

However, there are disadvantages to this approach, which are:

  1. With a lot of non-redundant single-instance services running on the same server, there are chances if any component crashes, the entire site can get offline.
  2. Being non-scalable, this server does not scale up or down automatically and requires a manual intervention to make changes to the hardware configuration and may cause server to go down due to an unexpected traffic boost.
  3. The setup constantly runs at full power, irrespective of usage, causing wastage of resources and money.

    Hosting Drupal on AWS

Amazon Web Services (AWS) is a pioneer of cloud hosting industry providing hi-tech server infrastructure and is proved to be highly secure and reliable.
With serverless computing, developers can focus on their core product instead of worrying about managing and operating servers or runtimes, either in the cloud or on-premises. It eliminates infrastructure management tasks such as server or cluster provisioning, patching, operating system maintenance, and capacity provisioning. It enables you to build modern applications with increased agility and lower total cost of ownership and time-to-market.

With serverless being the fastest-growing trend with an annual growth rate of 75% and foreseen to be adopted at a much higher rate, let’s understand the significance of the AWS components in the Virtual Private Cloud (VPC). Each of these components proves it to be the right choice for hosting pure or headless websites.

AWS-syanmic-content-srijan-technologiesArchitecture diagram showcasing Drupal hosting on AWS

  •  Restrict connection: NAT Gateway

Network Address Translation (NAT) gateway enables instances in a private subnet to connect to the internet or other AWS services. Hence, the private instances in the private subnet are not exposed via the Internet gateway, instead, all the traffic is routed via the NAT gateway. 

The gateway ensures that the site will always remain up and running. AWS takes over the responsibility of its maintenance.

  • Restrict access: Bastion Host
Bastion hosts protects the system by restricting access to backend systems in protected or sensitive network segments. Its benefit is that it minimises the chances of any potential security attack.
  • Database: AWS Aurora

The Aurora database provides invaluable reliability and scalability, better performance and response times. With fast failover capabilities and storage durability, it minimizes technical obstacles.

  • Upload content: Amazon S3

With Amazon S3,  store, retrieve and protect any amount of data at any time in a scalable storage bucket. Recover lost data easily, pay for the storage you actually use, protect data from unauthorized use and easily upload and download your data with SSL encryption.

  • Memcached/Redis: AWS Elasticache
Elasticache is a web service that makes it easy to set up, manage, and scale a distributed in-memory data store in the cloud.
  • Edge Caching: AWS CloudFront
CloudFront is an AWS content delivery network which provides a globally-distributed network of proxy servers which cache content locally to consumers, to improve access speed for downloading the content.
  • Web servers: Amazon EC2

Amazon EC2 is a web service that provides secure, resizable compute capacity in the cloud.

Amazon Route 53 effectively connects user requests to infrastructure running in AWS and can also be used toroute users to infrastructure outside of AWS.

Benefits of Hosting Drupal Website on AWS

Let’s look at the advantages of AWS for hosting pure or headless Drupal websites.

High Performing Hosting Environment

The kind of performance you want from your server depends upon the type of Drupal website you are building. A simple website with a decent amount of traffic can work well on a limited shared host platform. However, for a fairly complex interactive Drupal site, a typical shared hosting solution might not be feasible. 

Instead, opt for AWS, which provides a server facility and you get billed as per your usage.

Improved Access To Server Environment 

Shared hosting environment restricts its users to gain full control and put a limitation on their ability to change configurations for Apache or PHP, and there might be caps on bandwidth and file storage. These limitations get removed when you're willing to pay a higher premium for advanced level access and hosting services.

This is not true with AWS, which gives you direct control over your server instances, with permissions to SSH or use its interface control panel to adjust settings.

Control over the infrastructure 

Infrastructure needs might not remain constant and are bound to change with time. Adding or removing hosting resources might prove to be difficult or not even possible and would end up paying for the unused resources.

However, opting for AWS will let you pay for the services you use and can shut them off easily if you don’t need them anymore. On-demand virtual hosting and a wide variety of services and hardware types make AWS convenient for anyone and everyone.

No Long-term Commitments

If you are hosting a website to gauge the performance and responsiveness, you probably would not want to allocate a whole bunch of machines and resources for a testing project which might be over within a week or so.

The convenience of AWS on-demand instances means that you can spin up a new server in a matter of minutes, and shut it down (without any further financial cost) in just as much time.

Refrain Physical Hardware Maintenance

The advantage of using virtual resources is to avoid having to buy and maintain physical hardware. 

Going with virtually hosted servers with AWS helps you focus on your core competency - creating Drupal websites and frees you up from dealing with data center operations.

Why Choose Srijan?

Srijan’s team of AWS professionals can help you migrate your website on AWS cloud. With an expertise in enhancing Drupal-optimised hosting environment utilising AWS for a reliable enterprise-level hosting, we can help you implement various AWS capabilities as per your enterprises’ requirements. Drop us a line and let our experts explore how you can get the best of AWS.

Jul 26 2019
Jul 26

The expanding data landscape is feeding the demand for higher operational agility. This calls for a more responsive, reliable IT infrastructure — that doesn’t rake up millions — minimizes delays and downtime while improving security and making infrastructure more agile.

Between capacity constraints and unpredictable pricing models, AWS offers suited workloads for growing infrastructure needs with a host of services - IaaS, PaaS, SaaS - for Drupal enterprises. 

Here’s how you can run your Drupal up to 40% cheaper.

Keeping the Business Innovative and Agile

Increasing demands for performance, scalability and agility have never been higher. Success and growth for businesses depend on it. At the same time, changing landscape is forcing businesses to opt for lower costs, greater use of cloud resources and better customer service

While these changes have implications on infrastructure, compute and networking resources, they also impact storage. 

Lack of enough database storage, for example, can adversely impact application performance. Fast-growing applications may need more storage than expected or immediate storage resources.

 

Capacity and storage issues can hinder business agility

 

The continuous need for speed and efficiency is driving businesses to opt for storage as a service (STaaS) model. But there is more to it when it comes to the the benefits. Businesses get:

  • Better insights at reasonable cost: Providing a highly scalable environment at a low cost capable of handling the massive volume and velocity of data, organizations can shift from the two available models (CapEx and OpEx) for more predictable costs.
  • Better collaboration: Cloud-based business solutions accelerate innovation, delivering business analytics at the point of impact and enabling collaboration by creating and linking business networks.
  • Innovation and variety of solutions: Forward-thinking enterprises adopt for STaaS to speed up business innovation, improve overall data-centre efficiency, achieve integrated and innovative business results.  
  • Proven results: Organizations achieve their desired business outcomes by improving the responsiveness of their IT infrastructure without increasing risk or cost.

Capacity and storage issues can hinder your business agility. 

In order to avoid such challenges in the future, Drupal-powered enterprises need to constantly understand and adapt to the changing landscapes.

Azim Premji Foundation, Georgia Technical Authority, Department of Homeland security, USA are powered by Drupal and supported by AWS

While Drupal helps balance the rapid data growth, the right cloud storage solution needs to offer security and robust scalability without constraining the budget and prepare IT and marketing for what comes next.

Run your Drupal 40% cheaper

Choosing the right technology is crucial to avoid equipment failures and the costs of upgrading hardware. Small to medium enterprises and non-profit especially need sustainable solutions for future needs to run its operations without overcommitting budgets today. 

Finding the perfect match, organizations such as Azim Premji Foundation, Georgia Technical Authority, UCAS, Department of Homeland security - USA,  are powered by Drupal and supported by AWS.

Enterprises need sustainable solutions without over committing budgets today

AWS offers cloud web hosting solutions that provide businesses, non-profits, and governmental organizations with low-cost ways to deliver their websites and web applications.

The pay-as-you-go approach lets you pay only for the individual services you need, for as long as you use, and without requiring long-term contracts or complex licensing. 

Similar to how you pay for utilities like water and electricity.  

You only pay for the services you consume, and once you stop using them, there are no additional costs or termination fees.

The pricing models give your enterprises the flexibility to grow your business unencumbered by  IT

  • Pay-as-you-go

With AWS you only pay for what use, helping your organization remain agile, responsive and always able to meet scale demands. Allowing you to easily adapt to changing business needs without overcommitting budgets and improving your responsiveness to changes, reducing the risk of over positioning or missing capacity.

Drupal-AWS-PriceBy paying for services on an as-needed basis, you can redirect your focus to innovation and invention, reducing procurement complexity and enabling your business to be fully elastic.

  • Save when you reserve

By using reserved capacity, organizations can minimize risks, more predictably manage budgets, and comply with policies that require longer-term commitments.

For certain services like Amazon EC2 and Amazon RDS, enterprises can invest in reserved capacity. With Reserved Instances, you can save up to 75% over equivalent on-demand capacity.

Drupal-AWS-Reserve-price

When you buy Reserved Instances, the larger the upfront payment, the greater the discount.

  • Pay less by using more

Providing volume-based discounts, organizations can save more by increasing usage. . For services such as S3 and data transfer OUT from EC2, pricing is tiered, meaning the more you use, the less you pay per GB.

In addition, data transfer IN is always free of charge.

As a result, as your AWS usage needs increase, you benefit from the economies of scale that allow you to increase adoption and keep costs under control.

As your organization evolves, AWS also gives you options to acquire services that help you address your business needs. For example, AWS’ storage services portfolio, offers options to help you lower pricing based on how frequently you access data and the performance you need to retrieve it.

Drupal-AWS-storage-price

To optimize the savings, choosing the right combinations of storage solutions can help reduce costs while preserving performance, security and durability.

The pricing models give your enterprises the flexibility to grow your business unencumbered by  IT.

Case Study: Reducing cost & improving operational efficiency for Drupal application with AWS

Our client which is a legal firm and helps provide jurisdiction and litigant simple, seamless, and secure access to the record of legal proceedings. They built a SaaS-based workflow management application on Drupal to manage and track digital recordings of legal proceedings, transcripts including appeals to the stakeholders.

The goal was to build a robust, cloud-based server to effectively handle the processing and access to a large volume of text, audio and video files.

Since the business model was dependent upon frictionless uploading and downloading of text and media files, AWS cloud-based server came out as a unanimous solution. 

Business benefits

  • Simplified integration of the client's Drupal application with AWS S3, to enable flexible, cloud-native storage
  • As a result of going all-in into the AWS Cloud, the client reduced costs by 40% and increased operational performance by 30-40%
  • Dynamic storage and pay-as-you-go pricing enabled the client to leverage a highly cost-effective cloud-storage solution

Read complete case study on Cloud-Native Storage for Drupal Application with AWS

Get no-cost expert guidance

Designed to help you solve common problems and build faster, Amazon Web Services provides a comprehensive suite of solutions to secure and run your sophisticated and scalable applications.

Srijan is an AWS Advanced Consulting Partner. Schedule a meeting with our experts at no cost or sales pitch and get started with your cloud journey.

Jul 09 2019
Jul 09

In our previous blog - Demystifying the Decoupled Architecture - we discussed how decoupled architecture has become an increasingly popular choice to build enterprise-grade websites.

With various choices available, Drupal gives a breakthrough experience offering powerful content modeling, workflow capabilities and UI creation, helping evolve the marketing, branding and lead generation efforts.

Gatsby js, a React-based site generator, is a great option with Drupal for a decoupled architecture. Drupal and Gatsby form a powerful combination and here’s why this is a great choice.

Why Gatsby?

Let’s learn about the features of Gatsby which makes it an ideal match for decoupling with Drupal.

1. Plugin usage makes life simpler

Plugins help make the site offline, add Google analytics and supports inline SVGs, and much more, making Gatsby extensible and flexible.

Of the different types of Gatsby plugins, the gatsby-source plugins fetch data from a local or remote source and allow it to be used via GraphQL. This implies that almost anything can be used as a source to work with Gatsby and generate static sites.

Some plugins may need only to be listed by name, while others may take options. Gatsby plugin library offers a large number of plugins and continuously being maintained by the community.

2. Progressive Web Apps out-of-the-box

Gatsby enforces best practices to boost performance and add to the smoothness of user experience to give its site users an app-like experience.

The build process creates static HTML files for individual pages which offers swift loading of pages.

Gatsby boots up React on page loading on browser and navigates around your site to give you a single page application experience with near-instant transitions without page reloads. It works by prefetching related page content in the background to nullify any chance of delay on user click.

Gatsby exceptionally improves the client-side experience with JavaScript and can offer offline support with the addition of a single plugin.

3. JAMstack setup

JAMstack setup has taken the web development over by a storm with client-side JavaScript, reusable APIs, and prebuilt Markup offering a great combination to improve the speed and quality of your site as well as the overall developer experience. Gatsby acts as a JavaScript framework for a JAMstack-powered web application.

4. Built with performance in mind

Gatsby framework is built in a way to optimize the website performance on its own and compiles the most performant Webpack configuration to build your site once you create the source code.

It functions by prefetching resources to give a worldclass surfing experience to website users. It follows Google's PRPL (stands for Push Render Pre-cache Lazy-load) architectural pattern which aims to boost your website's performance, especially on mobile devices. The pattern is helpful for structuring and serving progressive web apps (PWAs). You can create PWA with Gatsby by running your page via HTTPS and installing a plugin for the manifest and service worker.

5. Easy to Use and Learn

Gatsby is based on React.js which is a JavaScript library for building user interfaces using components. It's relatively easy to learn, and if you’ve command over JavaScript code, you're good to go.

Working with Gatsby doesn’t require you to learn everything from scratch. Also, you can master working with it even if you don’t have experience working with React or GraphQL. Gatsby has a vast and active community to help you with your concerns.

Benefits of Decoupling Drupal with Gatsby

Static site generators like Gatsby pre-generate all the pages of the website unlike dynamic sites which render pages on-demand alleviating the need for live database querying and running through a template engine. This enhances the performance and brings down the maintenance cost.

Static site generators have seen a growth spurt over the past few years and have been the first preference of developers who wish to build a simple website/blog solution with a minimal server setup and a low maintenance cost.

Drupal proves to be a powerful back-end and is preferred by content editors for its WYSIWYG editor and content types which help them manage content more easily and systematically. However, maintaining a CMS requires hosting a web server and database, which poses security vulnerabilities.

diagram_gatsby_drupal

                                                                     Gatsby in action (Source: Gatsby.org)

Gatsby stands in between the robustness of static site, and the versatile back-end of a content management system. It allows you to host the CMS in-house and publish the content as a static website.

Watch the video to understand how Gatsby helps create blazing fast websites with Drupal:

Headless Drupal- Building blazing-fast websites with React-GatsbyJS + Drupal

Development approach

Gatsby, being a static site generator, lets the public folder created during the build time to behave as a static website.

To make it serve the requests, you can take that folder and deploy it on any server with Apache or nginx like server. Once the build is done, you can down your Drupal server and just deploy the public folder generated during the build.

 

null

 

This means that your Gatsby site will communicate with your Drupal backend during the build time, fetch all the details necessary and create static files for all the paths that will be present on your site.

 

With enterprises choosing to opt for more scalable and flexible experience, the popularity of Gatsby is increasing manifolds.

Are you thinking to implement best decoupled strategy for your next project? Contact our experts to get the best solution tailored as per your needs.

Jul 02 2019
Jul 02

As of May 31, 2020, Apigee will no longer sponsor hosting of Drupal 7-based developer portals (D7P). Prior to this, starting on May 31, 2019, Apigee will no longer provision Drupal sites for customers. 

Developer portals are expected to give flexibility and control to the developers and keep users’ data secure on a daily basis.

In our previous blog - Should You Migrate Your Developer Portal To Drupal 8? - we detailed on the security challenges your Drupal 7 developer portal could face, after all, security is important.

In this blog, let us understand the best action plan you can take to secure your developer portal. 

Action Plan to Secure Your Developer Portal

As a service provider, you have developed a set of APIs to provide access to your backend services. The announcement can put you in a fix but whatever your choice of action steps, ensure the end result can: 

  1. Keep your data secure
  2. Should not hamper the current flow of work
  3. Should be able to integrate with Apigee

Currently, you have three options in place:

  • Remain on Drupal 7 and assume hosting responsibility
  • Move to Apigee's integrated portal
  • Migrate your developer portal to Drupal 8

Remain on Drupal 7 and assume hosting responsibility

If you need (more) time to decide whether to opt for migration or not, depending on the existing running projects - you can consider remaining on D7P until you finalize on your choice. 

The support of the modules which integrate Drupal 7 with Apigee Edge will not be affected, however, cloud customers would need to assume direct account responsibility with their hosting providers.

After May 31, 2020, all Apigee-hosted Drupal 7 developer portal will be decommissioned and will be unavailable. You would not be able to administer or develop any post-May 2020. 

Remaining on Drupal 7 could make you vulnerable to several security concerns as discussed in our previous blog.

Move to Apigee's integrated portal

Consider moving to an Apigee integrated portal, if you have been using Drupal 7 with a minimal amount of customization or prefer an all-in-one solution. 

It is integrated directly into Apigee Edge and includes a powerful API catalogue and a compelling markdown-based CMS with robust audience management tools.

However, if you are someone who has leveraged the functionality of Drupal 7 in conjunction with a high degree of customization and investment in crafting a specific developer experience, then you should consider switching to Drupal 8. 

Migrate your developer portal to Drupal 8

Drupal 8 remains to be a compelling option for those who wish to remain on Drupal for their developer portal. It is the option preferred by the customers to head towards a self-managed developer portal and as a path forward to leverage the latest functionalities of Drupal.

There is a host of functionalities in Drupal 8 which makes it a better option from the three. It is more secure than Drupal 7, more features than on Drupal 7 and proves to be an ideal option for the developer portal to be built on. Let’s learn about them.

Your Drupal 8 Developer Portal will be Secure

Here is a list of new features introduced in Drupal 8 which aims to enhance the security of your developer portal:

  • Twigs: A new theming layer which comes with a whole bunch of security features.
  • Configuration management: You have a list of all configurations of your site in your code so as to let you know what all settings have been changed and who is responsible for that, when and why and to know what all settings have been changed.
  • No PHP filter: Simplifies the process by allowing developers to code inside a node.
  • Session IDs hashed: Now session IDs in the code are hashed, so even when the session IDs are known, the sessions cannot be hijacked.
  • Trusted Host Patterns: Code knows when it is in a trusted environment and alerts  when it is not. 
  • Single Statement Limitations to DB queries: Doesn’t allow multiple statement query in a single database.
  • Mixed Mode SSL removed: Implying the SSL will be used anyway and is no way an option now.
  • Automated CSRF token protection: Able to detect if the forms have cross-site scripting going on.

Some Best Practices To Mitigate API Threats

To secure your digital property from any possible threats, you need to follow certain best practices to ensure safe usage of APIs and prevent any critical customer information leakage.

  • Encrypt the APIs: Decrypting the API keys by authorised users will protect the critical data from being misused.
  • Ensure Role-Based User Authorization: Authorizing registered users as per roles to access APIs can work to identify a user and classify them as per varying levels of permissions.
  • Allow only Registered users: The first and foremost step is to authenticate users using the API in order to protect information. It becomes easy to track the API usage and identify who is making what request.
  • Deploy Rate Limiting: It can detect and prevent an unusual number of requests from a given user at a given frame of time. In an exceptional case, wherein the attacker manages to bypass your encrypted authentication and authorization protocols, rate limiting can prevent your API from being compromised.
  • Build Security in Layers: If the above steps don't work, try adding an extra level of security through an outer firewall.
  • Security is required in back-end too: Another checkpoint on the way out of the network can thwart the attacks is to secure the system down up so you can track him down on the way out. 

Srijan Can Help

Srijan is committed to providing customized developer portal to help you attract and engage developers with a comprehensive, customizable developer portal that offers a seamless onboarding experience. We offer secure migration of your existing developer portals to Drupal 8. 

Want to upgrade your developer portal? Let’s start the conversation

Jul 02 2019
Jul 02

“DrupalCamp is a unique experience that you have to attend to understand” 

On the weekend of 15-16 June, I seized the opportunity to be a part of DrupalCamp, that happened in India's capital city, New Delhi. A 2-day camp, it was full of experience from keynote to engaging sessions to Drupal Trivia to a stupendous after-party.

anul-tweetThe fun giveaways at DrupalCamp Delhi captured in an image by Anul Khadija

It wasn’t just my first DrupalCamp, but first Drupal event in general and it is quite true to acknowledge the event by the professionalism and dedication of the organizing team. There were sponsor booths, giveaways and at least three sessions going parallelly at any time of the day.

I was quite amazed to see the event standing by Drupal’s commitment towards inclusiveness with specially-abled artists from Kumawat Pahal Charitable Trust (KPCT) Foundation attending the camp. It was accurate to call the event - Drupal with a cause. As part of the Drupal Association, I understand Drupal’s commitment to all and was pleased to see it happen at the camp.

KPCT-PAINTINGSpecially-abled people from KPCT foundation impressed the audience with their paintings (with feet).
Picture by Ankit Singh

Day 1 started with a prenote by Shadab Ashraf, who took everyone to the early beginning of Drupal and how everything started, followed by an inspiring keynote by Sudhanshu Mani-- the man who had an out-of-the-box idea and lead of the project of Train 18, India’s First Engineless Train -- who enlightened us with some of the biggest challenges and success, followed by plentiful interesting sessions.

The two days were a mix of fun and inspiration. It was compelling to see speakers from various backgrounds speak at the platform with a deeper insight around Drupal and on various cutting-edge technologies.

Additionally, there was a launch of Drupal India Association (DIA), aimed to build more momentum for the local chapter incorporated in India. Being a Drupal Association staff, I believe it is important to have local associations which lead to support the local communities. The DIA will be a great place to collect stories, share resources, and raise the problems that Indian Drupal community faces and together with Drupal Association we can work to better things.

Sunday morning (Day 2) started with a plethora of knowledge shared by camp’s second keynote speaker Prashant Singh, VP - Product Management PayTM, who took us for a ride to the road on lessons and learnings from where to start and what one’s approach should be. He also talked about how to build technology in a startup, followed by another jam-packed schedule, full of regular sessions and workshops.

Birds of a Feather (BOF) was organized to know various chances of challenges commonly faced by some people while contributing. I was surprised to know that infrastructure is also a challenge given the fact that Delhi has many social places.

Came the time for the most special part when Akanksha Singh and I hosted Trivia Night-- a fun-filled part quiz of the event. It was the first time I organized and hosted something like this, which I think was an absolute fun while geeking out. We grouped people into teams and asked them head-scratching questions around Drupal and other trending web technologies.

trivia-nightCandid snap of hosts (Akanksha and I) of Trivia Night by Suhail Lone

I was able to attend a few inspiring sessions given by various founders and co-founders, which motivated me but these three had a lasting impact -

  1. Kickstart your success story by Sarita Chauhan
  2. Serendipity as a Business Strategy by Rahul Dewan
  3. Writing content like a pro by Aditi Syal

I also loved spending in-person time at the contribution sprint where we discussed how to contribute to documentation on drupal.org. Kimi Mahajan did her first contribution by editing a few documentation and improving the content quality. It was exciting to see a happy Kimi making her first contribution.

Contribution sprint is not just for developers, but also for the people who can contribute through non-code to Drupal. This makes us love Drupal even more, as almost anyone can get involved in contributing, making the community vibrant and full of inspirational contributions.

The act of contributing starts from getting involved and connecting with different people involved in various ways to make Drupal better. I found renewed motivation from the sheer joy of learning together and by volunteering to make the camp happen.

The energy and enthusiasm of organizers and volunteers were contagious, and it was inspiring to see them bring great ideas to make the event end on a high note.

Although I’ve been a part of DrupalCamps from quite some time, but from a distance. DrupalCamp Delhi made me realize what I missed. It was encouraging for me to see through my eyes the great work and efforts put in by the community to turn the event into a success.

Drupal community events are an interesting place to be at and I would not want to miss another. Such events give space and resource to get people together under one roof to contribute and giving high-fives in the hallway for their amazing work. I am absolutely looking forward to attending the next Drupal event.

Maybe DrupalCon Amsterdam?

InShot_20190618_121033584

Also revisit the journey at Google drive  -

https://drive.google.com/drive/folders/1-7xbDM7Do5RlaGPVoMXg_6hpS5aCy0qd

Jun 23 2019
Jun 23

The summer of 2019 gave a reason for the Delhiites to rejoice. This time as one of the most conspicuous open source technology events of India, DrupalCamp was back after a sabbatical of two years, in Delhi.

DrupalCamp Delhi was a two-day conference that happened on 15-16 June at JNU Convention Centre. The event proudly hosted 350+ people, 20+ sessions, 7+ Founders speakers, and 3 trainings and a Drupal contribution sprint. Sponsored by 7 top Drupal companies across India and partnered by 10 technology/open source communities, DCD had some power packed Drupal talks by the brightest minds in Drupal and in India.

As an insignia of community inclusiveness, it had the presence of specially-abled artists from KPCT Foundation.

null

Participants appreciated the spectacular paintings by specially abled people from Kalpana Charitable Trust (KPCT)

We started with the prenote where we introduced DrupalCamp Delhi and discussed the flow of event. More importantly, we threw light on the very beginning of Drupal, the first Drupal event in Antwerp and how DrupalCamp community has grown to 1.3 million people globally.

Following this, the Keynote was delivered by Sudhanshu Mani, the man behind the conceptualization, engineering and manufacturing of India’s first engineless train, Train18.

 

null

He enthralled the audience by sharing his journey (talking about culture, structure and processes) as the General Manager of the Integral Coach Factory (ICF) and some to-the-point Shayari.

Day 1 witnessed a total of 18 sessions ranging from business & leadership, community, frontend & web design, coding & development, CI/CD & QA automation, beyond Drupal and case studies. People loved the session by Mathieu Spillebeen on - Frontend United: The energy of the people- which also took the audience by surprise since it was a virtual session. The attendees participated throughout by asking questions through the online platform, Slido.

null

Mathieu Spillebeen in action

Another notable event in the camp was the launch of Drupal India Association (DIA), by Shyamala Rajaram, a local chapter for Drupalites to contribute in India.

null

The official launch of DIA

At Birds of a Feather (BOF), we discussed the reasons for the inability to contribute to the community and what should be the action plan. Participants didn’t shy away from stating that it was the lack of exposure, mentorship and time which was holding them to contribute effectively.

Two parallel workshops were also running throughout the day for - beginners in Drupal and content writers.

Day 2 was filled with sessions, contribution workshops on Drupal and Gatsby, BoF, and Trivia Night. The day gave way to camp’s second keynote speaker Prashant Singh, VP - Product Management PayTM, take the podium to talk about the importance of technology in building a better track for India.

DSC_0133

Prashant Singh, VP - Product Management PayTM talking about the importance of technology in building a better India

The Contribution Sprint by Axelerant let people know how and why is it important for them to contribute to Drupal as much as possible. The two-hour-long contribution sprint, which was guided by mentors, saw people from coding as well as non-coding backgrounds joining to network with peers.

The event wrapped up with Drupal Trivia, which kept the audience engaged with some mind-boggling Drupal questions. It was adorable to see two cute kids join as co-hosts, to Tanisha and Akanksha, and were adamant to share no clue when asked for one! The winners of the evening were announced and team Srijan won by answering maximum questions right.

null

Team Srijan with hosts and the prize

#DCD19 remains special to my heart, for being able to carry out the whole thing successfully, whilst bringing in new set of volunteers to contribute, and for receiving a special note of appreciation from Shyamala Rajaram, Director and Co-founder Unimity Solutions.

null

 

Community events fuelled by passion, such as DCD, are always special. Here’s why:

null

 

For professionals, organisations and students, this is the best way to learn and reinforce your commitment to Drupal. These events create leaders, showcase the importance of non-code contributions and help us in propagating Drupal around the globe. DrupalCamp Delhi would be bigger and better in 2020. Would you be with us?

Time for a groupfie!

null
Jun 23 2019
Jun 23

APIGEE recently announced - from May 31, 2020, Apigee-sponsored hosting for Drupal-based portals will end. The existing customers who wish to remain on Drupal 7 need to assume hosting responsibility, they can either migrate to Drupal 8 or move to Apigee's integrated portal.

 

Those who wish to stick to Drupal 7 developer portals might possibly face challenges. But if Drupal has many security features and remains as one of the most secure Content Management System (CMS), what could possibly be the urgency to migrate?

What are the concerns?

Drupal 7 End-of-Life is Near

The developer portal is essentially a CMS, in case of APIGEE, based on Drupal. As the backend CMS, Drupal provides a core set of features in the form of modules that make it easy for you to build the content, as well as manage, websites.

Developer portals orchestrate API ecosystem which helps developers and external partners to quickly and securely gain access to the tools and information they need to explore, test, & consume APIs.

Apigee supports several developer portal solutions, ranging from simple turn-key to fully customizable and extensible, most if not all were built on Drupal 7. With community focus shifting to Drupal 9 release and end of life approaching for Drupal 7 (November 2021), among other circumstances Apigee will no longer be supporting the D7 developer portals.

With APIGEE support ending in May 2020, Drupal 7 developer portals will face the following security challenge.

 

Drupal 7 Can Put your Developer Portal at Risk


While Drupal also has many security features, security is not about working in isolation.  If one is to secure their digital property from the possible threats, it needs to follow best practices to maintain the top-notch standards.

One of the most important is keeping the core updated.

If you fall a long way behind the latest update, you are opening yourself to vulnerabilities. Let’s know in detail how Drupal 7 can put your developer portal at risk.

1. Doesn’t prevent cross-site scripting

Cross-site scripting (XSS) is a class of code vulnerabilities that allows code to be executed inside your browser without your consent or knowledge. XSS exploits are commonly performed with JavaScript, but Flash, Java, and other similar web programming technologies have been used.

It is one of the most frequent security vulnerabilities, a site owner should be aware of. It can be introduced in custom themes and custom-and-contributed modules. A poorly configured site can allow a malicious visitor to use XSS to change a user's password. Out of the box, Drupal 7 isn’t very effective to identify and fix XSS vulnerabilities.

In Drupal 7, elements like Drupal variables or Ctools exportables are represented as PHP code. This use of PHP input format in the core exposes possible code execution to vulnerability.

Drupal 8, however, filters the PHP input format in the core, manages code in a revision control system like GIT, and protects the code from any possible attack. Configuration Management Initiative uses YAML as the export and import format. YAML files are easy to manage together with your code and is a best practice to check it into a revision control system (like GIT).

2. Exposing session cookies

Drupal 7 stores the session ID and checks directly against the incoming session cookie from the browser. This poses a huge risk as the value from the database could populate the cookie in the browser assuming the session as well as the identity of any user who has had a valid session in the database.

On the other hand, Drupal 8 secures the session IDs against exposures via database backups or SQL injection, encourages serving your entire site via secure channel SSL and no longer strips the www from the session cookie domain.

3. No Automated CSRF token protection in route definitions

Cross-site request forgery (CSRF or XSRF) is a process where a request is made to a site which takes an action when the user did not intend to take that action.

GET requests with configuration change are not protected from CSRF in Drupal 7. This brings all the secure and unsecured requests under the scanner.  However, Drupal 8 makes it easy to specify a route (or system path) require a CSRF token.

4. No Clickjacking Protection

Drupal 7 cannot protect a site from click-jacking attacks wherein forms or links on the site are presented in a disguised fashion on an attacker's site inside an iframe. It cannot block the unauthorized re-use of site content via iframes too. However, Drupal 8 does this easily by sending the X-Frame-Options: SAMEORIGIN header in all responses by default. This header is respected by most browsers and prevents the site from being served inside an iframe on another domain.

Should you Migrate your Developer Portal to Drupal 8?

When choosing a solution, you need to balance your customization requirements against the time and knowledge required to implement your portal. Migrating your developer portal to Drupal 8 will ensure that any investments you make will extend the security of your digital presence.

Have doubts around your API security or want to migrate to Drupal 8 developer portal? Get in touch with our experts. We provide a range of services around API designed with a strategy tailored to your success.

Jun 13 2019
Jun 13

In a world where there is no limit to devices to access information, you must ensure your data is always available on the go! The pace of innovation in content management is accelerating along with the number of channels to support the web content.

A content marketer’s work is not done by just creating the content for the website. Making it available across devices and managing content channel hubs and making it user-friendly, most importantly.

But first, let’s understand how the content presentation has changed over the years.

The Traditional Approach: Coupled Architecture

CMS like Drupal are traditionally monolithic, wherein they own the entire technological stack, both backend (data layer) and frontend (presentation layer). The benefit – it allowed easy site management with admin user being able to write and publish on the same system.

monolithic-architecture-srijan-technologies

Monolithic architecture is part of one cohesive unit of code where components work together with                          the same memory space and resources

Content editors have preferred the traditional approach because of its clear and logical modular architecture which allowed them to control in-place editing and layout management.

tightlycoupled-srijan

They Broke Up! What?

Even though the coupled architecture was easy to develop, deploy, and test, decoupled application architecture has become popular lately owing to the break-through user experiences it provides.

Decoupling segregates the concerns of frontend and backend of an application by simply adding a layer of technical abstraction (API).

One for content creation and storage, and the other as the presenting layer. In this scenario, a CMS like Drupal serves the backend as a data repository and a third party application like React JS owns the frontend providing interactive UIs.

In the video, watch how Drupal backend interacts with the decoupled apps in the decoupled approach and how it’s different from the traditional approach.

 

 

A decoupled architecture splits the content of a website from how it is displayed on multiple independent systems to how it is created.

Fully Decoupled or Headless Architecture

Headless architecture is similar to decoupled architecture in a way that both have content management and storage backends and deliver content from that database through a web service or API.

The only difference between the two is headless Drupal does not have a defined front-end system and has no functionality to present content to an end user on its own. The API, which exposes information for consumption, connects through an array of application.

headless-drupal-application-srijan

Srijan has implemented the headless approach for its various clients with much ease within the given stipulated time frame. Srijan helped Estee Lauder reduce its training session cost by up to 30% with a decoupled and multilingual LMS.

Understand your situation. Who is it for?

Here are some key pointers that will help you figure out if fully decoupled approach is an option for your project:

  • Not for basic editorial websites

Decoupling will do no good to a standalone website with basic editorial capabilities such as a blogging site. Such websites require less or no user interactivity and further, it can also hamper the performance of the crucial features required by content editors like the content preview, layout management, in-line editing making a simple website rather complicated.

  • Not if you want to lose more functionalities

One of the major advantages of CMS like Drupal is, you can access the plethora of modules in just one click. By simply selecting the Simple Google Maps module from your admin toolbar, you can have it on your website.

However, implementing decoupled architecture takes away such easy-to-use features since the CMS no longer manages the frontend.

  • Not if you want a complex procedure

If your design goals are closely aligned with traditional coupled architecture, then implementing decoupled approach will complicate the process and will add to the extra cost of creating those features from scratch.

Take a look here to know in which use cases decoupled Drupal works best and how to decide whether you need the architecture for your next project or not.

Enter Progressive Decoupling: A Hybrid Approach

Progressive decoupling gives you the best of both worlds. It allows Drupal to leverage JavaScript frameworks (like React and Angular) for dynamic user experience by injecting JS only where it’s needed in the front-end.

The approach is in the best interest of both - editors and developers as it strikes a balance between editorial and developer needs.

Which means the editor can control the layout of the page and the developer can use more JavaScript by interpolating a JavaScript framework into the Drupal frontend.

The video attached below will help you better understand the concept.

Comparison Chart: Coupled, Progressive or Fully Decoupled

This comparison chart will help you understand the features.

Features Coupled Decoupled (Progressive) Fully Decoupled/Headless Architecture Tightly Coupled Loosely coupled Separated Performance Fast Fast Fastest Fixed presentation environment Yes Yes No Use cases Complete text-based sites involving no user interactivity Websites that require rich/interactive elements of user experience Websites that require rich/interactive user experience Layout style Overrides built-in themes and templates Easy and secure third-party integrations Easy and secure third-party integrations Integration No Future-proof Future-proof SEO friendly Most SEO friendly SEO friendly Non-SEO friendly Delivery channels Limited Limited Unlimited API usability No APIs Based on architecture Complete API based Preview availability Available Available Unavailable

What’s in Store for the Future of Decoupling

With enterprises choosing to opt for a more flexible and scalable experience, the gap between the developers and content editors needs to be reduced.

The rapid evolution in decoupling allows constructing a content model once, preview it on every channel, and use familiar tools to either edit or place content on any channel in question, and decrease the delivery time.

At Srijan, we believe in a mature agile engineering process delivering better results. Contact us to get started.

Jun 12 2019
Jun 12

Tour and travel business has started to catch up in the digital realm. In fact, it’s growing faster than the total travel market. It is predicted that by 2020, the overall tours and activities segment will grow to $183 billion.

A clear opportunity for businesses in the travel industry.

Despite your services being authentic, not choosing the right technology to back up your digital transformation can make the entire game plan chaotic, tedious, and not to mention a loss in revenue. Drupal is the leading choice in the travel industry (we have some case studies lined up).

Here’s why it can be the right option for yours too.

What Difference Does it Make?

Travel marketers know and as business owners, you too need to understand that in order to deliver value to the customers they need to be invested in the user experience beyond the first click. It’s all about ‘what they want’.

Here’s where the right CMS technology needs to focus on:

Need for speed: More than half of the users will leave a site if it takes more than 3 seconds to load. Your CMS needs to provide you with the ability to track the site speed performance. Further, for mobile sites, the technology needs to be AMP friendly.

Going ga-ga over mobile: Today, 48% of mobile users in the U.S are comfortable researching, planning, and booking an entire trip to a new travel destination using only their smartphone. The CMS should help in making the mobile site an assistive and delightful experience, exactly what customers are looking for

Travel blogging is popular: Consumption of digital travel content sees double-digit growth year-over-year. Not just this, when planning trips, 49% of people look at travel content sites.

Videos on the same hand provide an authentic outlook on the experience and travel vlogging is gaining traction. The CMS should be scalable and help you leverage the power of content.

Layout matters: Travellers’ basic needs have remained the same - they want to experience. A clear and easy-to-navigate layout will help the user get most out of it. Your CMS can help you avoid irrelevant navigation links and nontransactional elements that can be distracting to the user.

They ‘Book’ right now: Any action you want a user to take must be obvious. Use of contrasting colours and fonts for high-visibility should come easy with your themes. Also, most hotel bookings turn out to be last minute, rather than pre-planned which shows how critical is your CTA.

travel-image-srijan-technologies1

Drupal for your Travel and Hospitality Website

Anything travellers expect to accomplish online should be just as easy to achieve. Here’s what Drupal can do.

1.Content Friendly and Scalable

‘Content’ and ‘more content’ has been gaining traction lately in the business shelf space. As consumer expectations grow for more personalized and relevant experiences, travel businesses too are running in for more content.

For travel visitors, a website which offers them a lot of engaging content without encountering many blockers always wins the hearts.

Nearly 9 out of 10 customers tend to walk over to a competitor’s website when your website goes down.


Drupal scales to support the most content-rich sites and experiences. It lets you create every kind of content you want. And it can help you handle it - and ensure your site always runs in turbo mode. As holiday planners throng the internet with their booking during the holiday season, you must be equipped to avoid any unfortunate downtimes.

Besides, it is highly flexible, capable of accommodating and organizing your information into structured blocks for better visibility. It’s WYSIWYG editor is best for easy content adding.

2.Multilingual capabilities

While building content is a good way to start, it needs to reach out to the right audience too. Acting on consumer intent and preference is one of the keys to unlocking growth.

Do you know that your most likely customers can be found in non-English speaking countries - like China, Germany and Hong Kong with a maximum number of international departures? This factor, however, should not be the reason why any person should walk away from your website. .

Drupal 8 multilingual initiative helps you rebuild language support to target an international audience. Providing content translation in an additional 94 languages, the four core modules (Language, interface translation, content translation, configuration translation) make it easy and efficient for a multilingual travel business.

3.SEO friendly features

Once you got your content up on your site, it is important to ensure people can find you on search. Search is, after all, the number 1 channel high-value travellers turn to.

When travellers search with the intent to book, they browse through one to five sites.

srijan-google

You can rock your SEO with Drupal. With more than 20 SEO modules and core features, it can optimize your site without breaking any best practices. Modules like - Path alias, meta tags, Alternate Hreflang Module, SEO Checklist Module, XML Sitemap, Google Analytics, Linkit are easy to get started with.

4.Layout and Navigation

Labyrinths and twisted lanes appeal to tourists and travellers, but the same on your website will not. Navigation must always be easy and intuitive. The whole point of successful UX is to let the visitor easily get the information they want without driving them mad.

Taxonomy in Drupal can help you define tags, tabs and call-to-action buttons helping you highlight the key terms.

Layout builder can help you with your page building capability without restrictions. It is unique in offering a single, powerful visual design tool. Layouts for templated content, customizations in it, and creation of custom pages which are not tied to a content type or

2019-06-12-srijan

Having the ability to customize blocks without the need to code, you can highlight your services, recommendations and offers with different campaigns.

The search functionality is an easy addition for navigation. For travel, it is important that they can look up for their exact needs.

In addition to providing you with an incredible SEO, Drupal has search APIs like Federated Solr and Solr Search. Not only do they provide the user with the easy search but it helps index the content, too.

5. Mobile friendly

People who have negative experiences on mobile are 62% less likely to purchase from that brand in the future than if they have a positive experience. It’s critical to remember that mobile is one big part of the user experience.

percentage-of-smartphone-srijan-technologies

Your mobile version should be responsive without cutting out important information, easy to navigate and demonstrate how you deliver benefit to the visitor.

Drupal 8’s very essence is accessibility because it was made with mobile-first usability. Drupal supports responsive design, best practices, and ensures your users get a seamless content experience every time, on every device.

travel-image-site-srijan

6. Secure payment gateway 

Nothing is more troubling to a visitor than the thought of making a payment which is conned. This can be an absolute deal breaker. Security is therefore very important for your reputation.

Drupal Commerce, supports the core payment API, for a smooth payment collection procedure, through the check out form. It offers you feature-rich payment access, integration with Paypal, Brain tree, Amazon Pay and 106 other additional gateways.

2019-06-12-payment-srijan

Improving Digital Experience and Commerce Platform for TUI India


TUI Group is a multinational travel and tourism company, headquartered in Germany, with presence in 180 countries. TUI India is part of the TUI Group.

We built a new architecture for the website to strengthen multiple functionalities, like integrating the site with Salesforce, PayU, Zomato, and other APIs.

It helped improve user experience with additional features. 

Read the complete case study here.

tui-srija

7. Improve your Marketing

For businesses, it is important to track, analyze the user behaviour and provide them with personalized services. Third party tools such as CRM, Google Analytics, Feedback tools (like hotjar) help get the 'bigger picture' on how to improve user experience and increase conversion rates.

2019-06-12-improve-marketing-srijan

Drupal offers easy integration with enterprise-level CRM modules, ERP systems, social networks, real-time analytics, payment gateways to enhance the versatility of your website.

This ensures that your website visitors can find a solution at each step of their travel planning.

Enabling Cleartrip’s Marketing Teams to Quickly Serve New, Relevant Offers

Cleartrip.com is a travel portal that offers travel bookings for flights, hotels, trains and buses. The company primarily functions in India and the Middle-East geography.

Srijan developed a new marketing portal for them which simplified their process of presenting deals to their customers. We helped them:

*Build ready-to-use templates that help team deployed offers and packages quickly

*Ability to replicate deals across different country domains easily.

Read the complete case study here.

clear-trip-casestudy-srijan

8. Easy website setup with travel utilities

For quick assistance, to develop a travel website, Drupal has BAT.

The Booking and Availabiliy Management Tool (BAT) comes in handy when you want to
provide your customers with facilities for booking and reservation while helping you manage the availability at the accommodation concerned.

An incredible result of the collaboration between BAT and Drupal is Roomify for Accommodation,  which is, in essence, an all-in-one solution for vacation rentals, hotels and agencies with multiple properties.

Besides this, you can use BEE. Yes, the Drupal module BEE - Bookable Entities Everywhere grants the booking and availability features to all node types. And it is built on BAT.

Bon Voyage!

With the capability to build you a website which can be used to plan and execute a vacation, Drupal is a powerful, secure and highly reliable platform. It not only helps you retain customers but also win over new travellers.

With stability and versatility, your website can support a large volume of content, personalize what you offer, and smoothen the workflow reducing any extra work.

Contact our experts for a bon voyage!

Jun 06 2019
Jun 06

Enterprises can find their websites attracting visitors and clients from different geographies, speaking different languages. The market is so huge (and international) that targeting only English speaker based users means deliberately missing out on an effective way to grow audience, ROI, customer trust, and rank on Google.

Language can be an enormous barrier, or an effective tool.

With an intent to create a great digital experience, enterprises often find themselves in a tough spot having to use and experiment with tools wrapped in an unfamiliar language.

Only it doesn’t have to be so.

In order to take advantage of the international and multilingual market with your Drupal 8 website, you need to make sure you have set your SEO just right (along with the language, of course).

But is it really that easy?

Why Opt for a Multilingual Website?

The world wide web makes it easy for the online businesses to be looked around from across any part of the world. While, the right SEO strategy will give you a place on the first page of Google, making it exclusive to one language is actually not a good idea (even for your SERP).

Smart marketers don't keep all eggs in one basket because it is bad for business. So is keeping all content in one language.


Here’s why a multilingual website will help:

Increases Your Possible Customer Base

Contrary to the common belief, not many people speak or use English outside certain geography.

Interestingly, the statistics collected by Internet World Stats reflect why your content shouldn’t solely be in English. While it dominates the scenario, English represents only 25% for internet searches.

horizontal graph with ten blue bars on a white background
source: Statista

Not a small number, however, English’s relative share of cyberspace has shrunk to around 30%, while French, German, Spanish and Chinese have all pushed into the top 10 languages online since 2008.

Language profoundly affects the user experience on the internet. In a pan-EU survey (2011) 44% of respondents feel they are missing interesting information because web pages are not in a language that they understand.

Availability of content in different languages can also affect the user’s understanding and succeeding action.

In an interesting case study of the Tel Aviv, Israel, searching for “restaurant” locally in Hebrew, Arabic and English brought back different results for each language. 

three blocks with a map image and text written on top

Gets Loyal Customers

According to Gartner, 89% of companies expect to compete mostly on the basis of customer experience. And language is the secret trailblazer.

“The web doesn’t just connect machines it connects people”


Native language helps companies connect, forge more trust and increase customer satisfaction. In fact, 74% of consumers are more likely to repurchase if after-sales care is offered in their native language.

In fact, there is an undeniably strong link between in-language content and a consumer’s likelihood of making a purchase.

Improves Your SERP

Search engines value quality content and user engagement. By providing your website in different languages, traffic coming from either version will improve the search engine ranking for the whole site, given you are using the right hreflang tags.

It also helps search engines understand your site, as it’s clear which languages you’re providing the content in.

Google doesn’t view the content in different languages as a duplicate, because it has multiple version of itself too.

Drupal 8 Multilingual Initiative

The multilingual initiative (started with D8) aimed to rebuild language support from the ground up so that everything in Drupal understood the language from the start.

Drupal 8 offers much more out of the box for building multilingual sites. More powerful than Drupal 7, it has greater flexibility, all without the need for any contrib module.

Providing content translation in an additional 94 languages, the number of modules have reduced from 22 (as in Drupal 7) to 4.

  1. Language: This is the base module needed to allow Drupal to add and choose the language of choice. Natively, it is available in 94 languages.
  2. Locale (Interface Translation): It helps to translate the interface, from both core and contributed modules and themes. It also provides built-in translation UI for easier editing.
  3. Content Translation: This module translates all the content types and content entities including site content, pages, taxonomy terms, blocks, etc., possible with its inbuilt API. Providing the language selector, you can choose your preferred language by selecting the checkbox.
  4. Configuration Translation: Allows you to translate configuration interface, such as of field labels, views, field settings, blocks, panels, etc. It also has a built-in responsive translation interface.

“Drupal 8 is easy and efficient for multilingual businesses.”


Other than the core modules, developers can also take hreflang into consideration. While the core Content Translation module adds hreflang tags only to translated entity pages hreflang module, on the other hand, adds hreflang tags to all pages.

An example of a Drupal 8 multilingual website: 

 Drupal-North-en-Srijan

The Drupal North Website in English

Drupal-North-fr-Srijan

The Drupal North Website in French

Drupal Multilingual SEO Challenges

Multilingual SEO can be intimidating. In fact, it is the elephant in the room, if not addressed, can potentially deflect your overall SEO efforts.

Language and cultural differences, website architecture, content duplicacy are amongst some of the challenges. Understanding these challenges can help marketers come up with better strategies to tackle the problem.

Here’re some of the multilingual SEO challenges and how Drupal helps you fight them off.

Multilingual and Multi-Geo are Different


A multilingual site must not be confused with multi-regional website. A multilingual site can create a ripple effect in the sense that a mistake in the original site will be replicated in all the duplicate sites.

A multilingual website is any website that offers content in more than one language. For example, a Canadian business with English and French versions of its site. Google Search tries to find pages that match the language of the searcher.

A multi-regional website is one that explicitly targets users in different countries. For example, a product manufacturer that ships to both Canada and the United States. Google Search tries to find the right locale page for the searcher.

Some sites are both multi-regional and multilingual: for example, a site might have different versions for the USA and for Canada, and both French and English versions of the Canadian content.


  • Site Structure, Navigation and Menu

    Navigation isn’t just for the viewers. If the navigation structure prevents visitors from easily finding the information it might also be blocking the search engines from indexing the content.

    It’s difficult to determine geo-targeting on a page-by-page basis, so it makes sense to consider using a URL structure that makes it easy to segment parts of the website for geotargeting.

    In Drupal, Entity translation solves the issues related to site structure, navigation and menu by default.

    Each variant has a language assigned and is called an entity translation. It allows (fieldable) entities to be translated into different languages, by introducing entity/field translation.

    It synchronizes taxonomy and fields across translations of the same content. Translation fallback for menus is not configurable by default

  • Content revision and publication workflow

    Content revisioning, proofreading, and approval are part of the critical content editing process.

    The Workflow module allows to create arbitrary Workflows, and assign them to Entities. Transitions between states can be allowed as per the role. For example, a workflow with states of Draft, Review, and Published could be assigned to the story node type. Only users with the role of 'chief editor' can set Stories to the published state.

    You can set up the Workflow to alter states from form, page, comment, a special block, and workflow tab.

    However, the module follows a linear approach. It would need revision if it is not one way.

    Another module, the Workbench moderation suite is modular, allowing site builders to build the workflow that best suits the content administrators on their site. The Workbench suite provides authors, editors, and publishers with a unified interface for managing content relevant to them.

  • User permission and role for different editorial teamsSince a number of users (read editors) are involved with the content editing a multilingual website, chances of accidents on the website are high. Editors can be clubbed together with set access limits.

    The Group module allows you to create arbitrary collections of your content and users on your site and grant access control permissions on those collections.

    All of the functionality this module has to offer is based on custom entities, opening up the door to various extensions or alterations that the user sees fit. The relationship between a group and its content or users is also an entity, allowing you to easily add metadata to that relationship.

  • Dealing with Duplicate content

    Drupal 8 provides schema out of the box. It is semantic markup text that provides search engines with a basic blueprint to categorically divide and simplify the information by breaking it into simpler blocks for easy description and discovery.

    Schema, in multilingual and multiregional SEO provides each and every language content with same content id letting the search engine know that variations of same content, thus, cancelling out the content duplicacy issues.

    While this feature was part of Drupal 7, it was in the form of separate entity translation plugin, which wasn’t part of the core.

    The main challenge, however, remains how to concatenate content so search engines don’t think it’s duplicate.

    This can be solved with the Entity Translation module which allows entities (such as nodes) to be translated into different languages. It provides field-level translation, so that site builders can select which fields should be translatable. It provides a UI for users to translate these fields into other languages.

  • Path alias

    As a foundational element of the global SEO, URLs need to be determined your multilingual URL structure strategy early on in the process.

    While pathauto module automatically generates URL/path aliases for various kinds of content (nodes, taxonomy terms, users) without requiring the user to manually specify the path alias.

    By default, Drupal doesn’t allow the same URL over translated pages. It can be done by applying the patch and it will run.

  • Content Relevance Building unique vocabularyit is vital that you get the translations right. Seldom content relevance can get lost during translation, like the adventure in mistranslation costed HSBC $10 million for rebranding.  

    While the above instance is hilarious, it can be avoided for your digital property. You can build your custom vocabulary with Taxonomy. It is a core module in Drupal 8 and gives your sites use of the organizational keywords known in other systems as categories, tags, or metadata. It allows you to connect, relate and classify your website’s content. In Drupal, these terms are gathered within "vocabularies".

    The Taxonomy module allows you to create, manage and apply those vocabularies. translation module allows translation of taxonomy vocabularies and terms. 

funny-translationExito in Spanish means success, not exit

A word of caution, translate only when the logic prevails. Use separate vocabularies, translated vs untranslated, for different languages to begin with.

Building Multilingual LMS for Estee Lauder

Estee Lauder is a global leader in prestige beauty — delighting its consumers with its transformative products and experiences. It takes pride in focusing solely on prestige makeup and beauty care with a diverse portfolio of 25+ brands distributed globally through eCommerce channels and retail outlets sold in 150 countries. 

We built an open-source, multilingual, decoupled learning platform where beauty advisors could consume a vast set of learning resources.

The Multilingual Challenge

To ensure an effective product training and delivering the information fast knowledge exchange needs to be user-friendly, structured, and in their own language. With more than -- languages, the LMS needed to provide complete translation of the entire system.

The lack of direct connection between the LMS user and the language demanded that each language be provided for different geography.  

Discover the La Mer Connection LEVELS CONTENT CHS La Mer Learning Experience

A video quiz in Japanese

learning level content La Mer Learning ExperienceA video quiz in English

When designing the solution, we created a relation between market and language, and this worked as a bridge between available language for user selection. With a language and market segmentation/ filter, we could now access information about user activity based on their preference. 

We also helped Estee Lauder reduce 30% cost in classroom training and provided them with solution to track ROI from the learning and training initiatives.

Other Drupal Modules You Can Use

  • SEO Checklist: It uses best practices to check your website for proper search engine optimization. It eliminates guesswork by creating a functional to-do list of modules and tasks that remain. 
  • Real-time for SEO: This module helps you optimize content around keywords in a fast, natural, non-spam way.
  • Taxonomy title: It update the heading tag at the top of the taxonomy term page
  • Menu Attributes: It allows you to specify some additional attributes for menu items such as id, name, class, style, and rel.
  • Search 404:  For pages that do not exist (404), it performs a search based on the keywords in the URL, and shows the relevant result instead of the 404 page. It also includes search engine keywords detections as well as regular expression based term filtering from the URL.
Best Multilingual Practices to Consider from Google 

  • Use different URLs for different language versions
  • Make sure the page language is obvious
  • Let the user switch the page language
  • Use language-specific URLs
  • Targeting site content to a specific country (geo-targeting)
  • Using locale-specific URLs (.in for India)

Conclusion

Multilingual SEO is one of the most complicated and ignored fragments of web marketing. The good news is that it’s easier than ever to provide broader language support. With their adroit skills, our experts save you from the stress and build the best and provide you with innovative multilingual services.

Contact us today, if you are looking to build or modernize your multilingual website without losing the SEO prowess. Drop a mail at [email protected].

May 28 2019
May 28

As a marketer, you want to make sure that the content you create stays with them. But chances of standing out in the crowd are meagre.

Why?

Because

  • there's a lot of content out there on the web
  • you might not know what your visitor is looking for, so you are showing standard content
  • those of your competitors who do know the visitor needs and preferences have already started working on personalization
After all, personalized content does 212% better (Hubspot) than standard. Why should anyone miss it? 

While the value of personalization is clear, the task can be overwhelming to get started with. If your digital property is on Drupal, you can begin with some of the content personalization modules to yield higher ROIs.

But you must know the challenges before conquering them.

The Challenges with Content Personalization

Personalized messaging not only yields higher ROI but gets you more loyal customers. 45% of online users are more likely to shop on a website that shows personalized suggestions.

 

According to a 2017 research lack of resources (42 percent) and research data (23 percent) remain top challenges for marketers in implementing personalization.

Developing Content 

Content is the only component that's hyper-relevant to the concept. Catering a tailored experience means dynamic and coordinate messaging across multiple digital channels. The content cannot be isolated.

Having the right content strategy in place is crucial.  

Adding personalization to the mix, you’re dealing with the need for individualized content that fuels and satiates the psychological wants for different segments and personas.

personalization-srijan

In order to recommend that ebook on DevOps Consulting to a CTO, you need to have the basic content around.  

Gathering the Right Data  

While marketers realize that a data audit is important to understand the users, what remains a challenge is which data to refer to. For an effective implementation various pieces of customer data need to be brought together to assemble a complete view of the customer.

With a larger 'data lake' at work, identifying a single source of customer truth gets tougher.   

A Hubspot research found that targeted and personalized CTAs had a 42% higher view-to-submission rate than the ones that were the same for every user.


Well, it all can start off small with modules.

Content Personalization With Drupal

A big part of improving user experience comes down to validating the content on your website. Drupal already gives us structured content. Further, there is no restriction on which marketing tools you apply as the Drupal managed content can be turned into standardized data sharing formats with its API-first approach.

  1. Taxonomy: Taxonomy is the practice of classifying content. It is beneficial as it helps define the vocabulary for everything from menu and navigation schemes to view and display options.

    In Drupal 8, it is a core module which allows you to connect, relate and classify your website’s content. Taxonomy is important for personalization as it helps build associations between your personas and the personalized content you’ve created.

    It enable native or third-party personalization tools to identify and pick the right content to showcase to the right user. 

    This is most effective for making intelligent content recommendations content to the visitor. The vocabulary ensures your targeted persona is seeing all the content that's contextually relevant to their historical behaviour on your site.

  2. Smart Content Module: Moving a step beyond taxonomy, you would want to display targeted content that speaks directly to your prospect, to tip the conversion scales. The Smart Content module, can integrate with any data source to help you deliver segmented content based on industry, buyer stage, location or other crucial segments.

    Drupal_SmartContent_srijan
    The module is most effective in conjunction with Smart Content Blocks and Smart Content Segments.

    1. Smart Content Blocks allow you to insert a Smart Block on any page in order to hide/show/swap content within that block, based on the conditions set. They can be added anywhere that traditional content blocks can be placed.
    2. Smart Content Segments allow you to create, save and manage sets of conditions, called segments. Smart Blocks can use any segment(s) to display the corresponding content. For example, conditionally displaying a Smart Block if it's the user’s first time on the site or conditionally displaying a Smart Block to a mobile user.
  3. Acquia Lift: Providing a suite of tools for content personalization, Acquia Lift helps you create contextual digital experiences. It merges content and customer data into one tool, empowering organizations to deliver the most cohesive and personalized experiences across multiple channels and devices.

    Among its other features, Acquia Lift includes content syndication giving organizations the ability to use content from anywhere to personalize across any digital platform, including Drupal and non-Drupal sites.

    Image result for Acquia Lift logoIt 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.

    With the ability to target audiences in real-time, marketers can scale their web personalization efforts in order to drive conversions and bottom-line results.

    This gives digital marketers more control over automation, testing and measurement of marketing activities.

Wrapping Up 

At the enterprise level, Drupal has personalization tools and features built right in. So you can show the most relevant message to each of your visitors.

And while setting up personalization can look daunting, Srijan is always at your service to realize your digital business goals. Our work with one leading US media conglomerate and Estee Lauder is a testimony of our customer service and expertise in Drupal. 

Looking to enhance your customer experience and drive more conversions? Speak to our team of experts to explore how to get started. 

May 22 2019
May 22

There's this millennial phrase "You snooze, you lose" and nowhere is it more applicable than for enterprises today. Opportunities to engage with your audience pop up fast and disappear faster, and you have to act quickly if you wish to leverage any of it. 

You want to build rich online experiences and that's great. But how fast is your team in getting from ideation to roll out? Usually your marketing and digital experience team is brimming with ideas, but the development team is too backed up to work on any of it.

Enter Layout Builder.

Layout Builder is a module in Drupal 8 that became stable with its newest release, Drupal 8.7. It essentially allows content editors and other non-technical stakeholders to design and build custom pages, without waiting for the development team.

Now, all you need to do is download Drupal 8.7 and follow a set of few simple steps and your design is ready.

But was it always as easy as it's now? Let’s take a look at what Drupal offered before.

How It All Started

The Drupal 6 users configured the design by selecting/deselecting the items from the dropdown menu to include/exclude in the website design.

 drupal6-cck-display-fields-srijan-1

 After upgrading to Drupal 7, users managed the fields appearing on the UI in a similar fashion.

drupal7-image-display

With Drupal 8, things remained more or less the same, where developers were the sole owners of the website design.

drupal8-image-display-srijan-technologies

Until Drupal 8.6, the developers could choose templates and include them on the website.

powerful-customization-in-tempaltes-srijan-technologies

Developers could manage how the blocks appeared on the page by selecting the position from the drop-down menus, or, by selecting the options.

block-description-srijan-technologies-1

Developers often used “Panels”, which offered much of the same functionality as Layout Builder. However, in spite of their intuitive GUI and WYSIWYG editor, panels failed when it came to translations.

panels-srijan-technologies

What Went Wrong?

Here’s why the Panels was not a viable solution for long:

  • Difficult to learn
  • No provision to “Preview” the page
  • Could not custom design as per the requirement

Layout Builder - What and Why

As the name implies, the Layout Builder tool enables editors to have an easy-to-use page building experience. So, it’s more convenient if the editor tweaks the design and analyse the suitability of an image with the content, just by dragging and dropping the content.

The tool empowers content authors by leveraging them with the capabilities to:

  • easily adjust the design and format of a page by using drag-and-drop and WYSIWYG tools
  • make changes to the layout without involving developers every time
  • visually create a layout template that will be used for each item of the same content type
  • customize templated layouts on a case per case basis
  • create dynamic one-off custom pages which don’t come under any template like About Us page

For smaller sites where there may not be many pages or content authors, the unrestricted creative freedom seems to be compelling. However, on larger sites, when you have hundreds of pages or dozens of content creators, a templated approach is preferred.

layout builder infographic

Why Else Choose Layout Builder?

Simple Page Management

Layout Builder gives the content editors the capability to create a layout by inserting new blocks from the pop-out sidebar and rearranging them wherever they are needed. They can preview the entire layout instantly, allowing them to insert, replace or delete blocks, images, text and buttons. They can use ‘Content Preview’ checkbox to show small textual representations of the block instead.

Accessibility

With increasing collaboration, there’s a need to ensure that no one is excluded from enjoying the online experience with ease. Layout Builder conforms with the Drupal’s commitment to web accessibility. helps you use keyboard or screen reader to navigate - to conform to the Web Content Accessibility Guidelines recommended by World Wide Web Consortium. Considering the specific accessibility requirements, the drag-and-drop editor was designed to make it accessible for everyone to enable moving blocks, creating new sections and adding/moving content to the blocks.

Workflows

The Layout Builder supports essential activities such as adding, saving, previewing and publishing data. You can send layouts through a staging or approval workflow and then publish it right from the same interface after the team reviews a saved piece.

Templates

The Layout Builder also includes a templating feature, useful for sites with large quantities of content. Using the Layout Template, editors can edit collections of pages all at once and rearrange the structure while retaining the unique content. The ability to restructure multiple pages at once saves a huge amount of time when one block needs to be changed across multiple locations.

How to Work with Layout Builder?

Install the Devel module and enable both the Devel and Devel Generate parts of the plugin.
Click Install.

devel-srijan-technologies

 Source: OSTraining

  • Click Configuration > Generate content in order to generate content for an article. Click Generate.

content-type-srijan-technologies

Source: OSTraining

  • Click Content and you’ll see the generated article.

Configure the Layout of the Article Content Type
Go to Manage > Article and then select the checkbox “Use Layout Builder”. Click “Save”.

configure-the-layout-article-type-srijan-technologies

 

Upgrade to Drupal 8.7 without a doubt!

The newly stable Layout Builder is unique in a way that it supports templated layouts for hundreds of pieces of structured content as well as in designing custom one-off pages with unstructured content. Catch up with the latest upgrade and let your clients make the most of Layout Builder’s features. 

While your editors and authors get empowered to create rich experiences, there are other aspects of your Drupal implementation that could be optimized or transformed with an expert team. Srijan is working with leading global enterprises, leveraging Drupal, data science and analytics, AI, machine learning, and chatbots to create tailor-made business solutions. Let's start the conversation and explore how Srijan can help. 

May 21 2019
May 21

To keep up with consumer demand, businesses need to tactically rethink and reform the way they produce and manage content. 

What you need is a way to stand out in the consistent content chaos. To make that happen, you need a strategy that can help:

  • push out content intuitively
  • transform disorganized assets into a comprehensive manner
  • manage real-time collaboration effectively

And that’s where the role of a CMS is important.

Here’s a comprehensive guide to building the right content strategy with Drupal, focusing primarily on the technological aspect, which will help you build and establish the right notes with your audience.

You Need to Have a Content Strategy. But Why?

With an increase in the number of content dissemination channels, it is easy to lose consistency and easier to lose track of the larger goal.

“Pushing out content without being focused on the goal, its relevance, distribution, or the target audience is a waste of time and money – even if your content is amazing!”

The 2018 Demand Gen Report revealed that buyers are becoming more discerning and selective in the content they decide to consume. 88% agree that content producers need to focus less on product specifics and more on the value that can be brought to their business.

Infographic with three hexagons and text on it on a blue background

These key findings from the audience can be harnessed only with a well-designed content strategy. Which means by doing as little as creating a persona you get ahead of 58% of your competition (2018, CMI Report).

According to the same study, a whopping 97% of top performing B2B marketers have a content marketing strategy, while 32% of (overall) B2B marketers do not have a documented plan. In most cases, this means that they really have no clue what they’re doing.

Some of the benefits of a digital content strategy are:

  • Aligns your team with the organization’s mission/goals
  • Helps you figure out which types of content to develop and which will work
  • Keeps your team focused on priorities
  • Helps you allocate resources for better results
  • Clarifies your target audience/s

Building Content Strategy With Drupal

Traditionally, the content strategy involves planning, creation, and governance of content. However, with an explosion of channels and proliferation of new devices, content strategy can not be limited to just website content.

One of the challenges is to remain engaging yet relevant on different channels.

This can be solved by bringing uniformity and consistency across the various touch points from which a user can access information and engage with the content.

“The goal of the content strategy must be to strategically fit the reader into the marketing funnel”

Drupal’s dynamic features at the core make it a perfect fit to cater to the needs of creating great digital experiences. Here’s how:

Unifying the Content Strategy Across Channels with Drupal

Content Governance

Often neglected, content governance is a detailed framework of content delivery and management which ensures consistent brand storytelling across all media.

Implementing a content governance framework requires different users (from the same or different teams) to collaborate with a distinct workflow and audit trail effectively. In the face of exponential growth in the variety and volume of content,  Drupal helps manage, organize, and secure the content with Workflow and Staging. 

Since editing the content on live site can also result in accidental publishing, Drupal’s Workflow module provides a separate staging environment . Drupal has an easy staging and preview of content in different environments anchoring full content staging capabilities.

You can define multiple workspaces such as "staging" and "live" which are copies of your site, to create content (or modify) and the changes are visible only within that workspace. Once the changes have been verified, you can "deploy" the content to another workspace.

User, roles, and permission: Security is important and that is why not every user can have permission to access the system of the website. Drupal offers a number of security modules which help manage and secure backend access. 

With User Access Control, site administrators on Drupal can work to provide unique user experiences and different access rights to writers, editors, marketers, and site visitors.

The Workflow module helps in creating arbitrary workflows and assigning them to entities. That's  important from a security perspective too. Workflow with the states like Draft, Review and Published can be assigned to Story node type.

Thus, only the users with ‘Editor’ permissions can set stories to the published state.

Some of the other Drupal modules which can be used are:

  • Workbench Access module: helps in creating editorial access control. Admin can grant access to the users and their content which can be found at My Workbench on Homepage. It harnesses content-focused features in one unified user interface.
  • Domain Access module: allows you to share users, content, and configurations across a group of sites.

Enterprise-wide password control systems

Password security is even more crucial and needs the right kind of strategic perspective with strong policies.Default password management could be considered good, but of course, it can be improved. Here’re some of the Drupal security modules that can be used to provide additional controls for password management:

  1. Password Strength: provides realistic password strength measurement and server-side enforcement for Drupal sites using pattern-matching and entropy calculation.
  2. Password Policy: provides a way to enforce constraints which must be met before a user password change will be accepted.
  3. Restrict Password Change: Adds a new permission 'change other users password'. When the user_profile_form is loaded it checks to see if the current user has the proper permission or if they are editing their own account, otherwise, it removes the password change option.
  4. Login Security: Login Security module improves the security options in the login operation of a Drupal site. By default, Drupal introduces only basic access control denying IP access to the full content of the site.
  5. Shibboleth Authentication: Provides user authentication as well as some authorisation features.
  6. Flood Control: Add an administration interface for hidden flood control variables in Drupal 7, like the login attempt limiters and future hidden variables.
  7. Secure Login: Ensures that the user login and other forms are submitted securely via HTTPS, thus preventing passwords and other private user data from being transmitted in the clear.

Digital Asset Management System: An important part of the governance is business workflow and common identity, which is significant for the smooth functioning of marketing. The CMS needs to provide the ability as a solid repository while also able to modify uploaded digital assets.

It should give editors the ability to make iterative changes to assets to enable promotion of products and brand across channels and devices. Digital Asset Management (DAM) smartly strategizes the way enterprises handle their digital assets.

The Acquia DAM Connector can sync your digital assets with your Drupal website, allowing editors to seamlessly use content from within all the websites you maintain. In order to ensure that the site is using the latest version of an asset stored, it periodically syncs assets from Acquia DAM via a cron job.

It also empowers editors to select Acquia DAM assets directly through a media field or through the WYSIWYG integration. Further, it enables the user to view asset metadata directly in the entity browser without importing the asset and provides a usage report of assets within Drupal.

“In the digital landscape, the creation of digital assets in large numbers is almost inevitable.”

Backup: Writing content is an intensive exercise. And so you need to have a backup to save yourself in case the website system crashes or is hacked.

Backup and Migrate: Back up and restore your Drupal MySQL database, code, and files or migrate a site between environments. Backup and Migrate supports gzip, bzip and zip compression as well as automatic scheduled backups.

Content Modelling with Drupal

Before you start building the site it is important to consider your content as a whole and work out a model that will guide you and the user to smoothly navigate through the website.

It entails detailed definitions of each content type’s elements and their relationships to each other. It also helps to identify the organization’s requirements, develop relevant taxonomy that meets those requirements, and consider where the content blocks and fields should be allowed or required. 

Content modelling is a critical starting point for website content.

Drupal is an incredible CMS for building a content-rich website. Built on its entity system and the variety of field types, Drupal can support a wide range of content models.

At core, it is built on View which can help sort out the default taxonomy/term view however you want. Let’s you want a way to display a block with the X most recent posts of some particular type.

It can be used for anything that handles the display of views, and the core Views UI module permits you to create and edit them in the administrative interface. When you define views, you are interested in taking data from your website and displaying it to the user.

Breaking content types into fields, it allows you to build structured content as well.

Modules like Paragraphs and Stacks let you build rich and dynamic content.

Layout Builder, a stabilized module, in Drupal 8.7, empowers you to build layouts with ready-to-use multi-column layouts and Drupal blocks without the intervention of a developer.

It is unique since it can support multiple and different use cases from templated layouts applied to dozens of pieces of structured content, to designing custom one-off pages with unstructured content.

Here’s how it can be used in three different use cases:

  1. Layouts for templated content: The creation of ‘layout templates’ can be used for a specific content type. Example, blog posts.
  2. Customizations to templated layouts: Can customize the layout templates on a case-by-case basis. Example, to override the layout of a standardized product page.
  3. Custom pages: The creation of custom landing pages which are not in sync to any particular content type or structured content. Example, a single ‘About us’ page.

The Layout Builder is more powerful when used with Drupal's other out-of-the-box features such as revisioning, content moderation, and translations.

Omnichannel Content Strategy with Drupal

Users are always at the centre. Therefore, the content strategy needs to be as dynamic as your user experiences across different channels, if it is to succeed. Omnichannel content strategy is a way to unify the experience across all the channels and touchpoints.

Irrespective of how and where the content/ products are being first consumed at, complete consistency and unified experience is expected.

API First Publishing with Drupal

Drupal 8 is API-first which means, it can power ambitious applications of all kinds, from behind-the-scenes systems written in languages like Python, Java or Go to rendered experiences using the latest frontend frameworks, like React, Vue and Ember.

Content touchpoints are proliferating at a fast clip. You now have conversational UI, digital signage, medical and healthcare devices, and it lets you integrate with other systems, use your content anywhere, display it as you please. API-First Drupal is well positioned for entire digital ecosystems.

[embedded content]

The JSON:API module, which is also now in core with Drupal 8.7, is meant for creating high-performance APIs to expose Drupal data in JSON. It works by creating API endpoints and requires no configuration and the module instantly accesses all Drupal entities.

It not only provides a great authoring experience but also a powerful, standards-compliant, web service API to pull that content into JavaScript applications, digital kiosks, chatbots, voice assistants and more.

This makes it easier for Drupal’s core ecosystem, of web services responsible for third-party content and application, to integrate.

Mobile-first and Out of the Box Responsive

Accessibility via any device needs to be useable too. Drupal 8 has been designed with a mobile-first strategy. The responsive design ensures that content and layout are scaled based on the viewport size available.

With  Breakpoint and Responsive Image, out-of-the-box Drupal 8 ships with two modules that ensure mobile-first behaviour .

Responsive content needs to be modular and readable so readers can easily consume it.

Drupal for mobile lets you easily define different pieces of content for different devices. Each field in the backend can be uniquely styled and prioritized according to its content type.

Personalization with Drupal

No matter how good your content is, no one will bother to read it if it doesn’t talk to them, in their own language. Every content piece needs to communicate with your audience and increase the relevance of product proposition, by addressing their unique fears, needs and desires.

This orchestrates customer experience and drive engagement.

Personalization brings familiarity, which brings strength to customer loyalty to your brand, helps track demographics and behavioural patterns and convert an anonymous user into a potential customer.

Acquia Lift solves the challenges for digital teams, by bringing together content and user profile data from any source to personalize the customer journey in ways not previously possible. More than a headline swap or banner choice, Lift presents wholly targeted experiences based on broadly observed visitor behaviors as well as specific user preferences and interactions in real time with the very first engagement across any device or channel.

“And 81% of B2B Marketers (2018, CMI Report) believe that building a content strategy makes it easier to determine which types of content to develop.”

Drupal in Other Marketing Technology

New technologies like artificial intelligence (AI), machine learning, Augmented Reality (AR), Virtual Reality (VR) among others are reshaping how users consume content. It’s a big opportunity for companies to produce and recycle the same content through different channels and mediums. All the while keeping people engaged.

Virtual Reality

Immersive experiences created by virtual reality is the “Next Big Thing” happening. Virtual reality has seen a surge lately, with constantly emerging in Gartner Hype Cycle. While it is rapidly approaching a much more mature stage, in the enterprise sector, virtual reality has already lots of scenarios where it gets employed with success.

For instance, educational purposes. VR can enable a lot of more experiences that in reality are not possible or too dangerous.

Here’s a demo video of a high school student, Jordan who explores Massachusetts State University (a fictional university, built on Drupal) from the comfort of his couch. Jordan is able to take a virtual tour directly from the university's website.

[embedded content]

 
Augmented Reality

Another part of the futuristic technology, AR can be used to superimpose useful information in a shopping experience.

[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.

Wrapping Up

Often, it can be a virtual nightmare for content producers and marketers trying to find the right piece at the right time. Even so, if the content is all in one place, time-consuming complicated systems can mess up really bad.

Drupal 8 provides a perfect foundation for the incorporation of technologies to enable a smart strategy for your brand, content, and digital marketing needs. Your organization might be at infancy or already up with your content strategy, you can always reach out to our experts who can help you deliver quality results with personalized experiences.

May 19 2019
May 19

While upgrading to the latest version is always part of the best practice, the process can be staggering.

Drupal 8.7 is already here and 9 will be released in a year, in June 2020.

Although a lot of discussion is happening around the upgrade and possibilities it brings along, the final product can only be as good as the process itself.

The good and important news is that moving from Drupal 8 to Drupal 9 should be really easy — radically easier than migrating from Drupal 7 to Drupal 8.

As a site owner, here’s what you need to know about the new release and what to take care of to make the process easier without many glitches.

The Drupal 9 Release and Timeline

The goal of Drupal 9 is to make it an easy upgrade as much as feasible from Drupal 8. Unlike most of the previous upgrades, D9 will be different in terms of:

  • Updates of dependencies to versions that stay supported.
  • Removal of our own code that we deprecated with removal before Drupal 9's release.

The new release will be a cleaned-up version of Drupal 8. Built on the same code base with deprecated code removed and third-party dependencies updated, Drupal 9 is not a reinvention of Drupal.

a horizontol table with Drupal versions

The next question is what happens to Drupal 7 and 8, then?

One of the major dependencies of Drupal 8 is on Symfony 3. Since Symfony 3 enters the end of life in November 2021, Drupal 8 support will be lifted around the same time. A long-term-support (LTS) minor release of Drupal 8 will be released alongside Drupal 9 and supported until November 2021.

No new features will be added to Drupal 8 and no new minor releases will be made available of Drupal 8. It will only receive patch releases after which.

Drupal 7 will also stop receiving community support after November 2021.

Data migration features in Drupal core to move from Drupal 7 to Drupal 9 will be active until then since they are required for a stable migration. 

The Upgrade and The Tips

The only caveat is that you need to manage is the "deprecated code". Here’s what you need to take note of, for an easiest upgrade experience to Drupal 9:

Text on left with a blue table in centre and left

  1. Keep Core Up-to-Date: As mentioned above, Drupal 9 is Drupal 8.9 - deprecated parts plus dependencies updated.

    If your site doesn't use deprecated code that is scheduled for removal in Drupal 9, your upgrade to Drupal 9 will be easy. In fact, it should be as easy as a minor version upgrade (like upgrading from Drupal 8.6 to Drupal 8.7).

  2. Keep Modules Up-to-Date: Although Drupal 9 will not have new features (other than those provided by updated dependencies). While most modules will improve Drupal 9 compatibility, to ensure you don’t lose them in the upgrade, keep them updated.

    The key benefit of Drupal 9 over previous versions is that the platform will be supported with security fixes much later after support is lifted from 8. For contributed modules, the pace of Drupal 9 updates will depend on the module maintainers.

  3. Check Custom Codes for Deprecation: In case of any custom code on the site, you can use the deprecation checking and correction tools and fix issues locally. Tools you can use to check code depreciation:
    1. Drupal Check (read more her about PHP version compatibility check
    2. Rector (Read more about Rector here)

      Further, you can also use an IDE or code editor that understands deprecations (@deprecated annotations particularly) or Drupal 8’s branch of Upgrade Status for full site reporting.

What is Deprecated Code?

Deprecated code is referred to as the functions and API’s which are being replaced with new and better versions. In the journey from Drupal 8 from Drupal 9, you will experience API changes, with the new implementation is already present in core along with older one. We have to replace older code/API usage with the new.

Here is an example of the deprecated function:

* @deprecated in Drupal 8.5.0 and will be removed before Drupal 9.0.0. * Use \Drupal\Core\Messenger\MessengerInterface::addMessage() instead. */ function drupal_set_message($message = NULL, $type = 'status', $repeat = FALSE) { @trigger_error('drupal_set_message() is deprecated in Drupal 8.5.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Messenger\MessengerInterface::addMessage() instead. See https://www.drupal.org/node/2774931', E_USER_DEPRECATED); $messenger = \Drupal::messenger(); if (isset($message)) { $messenger->addMessage($message, $type, $repeat); } return $messenger->all(); }

In above example the function drupal_set_message is deprecated and has to be replaced with:

\Drupal\Core\Messenger\MessengerInterface::addMessage()

Ways to Find and Fix Deprecated Code in your Drupal Project

As mentioned above , you can find and fix your deprecated code in the following ways:

  1. Drupal Check: It's a library developed by Matt Glaman. Check the git code here. For installation and usage, you can refer to the readme. 
    In case you want to install using Composer, prepare using composer global require mglaman/drupal-check. You can also read more about the composer check
    1. Get into your project/Drupal root directory
    2. Choose the module you want to check for deprecations
    3. Run drupal-check --help for help items. Here, I am using watchdog_prune module for demonstration.
      run : drupal-check -d watchdog_prune
      The output will be something similar to the image shared below:

      deprecated-code-1-srijan

    4. You will, now, have the report of deprecated code to fix.
    5. Let say it is giving us File src/Form/WatchdogPruneSettings.php containing issue : Call to deprecated function drupal_set_message(). In this case just navigate to the body of function as in this case drupal_set_message()

      You will notice that the the documentation under red box reads that the function is deprecated and what we need to do instead
       
       

      Now replace the current code with the recommendation and you are done.

  2. Drupal Upgrade Status Module: This module checks the list of projects you have installed and shows their availability for newer versions of Drupal core.
    1. Use the Upgrade Status module form
    2. Download and install module using composer: composer require drupal/upgrade_status
    3. Install the module and navigate to URL using admin user: /admin/reports/upgrade
    4. You can run a complete project/ individual module scan
    5. Fix the deprecated code in the same way as mentioned above.

Wrapping Up

Because Drupal 9 is an extended version of Drupal 8, for site owners, this means that it should be much easier to upgrade. But keeping custom codes and module updated needs to be meticulously planned.

Have questions around Drupal 9 upgrade and how it might impact your site? Experts at Srijan are all ears, connect with us to chalk out the right course to Drupal 9.

May 16 2019
May 16

“..an inclusive community, we are committed to making sure that Drupal is an accessible tool for building websites that can also be accessed by people with disabilities.”

Calling accessibility as one of Drupal's core values and principles, the Drupal community has always stood to comply with web accessibility standards. Although with an absence of hard and fast rules to adhere to, the community has faced backlash in recent times.

First, with adopting Gutenberg (editor) and second with the release of Layout Builder, there have been some important questions and concerns about accessibility in the community.

This Global Accessibility Awareness Day, an awareness day to focus on digital access and inclusion for the more than one billion people with disabilities and impairments, let's take a look at how close is Drupal to its commitment towards web accessibility.

The Accessibility Controversy

a black and white design with G written in centreIn 2018, with WordPress 5.0 prepared to be released, the Gutenberg editor, a decoupled React based editing experience, was out for testing. Among other concerns like inconsistent user interface behaviour, difficulties with keyboard navigation through blocks ( far too heavily reliant on hover-based functionality), complexity to use it, the assessors were quick to call it inaccessible.

Drupal’s adoption of Gutenberg, got it in the fallout.

In another instance, when Drupal 8.5 released Layout Builder, the lack of accessibility in the feature brought the community into the topic of debate - how strongly does Drupal commit to accessibility?

How Does Drupal Ensure Web Accessibility?

Accessibility is about promoting inclusion than benefitting a small set of people with disabilities. It is about ensuring equal and inclusive access to the web resources, for the widest possible audience, without any bias.

And this has been reiterated in the Web Content Accessibility Guidelines (WCAG), that explains how web content can be made more accessible to people.

Drupal, in its Values and Principles, effectively lays down their commitment towards creating software which conforms to the accessibility guidelines. It conforms to the World Wide Web Consortium (W3C) guidelines which address:

  • Authoring tools, as part of the Authoring Tool Accessibility Guidelines (ATAG 2.0)
  • Web content, as part of the Web Content Accessibility Guidelines (WCAG 2.0)

As a result, it can be used both by developers as well as the site visitors.

Drupal has its own accessibility team, which helps identify the barriers occurring at the code level and the awareness level, and also resolves them. A number of such issues in the core have been identified and resolved, while also creating awareness within the community.

Some of these improvements included: Search engine form and presentation, drag and drop, color contrast, image handling, form labelling and so on.

Accessibility for developers is another added feature in Drupal, and through D7AX, it is an easy job to find contributed modules and themes which also support the development of accessible websites.

Let’s take a deeper dive into the key modules and features of Drupal that help overcome web compatibility issues, and ensure easier web accessibility:

Key Modules

Automatic Alt text It automatically generates an alternative text for images when no alt text has been provided by the user.  Block ARIA Landmark Roles  It adds additional elements to the block configuration forms that allow users to assign an ARIA landmark role to a block.  CKEditor Abbreviation  It adds a button to CKEditor which helps in inserting and editing abbreviations in a given text.  CKEditor Accessibility Checker  It enables the Accessibility Checker plugin in your WYSIWYG editor, which then helps inspect the content accessibility level; and solve them.  High Contrast  It allows the user to quickly switch between the active theme and a high contrast version of it.  htmLawed  It utilizes the htmLawed PHP library to limit and filter HTML for consistency with site administrator policy and standards and for security.  Style Switcher  Themers can provide a theme with alternate stylesheets. Allowing special styling for 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.  Text Resize  It provides the end-users with a block for changing the font size of text on your Drupal site.  Accessibility  It gives a list of available Accessibility tests, aligned to guidelines like WCAG 2.0 or Section 508.


Key Features:

  1. Semantics in the Core

Drupal has been built to encourage and support the proper use of semantic markup. Thus composing semantically correct HTML informs the browser and the assistive technology about the type of content it is managing with, and how this relates to other content.

This helps the assistive technologies carry out its activity effortlessly since they now have a structure to work with.

 2. Aural Alerts

Drupal provides a method called “Drupal.announce()” which helps make page updates obvious, in a non-visual manner. This method creates an aria-live element on the page.

 3. Controlled Tab Order

Drupal’s TabbingManager is an awesome medium to direct both non-visual and non-mouse users on the page, to access the prime elements in a logical order. And thus permits more control while exploring complex UIs.

 4. Accessible Inline Form Errors

Drupal forms are now more open to the expansion of available inline form errors. So now, it is easier for everyone to identify what errors made while filling in a web form.

 5. Fieldsets

Fieldset labels are utilized as systems for gathering related segments of forms. When effectively implemented, these labels give visual diagrams around the shape field gathering.

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

What was the Outcome of the Controversy?

As always, the community has stood by accessibility as one of the core tenets. In a blog, Drupal's commitment to accessibility, Dries Buytaert - Drupal Founder - writes on the issue and how seriously the community takes the commitment to accessibility.

With that said, he announced that the Layout Builder functionality would be in a "stable" state for production use after ensuring that it passes the accessibility gate (Level AA conformance with WCAG and ATAG). This holds for both the authoring tool itself, as well as the markup that it generates.

With accessibility maintaining team, it has been jointly agreed that:

  • The first priority is WCAG 2.0 AA conformance. This means that in order to be released as a stable system, the Layout Builder must reach Level AA conformance with WCAG. Without WCAG 2.0 AA conformance, a stable version of Layout Builder won’t be released. This happened with a stable release of Layout Builder in 8.7.
  • The next priority is WCAG 2.1 AA conformance. Because these guidelines are still new (formally approved in June 2018), the stable version of Layout Builder won’t be held on them but are committed to implementing them as quickly as possible, even if some of the items are after the initial release.
  • While WCAG AAA conformance is not something currently being pursued, there are aspects of AAA that we are discussing adopting in the future. For example, the new 2.1 AAA "Animations from Interactions", which can be framed as an achievable design constraint: anywhere an animation is used, it will be ensured that the designs are understandable/operable for those who cannot or choose not to use animations.

The commitment to this ideal, by the leadership at Drupal and by the larger community, has remained steadfast despite challenges. The announcement and commitment to conform to AA level has reinstated the faith in the community towards its values.  

Ready to build digital experiences that are truly great for your customers - frictionless, accessible, and inclusive? Drop us a line, and our Drupal experts will be in touch.

May 15 2019
May 15

Enterprises aiming to create interactive, and omnichannel user experiences through their website, often rely on Drupal’s decoupled architecture. It provides them the flexibility to innovate, gives limitless options on what they can create, and empowers them with the ability to power multiple-sites and applications.

But is going fully decoupled the only way? What if your enterprise could have the best of both worlds? Say, progressively decoupled? How is it different? And what is the right choice for your business?

Here’s taking a look at both these approaches, suggesting what is best, and when.

From Coupled to Fully Decoupled

Traditionally, in its coupled architecture form, Drupal functions as a monolithic system with complete control over its technological stack. It owns the back end (data layers) as well as the front end (presentation layer) of your system. This makes it largely suitable for standalone sites and applications with mostly static content. Especially if the project requirements reflect purely editorial needs like:
  • Manipulating page content and layout without a developer
  • Requirement of in-context tools like in-place editing, contextual links, toolbar
  • Previewing unpublished content without custom development
  • Having content accessible by default like in Drupal’s HTML
On the other hand, decoupled Drupal is the full separation of concerns between the presentation layer, and the back end of your website. The CMS functions as a data provider, and front end uses APIs to cater to the needs of other experiences. As a result of this separation, each half of the website can do what it does best:
  • the backend focusing on business logic and retrieval of data, and
  • the frontend focusing on presentation of content
Decoupled Drupal is largely suitable for websites that need a flexible architecture, and enables front end developers to fully control an application or site's rendered markup and user experience. It is an excellent choice if the project requirements reflect purely developer needs like:
  • Control over visual presentation instead of editors
  • Server-side rendering or Node.js build features
  • JSON from APIs and to write JavaScript for the front end
  • Data security driven by a publicly inaccessible CMS
But deploying it would lead to the loss of inbuilt critical functionalities provided for free by the coupled CMS, such as:
  • layout and display management
  • content previews, user interface localization, form display, accessibility, authentication
  • crucial security features such as XSS and CSRF protection
While some of them may need to be rewritten from scratch, others can’t be implemented at all.

So then what would you do? Give up on these critical functionalities? Or stick with the monolithic architecture? It depends entirely on what your project requirements are. And supposing your requirements are a mix of both, Drupal has a solution for you too.


Progressively Decoupled Drupal Architecture

progressively decoupled drupal                                                                                                                                               Source

The best of both worlds, progressively decoupled simply blurs the line between the back end and front end, rather than fully decoupling the two. Doing so allows you to leverage Drupal’s rendering system, along with the simultaneous use of JavaScript frameworks like React and Angular, for providing interactive user experiences.


It strikes a balance between the editorial and developer needs, by

  • Allowing editors and site assemblers for contextualized interfaces, content workflow, site preview and other features to remain integrated with Drupal
  • Dedicating a portion of the page to a javascript framework, thus enabling front end developers to pursue their own velocity while keeping site assemblers blocked

Thus one can maintain client-side interactivity as well as create a potentially richer user experience with the use of this architecture.

Explaining this further with the help of an example,
Let’s say you have a music website for delivering music reviews, choosing either of the coupled or fully decoupled architectures will not get you the kind of UX and features you desire.

progressively decoupled drupal-1

But using progressive decoupled will. It will provide you the best features of both of these, rendering your website pages progressively. So that the skeleton of the page loads first, followed by expensive UX prone components like “currently playing” or “songs I listened to most in the last week”.

What Should You Choose

Now that you are familiar with both the decoupled approaches, which one should you go with?
It does not make sense to go with fully decoupled if your project also reflects editorial needs. Similarly, if your project requirements are purely of a developers’, progressively decoupled is not required.

Here’s a face-off between the two approaches to give a better clarity on which is the best choice for your business.

progressively decoupled drupal-2

No matter what your needs are, Drupal has a solution for you. At Srijan, we have expert Drupal teams to help enterprises assess their current architecture, and identify which decoupled approach is the way to go. Post assessment, we work to set up a complete decoupled Drupal architecture, based on your exact business requirements.

Get ready to deliver immersive online experiences across customer touchpoints. Let’s get the discussion started on implementing decoupled Drupal for your enterprise.

May 01 2019
May 01

Web development has moved forward from writing websites by developing codes to a place where people can assemble the websites. And that is where the Drupal community is focusing on to advance - building assembled web experiences.

Drupal 8.7 releases today, on 1 May. It is in sync with that same roadmap (building assembled websites) providing enhanced customization, stable features, better UI and what not?

Here’s a quick and comprehensive guide for you to track what’s new in version 8.7 and how it paves the way for Drupal 9.

Drupal 8.7 Features and Updates

This is a significant update. It brings with it a stable Layout builder and Media Library, JSON API at the core, tour integration, seamless working of Content Moderation and Workspaces together, and a continued stabilized migration path.

Drupal 8.7 update retains the relevance in the emerging world of web technologies and competition. Riding on its API capabilities, new changes are aimed to be user-friendly.

Here’s a look at the host of features it brings along.

  • JSON:API at Core

    The update brings with it JSON:API at the core, marking another milestone towards making Drupal API-first. API-first means using the flexibility of Drupal to integrate it with other systems and be able to use content anywhere, display as you please.

    Content creators can, now, create their content models without having to write a single line of code.



    JSON:API module for Drupal 8 in action

    The JSON:API module is meant for creating high-performance APIs to expose Drupal data in JSON. It works by creating API endpoints and requires no configuration and the module instantly accesses all Drupal entities.

    Developers and content creators, now, can create their content models without having to write a single line of code. It not only provides a great authoring experience but also a powerful, standards-compliant, web service API to pull that content into JavaScript applications, digital kiosks, chatbots, voice assistants and more.

    This makes it easier for Drupal’s core ecosystem, of web services responsible for third-party content and application, to integrate.

  • Stable Layout Builder

    Released in 8.6 as an experimental module, Layout Builder is stabilized in Drupal 8.7 update. The module allows you to build layouts with ready-to-use multi-column layouts and Drupal blocks without the intervention of a developer.

    It is unique since it can support multiple and different use cases from templated layouts applied to dozens of pieces of structured content, to designing custom one-off pages with unstructured content.

    [embedded content]


    Drupal Layout Builder in action

    Here’s how it can be used in three different use cases:

    • Layouts for templated content: The creation of ‘layout templates’ can be used for a specific content type. Example, blog posts.
    • Customizations to templated layouts: Can customize the layout templates on a case-by-case basis. Example, to override the layout of a standardized product page.
    • Custom pages: The creation of custom landing pages which are not in sync to any particular content type or structured content. Example, a single ‘About us’ page.

      The Layout Builder is more powerful when used with Drupal's other out-of-the-box features such as revisioning, content moderation, and translations.

  • Workflow

    The workflow module enables you to create arbitrary workflows in Drupal and associate them with entities.

    The support for more revisionable properties would allow the staging of both content and associated properties

    However, taxonomy terms were not revisionable.

    The main issue with non-revisionable terms is site-wide previews of not yet published content (nodes, media items, taxonomy terms, menu links, etc.), through the Workspaces module.

    Taxonomy terms are now revisionable using the new API. This comes as part of the Entity system that helps retrieve an entity for converting the schema of a content entity type from non-revisionable/ non-translatable to revisional/translatable.

    This works well with other pre-existing data for the entity type whose schema has been changed and comes handy with content revisioning. The support for more revisionable properties would allow the staging of both content and associated properties.

    EntityDefinitionUpdateManage is now deprecated with no replacement.

    At the moment core only supports sequential revisioning, parallel revisioning support will be added in 8.8.

  • Media Library

    Shipped as an experimental module in 8.6, Media library is now stabilized and good to use.

    It provides a visually appealing interface for browsing through all the media items in your site. With the new version, multimedia properties can be added to content either by selecting from existing media or by uploading new media through bulk upload support. Once uploaded, users can remove or reorder any images ready for import.

    [embedded content]


    Media Library in Drupal 8.7

    It provides an easy way to upload several media assets in your Drupal website quickly. Let’s you add alt-text, check the images before uploading.

    Powered by Views, it allows site builders to customize the display, sorting, and filtering options.

  • Configuration Management

    The configuration management system in Drupal 8 is quite decent and allows configuration to be synced between installations of the same site in different environments. Configuration Management is part of the Configuration Management 2.0 Initiative which aims to include core support for extended workflows.

    The current workflow presumes that the configuration will be exactly the same in different environments. Developers have to edit the configuration when it is not present.

    The idea behind CM 2.0 is to the use case of sharing reusable packages of configuration among multiple sites

    The major drawback which comes as an API for both the DX and API architecture is:

    It allows modifying the sync storage as it is manipulated but since it has no concept of intent, the developer has to know which methods are called in which order of both the import and export process to correctly interact with it.

    Configuration Management 2.0 in version 8.7 allows the altering and importing the configuration. The idea is to the use case of sharing reusable packages of configuration among multiple sites is on (at least!) a fully equal footing with that of staging configuration on a single site.

    This allows the site administrator to review and safely import available configuration updates from installed modules, themes, and the install profile without overriding customizations made on the site. With 8.7 it can add the ability to select and use an existing configuration directory or storage at install time.

    Configuration Transformer API as the fundamental cornerstone has been added to bulk update configuration. It makes it easier for configuration on dev to be different from production

    New/expanded configuration management UIs for the issues (mentioned above) added to par with a new-to-Drupal site maintainer persona in mind. Experimental module for allowing environment-specific configuration has been introduced in 8.7.
    D8.7 INFOGRAPHIC (1)

And Drupal 9 readiness...

In order to give people reasonable upgrade time from Drupal 8 to Drupal 9, Drupal 9 will be released no later than a year before Drupal 8 goes end of life, that is in 2020.

Also, Drupal 9.0 is skipped, as it's intended to be only deprecated code removals, no new capabilities.

Other Important Information

Some other important information to take note of, are:

  1. Removed support for PHP 5

    Drupal 8.7 would no longer support the obsolete versions of PHP. Version 5.5 reached the end of life in 2016 and 5.6 in December 2018 meaning it no longer receives bugfixes, even for very serious bugs that (might) impact Drupal development. Moving forward Drupal encourages to use PHP V.7 or above.

    Since Drupal 8's automated tests require the PHPUnit library, continued use of obsolete version can put security at risk.

  2. End of support for Internet Explorer 9

    Due to a limit of 31 style sheets per page, Drupal dropped support for Internet Explorer 9 and 10 in 8.4. Since Drupal 8.5 and 8.6 retained a workaround to allow 32 or more stylesheets, this workaround has been removed in 8.7.

    Sites dependent on Internet Explorer 9 support should enable CSS aggregation (preferred) or install the IE9 Compatibility contributed module.

  3. Better Symfony 4 and 5 compatibility

    Drupal 8.7 will provide better compatibility with both Symfony 5 and Symfony 4 for faster web development, since Symphony 3 enters the end of life in November 2021. This includes changes in the Container and Translator Interface Symfony components, as well as resolving critical compatibility issues.

    Additionally, numerous critical Symfony 4 and 5 compatibility issues are resolved in this release.

What to Expect from Drupal 8.8?

Here’s what you need to look forward to in Drupal 8.8.

  • The Welcome Tour
    Adding Tour content for those unfamiliar with Drupal. This would help to teach people Drupal with hands-on experience, explaining backend/frontend choices made to build Umami.
  • Composer Support in Core
    Involves making an official method for starting a Drupal site with the composer kickstart template.
  • Admin UI and Javascript Modernization
    The new admin theme is part of the Admin UI and JS modernization initiative and will be released with Drupal 8.8.

    The goal is to create and update the admin look, that defines a complete set of principles while also consisting of visual and behavioural components to combine into a user-friendly interface.

    This will be based mostly on Seven’s styles theme.
    drupal-theme-layout
    menu-theme-layout

    The navigation pages on the admin UI has been designed with an emphasis on readability, and reusability of existing styles from other components.

    language-theme-layout
    Mockup of the interface with text written using the Devanagari writing system

    This would come with various benefits, including improved performance and better support for various writing systems. Using system fonts will also make the UI feel more familiar to the user since it will be closer to the users' environment.

    Drupal 8.8 Feature Freezes: October 2019
    Drupal 8.8 Releases: December 2019

    With Drupal’s commitment to reinventing itself to enable ambitious digital experiences, the community is getting ready for the launch of Drupal 9, and current updates are well in sync with it.

    Have questions about Drupal 8 features or 9 and how it might impact you? Already chalking out an upgrade plan? Our team of Drupal experts and range of Drupal development services are ready to help.

    Drop us a line at [email protected], and get the conversation started.

    Srijan is Signature Supporting Partner to the Drupal Association. With 140+ seasoned Drupalers of which 56+ are Acquia Certified, Srijan has the largest team of Drupal experts in Asia. 

Apr 22 2019
Apr 22

On the evolution of web content approaches and technology perspectives

Change is in the air!

In more ways than one, our world is in the throes of change. We live in an era where politics and governance, economy and international relations as also business and technology are all careening through an edge-of-the-seat roller coaster ride, from one ‘cutting edge’ to another.

Ideas, values, systems, processes, frameworks - what held good yesterday is today up in the air. We see this in our lives - professional and personal. We seek the new constantly, be it a new Mar-Tech platform every few months for our businesses, or a new Soc-Med channel to post our holiday pictures on, discarding the one that was ‘trusted’ till yesterday.

Not surprisingly, this affects both organizations and individuals - the changes in our experience of institutional frameworks, business models, corporate ethics, interpersonal relationships, the way we shop, eat, dress, travel, even our experiences of climate change.

The bit about climate change brings me to my own experience within a year, at two successive DrupalCamp events.

The first weekend of March 2018 caught me in the middle of the ‘Beast from the East’ cold snap at City University, the traditional venue for DC London. Trudging from Angel tube station down a snow-laden Goswell Road to the venue, in the lowest temperatures I have ever experienced in London.

In contrast, London saw unseasonal, unusually warm weather during DrupalCamp 2019. The weather was almost tending to summer-hood, the very same week exactly a year on. The odd tree on Goswell Road, standing like a leafless sentinel in front of a corner townhouse, provided an isolated reminder that it was officially still winter.

Almost like climate change in reverse (is ‘Brexit in reverse’ possible? Let’s leave that topic for some other day)

Engaging People, Evolving Paradigms, Enlightening Perspectives

DrupalCamps are largely meant to be developer-centric affairs… but DC London goes the extra mile to make it relevant to the business-minded as well. The DC London CXO Day is especially geared to deliver topics of relevance to business owners, managers, and of course CXOs.

group of people looking ahead to the speaker and the presentation

This year’s CXO Day was no different, and it went on to address the challenge of ‘change’ enveloping all of us. Three very lively and insightful presentations caught my attention -

  1. Prof. Costas Andriopoulos’ (CASS Business School) talk on ‘Leadership and innovation in scaling enterprises’ - dwelt upon the challenges of size.
    • initial success breeds complacency and arrogance
    • an ageing leadership is unable to embrace technology shifts
    • bureaucracy and set structures tend to be risk-averse

      Creativity and innovation are the victims of this inability to change, in the face of change.

      The professor emphasized that change can be harnessed via ‘breakthrough innovation’ -

      • empower people to break rules - those at the fringes bring in outside perspective
      • enable ‘project labs’ - to foster innovation initiatives
      • encourage ambidexterity - simultaneously exploit current competencies and explore new domains
  2. Michel Van Velde (Director, One Shoe) - on ‘Radically Candid’, the modern psychology that leads to effective leadership.

    Michel drew from the concepts of Eric Berne’s Transactional Analysis, and Thomas Antony Harris’ book ‘I’m Ok, You’re Ok’ - to give a contemporary and germane take on modern technology to effectively lead and bring about change - Radically Candid.

    He explained beautifully how the Drama Triangle traps us into responding in set ways to situations. This, in turn, prompts others to be unyielding in their stance, and the interaction hits a cul-de-sac.

    The conflicting parties are trapped in the rigidity of their responses, rendering any resolution impossible.

    Recognizing we are trapped in the Drama Triangle opens up our minds to deviating from our set position, enabling others to react differently, and Change becomes possible.

  3. Melissa Van Der Hecht (CTO, Mulesoft) - ‘We all have Superpowers’ gave a hugely engaging talk on why we need to be more open about diversity in technology.

    She shared insights on how we tend to think of ‘diversity’ in very uni-dimensional ways - gender for example - but it actually covers several aspects. Age, background, education, experience, race, nationality, disability are all elements of diversity - but it's what makes one stand out ahead that counts.

    Melissa illustrated how diversity is a key driver to innovation and change - and cited studies and statistics to show -

    • companies with more diverse teams report ~19% higher revenues
    • why diversity - better culture, higher performance, better customer engagement
    • coaching employees to harness their strengths encourages inclusion 

Content - Context less and channel-agnostic

Some very interesting and instructive developer sessions over the next two days that showcased how content technology is maturing with ever-evolving market contexts. I missed out quite a few, but the ones that caught my eye -
  • NLP and Drupal8, by iampritish - Leveraging NLP for content tagging makes it easier to showcase, focused, summarised content
  • Browser Wars 2019 - Implementing a Content Security Policy, by iAugur - The security of web content is live threat globally - security headers are easy to implement and add an extra layer of security against malicious attacks
  • The Front-end CSS battle - Flexbox Vs Grid, by surbhig - The choice of a ‘layout-first’ versus ‘content-first’ helps create responsive designs that render content across multiple devices and platforms
  • Reusing Components between Angular, React, Vue and Web-Components - by tkssharma - Reusing components between frameworks helps drive consistent user experiences across a plethora of applications or channels
  • How to make Drupal editor-friendly - by jaro.2801 - Drupal8 offers a highly enhanced UX for content editors; this presentation shows how to make the most of it
Finally, Preston So’s Sunday morning keynote was a pleasure to listen to. Speaking on ‘decoupled Drupal and context-less content’, he expounded on how rising expectations from developers, editors and marketers could put Drupal at risk of a credibility chasm.

This may start to happen when Drupal content is served to multiple channels beyond just the website. The multitude of devices, screens, wearables and apps that push content to us in myriad ways - audio, video, text, AR/VR as well as interactive, streaming or static.

This is the ‘Change’ digital technology is going through - an explosion of channels, along with rapidly evolving front-end Javascript frameworks. In such a scenario, content shouldn’t just be context-specific, for example just mobile-friendly or website-friendly. Content in its pure form should be channel-agnostic - able to adapt to different contexts, just the way water adapts to the shape of the vessel its poured into.

Preston explained how decoupled Drupal helps configure front-end channels (the ‘vessels’) that own their contexts fully, enabling enterprises to target specific audiences. A whole new proposition to leverage Drupal in ways that evolve with the business.

One for the road…

Come to think of it - was the 2016 Brexit vote an outcome of the Remainers’ inability to effectively channel its messaging content to its targeted audience? Is the current imbroglio in the UK Parliament a result of similar shortcomings in the current dispensation?

As I said, a topic for another day. However, AI and digital technologies are increasingly impacting the spread of news, ideas and public opinion. In the post-truth era, the standing of media companies - to take one example - depends more and more on how they create and disseminate credible content to discerning audiences, across their preferred channels.

Will the near future see spiralling audience demand for peer-reviewed journalism, tagging of fake news, detection of fraud content, false references, fabricated statements? Technologies such as natural language processing, blockchain and bigdata + cloud are already addressing similar challenges for the scientific publishing world - how far behind is mainstream media?

The road ahead perhaps, for a modern CMS working with such technologies of tomorrow, backed by secure cloud platforms - an all-encompassing enterprise digital ecosystem. A topic for future DrupalCamps?

Truly, change is in the cloud, er… air.

Rajat Lal is the Business Head, UK and Europe at Srijan Technologies

Apr 08 2019
Apr 08

For the longest time, web content had one purpose - to get pushed on a web page. But everyone today wants content to be available across the board - on mobile devices, native apps, digital signage, and show up on third-party sites and social networks - if it is to garner the right audience.

However, making this happen is easier said than done. Some of the persistent challenges faced by large editorial teams involve:

  • Coordinating and approving content that’s ready to go live

  • Ensuring authors and contributors can access a central system to create/submit content

  • Publishing a number of content pieces on different websites/subdomains.

Introducing Content Staging, Synchronization, and Syndication

Between 2010 and 2016, the media consumption grew at a 2% rate. It makes one thing clear that people love to consume content and they will in the future as well.

This, in turn, puts a lot of pressure on content creators and marketers to create and push new pieces of content.

Here’s how you can ensure quality and quantity production:

Staging

Creating quality content involves a lot of work, checks, and approval. Big publishing websites might come across several challenges in the process, such as:

  • Publishing a number of articles at the same time, and doing it across different websites/ sub-domains

  • Getting approval in a centralized system

Intricate publishing workflow is a critical part of the content strategy for any organization that employs distributed management.  Editing the content on the live site can result in accidental publishing. To avoid that, a separate staging environment is needed in a robust workflow.

Staging and publishing without requiring the editor to log into the target site is what content staging would help with.

Synchronization

Once the content is approved on the different environments, it must be automatically updated for other website environments. Synchronization helps you keep your environments in perfect sync by automating the secure provisioning of content, code, templates and digital assets between them.

Source: content Sync

Administrators can create and schedule multiple synchronization tasks to automatically occur in the future. It will target different destination servers and websites, or manually execute synchronization tasks through the user interface.

Developers can leverage the API and event handlers to automatically synchronize any type of staging tasks according to custom requirements.

Syndication

The web is big and noisy. So much so that even though you are targeting a niche audience, chances of them landing on your blog depletes with each day. Syndication gets your content in front of a different audience who might not be aware of your website otherwise.

“Syndication is important because it generates brand awareness and more traffic.”

content_syndication_staging_and_sychronization_with_drupal_srijan technologies                                          Drupal websites often syndicate content from Drupal planet

In simple terms, content syndication is republishing the content on a third-party website. Syndication works great for national and international media and publishing websites. There is no restriction on the kind of content that can be syndicated. The list can include blog posts, articles, infographics, videos and more.

It is a low-cost strategy which media and publishing websites like Huffington Post, CNN,  and NYTimes often use to garner a new audience. Syndication brings free exposure, backlinks, and greater organic traffic.

the_syndicate_image_srijan technologies

However, syndicated content is ultimately duplicate content. And duplicate content can create havoc with your SEO because Google loves unique content.  

While ranking the content it will only index the version that is original and larger, high-traffic website. You can make your syndicated content SEO-friendly by ensuring it is indexed correctly, on your site and on your syndication partner’s site.

Drupal Solutions for Content Staging, Synchronization, and Syndication

Drupal’s digital experience platform knows that your content must reach more than just websites. So yes, of course, it has modules for staging, syncing and syndication.

1. Workflow

Workflow, as the name suggests creates arbitrary workflows. Creating different workflows for the content saved as ‘draft’, ‘review’ and ‘published’, it can be assigned to the story node type.

  • Only users with role 'chief editor' can set stories to the published state. It also allows to set up workflow to alter states from form, page, comment, a special block, and a special workflow tab.

This module is available for Drupal 8.

2. Deploy

The Deploy module lets users to easily stage and preview content. It can manage the dependencies between different entities, like node references, automatically.

Designed to have a rich API which can be easily extended in a variety of content staging situations, Deploy can be used for both single and cross-site staging.

It should be noted that the Deploy module doesn't provide any settings or configuration pages, and the user must ensure that the target workspaces and/or remotes are configured correctly (workspaces configuration pages are provided by Workspace module).

For UI, Deploy provides just a link to run a deployment between current active workspace and its target.

This module is available for Drupal 8.

3. CMS Content Sync

CMS Content Sync provides content synchronization features between Drupal sites using a Node.js based Sync Core. It is built to support the synchronization of a huge amount of data, including content and media assets between many Drupal sites that can't be handled by Drupal itself.

Source: DrupalEurope

The three use cases for the CMS content sync are:

Content Staging: Content Sync allows you to test code updates with your content and publish code and content simultaneously. It further allows editorial review processes to ensure consistent quality of content.

Content Syndication:  For distributed teams, it allows the content to be updated and deleted centrally. It pushes content and media items at any of your sites to publish them on any targeted remote site automatically.

Content Pool: This feature lets you update and delete these items from the source site or allows you to completely customize it on the remote site. Further, you can connect the remote sites. Each content item comes with a preview and link to the source site that makes it easy to identify and select.

If your enterprise manages a large volume of content over a multi-site architecture, staging, syndication, and sync are crucial. Srijan’s expert teams can help you optimize these processes and follow industry best practices. Just drop us a line and our team will be in touch.

Dec 18 2018
Dec 18

Drupal 9 is all set to release in June 2020, and brings with it end-of-life announcements for Drupal 7 and 8.

Drupal 9_ What’s in Store and How that Impacts Drupal Users

Source: Drupal 7, 8 and 9

While historically every new Drupal release has been evaluated in terms of all the new features being introduced, Drupal 9 is a bit of a break with tradition. If Drupal 8 represented a complete makeover of the technology, Drupal 9 is more a makeover of how a major Drupal release is rolled out.

So we take a look at what’s on the cards with Drupal 9, and have our Drupal experts weigh in on what that means for developers and site owners.

What's New With Drupal 9

Dries’ latest post “Plan for Drupal 9” says the big deal with Drupal 9 is that it shouldn’t be a big deal. And that thinking is exactly what is new.

Building With Drupal 8

Drupal 9 is not being built on a new core but rather within Drupal 8. New features and functionalities will be added to D8 as backward-compatible code. These will start being available to D8 users as experimental features, that can be used and modified for the better. All this while, older D8 features will work without a hitch.

Once these new features are stable, their older counterparts will be deprecated. And finally, the complete collection of these stable new features will be Drupal 9.

Ravindra Singh, Senior Drupal Architect at Srijan, thinks this approach is going to make life easier for Drupal users and developers. “Because everything new that makes up Drupal 9 will emerge out of existing Drupal 8, the final result will feel more like a minor version release rather than a ground-breaking all-new thing. And that’s good because it means less upheaval in the lives of Drupal users and developers. There will not be a huge learning curve for Drupalers to master D9, as was the case with D8. Most importantly, there won’t be a massive backlog of changes to be made to existing D8 sites, for them to remain functional with D9. All you need to do to make the migration easier and faster is to keep your Drupal 8 site abreast with all new updates."

The Migration Path - Drupal 8 to 9

The fact that Drupal 9 will not feel brand new also means that the upgrade from 8 to 9 will be super smooth.

Ritesh Gurung, our Senior Solutions Architect says, “Drupal developers working with D8 will have a chance to explore D9 features right from the start, and begin to upgrade any core or contributed modules. But the greatest benefit will be for Drupal site owners, specifically D8 sites. Those who have kept up with using the latest themes and modules, running on the updated D8 APIs, will have no trouble upgrading to D9.”

Highlighting how all Drupal releases are a community affair, Ritesh said, “Besides the volunteers working dedicatedly on Drupal 9, everybody else who gets to start using the experimental modules will be able to identify and help resolve any bugs and errors during the transition phase.”

Migrating from Drupal 7 to Drupal 9

As per the plans shared by Dries during Drupal Europe, both Drupal 7 and Drupal 8 will be end-of-life in 2021. Now if you are still on Drupal 7, you have two choices:

  • Continue with Drupal 7 till 2020, and then plan your migration to Drupal 9 in 2021

  • Migrate for D7 to D8, and then to D9, between 2019 to 2021

Now a direct migration from D7 to D9 seems like the best, and most cost effective path - why have two migrations when you can have just one.

However in this case, doing two migration might actually be a more practical option.

Ishan Mahajan, currently leading our large-scale Drupal project with Crain Communications, explains how:

  • Choosing to continue with Drupal 7 till 2020 doesn’t mean there’s no upgrade work coming your way. Drupal will likely release some more updates to D7 till it’s end-of-life. So there will be time and efforts invested to ensure your site keeps up with those.

  • Given the fact that D8 is now well advanced, with stable upgrade paths for almost all modules, you can move from D7 to D8 without giving up on any major site features or functionalities

  • Because D9 will be completely backward-compatible with D8, the final upgrade from D8 to D9 will not be as expensive or disruptive as you are expecting it to be.

So if you are still on D7, the announcement of D9 should be another reason to move to D8 as soon as possible. This will ensure you can move easily to D9 when it releases.

And for enterprises already running multiple sites on D8, Ishan says it’s important to “Make sure that the sites are always on the latest D8 version as well as ensure that no deprecated module or API is used. That way, these sites will be ready of Drupal 9.”

So there you have it, Drupal 9 - a major Drupal release that’s being designed to be as minimally disruptive as possible.

Have more questions about Drupal 9 features and how it might impact your site? Already chalking out an upgrade plan? Our team of Drupal experts, and range of Drupal development services, are ready to help.

Just drop us a line, and get the conversation started.

Srijan is Signature Supporting Partner to the Drupal Association. With 140+ seasoned Drupalers of which 56+ are Acquia Certified, Srijan has the largest team of Drupal experts in Asia. Srijan is also featured as Best Drupal Agency 2019 by Design Rush

Jun 06 2018
Jun 06
Mike MadisonAbout Mike Madison

Mike Madison is an Acquia Certified Drupal Developer and a technical architect at Acquia. With over a decade of experience in web and background in HCI, he has used open source technologies such as Drupal (and Wordpress and Semantic MediaWiki) to solve challenging problems for a variety of clients and organizations around the world. He also contributes to a variety of Drupal community organizations and projects such a Drupal4Gov, as a maintainer of the Conference Organizing Distribution (COD) and Acquia's Build and Launch Tools (BLT).

Recently Mike has been working on a Digital Signage project for a mass transit agency. This project uses Drupal 8 and Amazon's Internet of Things (IOT) service to provide real time transit data to millions of riders daily.

Feb 21 2018
Feb 21
avie.pngAbout Ishan Mahajan

Ishan is a Program Manager with several duties including being a Solution Architect and Tech Lead at Srijan; with an overall experience of over 7 years in solutioning, architecting and developing products for online businesses. He is a Certified Scrum Master (CSM) and has been practicing SCRUM software development and delivery methodologies over the last 5 years in various roles -- as a proxy PO, a Scrum Master, or as a technical architect in Agile-SCRUM teams.

Sep 30 2016
Sep 30

Customers are the heart of a business. As a business owner interacting directly with customers, or as a digital marketer for a business, you need to:

  • Track prospects and customers to provide individualized services.
  • Manage leads to find the high quality ones and improve revenue.
  • Engage with customers—the right tools can give you specific information about customers and their transactions.
  • Integrate social media with the business for better marketing and customer relationships.
  • Automate and optimize the end-to-end sales process.

The objectives mentioned above require a well thought out Customer Relationship Management (CRM) strategy. A CRM application seamlessly integrated with the business/CMS website can help in achieving this, leading the company to better customer retention and higher profitability.

Drupal allows custom integration with any type of third-party API. Drupal 8 has a revamped web services module which makes it even easier to integrate with third-party applications. Here are some CRM applications that Drupal can work with:

Webform CiviCRM
CiviCRM is a web-based contact relationship management application built in PHP. It integrates well with Drupal. It works seamlessly for functions like synchronization between Drupal roles and CiviCRM memberships, rules and triggers, Ubercart, views and web forms. It is a good tool for managing online subscriptions and contacts. Drupal modules can also be built to make use of direct CiviCRM.

Too many security updates, poor online documentation and lack of all CRM features are some drawbacks of CiviCRM.

RedHen CRM
The best part about RedHen CRM is that its high level design is similar to Drupal Commerce, and therefore it uses Drupal capabilities well. It is a lightweight CRM application that has features like contact management, engagement tracking, customisable forms for input, etc. It is highly customisable, making it advantageous for businesses with very specific requirements. However, the frequency of software updates is very low.

Salesforce Suite
Salesforce.com is a popular cloud-based CRM application. It automates the end-to-end sales process. Drupal has a module called Salesforce Suite. This module enables integration between Drupal entities and Salesforce data objects, allowing data exchange between Drupal-based applications and Salesforce. You can create object mapping and extend the APIs to create functionality for customised business workflows. But the options available depend on the license you have. Salesforce is better suited for big businesses.

Other CRM applications that Drupal works well with include:

  • CRM Core is a platform within Drupal which can be used to track contacts, relationships and activities. It allows reporting and bulk operations, like sending emails to customers and merging contacts.
  • OpenCRM is a native Drupal CRM solution that has tools such as entities, rules, fields, etc, that can be used to build a CRM system as per client requirements.
  • SugarCRM is a highly customizable CRM solution that can integrate with Drupal to provide integration via web form integration and data synchronization.

A Drupal-based CRM product is a good choice as it can be customised for specific requirements. On the other hand, CRM products like Salesforce or Microsoft Dynamics are more comprehensive but might need more work when it comes to customisation.

Srijan has experience and expertise in projects involving integration of Drupal with CRM applications. These projects have its helped clients build a reliable CRM strategy.

Jul 11 2016
Jul 11

Docker, a container-based technology which I just came across, is great for setting up environments. It was first introduced to the world by Solomon Hykes, founder and CEO of dotCloud at Python Developers Conference in Santa Clara, California, in March 2013. The project was quickly open-sourced and made available on GitHub, where anyone can download and contribute to it.

Containers vs. Virtual Machines

You might be wondering, "What is the difference between Containers (like Docker) and Virtual Machines"?

Well, virtual machines (VM) work by creating a virtual copy of a computer's hardware, and running a full operating-system on that virtual hardware. Each new VM that you create results in a new copy of that virtual hardware, which is computationally expensive. Many people use VMs because they allow you to run an application in a separate environment which can have it's own versions of software and settings, which are different from the host machine.

On the other hand, container technologies like Docker, isolate the container's environment, software, and settings, in a sandbox; but all sandboxes share the same operating-system kernel and hardware as the host computer. Each new container results in a new sandbox. This enables us to pack a lot more applications into a single physical server as compared to a virtual machine.

Docker containers are isolated enough that the root process in a container cannot see the host machine’s processes or filesystem. However, it may still be able to make certain system calls to the kernel that a regular user would not, because in Docker, the kernel is shared with the host machine. This is also why Docker containers are not virtual machines and thus a lot faster.

Note, however, that Docker relies on a technology which is only available in the Linux kernel. When you run Docker on a Windows or Macintosh host machine, Docker and all it's containers run in a virtual machine

That said, there are two projects trying to bring Docker-style containers natively to OS/X , Dlite and Xhyve. But last I heard, these projects were still very experimental. So consider yourself warned.

When you are done with a container, on a Mac host machine, it’s probably good to suspend the containers, because they run in a virtual machine and that has a lot of overhead. But on a Linux host machine, there would be no need to suspend them because they would not create (much) additional overhead (no more than, say, MAMP).

Docker is a tool that promises to scale into any environment, streamlining the workflow and responsiveness of agile software organizations.

Docker’s Architecture

This is a diagram explaining the basic client-server architecture which docker uses.

Source: http://www.docker.com

Important Terminology

  • Docker daemon: A Docker engine which runs on the host machine as shown in the image above.
  • Docker client: A Docker cli which is used to interact with the daemon.

Workflow components

  • Docker image: A read-only disk image in which environment & your application resides.
  • Docker container: A read/writeable instance of an image, which you can start, stop, move, and  delete.
  • Docker registry: A public or private repository to store images.
  • Dockerfile: A Dockerfile is instructions for how to build a single image. You can think of a Dockerfile as kind of Vagrantfile, or a single Chef cookbook, or an Ansible script, or a Puppet script.

Microservices
Because Docker allows you to run so many containers at the same time, it has popularized the idea of microservices: a collection of containers, each of which contain a single program,  all of which work together to run a complex application (e.g. Drupal).

Taking Drupal as an example, every Drupal site has at least two dependencies: an HTTP server (Apache, Nginx, etc.) running PHP; and MySQL. The idea of microservices would involve packaging Apache+PHP separately from MySQL; as opposed to most Drupal virtual machine images which bundle them together into the same VM. For more complicated setups, you could add another container for Solr, another container for LDAP, etc.

For me, the main advantage of using microservices is that it’s easier to update or swap one dependency of an application without affecting the rest of it. Another way of looking at this is that microcontainers make it easier to modify one piece without waiting a long time for the virtual machine to rebuild.

When I was using a virtual machine on a particularly complex project, if I needed to make a change to a setting, I had to make that change in the Puppet config, then run vagrant destroy && vagrant up and wait two hours for it to tell me that the new configuration wasn’t compatible with some other piece of the system. At which point I had to repeat the two hour process, which wasted a lot of time.

If I had been using Docker (properly), then I could have just changed the setting for that one program, rebuild that program's container (5 seconds), and not have to worry that one piece of the machine needed at least Java 6 and the other piece of the machine could not work without Java 5.

Now that you know the possibilities with Docker, watch this space to find out how all this applies to Drupal.

Jun 27 2016
Jun 27

Caching is an important aspect when it comes to improving site load times and capturing data on user behaviour. It also becomes a big technical roadblock if you’re not rendering dynamic content with a JS framework. This is usually not a part of the technical stack unless specifically architected at the start. Most of the web applications rely on server side frameworks/languages to render the page and serve HTML page on the frontend with basic JS interactions.

The Problem

If you’ve been working on a building personalization engine and have a site with huge traffic which needs Akamai or similar service to serve content, you’d understand the limitations imposed by these systems.

When you set the context of the content to be personalized via taxonomy, the application needs to send back the information to a personalization engine in terms of the browsing behaviour, or purchasing behaviour. If you’re looking for personalization in real-time, such scenarios become more pertinent to your situation. Additionally, if you have caching like Varnish or reverse proxies like Cloudflare or Akamai implemented on your site, purging data and rendering the content becomes very expensive for the application.

The Solution

Unfortunately, the only way to tackle this is to make some major architectural changes in your application. If you’re using Drupal, upgrading the application to Drupal 8.1, which has a built-in Facebook Bigpipe feature, can be a major boost to the application. With Bigpipe caching, major components of your web page are rendered 8 times faster than normal. That’s a huge improvement! There’s a reason people call it Facebook’s secret weapon. Bigpipe integration with Drupal is relatively new and I am still to see some implementations to confidently say it can work out of box. You might want to look at more custom implementations with JS libraries. Hypernova is one such example, which is developed by AirBNB. Check out Hypernova on github and I am sure you can find tons of them which will fit with your tech stack or your choice of technology framework. And don’t assume that your developers (or agencies) would’ve taken this into account. To be able to use the Bigpipe advantage, each entity needs to be defined with cache tags, cache contexts and cache max-age, to define in what scenarios you’d want the personalization to kick in. Wim Leers from Acquia gives a pretty detailed webinar on how you can achieve this with Drupal. 

Here at Srijan, we are in the midst of implementing one such personalization project. Stay tuned as I’ll soon update this post with our learnings from this project.

Jun 23 2016
Jun 23

Adobe Analytics or SiteCatalyst (called Omniture before being acquired by Adobe) is a leading industry solution that collects website statistics and applies real-time analytics and detailed segmentation across all of your marketing channels. It is used for the measurement, collection and analysis of web traffic data. The data collated can be used to discover high-value audiences. It can provide customer intelligence for your business.

Adobe Analytics can be integrated with Drupal 8. Once the integration capability is built between Adobe Analytics and Drupal 8, the client has the Adobe Analytics website to refer to for the traffic data. The client can log in to this site to view a dashboard with website statistics, and gain insights into customer behavior. This data can then be used to optimize the website to improve user experience and conversions.

Srijan has integrated Adobe Analytics with Drupal  successfully many times for its clients, allowing them to manage their content better.

Key Features of Adobe Analytics

The tool allows the capture of real time data that allows understanding of current and relevant business scenarios.

Source: Democratizing Insights with Analysis Workspace

Apart from website traffic statistics like number of hits on each page, number of unique visitors to each page, total hits, exit links, click maps, number of page not found instances, etc. the tool also shows the devices used to visit the website, along with details such as screen size, screen height, screen width and audio/video support on the device. It also gives details of referrals, next URL visited, etc.

Adobe Analytics provides drill down facilities to get precise and comprehensive views on the customers to understand most valuable customer segments or segments that can give business opportunities. The business can categorize customers into personas using the intelligence that the tool provides in terms of product preference, geo-demographics, and behavioral attributes. 

It provides mobile analytics intelligence with which you can understand the mobile app user base and review performance of mobile marketing campaigns launched. It provides rules based decision making tools. Visitor statistics include the number of users by geography, users by language and users by time zone. The client can generate reports for web traffic, based on time parameters.

This data is represented visually as well. Data for multiple websites can be viewed on one Adobe Analytics/SiteCatalyst website. On the home page, the dashboard can be set up to show important/critical indicators from the different websites configured under that account.

Custom data specific to a particular use-case can be captured—this is of great help for enterprises. For example, if an organization wants to capture data on its employees visiting the site, variables to capture employee data such as Employee ID can be included if this data is available in the network. Also, if there are videos on the site, events like 'play video' can be recorded. All this data is valuable in helping clients gain insights into customer behavior and manage their content better.

Integration Challenges

Srijan did face some challenges while integrating Drupal with Adobe Analytics. Since Drupal 8 has a completely different architecture from Drupal 7 and since there was no available module for Drupal * our teams had to work on porting the module to Drupal 8. The implementation had to be modified to ensure that there is no change in the functional performance of Adobe Analytics.

Srijan also had to be careful while handling data. With enterprises, a lot of data is available—both private and public data, which could include a lot of sensitive data that cannot be stored. The integration module had to effectively manage data privacy wherever applicable as per the enterprise confidentiality policy.

Benefits

Clients who have opted for integration of Adobe Analytics with Drupal have benefited from the improved website analytics in various ways:

Improved content strategy and content management - The integration helps clients understand which pages are visited more often and which not. Downloads and payment mechanisms can be tracked. The client can then devise a content strategy based on users' behavior on the website, and provide them with the right information at the right time. This gets more engagement and conversions as per online goals.

Improved customer retention - The tool provides data related to user navigation. It gives details about access mechanisms. The user journey and user map can be understood. This knowledge helps in refining the flow of data on the website, and allows the client to deliver content based on user needs. Better content strategy and improved information flow translate into better customer retention.

Better digital marketing strategy - The statistics provided by the tool helps a client understand how web traffic has changed since the launch of a promotion campaign, and to determine the success of their digital marketing campaigns.

By allowing the client to make better decisions around content and the flow of information on their website, the solution helps them achieve their marketing objectives.

Apr 14 2016
Apr 14

TUI India is part of the TUI Group, a leading leisure, travel and tourism company. The TUI Group is headquartered in Germany. The company started operations in India in 2005, offering travel packages to help craft fulfilling holidays for everyone.

TUI India had already established offline stores in different parts of the country. The company had been using Salesforce to manage its customer interactions. They had a static online presence but did not have an online portal for interacting with customers and selling holiday packages on the Internet. There was also no Drupal Salesforce integration, i.e. no interaction between the website and Salesforce. Customer interactions were therefore never captured.

The main business requirements of TUI India were to revamp the website so that online transactions could be integrated with Salesforce, and holiday packages could be sold seamlessly online.

Srijan had previously worked on other projects with the product owner at TUI India, who was impressed with its technical capabilities, adherence to deadlines and strong focus on lean thinking and agile processes.

TUI India approached Srijan with its business challenges. Srijan provided a digital solution to help TUI interact with online customers, and to allow online customer transactions to be integrated with Salesforce. 

Business and Technical Challenges

TUI India has a separate team that handles Salesforce. Moreover, the different packages provided by TUI are handled by different call centres. Any enquiry or potential sale of a package is therefore routed to the respective call centre. As there was no capture of online information, online business became difficult. There was no tracking of online enquiries and feedback. TUI India also was unaware of the pages customers visited or the links they clicked. 

TUI has different marketing campaigns: a Facebook campaign, an email campaign and a Google campaign. The results of these campaigns were not captured and integrated in Salesforce, making them less effective than they could have been. TUI was unable to measure the success of these campaigns as well.

The technical challenge was that TUI India was not happy with the loading time of the AJAX pop-up forms. To address this, Srijan had to redesign the module to optimise performance.

Srijan's Solution

Srijan developed functionality for TUI India that allows customer queries and searches to be tracked on the Drupal website. These could be integrated with Salesforce too. 

TUI India has different packages, like domestic holidays and  international destinations. They have theme-based packages and campaign-based packages. Different holiday packages are handled by different call centres. Srijan built functionality so that customers could choose a particular package from the website, and the transaction would get routed to the appropriate call centre and thus be recorded in Salesforce. Some of the packages could be bought online. Srijan built application logic to distinguish between these packages, and redirect the customer to the right call centre. 

The website was integrated with Salesforce so that every transaction and enquiry on the different marketing campaigns could be tracked in Salesforce. It became possible for every user action to be tracked using the website and recorded using the Salesforce integration. TUI could find out which page a customer had visited, which package they had enquired about or which campaign they had used. This gave TUI access to a lot of information, allowing them to make better business decisions. TUI India's analytics data improved due to this tracking feature. The company could now track hits, enquiries and actual sales, and analyse different parameters, such as number of hits, packages in demand, etc, to find out how successful the business actually was.

Benefits

The application has been live for the last 10 months and TUI India has derived multiple benefits. These include:

  1. Improved tracking of performance data: Srijan's solution enables the company to track all transactions on the website. The pages visited, links clicked, enquiries, feedback, packages selected can be tracked. This helps TUI India measure its performance and the level of customer satisfaction, as well as manage offerings and marketing campaigns better.
  2. Flexibility to create custom rules: Srijan has set up multiple rules for TUI IndIa. Depending on the package that they have enquired about, the customer is routed to the appropriate call centre. Additionally, some packages can be bought offline only; in case a customer shows interest in one of these, they are routed to the call centre handling these requests.
  3. Reduced costs and effort: TUI India has several marketing campaigns and each of these has a separate website and server. All of these campaigns have been integrated in Salesforce with Srijan's solution. Now, TUI only has to manage one server, instead of multiple websites and servers.
  4. Better management of enquiries: JustDial queries are being integrated with Salesforce using the website. Whenever there is an enquiry in Justdial for TUI, JustDial sends the request details to TUI India, and this can be tracked on both the website and Salesforce. TUI India has also integrated Livechat, and enquiries there can also be tracked on Salesforce as well as the TUI website.

Other than  Drupal Salesforce Integration, Srijan also helped TUI  with Drupal website development with upgraded UX and multiple functionalities and integrations which improved customer experience and simplified lead capturing.

Feb 18 2016
Feb 18

Enterprises the world over now have Drupal as a key component of their digital strategy. However, it can be challenging for them to scale up their continuous development operations for Drupal. The reasons can be many: some find it too expensive to have onshore teams support them. Some enterprises do not have the confidence in their multinational system integration partners to deliver expert Drupal services that is business centric. Some, like Flight Centre, have tight workflows which an outsourced agency would find hard to match pace with. In all such cases, Srijan is helping enterprises get comfortable with outsourced Drupal development and consulting services. This is the story about Flight Centre and how it decided to test whether outsourcing was feasible for them or not, and eventually contracted Srijan as a long-term development partner.

Flight Centre (FC) is one of the world’s largest travel agency groups. It has company-owned operations in 11 countries and a corporate travel management network that spans more than 75 countries. It employs more than 15,000 people globally and has a total of 2500 stores.

To enable its operations, the company has developed multiple products to enable smooth running of their business workflows. FC runs a very tight, highly secure, and well run development process. Their IT setup has multiple third party integrations with Drupal, and is quite complex as they have created and extended a lot of custom and contributed modules. FC’s stringent design/code reviews help in maintaining the intrinsic quality of the product to make sure their daily product releases go as per plan without any hiccups. A very strong organizational workflow is designed to enable such quick rapid development and frequent releases. This brings agility to their business.

So it was but natural for FC to think that outsourcing any development would likely not work out for them. When Srijan met the FC team at DrupalCon, a conversation started on how outsourcing product development work has worked out well for Srijan’s clients like TheRecordXchange and OnCorps. Over multiple conversations FC decided to test outsourcing waters by contracting Srijan for two sprints. The work involved working on tickets related to their travel portal. Here is how FC decided to extend it to three more sprints, and then went on to hire Srijan as its continuous development partner.

Adherence to code standards: FC has had great expectations from Srijan on many counts. One of them was code quality. FC follows stringent code reviews to ensure that all Drupal, JS, HTML/CSS code adhere to best practices. Srijan’s team was able to quickly adapt to their development lifecycle process while ensuring total adherence to the FC code standards. FC gained confidence in Srijan’s capabilities and was happy to see Srijan pick-up speed by the second sprint, and come back to FC’s team to take on more stories from the backlog.

Working in FC’s Agile environment: FC runs its own JIRA instance to track its workflow. Srijan has been using JIRA for several years now and has a mature JIRA Agile workflow inhouse. In this project, Srijan was required to log into FC’s instance and track work and make updates. However, because of technical issues, Srijan’s team would end up spending about 20 minutes, just trying to log in. This had a huge impact on productivity. Srijan proposed that the sprints be run on Srijan’s JIRA instance. While this meant an additional workload for the FC team, they graciously agreed, as this would quicken things up in development. Srijan’s team reconfigured the JIRA workflow to better represent how the work with the FC team must happen.

Use of tools: Srijan uses various tools to streamline work. Other than JIRA, Srijan uses Ideaboardz for conducting retros with the FC team along with Skype. Planning Poker is used in sprint planning. For inhouse project communication and management, Slack is used, which also keeps the client team in the loop.

Communication: As the work time overlap between India and Australia is pretty narrow, it was important for communication to be efficient and effective. Srijan’s process involved in-house standups, immediately followed by a 10-min stand-up with the FC team. Sprint planning would take just one hour. The credit goes to the FC team for writing the backlog very well. Retros would be run for 20 mins. The focus during all communication was on seeking help and communicating issues while keeping a problem solving approach.

Leveraging time zones: The FC team was able to leverage the time zone difference by having a Drupal team working during and right after their work hours. This enables them to deliver a lot more releases within a shorter span.

Switching from Scrum to Kanban: After a few sprints Srijan realised that the sprints were getting delivered and tested at the development environment on time. However, code reviews and releases were taking longer. So the entire process, from story concept/writing to having it working on production was taking more than two weeks. This was because the workflow had items which needed other teams such as FC core developers to perform the code review, and devops team (for the releases). Hence, although development was complete from Srijan’s point of view, it was not made live due to dependencies on other teams. We were, thus, unable to close the sprints. 

So Srijan switched to Kanban - Continuous Flow model to measure throughput over measuring velocity. This model has really worked very well for Srijan, and the FC team is able to eliminate any bottlenecks in the story as it flows to the production.

FC is happy that Srijan’s team asks questions that are important from the development point of view. They are also happy with the smooth and streamlined communication that happens between the teams. FC has now contracted Srijan to continue work on the travel portal for a year.

Here is what our client has to say.

Srijan have become a very valued part of the extended Flight Centre team and are integral in our Digital plans to improve our retail brand websites. From the beginning Srijan have been open to feedback and have made some core changes to their team structure and processes so it better aligns with Flight Centre's approach and as a result we are seeing great benefits in our partnership with Srijan. We only see this improving over time which promises to be an exciting period in the future.

Luis Landaverde

Digital Portfolio Manager 

Flight Centre Travel Group

Explore how Srijan can help you scale up enterprise Drupal teams, and deliver as per the distributed agile development methodology.

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