Nov 03 2018
Nov 03

A machine learning model, that could lead a driver directly to an empty parking spot, fetched the second prize in the Graduate level: MS category at the 2018 Science and Technology Open House Competition. It goes without saying that dreams of computer systems with godlike powers and the wisdom to use them is not just a theological construct but a technological possibility. And sci-fi éminence grise Arthur C. Clarke rightfully remarked that “any sufficiently advanced technology is indistinguishable from magic.”

A robot sitting on a brown chair, draped in a red blanket, working on a laptop with a glass of wine beside him and river water falling over a real human working on a laptop


Artificial Intelligence (AI) may be the buzzword of our times but Machine Learning (ML) is really the brass tacks. Machine learning has made great inroads into different areas. It has the capability of looking at the pictures of biopsies and picking out possible cancers. It can be taught to predict the outcome of legal cases, writing press releases and even composing music! However, the sci-fi future where a machine learning beats a human in all the conceivable department and is perpetually learning isn’t a reality yet. So, how does machine learning fit into the world of content management system like Drupal? Before finding that out, let’s go back to the times when computers did not even exist.

Machine learning predates computers! 

In this day and age, self-driving cars, voice-activated assistants and social media feed are some of the tools which are powered by machine learning. Compilations made by BBC and Forbes show that machine learning has a long timeline that relies on mathematics from hundreds of years ago and the elephantine developments in computing over the years.

Machine learning has a long timeline that relies on mathematics from hundreds of years ago and the elephantine developments in computing over the years

Mathematical innovations like Bayes’ Theorem (1812), Least Squares method for data fitting (1805) and Markov Chains (1913) laid the foundation for modern machine learning concept. 

In the late 1940s, stored-program computers like Manchester Small-Scale Experimental Machine (1948) came into the picture. Through the 1950s and 1960s, several influential discoveries were made like the ‘Turing Test’, first computer learning program, first neural network for computers and the ‘nearest neighbour’ algorithm. In the nineties, IBM’s Deep Blue beat the world chess champion.

Post-millennium, we have several technology giants like Google, Amazon, Microsoft, IBM and Facebook today actively working on more advanced machine learning models. Proof of this is the Alpha algorithm, developed by Google DeepMind, which beat a professional in the Go competition and it is considered more intricate than chess!

Discovering Machine Learning

A gif showing a flowchart of machine learning through icons like computers, bulb, magnifying glass, Rubik's cube and boxes.

Machine learning is a form of AI that allows a system to learn from data instead of doing that through explicit programming. It is not a simple process. As the algorithms ingest training data, producing more accurate models based on that data is possible.

Advanced machine learning algorithms are composed of many technologies (such as deep learning, neural networks and natural-language processing), used in unsupervised and supervised learning, that operate guided by lessons from existing information. - Gartner

When you train your machine learning algorithm with data, the output that is generated is the machine learning model. After training, when you provide an input to the model, an output will be given to you. For instance, a predictive algorithm will build a predictive model. Then, when the predictive model is provided with the data, you receive a prediction based on the data that trained the model.

Difference between AI and machine learning

Illustration showing small boxes inside and outside a bigger box to explain machine learning and artificial intelligenceSource: IBM

Machine learning may have relished a massive success of late but it is just one of the approaches for achieving artificial intelligence.
 
Forrester defines artificial intelligence as “the theory and capabilities that strive to mimic human intelligence through experience and learning”. AI systems generally demonstrate traits like planning, learning, reasoning, problem solving, knowledge solving, social intelligence and creativity among others.
 
Alongside machine learning, there are numerous other approaches used to build AI systems such as evolutionary computation, expert systems etc.

Categories of machine learning

Machine learning is generally divided into the following categories:

  • Supervised learning: It typically begins with an established set of data and with a certain understanding of the classification of that data is done and intends to find patterns in data for applying that to an analytics process.
  • Unsupervised learning: It is used when the problem needs a large amount of unlabeled data.
  • Reinforcement learning: It is a behavioural learning model. The algorithm receives feedback from the data analysis thereby guiding the user to the best outcome.
  • Deep learning: It incorporates neural networks in successive layers for learning the data in an iterative manner.

Why is machine learning accelerating?

A pyramid split into 4 parts of a different colour with each describing the Intelligence capability business modelSource: The Apttus Intelligence Capability Model

Today, the majority of enterprises require descriptive analytics, that is needed for efficient management, but not sufficient to enhance business performance. For the businesses to scale higher level of responsiveness, they need to move beyond descriptive analytics and move up the intelligence capability pyramid. This is where machine learning plays a key role.

For the businesses to scale higher level of responsiveness, they need to move beyond descriptive analytics and move up the intelligence capability pyramid.

Machine learning is not a new technique but the interest in the field has grown multifold in recent years. For enterprises, machine learning has the ability to scale across a broad range of businesses like manufacturing, financial services, healthcare, retail, travel and many others.

Three boxes on top and three boxes at the bottom with small icons over each of the boxes representing different industries of machine learningSource: Tata Consultancy Services

Business processes directly related to revenue-making are among the most-valued applications like sales, contract management, customer service, finance, legal, quality, pricing and order fulfilment.
 
Exponential data growth with unstructured data like social media posts, connected devices sensing data, competitor and partner pricing and supply chain tracking data among others is one of the reasons of why adoptions rates of machine learning have skyrocketed.
 
The Internet of Things (IoT) networks, connected devices and embedded systems are generating real-time data which is great for optimising supply chain networks and increasing demand forecast precision.
 
Another reason why machine learning is successful because of its ability to generate massive data sets through synthetic means like extrapolation and projection of existing historical data to develop realistic simulated data.
 
Moreover, the economics of safe and secure digital storage and cloud computing are merging to put infrastructure costs into free fall thereby making machine learning more cost effective for all the enterprises.

Machine Learning for Drupal

A session at DrupalCon Baltimore 2017 had a presentation which was useful for machine learning enthusiasts and it did not require any coding experience. It showed how to look at data from the eye view of a machine learning engineer. 

It also leveraged deep learning and site content to give Drupal superpowers by making use of same technology that is exploding at Facebook, Google and Amazon.

[embedded content]


The demonstration focused on mining Drupal content as the fuel for deep learning. It showed when to use existing ML models or services when to build your own, deployment of ML models and using them in production. It showed free pre-built models and paid services from Amazon, IBM, Microsoft, Google and others.

Drag and drop interface was used for creating, training and deploying a simple ML model to the cloud with the help of Microsoft Azure ML API. Google Speech API was used to turn spoken audio content into the text content to use them with chatbots and virtual assistants. Watson REST API was leveraged to perform sentiment analysis. Google Vision API module was used so that uploaded images can add Face, Logo, and Object Detection. And Microsoft’s ML API was leveraged to automatically build summaries from node content.

Another session at DrupalCon Baltimore 2017 showed how to personalise web content experiences on the basis of subtle elements of a person’s digital persona.

[embedded content]


Standard personalisation approaches recommend content on the basis of a person’s profile or the past activity. For instance, if a person is searching for a gym bag, something like this works - “Here are some more gym bags”. Or if he or she is reading about movie reviews, this would work - “Maybe you would like this review of the recently released movie”.

But the demonstration shown at this session had advanced motives. They exhibited Deep Feeling, a proof-of-concept project that utilises machine learning techniques doing better recommendations to the users. This proof-of-concept recommended travel experiences on the basis of kind of things a person shares with the help of Acquia Lift service and Drupal 8.

With the help of Instagram API to access a person’s stream-of-consciousness, the demo showed that their feeds were filtered via a computer-vision API and was used to detect and learn subtle themes about the person’s preferences. Once a notion on what sort of experiences, which the person thinks are worth sharing, is established, then the person’s characteristics were matched against their own databases.

Another presentation held at Bay Area Drupal Camp 2018 explored how the CMS and Drupal Community can put machine learning into practice by leveraging a Drupal module, taxonomy system and Google’s Natural Language Processing API.

[embedded content]


Natural language processing concepts like sentiment analysis, entity analysis, topic segmentation, language identification among others were discussed. Numerous natural language processing API alternatives were compared like Google’s natural language processing API, TextRazor, Amazon Comprehend and open source solutions like Datamuse.

It explored use cases by assessing and automatically categorising news articles using Drupal’s taxonomy system. Those categories were merged with the sentiment analysis in order to make a recommendation system for a hypothetical news audience.

Future of Machine learning

A report on Markets and Markets states that the machine learning market size will grow from USD 1.41 Billion in 2017 to USD 8.81 Billion by 2022 at a Compound Annual Growth Rate (CAGR) of 44.1%.

The report further states that the major driving factors for the global machine learning market are the technological advancement and proliferation in data generation. Moreover, increasing demand for intelligent business processes and the aggrandising adoption rates of modern applications are expected to offer opportunities for more growth.

Some of the near-term predictions are:

  • Most applications will include machine learning. In a few years, machine learning will become part of almost every other software applications with engineers embedding these capabilities directly into our devices.
  • Machine learning as a service (MLaaS) will be a commonplace. More businesses will start using the cloud to offer MLaaS and take advantage of machine learning without making huge hardware investments or training their own algorithms.
  • Computers will get good at talking like humans. As technology gets better and better, solutions such as IBM Watson Assistant will learn to communicate endlessly without using code.
  • Algorithms will perpetually retrain. In the near future, more ML systems will connect to the internet and constantly retrain on the most relevant information.
  • Specialised hardware will be delivering performance breakthroughs. GPUs (Graphics Processing Unit) is advantageous for running ML algorithms as they have a large number of simple cores. AI experts are also leveraging Field-Programmable Gate Arrays (FPGAs) which, at times, can even outclass GPUs.

Conclusion

Whether computers start ruling us someday by gaining superabundance of intelligence is not a likely outcome. Even though it is a possibility which is why it is widely debated whenever artificial intelligence and machine learning is discussed.
 
On the brighter side, machine learning has a plenitude of scope in making our lives better with its tremendous capabilities of providing unprecedented insights into different matters. And when Drupal and machine learning come together, it is even more exciting as it results in the provision of awesome web experience.

Opensense Labs always strives to fulfil digital transformation endeavours of our partners with a suite of services.

Contact us at [email protected] to know how machine learning can be put to great to use in your Drupal web application.

Nov 01 2018
Nov 01

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

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

pokemon gif with money falling over on meow


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

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

The Power Of Gaming: Why Gaming Industry Needs Community?

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

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

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

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

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

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

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

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

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

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

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


Why are Gaming Communities Opting for Drupal?

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

  • Decoupled Drupal for Intuitive Game Live UI Experiences

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

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

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

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

  • Gameplay based customizations

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

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

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

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

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

  • Scalability

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

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

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

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

  • Multimedia support

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

gif from star wars games

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

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

  • Mobile Responsiveness

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

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

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

  • Adding complex categories and catalogs

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

screenshot from leagues of legends with various categories and catalogs

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

  • Discussions, Reviews, and News

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

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

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

search for new games and its results

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

  • E-commerce Solution

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

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

shopping cart with Klei

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

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

Drupal vs. Wordpress 2018

Building a Community website

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

Example: Pinterest Community

Winner: Drupal 8 

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

Building a Gaming Website

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

Example: Zynga

Winner: Drupal 8 (Clearly)

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

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

Building a Basic Gaming related Website

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

Winner: WordPress

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

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

Building a Media-Streaming Website

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

Example: AXN 

Winner: Drupal 8

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

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

Summing Up

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

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

Nov 01 2018
Nov 01

Visualise that you are working for an organisation that builds web applications for its clients. Every time you gain a new client for a web application, you visit AWS or any cloud provider for that matter. You wind up with 2 VMs for running the app and for the associated database. You will need at least two copies of this infrastructure for production and staging and then start deploying the code for that client. And this process starts all over again for a new client and so forth. Instead, by utilising Infrastructure as Code (IaC), you run a bit of code and that’s it, you are all set to go!

Foundation of a building under construction on left hand side and fully constructed building on right hand side


Infrastructure and Operations (I&O) teams must disrupt their traditional infrastructure architecture strategies with IaC. This comprises of investing in hybrid cloud, containers, composable infrastructure and the automation for supporting these workloads. As we hurtle through the wall-to-wall internet of things (IoT) and edge computing, a holistic strategy for IaC becomes more significant to enterprises than ever before. It will be interesting to witness the power of Infrastructure as Code for the deployment of Drupal-based web applications. Before we dive into that, let’s see how IaC helps in efficient software delivery.

Solving environment drift in the release pipeline

Illustration showing sheets of paper on the left-hand side and a lot of computers on the right-hand side


Infrastructure as Code refers to the governance of infrastructure (networks, virtual machines, load balancers, connection topology) in a descriptive model by leveraging the same versioning as DevOps team uses for source code. In a similar principle of the same source code generating the same binary, an IaC model generates the same environment whenever it is applied. It is an integral DevOps practice and is used in combination with Continuous Delivery.

Infrastructure as Code refers to the governance of infrastructure in a descriptive model by leveraging the same versioning as DevOps team uses for source code

IaC evolved to solve the environment drift in the release pipeline because:

  • The teams must maintain the settings of separate deployment environments without IaCs.
  • Over a period of time, each environment becomes a snowflake. In other words, it leads to a unique configuration that cannot be reproduced automatically.
  • Inconsistent environments incur deployment obstacles.
  • With snowflakes, management and maintenance of infrastructure constitute manual processes which were difficult to track and contributed to errors.

Idempotence, a principle of IaC, is the property in which no matter what the environment’s starting state is, deployment command always sets the target environment into the same configuration. It is attained by either automatically configuring an existing target or through the recreation of a fresh environment by discarding the existing environment.
 
With IaC, DevOps teams can test applications in production-like environments early in the development cycle. These teams expect to provision several test environments and on-demand. Infrastructure represented as code can also be validated and tested for avoiding common deployment challenges. Simultaneously, the cloud dynamically provisions and tears down environments based on IaC definitions.
 
Implementing Infrastructure as code helps in delivering stable environments faster and at scale. By representing the desired state of their environments via code, teams avoid manual configuration of environments and enforce consistency. Infrastructure deployments are repeatable and safeguard against runtime issues that are caused by configuration drift or missing dependencies. DevOps teams can work in combination with a unified set of practices and tools for delivering applications and their supporting infrastructure quickly, reliably and at scale.

Benefits of Infrastructure as Code

Graphical representation showing horizontal bars in light and dark blue colours to depict benefits of Infrastructure as Code

 

  • Minimising Shadow IT: Allowing a fast response to new IT requirements through IaC assisted deployment ensures higher security, compliance with corporate IT standards and helps with budgeting and cost allocation.
  • Satisfying Customers: Delivering a quality service component with a short time period leads to customer satisfaction and enhanced perception of IT within an organisation.
  • Reducing operational expenditures: An enterprise can configure and deploy a completely tested and compliant new IT infrastructure asset in just a matter of few minutes either with minimal or no human intervention at all This saves a superabundance amount of work time and security-related financial risk potential.
  • Reducing capital expenditure: A developer accomplishing the task of several team members on his own, particularly in the context of DevOps, highly benefits the project capital expenditure.
  • Standardisation: When the creation of new infrastructure is coded, there is consistency in the set of instructions and standardisation.
  • Safer change handling: Standardisation assurance allows safer alterations to take place with lower deviation rates.

Challenges of using Infrastructure as Code

  • Organisational resistance to change: Largest organisational challenges stem from budget limitations as it can deter an organisation’s ability to hire or retrain staff lead to an overall resistance to change.
  • The dearth of expertise in-house: Lack of in-house expertise can pose a technical hurdle.
  • Shortage of tools, skills and the fear of loss of control: As IaC languages are more code-like than script-like, so developers are more comfortable with them in general but this poses issues for Ops team. Ops is more concerned with configuration control conflicts as they have traditionally had all control over configurations.

'Key recommendations' written inside a box at the top and some bullet points follows after that to explain Infrastructure as Code


Infrastructure as Code tools

Infographics showing a quarter of a circle inside a square-shaped box with several small circles inside it denoting the market presence of Infrastructure as Code toolsSource: Forrester Wave™: Configuration Management Software For Infrastructure Automation, Q4 ’17
  • The Puppet open source engine emphasises on supporting configuration management on numerous platform such that if a system is reachable by IP then it must be configurable.
  • Puppet Enterprise augments the open source Puppet providing a web-based UI to enable visibility into configurations, dependencies and events.
  • The Chef open source engine leverages an imperative approach with support for several operating systems, containers and cloud services.
  • Chef Automate builds on the Chef open source automation engine which incorporates respective projects of Habitat and InSpec and offers a web-based GUI and dashboard for compliance visibility.
  • The Salt open source project provides the option to run the modular software with or without agents and using push or pull processes.
  • SaltStack Enterprise builds on the open source Salt offering that gives you an enterprise GUI and API for integration.
  • Normation Professional Services sells plug-ins for Window/AIX support, auditing and HTTP data sourcing integration
  • Rudder is an open source automation platform that emphasises on continuous reliability.
  • Ansible open source project emphasises on minimalism and easy usage. It does not require any agents and relies on SSH and WinRM to remotely control member nodes which limits the resource usage and potential network traffic.
  • Ansible Tower is an enterprise solution for Ansible that emphasises on improving the open source project’s analytics and compliance capabilities.
  • Microsoft Azure Automation is a SaaS-based suite for process automation.
  • Microsoft PowerShell DSC is a configuration management execution engine which is developed primarily for Windows with support for Linux and MacOS added recently.
  • CFEngine Community Edition is an open source automation engine which is considered the father of modern-day configuration management.
  • The Enterprise version of CFEngine offers GUI/dashboard to manage and monitor node health, user-based and role-based management, richer reporting, asset management capabilities, and modules to support AIX and Windows 

Infrastructure as Code for Drupal

A digital agency showed how to automate the whole deployment process from the start to finish by leveraging Ansible. Ansible, being agentless, has a great ecosystem, the YAML syntax is easy to read, understand and maintain. This could be automated using any other provisional tool like Chef or Puppet as well.

Black background with ‘Ansible + Drupal’ written in blue and ‘ A fortuitous DevOps Match’ written in white below it


Project involved making the Ansible playbooks a part of their codebase. It will live alongside the Drupal code. Also, it is considered an industry-wide good practice to have infrastructure and deployment as a part of the code. It is still not technically 100% Infrastructure-as-Code setup as they only had the provisioning scripts checked in and not the code to spin the actual servers. The playbooks assume that the servers are already present with Docker, Docker compose is installed and having SSH access.

This setup made the deployment process consistent and repeatable as any developer with necessary permissions in the team could run the script and get the same results all the time. Moreover, when the build fails, it fails loud and clear where exactly things went wrong.

Challenges in the project

They did not guarantee a rollback for this process. If for instance, you perform a deployment and it fails, you would have to manually perform the rollback to the previous state. But it does store DB backups. So, it would not be an arduous task to add a rollback mechanism with the tag rollback and some parameters like what commit to rollback to, which DB to reset to etc.

Steps to be performed

A significant precursor to automating is to document and have a script for each step. They split the tasks into two categories namely

  • Setting up the system like creating DB backup directories
  • Running the DB updates via Drush

Ansible has the concept of tags for which 2 tags were defined namely ‘setup’ and ‘deploy’.

The listicle of setup only tasks included:

  • Creation of a directory for DB files to persist
  • Creation of a directory for storing DB backups
  • Creation of a directory for storing file backups

The listicle of tasks for both setup and deployment included:

  • Creation of a backup  of files and DB
  • Cloning the correct code, that is, specified branch or bleeding edge.
  • Creating .env file
  • Building and booting the latest containers for all services
  • Running composer install and DB updates, importing config from files and clearing cache (Drupal specific)

It is important to secure your servers prior to the deployment of the application. Ansible helps in storing the sensitive information in an encrypted fashion like DB credentials, the SSH key pair and the server user credentials. This setup enables you to easily build production replicas or non-production environment. 

In the years to come

IaC has a bright future with its ability in provisioning and managing computing resources. While it does come its own set of implementation barriers, the benefits that it delivers far exceeds the challenges it currently faces.
 
As the tools the frameworks that are associated with Infrastructure as Code mature, it has the potential of becoming the default standard to deploy and govern infrastructure.

Infographics showing statistics on Infrastructure as Code (IaC) using bar graphs, pie charts and relevant icons.


Technavio analysts forecast the global DevOps platform market to post a CAGR of more than 20% during the period of 2018 to 2022.  One of the major trends that are being seen in the global DevOps platform market 2018-2022 is the increase in the adoption rates of Infrastructure as Code. DevOps tools are being implemented by the organisations to shift from manual configuration of IT infrastructure to programmable IT infrastructure.

Increase in the adoption rates of Infrastructure as Code is a major trend in the global DevOps platform market

The report goes on to state that one of most significant reasons contributing to the growth in the global DevOps platform market is the need for reducing the time to market. Asia-Pacific region is projected to see the maximum enhancement in the market share of global DevOps platform. The Americas region and Europe-the Middle East-Africa region, which holds a large market share currently, will witness a decline in the market share over the forecast period.

Conclusion

Customer-obsessed technology puts the broader charter of service design on the infrastructure and operations team. I&O leaders should own the design for the full system of interacting parts that are sourced from a rich and dynamic software-defined ecosystem. Infrastructure as Code holds a great potential in disruption of traditional infrastructure architecture strategy and can be efficacious for Drupal deployments.

With years of expertise in Drupal Development, Opensense Labs has been providing a wondrous digital experience to its partners.

Talk to our Drupal experts at [email protected] to know how can we implement Infrastructure as Code with Drupal to power your digital transformation endeavours.

Oct 28 2018
Oct 28

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

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

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

 

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

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

Exploring Issues in Higher Ed & the ADA Compliance

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

The ADA Compliance

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

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

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

The Guiding Principles to Web Accessibility - POUR

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

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

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

Perceivable
Operable
Understandable
Robust

  • Perceivable

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Checklist: Making Higher Ed Institutes ADA Compliant

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

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


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

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

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

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

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

Level A Conformance 

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

Level AA Conformance - other than those in level A

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

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

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

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

Oct 27 2018
Oct 27

The old adage “united we stand and divided we fall” doesn’t stand true for modern web application architecture. 

When developing an enterprise application, the architecture can reckon among its different features, a monolithic system is deployed with a hope to process the information unruffled without any possible breakups. 

A logical component for corresponding to different functional areas of the application does the monolithic architecture give a smoother ride when the complexity of technology is increasing?

a big fish after a group of small fishes and a group f small fishes in the shape of a fish after the big fish


Monolithic is Boring, while Microservices is Full of Possibilities

With digital transformation on a rise and implications on the entire business operations moving from monolithic to microservices is a paradigm shift on how businesses approach software development. 

Understanding the Monolithic System

A monolithic system is a single-tiered software application in which the user interface and data access code are combined into a single program on a single platform. The multiple components run in the same process, on the same system.

A monolithic architecture is where the multiple layers of the application are tightly coupled together.

Usually, there are three components in a system the user interface, the data access layer, and the data store.

The user interface acts as an entry point of the application varying from the website, web service, or various other entry points.

The second layer is the data access layer which is where the layer of the program will wrap a data store. It handles concerns like authenticating with a data store and sanitizing data before it’ is transmitted to the data store.

The third layer is the database or data store which is the most fundamental part of the system and is responsible for storing arbitrary information (data) and retrieving it. 

one big box on left with an arrow in the middle and 4 small boxes on left

Together these three components make up an application. In the case of a monolithic application, the multiple layers of the application tightly coupled together. 

Limitations of a Monolithic Drupal Architecture

The major problems which affect a monolithic architecture application both from a business and end users perspective are as follows:

  1. Performance Impairment: One of the biggest reasons why people are shifting to monolithic is the heavy lifting it does which eventually impairs the performance. Continuous heavy cron jobs and on-demand computation on page request by the end user affect the speed

    In monolithic, all the calculations & computations are handled by the PHP code. And it hurts the business.
     

    • It becomes hard to maintain with time as any new deployment affects the entire system rendering wider regression a must.
       
    • The performance of pages and content delivery to users suffer due to on-the-fly heavy computation.

      In most cases, if it is difficult to manage monolith, the system is already or may be sitting on an n-tier layered system, however, they are not independent and asynchronous of each other. This is the malady with large Drupal systems.
       

  2. Bad User Experience:  The poor implementation of the presentation layer of a monolithic Drupal website is another major reason for the bad user experience and the underperformance of applications.

    Some of the bad practices in Drupal theme layer which increase the rendering time of pages can be listed as: 
     

    • Database calls also present in the theme layer instead of being in controllers, adding to the page load time.
    • Use of traditional and non-optimized code in Javascript & CSS.
       
  3. Unscalable Drupal Implementation: Drupal is scalable. But the approach used for feature implementation in Drupal is not scalable with monolithic systems. 
     
    • Improper use of third-party applications in the backend coupled with heavy reliance cron jobs can slow down the system. An advanced approach would be to fetch and render the third party API via Drupal.
       
    • Extremely minimal use of multilayer cache mechanism provided by Drupal 8 is the biggest culprit. 
       
  4. Missing DevOps & Automation: Just like continuous integration, delivery, and deployment, DevOps is a newer phenomenon. With a monolithic application on run, the DevOps process won’t allow proper collaboration with bad codes creeping into the architecture resulting in a bad UX. 
     
    • There is no Continous Integration based build process which executes a set of automated quality checks.
    • Regression in the current site is very hectic and costly affair due to lack of automation in code and functional testing.
Boxes on left and right side arranged in a horizontal manner

What are Microservices?

A microservice is a software development technique where the application (monolithic) is broken into sub-services which are loosely coupled together. Each service is independent of the main system. Together they offer value at par with a monolithic system. 

Microservices-based architectures enable easy continuous delivery and continuous deployment

Providing the Benefits of Layered Architecture of Microservices

Here are the reasons “why” microservices needs to be adopted in lieu of the monolithic Drupal are given below: 

  1. Fault Isolation: Since the services run independently failure of one service wouldn’t affect the overall performance of the system as much as it affects in the monolithic. Other services will continue to work which will limit the scope of code to be refactored for resolution.
     
  2. Independent Deployment: Components built as microservices can be broken down into multiple component services so that each of these services can be deployed and redeployed independently with improvements without compromising the integrity of an application.
     
  3. Easy Maintenance: Microservices require more efforts comparatively to build, however, it is a lot less effort when maintaining in the long term and will ensure better performance of the overall system.
     
  4. Easy Modification: Easy to understand since they represent a small piece of functionality, and easy to modify for the developers. This will also increase the autonomy of individual development teams within an organization, as ideas can be implemented and deployed without having to coordinate with a wider IT delivery function.

Read how Microservices are powering Drupal development

Exploring the MicroServices Architecture

The following diagram explains the ideal layering in the application of a Drupal monolithic system:

a flow chart with four blue outlined boxes on left and parallel text on right

 

  • Presentation Layer: This should be a combination of Drupal, and decoupled React apps.
     
  • Aggregation Layer: This should be Drupal being the core of application engaging with microservices and data store layers.
     
  • Business Logic Layer: This should be Node.js based services executing specific tasks.
     
  • Persistence Layer: This should be the primary store of the most important company and produce data. This will engage with Drupal to handle CRUD operations in real time. The will also engage with decoupled React apps on Presentation layer to help them render the data on frontend without any expensive Drupal calls or backend PHP execution.

Steps: How to Plan the Transition and Execution to a Monolithic Architecture

The transition from a present monolithic architecture to the layered microservices architecture can be done in an incremental fashion. Here’s how the plan can be executed:

  1. Identifying the business logic for components like, endorsements, email triggers and all other computation and processes which block the delivery of pages to the end user.
     
  2. Create independent Node.js based services which handle all the logic for the above-identified processes who communicate within themselves via messaging queues and communicate with Drupal via a push-based cronless mechanism.
     
  3. Create a data store. Drupal will push any change in these entities to the cronless mechanism in real time.
     
  4. Use progressively decoupled Drupal for the following purpose limited in its scope.
    For the presentation layer
     
    • For user, role and subscription management system
    • To manage decoupled react based pages and blocks for search which will be powered by independent elastic service.
    • To manage decoupled react based pages/blocks which pull data in a scalable and fast way from the cronless datastore.

      For CMS features like SEO, schema, static pages, CCMS integration etc.
       

  5. Re-Develop the Drupal theme layer to remove all bad practices in current the code base.

Conclusion 

Web applications need to evolve along with the rapid pace of technology and their users. Digital users expect more in terms of better content recommendations, and better ways for accessing websites and data.

As easy as the idea sounds, building microservices is that complex. Streamlining the overall application development lifecycle to boost frequent releases and QA can lead to a far better product. 

This gives a boost when managing a large Drupal system. Contact us at [email protected] to know more about microservices architectures and its value to your organizational setup.

Oct 26 2018
Oct 26

The Guardian, one of the most trusted news media, took a different approach for their membership and subscriptions apps. Rather than emphasising on lengthy validation in staging environments, The Guardian’s Continuous Deployment pipeline places greater focus on ensuring that the new builds are really working in production. Their objective was to let the developers know that their code has run successfully in the real world instead of just observing green test cases in a sanitised and potentially unrepresentative environment.

Front view of lots of hollow cylindrical pipes stacked on top of each other with a man sitting inside one of the pipes


Thus, The Guardian reduced the amount of testing run pre-deployment and extended the deployment pipeline constituting feedback on tests run against the production site. Such is the significance of utilising a lightweight Continuous Deployment pipeline which has helped a large organisation like The Guardian to focus on production validation instead of a large suite of acceptance tests. Such benefits can be witnessed in the Drupal-based projects as well where Continuous Deployment can allow us to iterate on Drupal web applications at speed.

Read more on the implementation of Continuous Integration and Continuous Delivery with Drupal

A Brief Timeline of Continuous Deployment

Agile Aliiance has stated that the origins of Continuous Deployment can be traced in the early 2000s. In 2002, Kent Beck, creator of Extreme Programming, has mentioned Continuous Deployment in the early discussions (unpublished) of applying Lean ideas to software where undeployed features are seen as inventory. However, it took multiple years for it to be refined and codified.

Later, in the proceedings of Agile 2006 Conference, the first article describing the core of Continuous Deployment - The Deployment Production Line - came into the limelight. Published by Jez Humble, Chris Read and Dan North, it was a codification of the practices of numerous ThoughtWorks UK teams.

By 2009, the practice of Continuous Deployment became well established as can be seen through the article called Continuous Deployment at IMVU by Timothy Fitz. Not only it is beneficial in Agile processes, but its great features can be extracted for methodologies such as a Lean startup or DevOps.

Continuous Deployment in focus

Flowchart showing green and orange coloured boxes to illustrate workflow of Continuous Integration, Continuous Delivery and Continuous DeploymentSource: Atlassian

While Continuous Integration refers to the process of automatically building and testing your software on a regular basis, Continuous Delivery is the logical next step which ensures that your code is always in a release-ready state. The ultimate culmination of this process is the Continuous Deployment.

In Continuous Deployment, every alteration that passes all stages of your production pipeline is released to the customers

In Continuous Deployment, every alteration that passes all stages of your production pipeline is released to the customers with no human intervention and only a failed test will deter a new alteration to be deployed to production. It is a spectacular way to aggrandise the feedback loop with your customers and take pressure off the team as is takes away the so-called ‘release day’ from the equation. It allows the developers to emphasise on creating software and they can see their work going live minutes after they have put in all their efforts on it.

Why Should you Consider Continuous Deployment?

Continuous Deployment benefits both the internal team who are implementing it and the stakeholders in your company.

For internal team

  • Instead of performing a weekly or a monthly release, moving to feature-driven releases enables faster and finer-grained upgrades and helps in debugging and regression detection by only altering one thing at a time.
  • By automating every step of the process, you make it self-documenting and repeatable.
  • By making the deployment to the server fully automated, a repeatable deployment process can be created.
  • By automating the release and deployment process, you can constantly release the ongoing work to the staging and QA servers thereby giving visibility fo the state of development.
Moving to feature-driven releases enables faster and finer-grained upgrades

For stakeholders in the company

  • Instead of waiting for a fixed upgrade window, you can release features when they are ready thereby getting them to the customer faster. As you are constantly releasing to a staging server while developing them, internal customers can see the alterations and take part in the development process.
  • Managers will see the result of work faster and progress will be visible when you release more often
  • If a developer needs a few more hours to make sure that the feature is in perfect working condition, then the feature will go out a few hours later and not when the next release window opens.
  • Sysadmins will not have to perform the releases themselves. Small, discrete feature releases will enable easier detection of the alterations that have affected the system adversely. 

Continuous Deployment Tools

wrench and screwdriver icon


Unit tests and functional tests put the code into as many execution scenarios as possible for predicting its behaviour in production. Unit testing frameworks consist of NUnit, TestNG and RSpec among others.
 
IT automation and configuration management tools like Poppet and Ansible manage code deployment and hosting resource configuration. Tools like Cucumber and Calabash can help in setting up integration and acceptance tools.
 
Monitoring tools like AppDynamics and Splunk can help in tracking and reporting any alterations in application or infrastructure. Performance due to the new code. Management tools like PagerDuty can trigger IT incident response. Monitoring and incident response for Continuous Deployment setups should be to real-time for shortening time to recovery when there are hassles with the code.
 
Rollback capabilities are essential in the deployment toolset to detect any unexpected or undesired effects of new code in production and mitigate them faster. Moreover, canary deployment and sharding, blue/green deployment, feature flags or toggles and other deployment controls can be useful for organisations looking to safeguard against user disruption from Continuous Deployment.
 
Some applications can deploy in containers such as Docker and Kubernetes for isolating updates from the underlying infrastructure.

Continuous Deployment with Drupal

An arrow and a box icon representing settings icon


A digital agency worked with Drupal 8, Composer, Github, Pantheon and CircleCI around Continuous Integration and Deployment. The project involved moving from internal hosting to the cloud (in this case, Pantheon), moving the main sites from Drupal 7 to Drupal 8 and implementing a new design.

To the cloud

Pantheon was chosen as the cloud host for new Drupal sites. Initially, it was chosen for features like ‘Cutom Upstreams’, one-click core updates, simple deployments between development, Test, and Live environments, Multidevs, and the fact that each is a Git repo a heart. Terminus (Pantheon CLI tool) was heavily used and appreciated.

Migration to Drupal 8

It focussed on two main umbrella sites and one news site to serve both umbrella sites. It did a content refresh which showed that only content that needs to be migrated are the news articles. The configuration management of Drupal 8 was found to be nicer than the Drupal 7.

Custom Design

As the Drupal is not the only web platform they were using, instead of building a Drupal theme, they built a platform-agnostic project with a new look and feel. It was based on the Zurb foundation and was just HTML, CSS, and JavaScript.
 
Grunt was used as the build tool. So when they have a new release, they would just commit and push to Github. That triggers a CircleCI workflow which tags a new release and publishes the release artefact as an npm package to Artifactory. From there, npm package can be pulled into any project including Drupal.
 
It should be noted that the published package includes only the CSS, JS, libraries and other assets. After the publishing, a static site is created with the package and corresponding HTML templates on a cloud host as a reference implementation.

Deployment Process

They had an ‘upstream’ repo on Github named umbrella-upstream which is a composer-based Drupal 8 project with a custom install profile comprising of custom modules, package.json, and deploy scripts. Each of the sites (umbrella-site X, umbrella-site Y, etc.) was also in a Github repo as composer-based Drupal 8 project and had umbrella-upstream configured as a remote.
 
When they push an alteration to the upstream repo, a set of CircleCI workflows gets started that runs some Codeception acceptance tests and the alterations get merged from umbrella-upstream down to each umbrella-site X/Y repo.
 
Then, another CircleCI workflow builds, tests and pushes a full Drupal umbrella-site X/Y install to the corresponding Pantheon site X/Y all the way up right to the test environment. Quicksilver hooks were used to send any alterations Pantheon back to the site repos.

Entire Workflow involved:

  • Code alterations and Git commit in custom design repo
  • Npm update custom-design -save-dev, grunt and Git commit in umbrella-upstream repo

Finally, the alterations show up in the Test environment of each site on Pantheon.

Conclusion

It is of paramount importance that you keep iterating and deploy software at speed and with efficacy. Continuous Deployment is a great strategy for software releases wherein code commit that passes automated testing phase is automatically released into the production environment.
 
Drupal deployment can benefit to a great extent through the incorporation of Continuous Deployment in the project development process. The biggest advantage of doing so is that it makes the alterations visible to the application’s users.
 
Opensense Labs is committed towards the provision of wonderful digital experience to the organisations with its suite of services.
 
To make your next Drupal-based project supremely efficacious through the implementation of Continuous Deployment, ping us at [email protected]

Oct 25 2018
Oct 25

Audi’s implementation of Continuous Delivery into its marketing has had an astronomical impact on its competitive advantage. For instance, when Audi released its new A3 model along with all other new releases, it wanted to communicate the new features, convey the options, and assist people in understanding the differences among body types, engines and things like that. Continuous Delivery turned out to be the definitive solution. It helped in refining the messaging and optimising it on the fly to make sure that the people are understanding what the automaker is trying to communicate.

vehicles on a cargo ship with wake of the ship in the background


Continuous Delivery (CD) is a quintessential methodology which makes the management and delivery of projects in big enterprises like Audi more efficient. When it comes to Drupal-based projects, Continuous Delivery can bring efficacy to the governance of projects. It can lead to better team collaboration and on-demand software delivery.

Read more on Continous Integration with Drupal

Building and Deploying using Continuous Delivery

A graphical representation showing white parabolic curves on a blue graph and text on itSource: Atlassian

For many organisations, shipping takes a colossal amount of effort. If your team is still living with manual testing preparing for releases and manual or semi-scripted deploys for carrying out releases, it can be toilsome. No wonder software development is moving towards continuity. In the continuous paradigm, quality products are released in a frequent and predictable manner to the customers thereby reducing the risk factor.

In 2010, Jez Humble and David Farley released a book called Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation.

In this book, they argued that “software that’s been successfully integrated into a mainline code stream still isn’t a software that’s out in production doing its job”. That is, no matter how fast you assemble your product, it does not really matter if it is just going to be stored in a warehouse for months.

Continuous Delivery is the software development practice for building software in such a way that it can be released to production at any time.

Continuous Delivery refers to the software development practice for building software in such a way that it can be released to production at any time. So, if your software is deployable throughout its lifecycle, you are doing Continuous Delivery. In this, the team gives more priority to keeping the software deployable than working on new features. This ensures that anybody can get quick and automated feedback on the production readiness of their systems whenever alterations are done. 

Thus, Continuous Delivery enables push-button deployments of any software version to any environment on demand.

How does Continuously Delivery work?

Flowchart showing box and circles to illustrate the workflow of continuous delivery, continuous integration, and continuous deploymentSource: Amazon Web Services

For achieving Continuous Delivery, you need to continuously integrate the software built by the development team, build executables and run automated tests on those executables for detecting problems.

Then, the executables are required to be pushed into increasingly production-like environments to make sure that the software is in working condition when pushed to production. This is done by implementing a deployment pipeline that provides visibility into the production readiness of your applications. It gives feedback on every alteration to your system and allows team members to perform self-service deployments into their environments.

Continuous Delivery requires a close, collaborative working relationship between the team members which is often referred to as DevOps Culture. It also needs extensive automation of all possible parts of the delivery process using a deployment pipeline.

Continuous Delivery vs Continuous Integration vs Continuous Deployment

Continuous Delivery is often confused with Continuous Deployment.

In Continuous Deployment, every alteration goes through the pipeline and are automatically pushed into production which results in many production deployments every day.

In Continuous Delivery, you are able to do frequent deployment and if the certain businesses demand a slower rate of deployment, you may choose not to perform the frequent deployment. So, for performing Continuous Deployment, you must be doing Continuous Delivery.

Continuous Delivery builds on Continuous Integration and deals with the final stages that are required for production deployment.

So, where does Continuous Integration come into the picture? It allows you to integrate, build, and test code within the development environment. Continuous Delivery builds on this and deals with the final stages that are required for production deployment.

Benefits of Continuous Delivery

The major benefits of Continuous Delivery are:

  • Minimised Risk: As you are deploying smaller alterations, there’s reduced deployment risk and it is easier to fix whenever a problem occurs.
  • Trackable progress: By tracking work done, you can get a believable progress. If developers declaring a work to be “done”, it is less believable. But if it is deployed into a production environment, you actually see the progress right there.
  • Rapid feedback: One of the pivotal challenges of any software development is that you can wind up building something that is not useful. So, earlier you get the working software in front of real users with higher frequency, faster you get the feedback for finding out how valuable it really is.

Continuous Delivery with Drupal

Drupal Community has been a great catalyst for digital innovation. To make software development and deployment better with Drupal, the community has always leveraged technological innovations.

[embedded content]


A session held at DrupalCon Amsterdam had an objective of bringing enterprise Continuous Delivery practices to Drupal with a comprehensive walkthrough of open-sourced CD platform called ‘Go’. The ‘Go’ project started off as ‘Cruise Control’ in 2001 rooted in the first principle of the Agile Manifesto: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

It outlined principles of CD practice, exhibited how easy it is to get a Drupal build up and running in Go and illustrated the merits of delivering in a pipeline. It involved setting up of a delivery pipeline. Then, configuring of build materials, build stages, build artefacts, jobs and tasks were done. Furthermore, it drilled down to familiar Drush commands and implemented the basic principles of the CD.

Basically, the build configuration was shown that deploys Drupal sites using Phing, Drush and other tools with the possibility of calling out to Jenkins as another way for managing tasks. Multiple steps of testing and approval were shown with a separate path for content staging as separate from code thereby deploying a complex Drupal site.

Homepage of Go platform with a flowchart explaining Continuous Delivery practice and ‘Simplify Continuous Delivery’ written in bold letters on the top on a pink background

Later, it emphasised on testing and previewing on production before cutting over a release, zero downtime releases, secure and simple rollback options, and making the release a business decision rather than a technical decision.

Moreover, it showed that Go’s trusted artefacts can take the ambiguities out fo the build with spectacular support for administering dependencies between different projects.

This session is very useful for the developers who use Drush and have some understanding of DevOps and knows about all-in-code delivery. Even those who undertake less technical roles like QA(Quality Assurance), BA(Business Analyst) and product owner will find it beneficial as the CD practice is all about the interaction of the team as well as the tools and techniques. 

How the future of continuous delivery looks like?

A report on Markets and Markets stated that the Continuous Delivery Market was valued at USD 1.44 Billion in 2017 and would reach USD 3.85 Billion by 2023 at a Compound Annual Growth Rate (CAGR) of 18.5% during the forecast period of 2018-2023.

Open source Continuous Deliver projects and tools will dominate the commercial CD tools segment
Bar graphs in dark blue and light blue colours showing automation market size in USD Billion, by segment, global, 2016-2020


Another report on Mordor Intelligence states that the market for Continuous Delivery is seeing a tremendous rise. It is due to the adoption of Artificial Intelligence (AI) and Machine Learning, rapid deployment of connected infrastructure and the proliferation of automated digital devices. But open source CD projects and tools will dominate the commercial CD tools segment.

The North American region is projected to have the largest growth in demand during the forecast period (2028-2023) because of the early adoption of cloud computing and IoT by the United States. The continuous evolution of new technologies (as shown above) have been the prime factor behind large-scale investments in the CD segment. Retail, healthcare, communications and manufacturing application in North America are going to see a massive growth rate in the forecast period.

Conclusion

On-demand software delivery and enhanced team collaboration is a sort of combination that every major enterprise can benefit from. Continuous Delivery is one such mechanism that can help software development projects to be production-ready always. And this can work in favour of projects involving Drupal development and deployment.

Opensense Labs has been steadfast in its goals of offering marvellous digital experience with its suite of services.

Contact us at [email protected] to know how can continuous delivery be implemented for your business in Drupal-based projects.

Oct 25 2018
Oct 25

The Drupal community is relentlessly working towards achieving the goal of easy usability with each version. 

Not only has Drupal granted its users the ability to integrate futuristic technologies but also provided the marketers with compelling digital solutions. 

On September 5, 2018, Drupal 8.6 was released. And started the wave of enthusiasm and whispers among the stakeholders. 

A road in the background and a sign board with drupal 8.6 ahead signboard


Here's how much it has succeeded in living up to the expectations and what is to be expected from Drupal 8.7 release due in January 2019.

Drupal 8.6 is released. And this what you should be excited about! 

The Drupal core team releases new (minor) versions every six months. These contain bug fixes, security patches, or both.

  • Drupal Installation is Boring. Not Anymore. 

That’s true. My first experience was as blank as the fresh installed Drupal 8.3. “What am I supposed to do with this?”, I thought. 

WordPress, on the other hand, had something to fiddle with, at least. 

Version 8.6 brings with it Umami

A demo food magazine website to demonstrate features of Drupal core, Umami gives you dummy content to explore the CMS. Although released with 8.5, Umami is now part of the core under the out-of-the-box initiative. 

desktop version of a website with photos of food and cutlery

The goal is to add sample content presented in a well-designed theme, displayed as a food magazine. 

Using recipes and feature articles this will make Drupal look much better right from the start and help evaluators explore core Drupal concepts like content types, fields, blocks, views, taxonomy, quite easily. 

Upgrade to Drupal 8 with Complete Migration Guide

“This minor release provides new improvements and functionality without breaking backward compatibility (BC) for public APIs.”

  • Migrate With Ease

While not all Migration challenges are covered. Here are two of the important migration challenges addressed. 

  1. Backward compatibility
  2. ID Conflict with Node translation

You can read more about Drupal 8 migration challenges

When launched, Drupal 8 didn’t provide any sort of backward compatibility in modules and hence they were to be rebuilt in Drupal 8. 

However, this is solved with version 8.6. In fact, this is the first release of Drupal 8 to offer a fully supported migration path from Drupal 7. Several changes were needed to Migrate APIs to make this possible.

The most important migration module - Migrate - is not only, stable but adds up the ability to re-run migrations to pick up new content that was not available previously.

Another conflict with the multilingual website related to conflicting Node ids. Translations in Drupal 8 are stored in a completely different way than in Drupal 7 and Drupal 6. 

When migrating node data from Drupal 6/7 to Drupal 8, a lot of data would point to things that no longer existed.

The Drupal Release Cycle

Starting with Drupal 8.0.0, Drupal core releases moved to a new release cycle schedule, and begin using the semantic versioning numbering system. 

A release Window is decided for the site administrators (in advance) to look up for the days for a possible bug fix, security release, and minor feature releases. 

For any change in release date, a public service announcement is issued before the release.

First Wednesday of every month is fixed for    Bugfix release window for Drupal 8.5.x and 7.x
Third Wednesday of every month is fixed for security release window for Drupal 8.5.x and 7.x

  • Improved Editorial UI with Media Library

As an editor, you always want a seamless experience when editing. Be it with browsing blogs, or media that has been uploaded to the website.

The Media Library provides a views-based browser for previously uploaded media. 

With the new version, you can add media to content via a media field, either by selecting from existing media or by uploading new media (including basic bulk upload support).

  • Building a Custom Layout is a No-Brainer Anymore

Choosing a custom layout no more requires you to write down long lists of codes. But this is not the only thing that makes layout interesting. The layout feature applies to much more than just content types. 

seven blocks arranged


Which implies that it can be used for media, contact forms, taxonomy, users, and more. 

Layouts allow you to build one of the individual fieldable entities which are completely customizable.

As a marketer, it won’t take much time for you to implement new ideas into a landing page. No more do you require adding contrib modules like Display Suits or Stacks for the job. 

The Layout helps to create one or more page sections and to choose from predefined options within them.

Seeing all the different issues and contributors in the release notes is a good reminder that many small contributions add up to big results. 
-Dries

Drupal 8.7 - The Roadmap

  1. Streamlined bulk-upload form - An improved media bulk upload experience which exposes all fields on a single form.
     
  2. Media Metadata improvements - A simple and intuitive tool to configure the metadata-to-drupal-fields mappings on media entities.
     
  3. Faster Upload - Drupal 8 will officially support PHP 7 and drop support for PHP 5.5 and 5.6 with 8.7 release. PHP 7 is much lighter and faster than its previous versions, which means your site becomes quicker to load. 
     
  4. Bring migrate_source_csv to the core - The imported content remains in the CSV files and there is a code to read it and create the relevant entries. Having migrate_source_csv in core would allow the developers to remove that code and use migrate instead. This is important because the contenta CMS uses this for migrations.
     
  5. WYSIWYG integration - Ability to embed media into the content from the WYSIWYG editor. This will allow content creators to select from media library or create one by uploading an image without requiring any new APIs. 
     
  6. Editorial workflow config moving from content_moderation into a standard profile. This would help in smoother content staging. 

Drupal 8 to Drupal 9 Upgrade. What to Expect?

Over time, maintenance of backward compatibility would become more intricate. Thus, the point will be reached when too much of deprecated code is there in Drupal 8. At that time, deprecated systems will be removed and released as Drupal 9.

So, Drupal 9.0 should be almost similar to the last release of Drupal 8 excluding the deprecated code. Upgrading from Drupal’s latest version to Drupal 9.0.0 should be as streamlined as the upgrading of minor versions of Drupal 8 (eg. Drupal 8.5 to Drupal 8.6). Therefore, Drupal 9 offers a clean slate to innovate more swiftly.

Here’s What Content Editors Want...

Let me be a little selfish here. Yes, Drupal 8.6 looks really good to me and I look forward to working around that editor soon (because that is what concerns me, directly).  

As a content editor, I have numerous times faced issues which leave me frustrated. 

Improved media bulk upload, smart alt texts for code snippets, and meta information is something I actually look forward to. 

Uploading video (non-youtube content) can sometimes be a headache. 

There is still scope for major improvements to Drupal’s content workflow, preview and staging capabilities. It will be done by improving aspects of the Entity API in the core.

Future Important Dates

8.7.0 Feature Freeze: January 2019
8.7.0 Release: March 19, 2019

With all the mentioned features, I believe, the community is successful in making Drupal more intuitive and easy to use.  We provide upgrade assistance, connect with us, drop a mail at [email protected] for a faster upgrade. 

Oct 24 2018
Oct 24

The Research and Development team at BBC (British Broadcasting Corporation) have been working on IP production for a number of years building a model for end-to-end broadcasting that will allow a live studio to run entirely on IP networks. During this period, several software applications and libraries have been built in order to prototype techniques, develop their understanding further and implement emerging standards. To do all these, they leverage Continuous Integration along with a number of tools to aid with Continuous Delivery of their software. Why is Continuous Integration a preferred option for large organisations like BBC?

Illustration showing three pillars and several people exchanging things, working on a laptop, holding a chart while discussing and having a conversation


A software development methodology like Continuous Integration (CI) can be of paramount importance for an efficient software delivery. Drupal-based projects can gain a lot with the implementation of CI leading to better teamwork and effective software development processes.

Predates many of the Agile’s ancestors

CI is older than many of the ancestors of agile development methodology. Grady Booch, an American software engineer, gave birth to the term ‘Continuous Integration’ through the Booch Method (a method used in object-oriented analysis and design) in 1991.
 
Booch, in his book called Object-Oriented Analysis and Design with Applications, states that:
 
The needs of the micro process dictate that many more internal releases to the development team will be accomplished, with only a few executable releases turned over to external parties. These internal releases represent a sort of continuous integration of the system, and exist to force closure of the micro process.

Principles of Continuous Integration

Flowchart showing box, circles, and arrows to depict workflowSource: Amazon Web Services

A software development methodology like Continuous Integration allows members of the team integrate their work frequently. It involves each of the team members integrating at least daily thereby leading to multiple integrations every day. Each of the integrations is checked by an automated build (that includes the test) for detecting integration errors faster.

“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.” — Martin Fowler, Chief Scientist, ThoughtWorks

Developers can frequently commit to a shared repository with the help of a version control system such as Git. They can choose to run local unit tests on their code before each commit as a mark of added verification layer before integrating. A CI service automatically builds and runs unit tests on the new code alterations for immediate identification of any errors.

With Continuous Delivery, code alterations are automatically built, tested and pushed to production. Continuous Delivery expands upon Continuous Integration by deploying all code alterations to a test environment and/or production environment after the build stage.

Key practices that form an effective Continuous Integration

  • Single source repository: A decent source code management system should be in place.
  • Build automation: Automated environments for builds are a common feature of systems that ensure that you can build and launch your system using a single command.
  • Self-testing: Automated tests in the build process can help in catching bugs swiftly and efficaciously.
  • Daily commits: By committing to the mainline every day, developers can correctly build their code including passing the build tests.
  • Integration machine: Regular builds should be happening on an integration machine and the commit should be considered done only if this integration build succeeds.
  • Immediate fix of broken builds: The integral part of doing a continuous build is that if the mainline build fails, it should be immediately fixed.
  • Rapid feedback: It is of consummate importance to keep the build fast and provide rapid feedbacks.
  • Test environment: Always test in a clone of the production environment.
  • Finding the latest executable: Anyone involved in a software project should get the latest executable easily and be able to run it for demos or exploratory testing.
  • See the state of the system: Everyone should be able to see what’s happening with the system and the alterations that have been made to it.
  • Deployment automation: You should have scripts that will let you deploy the application into any environment easily.

Continuous Integration Workflow

  • At first, developers check out code into their private workspaces
  • When performed, commit the alterations to the repository.
  • The CI server monitors the repository and checks out alterations when they occur.
  • The CI server builds the system, runs unit and integration tests, releases deployable artefacts for testing
  • The CI server assigns a build label to the version of the code which was just built by it and informs the team of the successful build
  • The CI server alerts the team members if the build or tests fail
  • The team members immediately fix the issue
  • The team continues to integrate and test throughout the project

Responsibilities of the team members

  • Check in frequently
  • Do not check in broken code, untested code or when the build is broken
  • Do no go home after checking in until the system builds

Continuous Integration tools

A development team uses CI software tools for automating parts of the application build and constructing a document trail. The following are examples of CI pipeline automation tools:

  • CircleCI is a continuous integration platform. When connected to a Drupal site, alterations made in version control in code repository such as GitHub alert CircleCI to start the build of the application and execute predefined testing suite.
  • Travis CI is similar to CircleCI which integrates with GitHub, Bitbucket, and other applications. It creates application builds and runs testing suites when code alterations are pushed.
  • Jenkins is an open source automation server installed and handled by the user unlike platform services like CircleCI and Travis CI. It is extendable with plugins and works well with Git. It lets you do a wide range of configurations and customisation.
  • The open source GitLab repository and platform can run unit and integration tests on several machines and can split builds to work over numerous machines for decreasing execution times.
  • JetBrains TeamCity is an integration and management server for enabling developers to test code before they commit alterations to a codebase. It features Build Grids which allow developers to run several tests and builds for different platforms and environments.

Merits of Continuous integration

Illustration showing a number of small circles over the circumference of a larger circle to explain Continuous IntegrationSource: Apiumhub

Eliminates the blind spot

Deferred integration is troublesome as it is an arduous task to predict how long it will take to do a project or even worse how far are you through the process. So much so that you are putting yourself in a blind spot at one of the critical parts of a project. One of the most significant merits of Continuous Integration is minimised risk. With CI, there is no long integration and it completely eliminates the blind spot. You will know where you are, what is working and what is not, and the outstanding bugs that you have in your system.

Easy bug detection

CI does not entirely remove bugs but makes it easier to detect it faster. Projects with CI tend to have dramatically fewer bugs both in production and in process. The degree of this merit is directly proportional to how good your test suite is.

Frequent deployment

CI promotes frequent deployment which lets your users get new features more rapidly, to provide more rapid feedback on those features and collaborate more in the development cycle.

Continuous Integration for Drupal

DrupalCon Dublin 2016 had a presentation which showed how you can leverage the Jenkins 2 pipelines for implementing Continuous Integration/Deployment/Delivery for the Drupal site while taking care of the principles like Infrastructure as Code, Configuration as Code, DRY (Don’t Repeat Yourself) and Open/Closed principle (from SOLID principles).

[embedded content]

 

The process that was followed in the presentation required pushing a commit into self-hosted (Gitlab) or private Github repo. It involved building the doc root from the various sources, deployment procedures, auto-tests on servers and everything was done in the same pipeline configured as separate stages.
 
It showed the auto-generation of deploy pipelines for each branch/state like development, staging or production configured. It utilised different approaches for governing code structure such as Composer-based workflow and ‘all-code-in-repo’ solution in the same doc root. Auto-checking that code was delivered to the server prior to the start of drush deploy procedures and testing.

The project team can have their own deploy scripts

Universal deploy script was used that will be useful for any project. Additional project-specific deploy scripts - DRY (or override) basic deploy script - was leveraged which could be useful when you delegate this part of the responsibility to the different team. You can control what drush commands or command options can be used for certain projects, that is, the project team can have their own deploy scripts.
 
Configuration as a code on both the Jenkins side and the Drupal side was performed. On the Jenkins side, all Jenkins jobs (pipelines) was stored as code in Git and regenerated in case of code alterations with the assistance of Job DSL. On the Drupal side, every configuration alteration was performed in code and then processed on Production servers during code deploys.
 
It showed auto-creation of URLs and databases on hosting platform based on multisite setup. It displayed automated backups before code deploys, copied whole sites inside doc root or between different doc roots with one click and added custom actions for offering additional functionality specific to the projects.

Market trends

The Forrester Wave™: Continuous Integration Tools, Q3 2017 delineated the 10 providers that matter most and how they stack up.

Infographic showing a quarter of a circle inside a box and several smaller circles inside it to depict Continuous Integration tools


A report on Markets and Markets stated that the CI tools market size is expected to grow from USD 483.7 million in 2018 to USD 1139.3 million by 2023 at a Compound Annual Growth Rate (CAGR) of 18.7% during the forecast period.

A study by Data Bridge Market Research states that major players operating in the global continuous integration (CI) tools market are Atlassian (Australia), IBM (US), Microsoft (US), Micro Focus (UK), CA Technologies (US), Cloudbees (US), AWS (US), Puppet (Oregon), Red Hat(US), CA Technologies (US), Oracle (US), Micro Focus (UK), SmartBear (US), Jetbrains (Czech Republic), CircleCI (US), Shippable (US), Electric Cloud (US), V-Soft Technologies (South Africa), BuildKite (Australia), TravisCI (Germany), AutoRABIT (US), AppVeyor (Canada), Drone.io (US), Rendered Text (Serbia), Bitrise (Hungary), Nevercode (UK), and PHPCI (Belgium) are among others.

Conclusion

Software development can be drastically improved with the incorporation of Continuous Integration resulting in better team collaboration, reduced risk, and faster delivery. Drupal-based projects can reap the merits of CI tools. With Drupal being a huge perpetrator of digital innovation, implementing Continuous Integration in Drupal projects is viable.

OpenSense Labs has a pool of Drupal experts who have been a force to reckon with when it comes to enabling digital transformation dreams of enterprises with its suite of services.

Contact us at [email protected] to know how can you leverage continuous integration for Drupal projects.

Oct 19 2018
Oct 19

Digitisation has altered the game for content providers. Customers - whether businesses or consumers - look for bite-sized pieces of content delivered to their chosen interface anywhere and anytime. Content creators continuously need to rethink and rewire how they disseminate content across channels due to the proliferation of digital platforms, the variety, and granularity of media, and the ever-shorter attention spans of customers. And so arises the need for a Content as a Service (CaaS) solution.

A hand holding a sticker resembling a fish with Be Content written on it and real fishes in the background


The democratisation of content and the entry of social media and the technology giants into the content business are erasing the divide between media and entertainment market segments. This is building a new ecosystem that will be driven by content-as-a-service delivery models. Drupal can offer a magnificent CaaS solution for the organisations looking to distribute content on screens, websites, mobile apps, IoT devices and beyond.

A Peek at CaaS

An illustration showing the Content as a Service workflow with icons like mobile, desktop, house lock, shopping cart, watch and loudspeaker.Source: Bloomreach

CaaS is an architectural pattern that completely decouples the content authoring process from how it is used. Traditional CMS offers a single software to separate the data layer from the presentation of said data. Even though the presentation of the data is separated, it is still attached to the technology, delivery channels, and the capabilities supported by the software. CaaS comprises of a backend CMS that provides content authoring capabilities with APIs for delivering content to external systems.

CaaS is an architectural pattern that completely decouples the content authoring process from how it is used.

An efficacious content-as-a-service model enables enterprises to store content in a form and with the sort of detail which makes it easier to discover, repurpose, transform, and transmit. Today, service providers can leverage their application programming interfaces (APIs) as platforms for disseminating content.

Simultaneously, organisations must consider the level of granularity that is needed to store and expose units of content in the most effective manner. They should track the business costs generated by individual units of content so that their content supply can be refined and new business models can be developed. Even though technology constraints must be duly assessed, content providers should understand their content’s ‘lowest common monetisation denominator’ (LCMD) and the returns on content assets.

Executing content as a service

CaaS is a paradigm for delivering the right amount of content to the right kind of customer at the right time via the right channel. That is:

  • Content is enough to meet the demands of the customers
  • Content is personalised
  • Content is delivered accurately when the customer needs it. Updates are done in real-time.
  • Content is delivered on the platform of choice at the right time and then swiftly and endlessly transferred from one platform/ device to another.

A perfect CaaS model is integrated with numerous services that connect to a customer-facing platform and expose units of content on demand. These can constitute music on Apple Music, books and magazines on Amazon Kindle, or shows on Netflix. The ubiquitous nature of the IoT is expected to make CaaS indispensable as all types of data are gathered by big data platforms and made available to application developers.

APIs are the drivers for most “X-as-a-service” ecosystems and content-as-a-service is no exception to this
A graphical representation showing the the growth in Web APIs with a blue-coloured regionSource: Bloomreach

With the increase in platforms, formats, devices, languages and locations for exposing content, the ease, speed, and efficacy of governing and delivering it must also increase. APIs can transmit data to and from any destination faster and with cost-effective ways. In the API economy, APIs are developed like products for supporting new business models. An API strategy is a collaborative effort among product and technology teams to keep a digital business strategy on track. APIs are the drivers for most “X-as-a-service” ecosystems and content-as-a-service is no exception to this.

The value of CaaS

A linear flowchart showing the content value chain with icons resembling plus symbol and a person to describe the value of CaaSSource: Cognizant

The ability to precisely identify the smallest unit of content that can be stored autonomously and delivered profitably is the foundation of any CaaS model. This can be referred to as the lowest common monetisable denominator (LCMD) of content which can be tracked, tagged and reused. Through taxonomy and semantics, enterprises can store content at the LCMD level and develop an aggregate or smaller levels of the data on demand.

So once the organisation identifies the LCMD of content the evaluation can be done on the returns from pieces of content created at that granularity, that is, returns on a content asset (RoCA).

When can you use CaaS?

Following are the scenarios where you can utilise the capabilities of CaaS:

  • Mobile applications: Alterations to mobile applications, most often than not, needs the application to be resubmitted to a digital distribution platform vendor like Google or Apple for the approval. CaaS system enables businesses to alter the content in these applications without having to change the application.
  • Multiple channels: CaaS enables business users to deploy the same content to several delivery channels via a singular system rather than having to maintain different systems for different channels.
  • UX flexibility: Being independent of the presentation layer, designers can freely use any technology to develop their UX and are not tied to technologies or components supported by the CMS. Javascript frameworks, that evolve at their own pace, provides developers with greater UX flexibility.
  • AI-based application: Leveraging chatbots and other AI-based applications, it is easier for robots to consume content via an API.

Drupal as Content as a Service

Flowchart showing circles and boxes illustrating workflow of Drupal as Content as a ServiceSource: Dries Buytaert’s blog

If you want to enable your frontend developers to create engrossing customer experiences, Drupal’s content-as-a-service approach allows you to think outside the page-based mentality. Drupal’s CaaS solution helps in delivering reusable, future-proof content seamlessly by decoupling the back and front ends where needed.

Moreover, frontend developers can develop better experiences with Drupal’s presentation-neutral content and RESTful API and leverage tools like Angular, Ember, Backbone and many more. Ingestion of content from third-party content, for example, from aggregators and syndicators, to bring content into your Drupal environment can be done which can be disseminated to any channel. With Drupal’s CaaS capability, content is easily consumed by other websites and application that you choose.

It has all been possible because of the amazing work that is going on in the Drupal Community’s API-first initiative. It is actively working to advance existing and new web services web services efforts thereby making Drupal an excellent CaaS and optimal for developers. Through web services like JSON API and GraphQL or the tooling that accelerates headless application development like the Waterwheel ecosystem, Drupal as a content-as-a-service is great for developers.

Drupal is stupendous for both editors and developers

Drupal is stupendous for both editors and developers. The biggest advantage that Drupal has over its headless competitors is that it can be an amazing CMS for content editors to give them control over the presentation of their content and a rich headless CMS for enabling developers in building huge content ecosystems in a single package.
 
With Drupal perpetually powering more and more websites, it is also being extracted to its full potential in order to serve content to other backend systems, native applications, single page applications, and even conversational interfaces simultaneously.

Conclusion

As digital transformation accelerates, content providers are altering the nuts and bolts of their content activities. As more content is delivered as a service through a myriad of APIs, more data will get generated thereby assisting content providers in creating more precise business models.
 
Content as a service is like a treat for the developers giving them maximum flexibility in their pursuits of digital innovation. Drupal as a CaaS has been offering a great digital experience to both content editors and developers alike.
 
Drupal experts at Opensense Labs have been powering digital transformation of businesses through Drupal development.
 
Contact us at [email protected] to build great digital experiences using Drupal as Content as a Service.
 

Oct 18 2018
Oct 18

You run, you fall and you rise again with your ambitious endeavours of attaining supreme fitness. With so much going around in your own life, when you have to take care of your grandmother and monitor whether her insulin intake is right on track or not, it can prove to be a formidable task. Healthcare technologies have advanced to a whole new level and something like a smart wearable equipped to perform automated monitoring of diabetes can be of immense help.

A man tying shoelaces at the side of the road


As the pace of change accelerates, how can the healthcare industry move ahead and stay relevant with the changing demands? No matter what their size is, healthcare organisations find it a strategic imperative to answer this question. The velocity and scope of technological advancements are blurring the lines between healthcare and technology thereby redefining traditional MedTech and fundamentally altering business models.

With more healthcare technologies offering a new perspective for the organisations, Drupal’s stupendous web content management and its flexibility in integrating with healthcare technologies make it a remarkably meritorious choice for your digital innovation plans. So, what are some of the healthcare technologies doing rounds in recent times?

Healthcare technology trends

Technological innovation is giving different dimensions to what healthcare organisations can achieve

Whether it is the business and administrative side of things or the direct patient care, technological innovation is giving different dimensions to what healthcare organisations can achieve. Here are some of the trends in the healthcare industry that are making a humungous impact:

IT security

Healthcare enterprises are often the targets of sophisticated, well-coordinated cyber attacks because of the depth of information stored by healthcare providers. A study by Beazley Group states that 45% of the ransomware attacks in 2017 targeted healthcare organisations.

A graphical representation showing the number of reported breaches in healthcare industry


This has created a pressing need for better IT security. Healthcare enterprises are responding by investing in advanced security technologies like advanced data encryption, better data backups, and real-time security platforms leveraging Artificial Intelligence (AI) to detect and curb threats before they start posing serious issues.

Advanced Training Tools

Advanced healthcare training supplies are fast spreading in the marketplace to prepare students, residents and other inexperienced healthcare professionals with safe and efficacious environments to learn. These comprise of things like ECG simulators, live AED units, and bleeding control training kits.

Telehealth

Telehealth and telemedicine are becoming a significant part of the digital health transformation. For instance, Digital health lets the elderly to age and live in their own homes using technology like fall-detection monitors. Tele-mental and Tele-behavioural health services are another healthcare technology innovations that are blooming.

Artificial Intelligence

AI has the ability to completely metamorphose the healthcare industry in the coming years. It can streamline tasks like scheduling, timesheet entry, paperwork, Electronic Health Records (EHR), accounting and the diagnosis of patients.
 
For instance, chatbots can prove to be a great application point. These AI-powered software mechanisms can assist healthcare providers to cut down on the time-intensive nature of patient communication and simplify any tasks that do not require direct human intervention. Advanced chatbots, which are also referred to as conversational chatbots, can discuss in-depth health issues with patients to offer the best possible treatments that are available. For example, IBM Watson is helping doctors in providing advanced treatments.

[embedded content]


Internet of things

A study by Rock Health states that a staggering amount of $3.5 billion was invested into 188 digital health enterprises in the first quarter of 2017 and the number of smart wearables is going to reach 34 million by 2022.

Medical wearable devices are one of the most promising IoT devices that have the potential of offering healthcare teams with valuable data around the clock no matter if the patient is at home or outside of the practitioner’s direct care. Some of the exciting application constitutes cardiac monitoring, infant monitoring, fitness tracking, and pain management.

Big data and EHR

One of the most vital things in recent times is an Electronic Health Record which leverages the merits of Big Data. EHR stores all the health information of the patients electronically in the digital format that can be used by other information systems. It provides an option to the customer and the physician to have a permanent access to client data like cardiac waveforms, chronic diseases, diagnostic and previous prescriptions.
 
An EHR can improve the interaction between doctor and patient for more productive delivery of care. EHR minimises the number of papers that would be needed when visiting physicians.

Augmented reality and Virtual reality

The arrival of virtual reality and augmented reality solutions have also benefitted the healthcare technologies. From educating new students to planning procedures, the field of AR and VR has a lot to offer.
 
For instance, AR can allow medical students to interact in a really intuitive way with a 3D representation of the body. Another example is the AR app which was developed by Pixelbug that gave a better understanding of medical devices and their mechanisms for the physicians.
 

[embedded content]

 

Also, Maplewood Senior Living in Connecticut has utilised VR headsets to work with individuals to address concerns ranging from dementia to cognitive impairments.

[embedded content]


Coming together of Drupal and Healthcare technologies

Drupal, being an open source CMS, powers healthcare organisations in controlling costs and provides deeper patient and consumer engagement with information thereby improving people’s lives.

Drupal helps in safeguarding patient data with its security-focused framework

Drupal gives the extensibility to healthcare organisations by enabling them to integrate platforms and also help in the addition of new functionality with third-party technology. It helps in safeguarding patient data with its security-focused framework. You can customise the user experience to deepen patient engagement and alleviate provider satisfaction.

Some of the applications that show the capabilities of Drupal integration with healthcare technologies are given below:

Smart Wearables

DrupalCon Nashville 2018: Driesnote had a conversational session between Rebecca Pilcher / RyeBurd (Director of Marketing at Drupal Association) and Dries Buytaert (Project lead of Drupal). Rebecca shared an interesting story that threw light on how a smart wearable powered by Drupal helped to control Diabetes and track the intake of insulin levels.

[embedded content]


When Rebecca was being diagnosed with Type 1 Diabetes, an Omnipod insulin pump and a CGM (Continuous Glucose Monitor) helped her handling diabetes. A CGM tracks blood sugar patterns and an Omnipod insulin pump gives more flexibility in her insulin intake routine.

So how does Drupal come into play here? Dexcom, which is the brand of CGM, has one of its platforms powered by Drupal and Omnipod’s website is built on Drupal as well.

Five arrows forming a circle to explain how Drupal platform powers Omnipod and DexcomSource: Rebecca Pilcher's Blog | Medium

Drupal and EHR Integration

Integration of Drupal with the EHR system can help in creating an excellent system with an astounding web content management capabilities coupled with the innate strength of EHR for patients’ documents management.

A digital agency showed that Drupal has the capabilities to layer on top of several EHR systems within a medical group and compile the data into one physician portal. Drupal’s extensibility enables it to take on sophisticated integrations through numerous feeds from API calls, XML or JSON feeds and RESTful APIs.

Most current EHRs output data in HL7 (Health Level 7) delimited text files. HL7 has upgraded to a new protocol Fast Healthcare Interoperability Resources (FHIR) which leverages RESTful APIs and can make clinical modelling and system integrations less intricate.

Through integration between Drupal data-layer and an EHR via RESTful API connection, interoperability can be improved thereby empowering your staff to make use of critical data. Breaking down the data silos lets the healthcare delivery systems to evolve from a reactive diagnostic model to a proactive preventative model.

With the help of secure access management, Drupal can be configured at granular levels to data security and simultaneously access can be provided to a user based on role. Leveraging role-based provisioning, Drupal can surface a focussed view of critical data that dwells behind a firewall in a HIPAA secure environment.

Using specific EHR authorisation requirement, Drupal can be configured to tap into the database through web services integration and at the same following strict user access permission controls. Thus, this helps in protecting the data at all the times.

Genetic Information Management

Flowchart showing icons representing physicians shows the working of Genetic Information Management SuiteSource: bio.logis

Bio.logis offers Genetic Information Management Suite (GIMS) which helps in managing human genetics information for making genetic code accessible and usable. It gives genetic data to allow decision making with a medical value. GIMS comprises of a web-based authoring and content management system based on Drupal which is globally connecting expert knowledge in addition to genetic reports engine.

GIMS is based on Drupal and is globally connecting expert knowledge in addition to genetic reports engine

A multilingual portal and mobile applications offer access to medial-ready knowledge for physicians, patients and healthy clients for supporting distribution and scaling of genetics advice. The ‘pharma.sensor’ online application offers notions about adjusting drug therapies to individual genetic makeup.

Conclusion

With technological advances, healthcare technologies have had a massive makeover. Digital health services are leveraging emerging technologies and this has benefitted healthcare industries. Drupal has been pioneering digital innovation strategies in the healthcare with its enormous capabilities to integrate with disrupting technologies.

Providing ambitious digital experiences to the partners has always been the objective of the Drupal experts at Opensense Labs and we have been doing that through a suite of services that we offer.

Ping us at [email protected] to build great digital solutions through the integration of Drupal and the healthcare technologies.

Oct 16 2018
Oct 16

FinTech and the disruption it can cause to the traditional banking systems is now a hot topic of debate in the banking conferences. Global venture capital funds are super-bullish on this front and are accentuating investments in the FinTech companies. Thanks to the burgeoning demand of FinTech in recent times, more crowdsourcing platforms are letting artists or fledgling entrepreneurs to crowd-source capital from a large constituency of online donors or investors.

A sheet of paper with Finance written in bold letters alongside relevant icons and laptop, notebooks, pen, and plant pot placed around it


For instance, peer to peer (P2P) lending, the high-tech equivalent of borrowing money from friends, helps in raising a loan from an online community at a mutually negotiated interest rate. Also, digital wallet providers allow people to zip money across borders even without any bank accounts using handheld devices.

Amalgamation of these technologies, which goes under the umbrella term FinTech, is expected to metamorphose the way all of us use banking and financial services. And Drupal can act as the perfect content management framework for building a great FinTech platform.

A portmanteau of financial technology

[embedded content]


Financial technology, which is referred to as FinTech, illustrates the evolving intersection of financial services and technology. FinTech allows people to innovate while transacting business ranging from digital money to double-entry bookkeeping.

The lines between technology and the financial services are blurring

Since the advent of the internet revolution and later the mobile internet revolution, financial technology has grown multifold. Originally referred to   technology applied to the back office of banks or trading firms, FinTech now caters to a broad variety of technological interventions into personal and commercial finance.

According to EY’s FinTech Adoption Index, one-third of consumers leverage at least two or more FinTech services and more and more of these consumers are also aware of FinTech being a part of their daily lives.

FinTech encompasses the startups, technology companies or even legacy providers. Startups use technology to offer existing financial services at affordable costs and to provide new tech-driven solutions. Incumbent financial enterprises look to acquire or work with startups to drive digital innovation. Technology companies offer payment tools. All these can be seen as FinTech. Surely, the lines between technology and the financial services are blurring.

Origins of FinTech

infographics showing the history of FinTech with relevant icons against each yearSource: 16Best

In broad lines, the financial industry has seen a gargantuan shift over the years with the way it is leveraged in the times of rapid technological advancements. 16Best has compiled a brief history of FinTech which shows how the gap between financial services and the technology has got bridged over the years.

The gap between financial services and the technology has got bridged over the years.

In 1918, the Fedwire Funds service began offering electronic funds transfer. And while the Great Depression was ravaging the world’s economies, IBM provided some solace with its 801 Bank Proof Cach Machine that offered the means for faster cheque processing. Subsequently, credit cards and ATMs came into existence in the ‘50s and ‘60s.

In 1971, first all-electronic trading emerged in the form of NASDAQ. And in 1973, the SWIFT (Society for Worldwide Interbank Financial Telecommunications) built a unified messaging framework between banks for handling money movement.

1997 was the year which saw the emergence of mobile payment through Coca-Cola Vending Machine. Fast forward to 2000s and the present decade, a slew of innovations crashed into the finance sector with the introduction of digital wallets, contactless payments and cryptocurrencies.

FinTech is definitely re-inventing a quicker and more durable wheel as the world continues to witness a superabundance of new ventures refining financial services with technology.

Merits of FinTech

Bar graph showing statistics on different areas of FinTech


Financial technology has taken the financial services to a whole new level with a cluster of merits that it offers. Here are some of the major benefits of FinTech:

  • Robo Advisors: They are one of the biggest areas of FinTech. These online investment services put users through a slew of questions and then relies on algorithms to come up with an investment plan for them.
  • Online Lending: It encompasses all aspects of borrowing from personal loans to refinancing student loans which improves money lending.
  • Mobile payments: There is a growing demand for mobile payment options with the stupendous rise of mobile devices over the years.
Bar graph showing statistics on global mobile payment marketTotal revenue of global mobile payment market from 2015 to 2019 (in billion U.S. dollars) | Statista

Personal Finance and Savings: A plethora of FinTech organisations in the micro saving department have been helping people to save their change for rainy days and a whole lot of them rewarding customers for doing so. For instance, Digit allows you to automate the process of saving extra cash.

Bar graph showing statistics on personal financeSource: Statista

Online Banking and Budgeting: Online banks like Simple reward users for using their ‘automatic savings’ service and also offer a cost-effective option over a traditional bank. Leveraging online tools, they assist users to plan budgets and handle their money smartly from their mobile devices with minimal effort to meet their savings goals.

Insurance: New insurance models have been strengthening the FinTech space. Metromile, an insurance model, sells pay per mile car insurance.

Bar graph showing statistics on Insurtech industrySource: Statista

Regtech: Regulation Technology, which utilises IT to enhance regulatory processes, is one of the significant sectors where numerous FinTech app ideas have come into light around this domain. Regtech is useful for trading in financial markets, monitoring payment transactions and identification of clients among others. For instance, PassFort helps in standardising the online compliance processes.

How is Drupal powering FinTech?

Organisations offering FinTech solutions need to maintain a robust online presence. Drupal has been powering the landscape of FinTech with its enormous capabilities.

The launch of TPG Capital

Homepage of TPG Capital with a timelapse image of running cars on the road and trees in the background


TPG Capital is one of the major enterprise-level FinTech companies which has leveraged the power of Drupal 8.

One of the primary objectives for TPG’s marketing circuit was to harness the Drupal’s flexibility as a digital empowerment platform. They wanted the ability to make alterations to content on the fly and try out new messaging approaches. Simultaneously, the financial industry’s stringent legal and regulatory requirements called for a flexible TPG platform that would meet the specific needs of the sector thereby offering top-notch security.

Drupal came out as the right choice when it came to the CMS that would facilitate the TPG’s goal for mirroring their cutting-edge business practices and incorporate modern website design and branding.

A digital agency built a responsive, mobile-first site. It featured newer CSS features like Flexbox and CSS animations and minimised the site’s dependence on Compass by introducing auto prefixer. Moreover, Drupal 8 version of Swifttype was built for the search component and contributed back to the Drupal Community.

The launch of Tech Coast Angels

Homepage of Tech Coast Angels with two people working on their laptop


Tech Coast Angels are one of the biggest angel investment organisation in the US. 

Tech Coast Angels selected Drupal as their CMS of choice for its excellent features vis-à-vis user authentication, account management, roles and access control, custom dashboards, intricate web forms for membership and funding application, workflow management and email notifications.

Performance improvements were made by a digital agency to both the Drupal application and the server environments which brought down the costs to a huge extent by minimising the hardware requirements necessary to run the Drupal codebase in both staging and production environments.

With Drupal being one of the most security focussed CMSs, it helped a great deal in making amendments related to security of the site. Views caching were enabled and unnecessary modules were turned off on the production server.

Market trends

Bar graph showing global investments activity in FinTech companies


The Pulse of FinTech 2018 by KPMG shows that global investments activity in FinTech companies has been steadily rising with 2018 turning out as the most profitable year. It is only going to grow more in the coming years.

Infographics showing bubbles inside a box on the left and description on the right about the size of bubbles with respect to FinTech companies

In the coming years, the main trends in the asset and wealth management, banking, insurance and transactions and payments services industries can be seen in the illustration above.

Conclusion

FinTech is a great alternative to traditional banks. FinTech excels where traditional banks lag behind. In addition to offering robust financial services leveraging technological advancements, organisations offering FinTech solutions need to have a superb digital presence to offer a great digital experience. Drupal can be an awesome content store for an enterprise-level FinTech platform.

Drupal experts at Opensense Labs have been powering digital transformation pursuits of organisations offering a suite of services.

Contact us at [email protected] to build a FinTech web application for your business using Drupal.

Oct 14 2018
Oct 14

First came the physical servers which were followed by the virtual machines and now the developer ecosystem is rapidly adopting container and serverless computing. One of the biggest challenges that physical servers pose is their management which virtualisation resolves by emulating the real system thereby streamlining the governance of different functions. Now, container and serverless computing are extrapolating the benefits to a whole new level for the developers. And this is where Kubernetes comes into play.

black and white picture of cables over a machine


Google’s Cloud Next 2018 summit held in San Francisco emphasised upon the company’s active involvement in over thousands of open source projects including Kubernetes. By the time Kubernetes was introduced in Google Cloud, it had more than 20,000 contributors which made it one of the fastest moving projects in the open source history. Kubernetes can be a huge asset in the deployment of projects based on another open source framework - Drupal. But before we plunge into that, let’s traverse along the short timeline of Kubernetes’ formation.

Timeline of Kubernetes formation

Kubernetes was originally developed by a team at Google which has been open-sourced since its launch and is managed by a large community of contributors. RisingStack has compiled an interesting timeline which traces the history of Kubernetes with the birth of the Borg system. 

Around 2003-2004, Google introduced the Borg system, a large-scale internal cluster management system, which was followed by the introduction of Omega cluster management system in 2013.

In the mid-2014, Google introduced the open source version of Borg in the form of Kubernetes. In the mid-2015, Kubernetes v1.0 was officially released.

2016 was the year when Kubernetes went mainstream

2016 was the year when Kubernetes went mainstream with more advanced releases, case studies, conferences, and the support for Windows Server and OpenAPI.

In 2017, big enterprises started adopting and supporting Kubernetes with Microsoft, Oracle, Google, IBM, and Amazon coming up with more container orchestration methods using Kubernetes.

A Closer Look at Kubernetes

A blue septagon with a white sailor wheel inside it and kuberneter written


An open source system, Kubernetes is used for handling containerized application across numerous hosts offering basic mechanisms for deployment, maintenance, and scaling of applications. It is hosted by the Cloud Native Computing Foundation (CNCF). CNCF was formed through the partnership of Google and Linux Foundation. It aims to develop sustainable ecosystems CNCF helps in fostering a community of top-notch projects that orchestrate containers as part of a microservices architecture.

Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation - Kubernetes documentation

Kubernetes enables you to deploy containerised application swiftly and predictably and can scale containerised applications on the fly. It seamlessly rolls out new features to your containerised applications and optimises your hardware.

The significant features of Kubernetes include:

Deployment of containers and management of rollout control: With Kubernetes, you can describe your containers and define how many you want in a single deployment. It can govern the running of those containers (even across multiple hosts) and also manage changes like updating images, changing variables etc. to your containers.

  • Resource Bin packing: This lets you declare minimum and maximum computer resources (CPU and memory) for all the containers.
     
  • Service delivery: It has the provision of built-in service delivery for the automatic exposure of containers to the internet or other containers in the Kubernetes cluster.
     
  • Autoscaling: It automatically performs load balancing of traffic across matching containers.
     
  • Heterogenous clusters: It helps in developing a cluster with a mixture of virtual machines, on-premises servers, or bare metal in the company data centre.
     
  • Storage support: It has the provision for persistent storage support with support for Amazon Web Services EBS, Google Cloud Platform persistent disks, and many more. Vendors like Red Hat, Dell, NetApp and EMC offer persistent storage for Kubernetes.
     
  • High availability: It has very high availability such as multi-master and cluster federation enabling the linking of clusters together for load balancing.

Docker vs Kubernetes

Note that Kubernetes is not a replacement for Docker but it is for some of the top-of-the-line technologies that have emerged around Docker.
 
One of those technologies is Docker Swarm which is an orchestrator bundled with Docker. It is possible to leverage Swarm instead of Kubernetes but Docker Inc. has chosen to make Kubernetes a part of the Docker Community and Docker Enterprise editions moving forward.

Kubernetes is significantly more intricate than Docker Swarm

Kubernetes is not a drop-in replacement for Swarm. Kubernetes is significantly more intricate than Swarm and needs more work to deploy. But again, the work involved with the container orchestration using Kubernetes would provide a big payoff in the long run - a more governable, resilient application infrastructure. Docker Swarm is a good choice for the development work and smaller container clusters.

Deploying Drupal using Kubernetes

Bay Area Drupal Camp 2017 had a presentation that exhibited the deployment of Drupal leveraging Kubernetes. A digital agency built a Lagoon platform that builds cloud web hosting solutions for decoupled Drupal with Node.js features. It showed that for scaling Drupal to a plethora of annual page views, decoupled CMS architecture enables the deployment of Docker, Kubernetes and OpenStack solutions together in data centres.

[embedded content]


Lagoon platform was created for optimising hosting for Decoupled Drupal sites on the public cloud using OpenStack. With Lagoon, Drupal admins can build containers for PHP with NGINX, run the MYSQL or MariaDB installation in another container with Node.js configured on a third set.

Containers for Redis, Varnish Cache and Solr complete the install with the management of load balancing, page caching and auto-scaling web server nodes to match traffic rates. Lagoon relies upon Red Hat Enterprise Linux and the OpenShift platform in addition to the Original Community Kubernetes Distribution (OKD). System admins would have to use Jenkins, Ansible, Vagrant, TravisCI, Puppet, Docker, and CircleCI for configuration.

Programmers and developers would have to be adept with GraphQL, React, Apollo, Next.js and Prometheus. Lagoon leverages Alpine Linux for container installs from Docker images. Content Delivery Network (CDN) integration completes a different production route for anonymous traffic by geolocation thereby optimising datacentre hardware.

Workflow process with Lagoon involves reading the docker-compose.yml and creating disk images which set up the OS for web servers in containers. Then, disk images are pushed to an OS registry like GitHub or BitBicket. Using Ansible, the disk image is pushed to a git repository and commits are made to Node.js for testing. Lagoon deploys disk images from the git repository for Drupal web hosting requirement s in Kubernetes clusters.

Minishift can be leveraged to run OpenShift server administration on the desktop. Lagoon comprises of server-side rendering for Node.js and React on NGINX, running Drupal on NGINX in isolated containers individually. Then, Varnish Cache is used to handle HTML file transfers to users and CDNs.

Market trends

Two rectangular boxes divided by lines with each block showing percentages on the implementation of the Kubernetes solutionSource: 451 Research

A study conducted by technology research and advisory company 451 Research investigated containers adoptions by enterprises across the wide array of industries. It revealed that enterprises of all sizes are rapidly using containers and man are even deploying and governing their containerised workloads with orchestration software. 52% of the organisations gestured that they are running container management and orchestration software in production today and 71% of the respondents were using Kubernetes.
 
Another survey by Portworx Annual Container Adoption in 2017 included insights from 491 IT pros across a variety of industries and company sizes. It delineated that Kubernetes was the preferred option when it comes to container orchestration(shown in the graph below).

A bar graph with different coloured boxes to illustrate the adoption rate of different container orchestration toolsSource: Portworx

Moreover, a report on Transparency Market Research stated that “key drivers of the Kubernetes solutions market are the rapid growth of container orchestration, increase in investment by vendors, more focus on hybrid cloud and multi-cloud, an increase in adoption of Kubernetes by major players offering cloud computing”.

This report also stated that while North America accounts for the largest share of Kubernetes solutions market, Europe trails behind the second largest. Also, Amazon Web Services, Google Inc., Microsoft Corporation, Red Hat, Inc., Apprenda Inc., UnitedHealth Group, IBM Bluemix, Cisco Systems, Inc., Target, Oracle Corporation, Huawei Technologies Co., Ltd, CenturyLink, Inc. Kismatic, Inc., Heptio, Core OS, Datera, and NavOps are the major vendors.

Conclusion

Drupal as a great content store has grown exponentially due to the presence of its large and active community which is committed towards the perpetual improvement of Drupal to powering digital innovation. Kubernetes, also being an open source software, can of huge help in the Drupal deployment and has made rapid strides with colossal adoption rate among the big enterprises in recent times.

At Opensense Labs, we have been offering a suite of services to provide amazing digital experience to our partners.

Ping us at [email protected] to develop and deploy Drupal-based web applications leveraging the power of Kubernetes.

Oct 10 2018
Oct 10

Everyone has their own preference when it comes to different genres of music ranging from alternative rock and post-rock to trap rap and drone metal. Website traffic touches sky-high when a horde of music lovers remain glued to their screens to witness their favourite artists being awarded in this annual event of Grammy awards. Being a scalable and high performing space, the website of Grammy has coped with huge spikes in traffic with ease.

A speedometer in a peach coloured background


Website scalability is such a crucial aspect which has a huge say in the performance of digital firms. Drupal 8 and its capabilities lend better web performance. Being highly scalable, Drupal 8 helps in building a web application that is unfazed by the colossal spike in the internet traffic and scales tremendously. Grammy, powered by Drupal, has extracted the scalability features of Drupal to a great extent. Let's find out how.

The Significance of Website Scalability

58% of application/site owners overestimate their capacity levels: State of Web Readiness Report by Load Impact
Infographics with a heading, text, and four icons vertically lined up in a red background


A report from Load Impact has some interesting statistics on web performance.

  • 68% of respondents have encountered performance or stability issues with their website where the main reason was pointed towards the lack of resources.
  •  
  • 39% of e-retailers claimed that they incurred a financial loss due to performance or stability problems. In comparison to this, just 24% of the non-e-retailers claimed that they incurred money loss.
  •  
  • 98% of e-retailers believed that sub-two-second response time was essential. But the load time for e-commerce sites that were analysed in this report surpassed the desirable response threshold by a huge margin. The average was 7.9 seconds which is more than that for non-e-commerce sites.

Typically, 90% of your website’s response time is from frontend resources but this laters as your load and traffic enhances.

A graph with two curves illustrating frontend and backend load time


Questions that you can raise while determining ways of scaling:

  • Is your website or application performing acceptably with a minimum number of users on the system?
  • Is the website or application responding running faster with additional concurrent users? And if so, how many?
  • Are there hardware bottlenecks in the present system?
  • Is the website or application able to handle the increasing number of users/data?
  • What is the maximum amount of load the system is able to handle?

Is Drupal Scalable?

Drupal is a highly scalable CMS. If you want your site to grow and be amongst the busiest of online spaces, then Drupal can scale with your needs. Even if you are already popular and offer stupendous digital experience to the customers, Drupal is scalable to cope with the gargantuan amount of traffic to your site content.

Large enterprises love Drupal with the digital presence of big names like Grammy, Weather.com, Pfizer, Time Inc., Tesla, Puma, Princess Cruises, and many more powered by Drupal. Whether it is the extreme traffic spikes on certain occasions or the constant web traffic, Drupal handles all of that with utmost ease.

Drupal accommodates content growth and supports the most content-rich sites and experiences. It scales to govern more traffic, content, and users. So whether if you have one or over a thousand content contributors, Drupal can efficaciously cope with a monumental amount of visitors, content, and Drupal users.

Optimising Drupal Performance and Scalability

A superfast website significantly contributes towards the improvement of user experience, usability and engagement. Drupal 8 is one of the most efficient CMS for enabling blistering page speed.

A superfast website significantly contributes towards the improvement of user experience, usability and engagement.

Module management

Outdated modules can deter your efforts in speeding up your website. Updating every module enabled on your Drupal site can be beneficial.
 
It is also important to keep a record on used or no longer used modules. The number of Drupal modules installed on the site is directly proportional to the time taken for code execution thereby affecting page load time. Hence, uninstalling unwanted modules can improve execution time.
 
Furthermore, disabling the modules also add to the execution time of the code. So, a complete removal by uninstalling the unused modules would make the site faster.

Cache optimisation

Caching is an important feature that you can configure for enhancing your website speed. For advanced caching, Drupal comes with a great set of modules:

  • Internal Page Cache module assists in caching the web pages for anonymous users to enhance the speed for subsequent users.
  • Dynamic Page Cache module caches web pages for the anonymous and authenticated users.
  • BigPipe module lets users to swiftly see the unaltered, cacheable page elements while the personalised content is displayed next.
  • Redis module helps in integrating with the Redis key-value store thereby offering a tremendous cache system for static pages.
  • Varnish module allows you to integrate Drupal sites with an advanced and fast reverse-proxy system - Varnish cache- to serve static files and anonymous page views faster and at high volumes.
  • Memcache API and Integration module integrated Drupal sites with Memcached which helps in storing your data in active memory for a limited time period that makes the site faster to access.

Incorporation of Content Delivery Network (CDN)

CDN, Drupal module, assists in the integration of Content Delivery Network for the websites. It alters the file URLs thereby allowing the files like CSS, JavaScripts, images, videos, and fonts to be downloaded from the CDN instead of the web server. This helps in mitigating page load time and rapidly delivers web page components.

Usage of lazy loading

In traditional websites, all the images and content are preloaded into the web browser when someone accesses the site. Lazy loading loads these elements as soon as a user scrolls to view a content. Blazy, Drupal module, offers the functionalities of lazy loading and multi-serves the images to save bandwidth and server requests.

Image optimisation

Drupal 8 is loaded with image optimisation feature for setting the compression ratio of the images and fine-tune the page performance. Also, the size of the images for different screen sizes can be optimised in Drupal 8 which increases the page load speed.

Bandwidth optimisation

Optimising bandwidth refers to the aggregation of all CSS and JavaScript files to make them load together which ensures that all the page elements can be seen by the users almost immediately.

404 error management

When something on the site breaks to cause a 404 error, it can result in sluggishness. For instance, a failed image can hamper the performance of the site. Fast 404, Drupal module, utilises the resources better and whitelists files and checks pathways of problem.

Management of use of CSS and JavaScript

Avoiding overuse of CSS files and JS and adopting a minimalistic approach by keeping the code to a minimum can improve performance. Advanced CSS/JS Aggregation, Drupal module, can help in keeping a tab of your front-end performance by aggregating CSS and JavaScript files to improve speed.

Web hosting

It is of utmost significance that, while implementing every possible way of utilising the Drupal’s powerful capabilities, you select the best hosting provider that will decide your site’s ultimate speed, stability and security.

Scaling the server

In case, your server hardware is nearing its limits and you have optimised the site as much as possible, or you need a faster way of scaling than you can optimise, you can upgrade the server hardware in the following ways:

  • Scaling vertically: This is the simplest way of scaling the hardware. It refers to throwing more resources at the same server. In a cloud data centre, it may be as simple as upgrading the server size for more CPU cores, memory etc.
  • Scaling horizontally: This is a more intricate process than scaling vertically. It refers to adding more servers to separate the load. When done right, this can hugely minimise the load any single server receives.
  • Considering multiple servers: In case, you have multiple app servers for Drupal, you will require a method of deploying code to each server simultaneously. For instance, SaaS platforms like platform.sh and pantheon.io can handle the complete hosting setup for you but if you are doing it by yourself, you would need an rsync setup or git push to each of your servers etc. 

Up above the world so high: Drupal’s scalability for NASA

Flowchart showing the architecture of a website redesign with relevant iconsSource: Drupal.org

A digital agency migrated the website of NASA to the AWS cloud and onto Drupal to create a fully responsive and user-centric experience. Several AWS based Drupal CMS solutions for NASA were implemented for NASA for serving a plethora of needs ranging from nasa.gov to the Science Mission Directorate’s science.nasa.gov in both English and Spanish to a multisite platform and governance model for numerous Drupal applications serving groups across different NASA centres.
 
Nasa.gov and all of its subdomain components were migrated and relaunched which involved replacement of a closed source system. It comprised of more than 250000 pages and almost 3 TB of content.

Drupal in action

Drupal compressed the complete development timeline and also saved a lot of money in the process. Building with Drupal on the Amazon cloud ensured that NASA’s content is stored safely and scales with the content growth. With its user-driven APIs, dynamic host provisioning, infinite compute scalability and storage, and well-architected security architecture, Drupal and AWS together was the right fit.

Drupal compressed the complete development timeline and also saved a lot of money in the process.

Project highlights

  • Migration from proprietary, on-premise CMS system to an open source CMS in the Amazon cloud was performed without any service interruptions
  • Mobile-first approach was employed to the redesign of the site.
  • Headless Drupal in AWS cloud environment was built with security, performance and availability in mind.

Outcome 

Statistics shown on the right side in four blocks and a tab screen on the left with NASA homepage and a red paper bird on it.Source: Drupal.org

It is deployed in multiple AWS availability zones for redundancy handling approximately 500 content editors performing over 2000 content updates every day. On an average, it receives nearly one million page views a day and has handled peak loads of over 40,000,000 page views in a single day with a staggering and record-breaking 2,000,000+ concurrent users during NASA’s 2017 Total Solar Eclipse coverage.

Conclusion

Website scalability and performance is a significant aspect that ensures how well the digital business does during the busiest of times. Whether internet users throng at your website causing a sudden spike in traffic, or you are managing a popular service that witnesses a constant web traffic, Drupal scales with your needs.
 
We have been steadfast in our objective of offering an amazing digital experience through a suite of services.
 
Contact us at [email protected] to build a highly scalable Drupal site for your business.

Oct 08 2018
Oct 08

Big enterprises have been marching on towards the path of digital transformation. Disney, an entertainment giant, has advanced its digital transformation strategies by acquiring companies. By acquiring BAMTech, a media technology service provider, it can access the streaming technology instead of building it in-house. Spending billions of dollars on 21st Century Fox with the assets including famous characters from Marvel comics, it can connect directly with consumers instead of distributors and advertisers.

Illustration showing people sitting around a desk and working


Social media, cloud computing, data analytics, and mobility are dramatically altering the way companies operate. On the one hand, their synergy has led to easy-to-use products and services for customers, on the other hand, it has resulted in richer dividends for companies. Witnessing a positive correlation between business performance and the emerging technologies, organisations are fast-forwarding to digital transformation. 

Drupal, as one of the pioneering CMSs in powering digital innovation, can be highly fruitful for enterprises in their digital transformation endeavours. But before looking at Drupal’s prowess, how did the digital transformation of business models start coming into the picture?

Global connectivity shifts and empowerment of customers

A graph showing a straight line and a curve depicting the evolution of digital transformation


The emphasis and impact of the internet and global connectivity has shifted since the late 1990s to the 2010s. In the 1990s, only the enterprises in select industries like music, entertainment, and electronics were exploring digital products and services. Infrastructure providers led from the front in building out the information backbone for the efficaciousness and better productivity across finance, supply chain, and human resources.

In the late 1990s, the internet hype wounded up with a crash in 2000. But the evolution of consumer demand for digital products and services remained steadfast. As more customers were getting empowered with pervasive access to online information, along with a plethora of choices and channels, their expectations accentuated even more.

Now, the customers have become the primary force behind the digital transformation in all industries.

Digital Transformation in the driver’s seat

A flowchart showing boxes explaining building blocks of digital transformationSource: Hellosign

Digital transformation is the process of integrating digital technology into different aspects of the business that needs fundamental technological changes, different approach towards culture, operational upgrade, and value delivery.

Organisational change is the foundation of digital business transformation - Global Centre for Digital Business Transformation

For leveraging futuristic technologies and their increasing expansion into human activities, a reinvention of business is required by dramatically metamorphosing the entire business process and model.

Digital transformation demands a shift of focus to the edge of the enterprise and numerous agile data centres for supporting that edge. It also requires an enterprise to shed legacy technology that may be price-heavy to maintain thereby changing the company culture in order to support the push that acceleration that comes with the digital transformation.

Gartner’s IT Market Clocks for 2016: Digital Transformation Demands Rapid IT Modernisation states that 66% of the organisations doing digital transformation expect to generate more financial gains from their operations while 48% predict that more business will arrive through digital channels. Cited by 40%, it can empower employees with digital tools and 39% cited that it minimised business costs. To reap the rewards down the line, there is no better time to start upon your own digital transformation journey.
 
Major benefits of digital transformation for an organisation include:

  • Improvement of processes: Newer technologies permits businesses to automate simpler processes and remove the intermediaries in more intricate processes.
  • Finding newer revenue streams: Emerging technologies can open the doors for new profitable avenues that may not have been available for an organisation when they were first established.
  • Building personalised customer experience: Customers expect businesses to meet their individual needs and evolution of technology has deemed it fit enough to fulfil this very purpose.

Strategising digital transformation

Resolving the tension among the leaders

A piechart showing statistics on digital transformation leadership


The natural starting point in an effort to build executive alignment is to resolve tensions in the leadership group and distribute the ownership tasks in a planned manner.

Leveraging the intelligent edge

Infographic showing statistics on IoT with relevant piccharts and icons


The hottest thing in computing right now is ‘the edge’ also referred to as ‘the intelligent edge’. Think of it as a cluster of sensors deployed across industry and society. Vast amounts of sensor data have to be processed locally near the data source. The work must be done on-site if there is no time to send data to the cloud and wait for a response. That is why it is known as the intelligent edge. 
 
Getting the intelligent edge in businesses can make the process more efficient and effective and create a more pleasing environment.

Growing with the platform economy

Illustration showing logo of different companies to explain different types of platform economySource: Raconteur

Platform economy has transformed the way businesses think about innovation. Organisations can take advantage of this phenomenon where online marketplaces are storming market after market, connecting buyers and sellers and taking the friction out of commerce.

Signifying the security from the start

A bar graph showing statistics on top challenges impeding organisations from taking advantage of digital trends


When undergoing a digital transforming process in your organisation, it is always better to engage security people from the very beginning. It saves a lot of pain and backtracking later on

Reimagining your business right now

Four piecharts showing percentages on top drivers of digital transformation


In spite of the economic and political uncertainty, enterprises must seize the initiative and entirely reimagine themselves and the role technology plays for them. Such a need for constant change to be ahead of others in the business means the ‘digital transformation’ may give way to ‘digital evolution’.

Enabling digital tax transformation

An illustration in the shape of hexagon depicting digital tax strategy


Digital transformation can allow the tax professionals to rethink the way they work while offering exciting new opportunities. Digital technology in tax is quickly moving up the boardroom agenda as it affects enterprises both internally and externally. With more businesses going digital, governments and tax authorities can also adopt disruptive technology including advanced data-driven auditing techniques.

Transforming a whole economy

Horizontal bar graphs showing statistics on mobile and internet penetration


Digital technology is not only automating finance functions but the potential to grow business using artificial intelligence. For instance, the potential of a digital economy in India, world’s second most populous country behind China, is gargantuan with benefits for business and citizens alike.

How is Drupal 8 enabling digital transformation?

Drupal 8 has changed the web development landscape with its immense scope for enabling the digital transformation of an enterprise. Not only Drupal 8 does an astounding job to be a leading open source web content management system, but it is continuing to evolve with altering customer expectations.

Drupal 8 is continuously evolving with customer expectations

Some of the highlights are mentioned below:

Content creation

Drupal 8 authoring and theming systems are designed for ease-of-use and standards compliance. For instance, Drupal 8.6 adds support for remote media types thereby letting you to easily embed YouTube or Vimeo videos in your content. Moreover, the addition of Workspaces, experimental module, offers sophisticated content staging capabilities.

Easy installation

A table with rows and columns showing time to installation of different open source frameworksSource: Dries Buytaert's blog

Time taken for installing Drupal has been reduced considerably. You can install Drupal with the new Umami demo profile which exhibits some of Drupal’s powerful capabilities by providing an awesome website filled with content straight out of the box.

[embedded content]


Developer’s paradise

  • Developers can upgrade a single-language Drupal 6 or Drupal 7 website to Drupal 8 with the built-in UI.
  • Everything is fieldable in Drupal 8 thereby improving data modelling.
  • Drupal 8’s core improvements and APIs make it easier to create custom functionality on the basis of bi-directional data connections to handle and exchange content.
  • With mobile-first displays and responsive layouts, content can be deployed across platforms prepackaged for mobile devices.
  • Drupal 8 backend can handle content and be de completely decoupled from the front end and web applications.

Interoperability with adjacent technologies

Drupal 8 has a top-of-the-line interoperability with adjacent technologies such as CRM, Digital asset management (DAM), web analytics, marketing resource management, and multichannel campaign management (MCCM).

Security by design

Drupal is secure by design. The design of the Drupal is in such a way that it addresses all of the top 10 security risks of Open Web Application Security Project (OWASP).

A box with pointers showing list of OWASP 2017 security risks


With a proven record of being the most secure CMS, it beats the big players in the CMS market when it comes to being resilient to critical internet vulnerabilities. Drupal Security Team is steadfast in its objective of addressing security issues and offering timely fixes.

You can enable a secure access to your Drupal site as it has the in-built support for salting and repeatedly hashing account passwords when they are stored in the database. It helps in enforcing firm password policies, industry-standard authentication mechanisms, sessions limits, and single sign-on systems.
 
It offers granular user access control to give administrators full control over who can see and modify different parts of the site. You can even configure Drupal for strong database encryption in the top-notch security applications.
 
Its Form API makes sure that data validation is done which helps in preventing XSS, CSRF, and other malicious data entry. It also limits the number of times login attempts are performed from a single IP address to prevent brute-force password attacks. Its multi-layered cache architecture assists in mitigating Denial of Service (DoS) attacks.
 
Rightfully, a report from Sucuri shows that Drupal is best security-focussed CMS amongst the leading players in the CMS market.

Bar graph showing the statistics on Drupal securitySource: Sucuri

Drupal as an e-commerce platform

Drupal stands tall in the age of platforms offering a suite of Drupal commerce modules which can be leveraged to build e-commerce websites and applications of all sizes. While e-commerce solutions, most often than not, are built with an application mindset, Drupal commerce was built with a framework mindset emphasising on what you can develop with it.

Metamorphosis of the whole economy

Drupal can transform the whole economic landscape of a business. For instance, Drupal enabled digital transformation endeavours of TPG Capital which is one of the renowned enterprise-level fintech companies. Drupal turned out to be the best choice to tackle the financial industry’s stringent legal and regulatory requirements.

Homepage of TPG Capital with images of TPG products


The story of Digital transformation with Drupal

Drupal Europe 2018 in Darmstadt (Germany) had a dedicated section for ‘Digital Transformation + Enterprise’. One of the presentations focussed on the digital revolution of the Chatham House.
 
Chatham House, which is a not-for-profit, non-governmental organisation, has been leading as a global independent policy institute. But its digital presence scrabbled to evolve quite so prosperously. It was an arduous task to access key reports and information.

Homepage of Chatham House with an illustration showing a boat and Euro logo

Being a content-heavy site, it had a set of intricate requirements. Drupal was chosen for the editorial flexibility along with its open source ethos. It proved as the ideal springboard for success with seamless possibilities. And moving to Drupal was just the inception of their long-term digital transformation plans.
 
New strategy focussed on improving the reputation of Chatham House, prioritising outputs, putting more efforts in marketing, and leveraging insights from feedback. It was all to be underpinned by measuring success KPIs and reporting.

Moving to Drupal was just the inception of the long-term digital transformation plans of Chatham House

Then, full website redevelopment project was performed with a user-centric design utilising the powerful capabilities of Drupal.
 
The presentation delineated the significance of collaborative efforts. Combining strategic partnerships with strong internal relationships has ratcheted the monthly online users of Chatham House.

Conclusion

Organisational change involves a lot more than just adopting emerging technologies. There is a change in cultural setup, operational upgrades, and transformation of the whole value chain. And all these factors culminate to form the very essence of digital transformation.
 
Digital transformation has been vital for organisations to be relevant, keep churning out ways for tackling the changing needs of customers in the digital landscape and stay ahead of others.
 
Drupal, as an open source CMS, has an active community that has been working towards powering digital innovation. With such a community, Drupal has been able to evolve with altering needs and can be a great solution for building a marvellous web presence for the businesses.
 
Drupal experts at Opensense Labs have been continuously collaborating with partners to pursue the digital transformation endeavours with Drupal development.
 
Contact us at [email protected] to understand how can we digitally transform your business using Drupal.

Oct 01 2018
Oct 01

Think of your best friend who keeps things to himself - a characteristic that would sometimes make it strenuous for you to understand if he is in distress. Juxtapose such a character with another friend who is an open book which makes it a downhill task to know what he is thinking and feeling. Such a correlation can be observed in this digital world where the security of open source software and proprietary software is constantly debated.

An open book, showing an image of ocean tides, kept on the table


Dr. A.P.J Abdul Kalam, former President and renowned scientist of India, once reiterated that “open source codes can easily introduce the users to build security algorithms in the system without the dependence of proprietary platforms”. The security that open source software offers is unparalleled. Drupal, as an open source content management framework, is known for its provision of magnificent security for your online presence and is worth considering.

Getting to know open source software

It was in 1999 when Eric Raymond stipulated that more eyeballs can make the bugs look shallow. He coined the term “Linus’ Law” which was named in honour of Linux creator Linus Torvalds. Since then, it has been almost two decades for continuous usage of Linus’ Law as a doctrine by some to explain the security benefits of open source software.

Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone - The Cathedral and the Bazaar by Eric S. Raymond (Lesson 8)

Open source software consists of source code that is openly available for anyone to do inspection, adjustments or improvements. This code may comprise of bugs or issues that require to be flagged.

Furthermore, public availability means attackers could study and exploit the code that emphasises on inculcating code level security practices. Some of the common open source security practices constitute:

  • Governing an inventory of all software used. This data must consist of the version, hash value and the original source of the code.
  • Verification of the availability of security updates and bug fixes. This makes sure that the patch management processes are being done regularly.
  • Testing and scanning the source code. This is performed using code analysers, auditing tools, or a community like Drupal.
  • Make sure that open source applications are in compliance with the existing network architecture to avoid violations of any firewall or security policies.

Myth or fact: Is Open source software more secure than closed source software?

Whether it is the Heartbleed incident in 2014, where the vulnerability was discovered in OpenSSL. Or, the Microsoft Vulnerability Exploit in 2014, when credit card information of millions of Home Depot customers was compromised. Both open source and closed source software have a history of encountering security threats. But which one is more secure?

Closed-source software, also known as proprietary software, is only distributed to authorized users with private modification and republishing restrictions. On the flip side, OSS is distributed under a licensing agreement which makes it available for the general public to use and modify for no cost.

It is this ability to modify the code that forms the crux of the argument within the Linux community that open source is more safer and less susceptible to security attacks in comparison to closed source software Microsoft Windows.

OSS allows anyone to rectify the broken code. In contrast, closed source can only be fixed by the vendor. 

So, when more people are testing and fixing the code within the OSS community, open source gradually increases its salience on security over time. Although attacks are still discovered, it has become a lot easier to identify and fix bugs. Open source enthusiasts believe that they experience fewer exploits and their code receives patches more rapidly as there are a plethora of developers contributing to the project.

When digging deeper, the notion that open source platforms offer users the capability to keeping itself relevant with new and altering requirements underpins the argument for open source over closed. OSS does have a reputation of being more secure as the University of Washington states in a report.

Open source security in Drupal

Infographic with roadmap showing the Drupal security process with relevant iconsSource: Acquia

Drupal Security Team in action

The Drupal open source project has a dedicated team of volunteers who track security-related bugs and release updates. They help in:

  • Resolving security issues that are reported in a Security Advisory.
  • Offering help for contributed module maintainers in fixing security issues.
  • Offering documentation for writing secure code and safeguarding Drupal sites
  • Providing assistance to the infrastructure team for keeping the Drupal.org infrastructure safe.

Anyone, who discovers or learns about a potential error, weakness or a security threat that can compromise the security of Drupal, can submit it to the Drupal security team.

Process cycle

The process cycle of the Drupal security team involves:

  • Analysis of issues and evaluation of potential impact on all the supported releases of Drupal.
  • Mobilizing the maintainer for its removal if found with a valid problem
  • Creation, assessment, and testing of new versions
  • Creation of new releases on Drupal.org
  • Using available communication channels to inform users when issues are fixed
  • Issuing an advisory if the maintainer does resolve the issues within the deadline and recommending to disable the module thereby marking the project as unsupported on Drupal.org.

The security team keeps issues private until there is a fix available for the issue or if the maintainer is not addressing the issue from time-to-time. Once the threat is addressed and a safer version is available, it is publicly announced.

In addition, the security team coordinates the security announcements in release cycles and works with Drupal core and module maintainers. For any concern with the management of security issues, you can also ask [email protected] 

Security features

  • You can enable a secure access to your Drupal site as it has the out-of-the-box support for salting and repeatedly hashing account passwords when they are stored in the database.
  • It also lets you enforce strong password policies, industry-standard authentication practices, session limits, and single sign-on systems.
  • It provides granular access control for giving administrators full control over who gets to see and who gets to modify different parts of a site.
  • You can also configure Drupal for firm database encryption in the top-notch security applications.
  • Its Form API helps in data validation and prevents XSS, CSRF, and other malicious data entry.
  • It limits the login attempts that can be made from a single IP address over a predefined time period. This helps in avoiding brute-force password attacks.
  • Its multilayered cache architecture assists in reducing Denial of Service (DoS) attacks and makes it the best CMS for some of the world’s highest traffic websites like NASA, the University of Oxford, Grammys, Pfizer etc.
  • Notably, the Drupal addresses all of the top 10 security risks of Open Web Application Security Project (OWASP).
A box showing a list of OWASP Top 10 Most Critical Web Application Security Risks in 2017


Statistical reports

In the 2017 Cloud Security Report by Alert Logic, among open source frameworks assessed for content management and e-commerce, Drupal was reported for the least number of web application attacks.

Table with rows and columns showing web app attacks targeting top CMS and ecommerce assetsSource: Alert Logic

Sucuri’s Hacked Website Report also showed that Drupal was the most security-focused CMS with fewer security vulnerabilities reported. It stood on top against leading open source CMSs like Wordpress, Joomla, and Magento.

A bar graph in red colour showing infected websites platform distribution in 2017Source: Sucuri

Challenges in open source security

Open source software has its share of challenges as well. Equifax’s 2017 breach was notable because of the millions of US consumers who were affected. For the digital transformation to transpire, developers are moving from perfect to fast using open source components as vital assets for swiftly adding common functionality. For letting developers move as swiftly as customers demand, security pros must address some fundamental challenges.

For the digital transformation to transpire, developers are moving from perfect to fast using open source components as vital assets for swiftly adding common functionality

The time between disclosure and exploit is shrinking. Today, there is enough information in the Common Vulnerability and Exposures (CVE) description of a vulnerability consisting of affected software versions and how to execute an attack. Malicious hackers can make use of this information and decrease the time between disclosure and exploit as was witnessed in the case of Equifax.

Identification of open source component vulnerabilities listed in the National Vulnerability Database (NVD) increased by 10% from 2015 to 2016 with a similar increase in 2017. For instance, in components from Maven packages, Node.js packages, PyPi packages, and RubyGems, published vulnerabilities doubled (see graph below).

A bar graph in green colour showing the state of open source security in 2017


Security pros must assume that prerelease vulnerability scans are not executed by open source developers. So, software composition analysis (SCA) and frequent updates to open source components will be the responsibility of the enterprise.

Conclusion

Open source security does pose a significant case for itself and can be a better option than a closed source or proprietary software. Also, it is a matter of preference looking at the organisational needs and project requirement, to choose between them for your digital business.

Drupal, as an open source content management framework, comes out as the most secure CMS in comparison to leading players in the market. At Opensense Labs, we have been perpetually offering digital transformation with our strong expertise in Drupal development.

Contact us at [email protected] for amazing web development projects and leverage open source security in Drupal 8.

Sep 27 2018
Sep 27

One of the reasons why The New York Times is able to catch up to its growing user base is its inclination towards technological advancements. That was evident when it leveraged the power of microservice architecture via a remodelled video publishing platform to scale with their newsroom demands. They also moved their infrastructure to the cloud which resulted in a stable and scalable email platform, powered by a suite of microservices, for sending emails to the readers.

Illustration showing a back office of news media company with several people working and paper being circulated in the machines


Why are big enterprises like The New York Times leaning towards microservices? Microservices has grown exponentially and holds an astronomical future for the digital businesses. It will be interesting to see how traditional CMS like Drupal finds a place in the world of microservices. But before plunging into all that, one might wonder where did this ‘microservices’ thing originate from?

Tracing the roots in the UNIX world

New Relic has compiled an interesting and brief timeline of the evolution of microservices. Microservices has its roots in the Unix world that takes us back to more than three decades ago.

As a term, microservices was first documented in 2011 by Martin Fowler

Service-oriented architecture (SOA), a design principle where services are offered to other components by application components via communication protocol over a network, was all the rage decades ago. Due to a superabundance of failures and costly implementations, the SOA earned a poor reputation and took a backseat. Martin Fowler, among others, has said that microservices are a new spin on SOA.

As a term, it was first documented in 2011 by Fowler at a software architects’ workshop.

In 2012, a presentation was given by James Lewis at the 33rd Degree in Krakow which was titled “Microservices - Java, the Unix Way”. This delineated microservices as a means of building software more rapidly by dividing and conquering and used Conway’s Law to structure teams.

Since that time, the adoption of microservice architecture has grown and many organisations are going for microservices as their default style for building enterprise applications.

Understanding the terminology

Illustration showing four boxes with texts explaining microservicesSource: LeanIX GmbH

What are microservices? Microservices are an architecture for splitting a monolithic application into smaller pieces. Each of those pieces offers a certain function through a well-defined and carefully handled API.

The collection delivers the same overall business value like the monolithic application with the difference being these independently working individual pieces in microservices. That means they can be updated swiftly without impacting an entire application.

“The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies”. - Martin Fowler

"A microservice architectural style is an approach to develop a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API".

Netflix is an unsurpassed example of microservices adoption. It moved from a traditional development model with several engineers producing a monolithic DVD-rental application to a microservices architecture. Small teams could focus on the end-to-end development of hundreds of microservices that work together to serve digital entertainment to millions of Netflix customers every day.

Flowchart with the logos of amazon and etsy showing the difference between monolithic and microservices architecturesSource: LeanIX GmbH

The main difference between monolithic and microservices architecture, as can be seen in the depiction above, is that all the features and functionalities were under a single umbrella. That is, they were under a single instance sharing a single database. With microservices, each feature is allotted a different microservice, managing its own data, and performing a different set of functionalities.

How good or bad are microservices?

Illustration with boxes on left and right side showing challenges and solutions of microservices on the respective sidesSource: Logentries

The benefits of microservices are laid out below:

  • Autonomous deployments: You can update a service without having to redeploy the entire application and rollback or roll forward an update during mishaps. Fixing bugs and feature releases are much more manageable with fewer challenges.
  • Autonomous development: Building, testing and deploying a service would need a single development team leading to perpetual innovation and swift release cadence.
  • Small teams: Teams can lay their focus onto one service thereby simplifying the understanding of the codebase with the smaller scope for each service.
  • Isolation of faults: Downtime in one of the services won’t affect the overall application. This does not mean that you get resiliency for free.
  • Tech stack mixture: Technology that is deemed most fit for a service can be selected by the teams.
  • Scalability at granular levels: Independent scaling of services is possible.

Some of the challenges are outlined below:

  • Intricacy: More moving parts are there in microservice application than the equivalent monolithic application.
  • Development and testing: Developing against service dependencies would need a different approach and testing service dependencies is difficult particularly when the application is evolving rapidly.
  • The dearth of administration: The decentralised approach for building microservices may lead to numerous languages and frameworks thereby making it harder to manage.
  • Network congestion and latency: Usage of granular services can result in more inter-service communication. Chances are that if the chain of service dependencies gets too elongated, additional latency can be a challenge.
  • Data integrity: Data consistency can be a hurdle with each microservice responsible for its own data persistence.
  • Management: Correlated logging across services can become a formidable task.
  • Update issues: If not for a careful design, several services updating at a given time could result in backward or forward compatibility.
  • Team skill-set: As the highly distributed systems, microservices require a team with the right mix of skills and experience.

Taking Drupal into the context

Drupal is a monolith. How can it survive this trend of microservices? Drupal, being an amazing content management framework, provides a great content editing experience and has been pioneering digital innovation. With that being said, microservices architecture can be used for development and deployment of applications using Drupal. Let’s see how Drupal can put into the scheme of things.

Demonstration at DrupalCon Vienna 2017

A presentation held at DrupalCon Vienna 2017 demonstrated an effective way of integrating Drupal 8 in a microservices architecture.
 
Drupal 8 proved to be a useful content management framework for this implementing microservices architecture because of its:

  • Symfony components,
  • Composer to manage external dependencies,
  • and the magnificent results of the Web Services and Context Core Initiative (WSCCI).
     

[embedded content]


It exhibited the delegation of asynchronous work from Drupal to a set of very reactive applications written in Go with some assistance of RabbitMq queues. Elasticsearch was leveraged as a common data storage between services and REST endpoints were exposed where the endpoints could notify back to Drupal.
 
Furthermore, methods of connecting websocket server to push and pull messages between services were shown. To run all these services in a controlled and replicable manner, services of Ansible and Docker were extracted.

Demonstration at Drupal Developer Days Lisbon 2018

Another session at Drupal Developer Days Lisbon 2018 delineated how the citizen portal of the city of Reykjavik (Iceland) was relaunched using Drupal and microservices.
 
With the incorporation of more than 100 web services ranging from simple services like registering a dog or renewing a driver’s license to the intricate services like the admissions of children to school or updating the residential address.

[embedded content]


Powered by Drupal 8, this new portal integrates the services with a microservices architecture using JSON Schema as communication protocol. The microservices architecture was chosen to let centralised data collection and presentation in a single portal while simultaneously incorporating a heterogeneous landscape of services autonomously from one another.

Predictions ahead

Oracle’s Cloud Predictions 2018 report states that by 2020, the lion’s share of new applications will be powered by microservices architectures.

Open source has given a whopping push to the microservices architecture. Its several components support continuous integration and delivery pipelines, microservices platforms, containers, container management and orchestration, container registry service, and serverless capability.

Open source has given a whopping push to the microservices architecture

Adoption of cross-cloud containers like Docker and Kubernetes is on the upwards trajectory and developers consider an open cloud stack to prevent vendor lock-in.

A bar graph showing the CAGR of microservices from 2016 to 2023Source: Market Research Future

According to a report on Market Research Future, the microservices architecture market is expected to reach $32.01 billion by 2023 with a Compound Annual Growth Rate (CAGR) of around 16.17% during the forecast period.

Another report on Research and Markets for the forecast period of 2017 to 2023 states that as far as the ‘Market Analysis’ is concerned, the rise in the cloud adoption is integral for microservices market. This is because the microservices architectures function on smaller and simpler services. Also, there is a high demand from North American companies as they have implemented it in e-commerce, financial, and travel services. This has helped in storing data and information cost-effectively and enhanced the efficacy, agility and scalability.

The report on Research and Markets has an interesting ‘Countries and Vertical Analysis’ vis-à-vis microservices. Most of the major players are in the American region with the prominent vendors covered in the report include the likes of Cognizant, IBM Corporation, Datawire, Salesforce, Infosys Ltd., MuleSoft Inc., and Software AG. Japan, the US and China are expected to witness a tremendous growth in microservices adoption.

Conclusion

Microservices architectures streamline the overall application development lifecycle leading to quicker testing, higher quality and more releases. Such an architecture can be hugely useful for efficient management of Drupal-based projects. Innovation has always been something Drupal is greatly supportive of. Adopting a microservice architecture for Drupal development is possible and is extremely fruitful.

Organisations should be wary of their digital business ecosystem and should understand the challenges that they might have to encounter during its adoption. Opensense Labs has been in the constant pursuit of bringing a positive change for our valued partners with our expertise in Drupal.

Contact us at [email protected] to know more about microservices architectures and its value to your organisational setup.

Sep 24 2018
Sep 24

Software and the internet have metamorphosed the world and its industries ranging from shopping to entertainment to banking. It is no longer something that just supports a business. Instead, it has become an integral part of every part of a business. Organisations interact with their customers through software that is delivered in the form of digital service or application and on all kinds of devices. They also leverage software to enhance operational efficiencies by transforming every part of the value chain. This is where DevOps plays a key role.

Illustration showing a man protruding out of a computer with an envelope in his hand


DevOps is having an astronomical role to play in the rapid IT service delivery mechanisms. And when it comes to Drupal development, DevOps can be instrumental in streamlining project delivery involving Drupal. Before we traverse deeper into how Drupal can benefit from DevOps, let’s look at this terminology called DevOps.

Evolution of DevOps

Illustration showing venn diagram explaining DevOps model


Sometime between 2007 and 2008, when IT operations and software development communities were vocal about some of the calamitous level of dysfunction in the industry, DevOps started to coalesce.
 
Developers and IT/Operations professionals had separate goals, separate department leadership, separate key performance indicators, and, most often than not, they worked on separate floors. As a result, isolated teams were only concerned about their own fiefdoms, long hours, botched-up releases and dissatisfied customers.

People like Patrick Dubois, Gene Kim and John Willis pioneered the evolution of DevOps model

‘There must be a better way’ was the notion that propelled the two communities coming together and talking about betterments in software deliveries. People like Patrick Dubois, Gene Kim and John Willis pioneered this conversation.
 
Therefore, what began in online forums and local meet-ups is now a significant theme in the software zeitgeist which is probably what brought you here!

What is DevOps and how does it work?

Illustration showing an infinity-shaped spiral explaining DevOps
"DevOps represent a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach"

DevOps constitutes Dev which refers to software application development and Ops which denotes IT operations. DevOps is not a framework or a workflow but a culture that is overtaking the business world.

Gartner states that “DevOps represent a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture) and seeks to improve collaboration between operations and development teams. DevOps implementations utilize technology — especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective”.

Development and operations teams are not siloed under a DevOps model. Sometimes, these two are teams are combined to form a single team where the engineers work across the entire application lifecycle ranging from development and testing to deployment and operations. Thus, engineers wind up developing a range of skills which are not limited to a single function.

Quality assurance and security teams may become more firmly incorporated in some DevOps models with development and operations and throughout the application lifecycle. When security becomes the point of focus for everyone on a DevOps team, this is sometimes called as DevSecOps.

These teams leverage practices for automating processes that have been, historically, manual and sluggish. They make use of tech stack and tooling which assist them while operating and evolving applications rapidly and reliably. These tools also help engineers autonomously accomplish tasks like deploying code or provisioning infrastructure thereby enhancing team’s velocity.

Benefits of DevOps

Infographic showing a man running and bullet points describing benefits of DevOpsSource: Algoworks

Incorporating DevOps into the business workflow brings in a lot of merits.

High velocity

Using DevOps, move at high velocity so that you can build digital innovations faster, adapt to altering markets better and grow more efficacious at driving business results. For instance, microservices and continuous delivery allow teams to take ownership of services and then swiftly release updates.

Scalability

Infrastructure and development processes can be operated and governed at scale. Automation and consistency assists in governing intricate and changing systems effectively and with less risk. For instance, infrastructure as a code assists in handling the development, testing and production environments in a repeatable and more efficacious manner.

Faster delivery

Enhance the frequency and pace of releases so that you can build innovate and improve your projects quicker. The faster you can release new features and fix bugs, the quicker you can respond to needs of customers and develop a competitive advantage. For instance, continuous integration and continuous delivery are the practices that can automate the release process right from the build stage to the deployment phase.

Reliable delivery

Quality of application updates and infrastructure alterations can be ensured so you can reliably deliver at a faster pace, thus, providing a positive experience to the end users. For instance, continuous integration and continuous delivery can be leveraged for testing each of the alterations and ensuring that it is functional and secure. Monitoring and logging practices assist you to be apprised of performance in real-time.

Security

DevOps model can be adopted without compromising on security by using automated compliance policies, fine-grained controls and configuration management mechanisms. For instance, defining and then tracking compliance at scale is possible using infrastructure as code and policy as code.

Collaborative efforts

More effective teams can be built as the DevOps model stresses on values such as ownership and accountability. Developers and operations team collaborate closely, share responsibilities, merge their workflows.

Best practices for the adoption of DevOps model

Infographic showing a downward spiral shape describing best practices and stages of DevOps adoptionSource: Cygnet Infotech

There are significant practices that help businesses to implement DevOps model in the best possible way and get the most out of it.

Performing small updates frequently

These updates are more incremental in nature in comparison to the occasional updates performed under traditional release practices. They assist teams to address bugs quicker as the teams can easily identify the last deployment that resulted in the error. Even though the cadence and size of updates may vary, the DevOps model helps in deploying updates more often than the firms who use traditional software development practices.

Using microservices architecture

Making use of microservices architecture helps firms in making their applications more pliable and allow faster innovation. Decoupling large, intricate systems into simple, autonomous projects is possible with microservices architecture. Applications are divided into many individual components or services where each of the services are scoped to a single purpose or function. They are operated independently of its peer services and the applications as a whole. Such an architecture minimises the coordination overhead of updating applications. When each of the services is paired with small, agile teams, businesses can move more swiftly.

Leveraging continuous integration and continuous delivery

Combination of microservices and enhanced release frequency might lead to numerous deployments which can pose operational hurdles. Hence, DevOps practices like continuous integration and continuous delivery help in resolving these issues and allow businesses to deliver faster.

Making use of infrastructure as code

Infrastructure automation practices like infrastructure as code and configuration management allows you to keep computing resources elastic and responsive to frequent alterations.

Monitoring and logging the workflow

Use of monitoring and logging allows the engineers to track the performance of applications and infrastructure thereby reacting swiftly to the issues.

Implementing DevOps model for Drupal development

A table with rows and columns describing a DevOps Dashboard TemplateDevOps Dashboard Template | Source: Smartsheet

The DevOps movement is leading the way forward for higher quality Drupal projects, quicker delivery, happier team members, and satisfied clients for projects of any scale. A digital agency used a Drupal development process to outline key pieces to a reasonable, DevOps-based workflow irrespective of the hosting platform or the different tools you choose to use.

The DevOps movement is leading the way forward for higher quality Drupal projects, quicker delivery, happier team members, and satisfied clients for projects of any scale

The agency maintains a pre-configured Drupal 8 install profile that lives on Github which is also mirrored on Packagist. This helps in kickstarting all the new projects with a working theme, pre-configured content types, Media bundles, Paragraph bundles and other elements.

A solid local development workflow is integral to any continuous workflow environment. Developers build new features or fix bugs on their local machines and the alterations are pushed to Github for triggering several actions. The agency experimented with DrupalVM and Lando which offered easy, repeatable processes for enabling developers and contractors to easily spin up a local environment matching production environment.

For this agency, the build code for each project like composer.json and any custom modules or theme reside in Github. Every time a pull request is made, their code is automatically deployed to a continuous integration server and to a live web environment.

For incorporating modern DevOps techniques, it needed a programmable hosting platform to let developers and other systems like continuous integration server to automate and interact with the platform. It worked extensively with both Acquia and Pantheon hosting which offered a different set of tools.

It leveraged continuous integration server called Circle CI for automatically spin up and test a new version of the site every time the developer introduces a new functionality or a bug fix to the git repository.

Automated functionality tests are another important part of DevOps strategy which this agency used to a great extent. Each time a commit is pushed, a complete version of the site spins up on CircleCI which runs through a series of automated Behat tests for verifying key functionality. CircleCI automatically notifies the hosting environment if the tests pass thereby spinning up a new branch and a new copy of the site. When the Github pull request is submitted on that branch, the final CricleCI build is triggered. When the tests are successful, the code is automatically combined with the production site.

Future of DevOps

A bar graph showing statistics on DevOps

According to a Capgemini report, 60% of the companies have opted for DevOps model or are planning to do so eventually. That means DevOps is being widely accepted as a key component of a business strategy. As DevOps continues to grow, some of the future possibilities that are expected to transpire along with the increase in DevOps adoption is being outlined here.

Perpetual growth of DevSecOps

Much in the same way, DevOps has the objective of inculcating continuous delivery in the business workflow, DevSecOps expands this to include security. Looking forward, this trend of incorporation of security into the DevOps pipeline will make businesses more inclusive with security tools and practices becoming part of the early development cycle.

DevOps and IoT

Increasingly, hardware manufacturers working on IoT devices would see software as a significant component of their project. This comprises the integration of DevOps into their business workflow making it absolutely compulsory to have people perpetually work on both hardware and software designs.

Monitoring to become the new testing

At the current and future scale, it is a formidable task and impractical to test all conceivable scenarios at the end of the product cycle. Rather than doing this, it is much more worthy to monitor for live issues and rectify them in short cycles. Testing puts a limitation on what you may find as it required you to think of certain problems to look out for.

But, monitoring will bring up issues as they happen. Adoption of monitoring will permit companies to understand the way their software runs in real situations thereby offering quick information about their systems.

Kubernetes to become standard for cluster computing

More companies will join the project and offer services on top of their operating systems. Moreover, extensions will be made for running applications in the cloud. Many of the major cloud providers are starting to provide Kubernetes as a service. Even a serverless Kubernetes will be on offer where nodes are managed by the cloud provider thereby creating another level of abstraction and simplicity for the developers. This general advancement within Kubernetes will lead to an enhanced adoption of advanced monitoring, logging and metric studying within companies.

Removal of (server) operating systems as we know them

This trend links back to Kubernetes becoming a main operating system for the cloud and clusters/containers that means operating systems would be replaced by the ones that can run containers in a Kubernetes cluster. Furthermore, operating systems for hosts will face implications from containers as in these new environments they will no longer have a host.

Conclusion

Continued growth of DevOps into new industries is opening doors for incorporating new departments such as security, enhancement in product monitoring and the standardisation of Kubernetes for cluster computing. DevOps and its accompanying benefits will become the norm as the integration of more departments into the beginning of the product pipeline would transpire and a rise in monitoring would improve solutions and designs.

DevOps strategy would have a positive impact on Drupal development as well and improve the project timeline and delivery. Opensense Labs strongly believe in the digital innovation and can help you provide amazing digital experiences through Drupal development.

Tell us how you want us to be part of your digital transformation journey at [email protected].

Sep 21 2018
Sep 21

A game of soccer is not shorn of any fanfare among the soccer lovers when the so-called English Premier League brings together the greatest players in the same team. And when two legendary players of different nations play together for the same franchise, fans often find it an arduous task to pick the champion of the champions. Choosing the best CMS for your business between Drupal and Sitecore puts you in a similar junction.

Illustration showing a task sheet and icons representing pencil and loudspeaker


Drupal and Sitecore are the leading CMSs in the market and that reflects in the Gartner Magic Quadrant for Web Content Management 2018. Apparently, both are amazing as the content store for websites and that puts digital businesses in a dilemma to choose best of the best breed. Here, we have put several parameters in place and did a side-by-side comparison. Let’s see who comes on top.

A Brief Exploration of Drupal and Sitecore

Before we dive into the comparison part, let’s quickly define the two content management systems.

Drupal

Logo of Drupal with a drop-shaped icon

An open-source CMS, Drupal is absolutely free to use which is maintained by a community of volunteers and sponsored contributors across the globe.

It comes with various modules and integrations out-of-the-box. It is powering some of the world’s biggest and most intricate websites and is a praiseworthy choice for firms that need a solution offering impeccable and complex integrations.

No wonder, it is on the upward direction in the usage statistics as can be witnessed in the graphical representation below.

Graphical representation of Drupal usage statistics with different coloured linesDrupal Usage Statistics from BuiltWith

Sitecore

Logo of sitecore with an circle-shaped red-coloured icon

Sitecore, a closed-source or a proprietary CMS, provides some amazing marketing automation tools out-of-the-box.

It is a good contender for enterprises that are considerate about content personalisation, journey orchestration, and marketing.

Like Drupal, it is perpetually rowing upstream despite heavy competition in the CMS market and has made a mark for itself as can be seen in the graph below.

Graphical representation showing usage statistics of Sitecore with different coloured linesSitecore usage statistics from BuiltWith

While both the CMSs are continuously proving to be quintessential when it comes to their respective growth and business adoption over the years, market share shows a different picture. Market share, with a bulk of the share in the pockets of Wordpress, has a strong contender in Drupal. W3Techs statistics delineates that Drupal leads the market share as compared to Sitecore.

Infographics showing percentage of market share with the help of horizontal bars

Comparing Drupal vs Sitecore in Different Perspectives

Doing a side-by-side comparison of Drupal and Sitecore on different metrics would portray a better picture of who wins the battle when to comes to being the best of the best.

Features and Functionalities

Metrics

Drupal

Sitecore

Content Management

Excellent content management

Excellent content management

Security

Highly secure

Highly secure

Decoupled and headless approach

Decoupled presentation layer available

Decoupled presentation layer available

Performance and Scalability

With a smaller footprint, it is more scalable and offers high performance

With larger footprint, it is relatively low on scalability and performance metrics

Multilingual site

Great support for multilingual sites

Great support for multilingual sites

Accessibility

Better features for web accessibility

Relatively less features for web accessibility

Multisite

Multisite functionality available

Multisite functionality available

Responsive web design

Fully responsive

Fully responsive

1. Content Management

Drupal has a much more customisable backend as compared to Sitecore. The default Drupal content administration view is stupendous. It can be further customised for optimising the content editors’ user experience.

Drupal allows the implementation of custom workflows for the content teams thereby ensuring that governance standards are met. It makes sure that all the content is posted and approved as per the norms of the organisations’ existing content practices.

For instance, with the release of Drupal 8.6, Workspaces module, an experimental module, has been included. So, when a large package of content, let’s say hundreds or thousands of items, have to be assessed and deployed at once, Workspaces module offers intuitive UI to do so.

Drupal 8.6 workspaces module in action with cursor moving in different directionsWorkspaces module in action

On the contrary, while Sitecore's current backend is tremendously functional, the user experience leaves quite a bit to be desired. Sitecore Director of User Experience, Niels Handberg, showcased the Future of Sitecore Content Management User Experience at the Sitecore Symposium 2017.

A man standing on a stage with a vacant chair placed in the cornerSource: Delete Agency

Upcoming editions of Sitecore such as Sitecore 9.1 will have hugely improved content authoring experiences and content management tools. It will have options for advanced workflows in specific areas or content types on the site. It will allow users to configure systems for approvals, notifications, and translations on multiple content items.

Inference: Drupal and Sitecore have been truly consistent with their approach of providing an excellent content management to the users and have been continuing to inculcate more improvements.

2. Security

An extensively researched whitepaper by the University of Washington titled “Is Open Source Software More Secure?” signifies the high-level security that open source software offer. It states that open source does not pose any significant roadblocks to security but rather reinforces best security practices by involving many people who can expose bugs swiftly.

Drupal offers fine-grained access over what content can be created, modified, updated and deleted and by whom. Although, as an open source CMS, it is a highly integrated system, it is also immensely security-focussed CMS. Drupal allows you to build securely integrated platform and has a suite of security modules to choose from.

Dedicated Security Team of Drupal is committed to address security vulnerabilities and build patches to ensure top-of-the-line safety.

Moreover, adhering to Drupal’s coding standards also helps keep security risks at bay.

In the 2017 Cloud Security Report by Alert Logic, Drupal was reported for the least number of web application attacks.

Tabular column showing security attacks in different CMSsSource: Alert Logic

Sucuri’s Hacked Website Report also showed that Drupal was the better performing CMS in terms of security as compared to leading CMSs like Wordpress, Joomla, and Magento.

graphical representation showing statistics on infected websitesSource: Sucuri

Sitecore enables you to create users and user roles with fine-grained access to any part of the site an administrator chooses.

It is built on .Net which means that whenever a .Net patch is released, all Sitecore sites will be updated automatically without any user intervention. And since Sitecore sites are designed to minimally integrate with other systems, the risk of outside security flaw creeping into the site gets reduced.

It offers extensive documentation on safeguarding one’s environment. Clients would have to coordinate with vendors in order to make sure that security patches are installed instantly.

Inference: Both Drupal and Sitecore are highly secure platforms.

3. Decoupled and Headless Approach

Decoupled Drupal offers multi-platform capabilities, awesome frontend experience, and marketing agility. So, a large enterprise with a presence of an awful lot of digital properties to govern benefits a lot with Decoupled Drupal’s Create Once Publish Everywhere approach.

Flowchart showing the different between Coupled and Decoupled DrupalSource: Acquia

Sitecore, with its decoupled approach, can automatically serve content in the format that is best-sized and suited for a user’s device. Sitecore originated as a headless CMS. But it has never marketed itself as headless as it has always separated content from the presentation and thought of headless as a commodity.

Inference: Both the CMSs can be a superb choice as the decoupled or headless CMS.

4. Performance and Scalability

The Drupal effect on high-performance websites is huge and can be very meritorious.

  • Drupal modules like BigPipe and Redis helps in the advanced cache optimisation.
  • Memcache API and Integration module help in the database optimisation.
  • Advanced CSS/JS Aggregation module keeps a tab on your front-end performance.
  • Blazy module provides the functionalities of lazy loading
  • Fast 404 module handles 404 errors on websites.
  • CDN module helps in the integration of Content Delivery Network for Drupal websites.

Also, Drupal scales with your needs to help sites cope with a colossal amount of traffic. High-traffic websites like The Grammy Awards, NBC Olympics, Time Inc., NASA and many more are efficiently handling spikes in web traffic. Drupal can manage a voluminous amount of visitors, content and Drupal users.

Sitecore encounters a challenge in order to attain high performance and scalability but its recent large-scale deployments have shown that it can be addressed. With a large footprint, it requires a large hosting infrastructure to manage it.

Illustration showing server configuration setup in sitecore with relevant icons

For attaining high scalability, Sitecore’s documentation recommends that separate servers can be assigned for individual tasks like content delivery, reporting, processing/aggregation and more.

The Forrester Wave: Web Content Management Systems, Q1 2017 report states that while Sitecore Experience Accelerator (SXA) may ease off operational pains but large feature set add intricacy to operations.

Inference: Drupal has a clear edge over Sitecore in terms of website performance and scalability.

5. Multilingual Site

Drupal’s out-of-the-box language handling abilities deliver value to the firms who need localised digital experiences thus saving time and money in the process. Building multilingual sites is faster and easier with Drupal with the support for natively installing 90+ languages.

Four core modules in Drupal for language handling, interface translation, content translation, and configuration translation allow full translation of every part of a site. You can swiftly develop a customised site in any language. Or, you can build an intricate multilingual web application with dynamic, language-based displays using various admin languages and translation workflows.

Drupal installation showing different language options


Sitecore XM natively governs the multilingual content and the translation workflow. It also integrates with translation services thereby enabling content creators to write in their native language and translate it globally.

Sitecore allows each language to have its own version history. Every field on a template can be marked as unique to a specific language. Or, they can be shared across all the languages. Items can be pushed through the workflow for incorporating the translation process. When done properly, a site won’t require software alterations for supporting new languages.

Sitecore setup showing different language options


Inference:Building multilingual sites are well-supported by both the CMS.

6. Accessibility

Both Drupal and Sitecore are accessible platforms but Drupal has better features out-of-the-box like the default support for Web Accessibility Initiative – Accessible Rich Internet Applications (WAI-ARIA).

Drupal 8 comes with several accessibility tools out-of-the-box with modules like Block ARIA Landmark Roles, Siteimprove, CKEditor Abbreviation and much more available to offer better experiences.

Sitecore needs designers and frontend developers to develop an HTML prototype which is split into components, tested, and rebuilt in the Sitecore system.

Both Sitecore and Drupal can be built and tested as per the World Wide Web Consortium (W3C) standards but with Sitecore, it might be time-intensive.

Inference: Drupal has a slight edge over Sitecore when it comes to ensuring accessibility standards.

7. Multisite

The multisite feature of Drupal helps in governing multiple sites across your organisation, brands, campaigns and geographies on a single platform. It allows users to quickly and easily create and deploy multiple websites.

Drupal’s multisite functionality enables you to share a single Drupal installation consisting of core code, contributed modules and themes among several sites. So, managing the code is easier as each upgrade only needs to be done once.

Illustration showing Drupal logos to describe multisite setup

Sitecore allows you to share content across multiple sites for a consistent experience on all of them. A default Sitecore installation defines a single published website but this single Sitecore installation is capable of publishing multiple websites with each site having its own properties.

For instance, you can define a new Sitecore site to be your published public-facing website or to be used by content editors for accessing the content management system.

Sitecore interface showing multisite setup


Inference: Multisite functionality is at the heart of both the CMSs.

8. Responsive Web Design

The out-of-the-box mobile-friendly features of Drupal 8 creates quite the buzz with the words like ‘mobile-friendly’, ‘responsive’ and ‘squishy’ associated with it. Above all, it is designed with a mobile-first approach.

Drupal 8 offers responsive administration and toolbar for the content editors and mobile-friendly core themes for the themers. It also comes with core modules like the Breakpoint module and the Responsive Image module for the site builders. With the Web services in the core, it is also great for application developers for developing native mobile applications.

Sitecore is mobile responsive and display-agnostic. Its device detection module allows users to automatically detect and optimise content for different devices thereby giving the option of previewing the content on different mobile devices.

Also, the geoIP detection package helps in personalising the content based on the physical location of the user.

Inference: Mobile-friendly features are prevalent in both Drupal and Sitecore.

Content Editor’s Eye View

Metrics

Drupal

Sitecore

Editing Interface

Good editing interface

Good editing interface

Drag and drop functionality

Drag and drop feature available

Drag and drop feature available

Granular editing

Granularity while editing possible

Granularity while editing possible

Grouping of the content

Better grouping of content

Relatively less flexible while grouping of content

Layout configuration

Excellent layout configuration options available

Excellent layout configuration options available

1. Editing Interface

Drupal offers excellent editing options. One of the options is to use the full edit mode where any content item can be easily edited using CKEditor - WYSIWYG HTML editor.

Drupal full view edit mode showing the editing of an article


Another option is to do in-place editing with the Quick edit module where specific items are chosen to be edited as shown here.

Title of the article being edited using Quick edit module of Drupal


In Sitecore, content editing is managed by Sitecore Experience Platform and Sitecore Experience Accelerator. Sitecore Experience provides editing tools namely the Content Editor and the Experience Editor.

The Content Editor offers fine-grained control over the content elements organised as objects in a content tree. Editors can choose an item for editing its fields. The Editing UI is by design resembles that of Microsoft Windows and provides easy usability transition for Windows shops.

Sitecore interface showing options for content editing


Sitecore’s Experience Editor enables in-place editing where, like Drupal, content editors won’t have to leave the page to edit a content item.

Sitecore interface showing options for in-place editing


Inference: Editing Interface offered by both the CMSs is similar and efficient.

2. Drag and Drop Functionality

Adopting an intuitive feature like drag and drop interface is quite popular with Squarespace and Wix offering a lot of those features.

Drupal comes with Panels module which can enable drag and drop functionality. Another Drupal module, Stacks, can help content editors build beautiful pages without any code.

Sitecore Experience Accelerator offers a UI which can be leveraged to drag and drop various reusable elements onto the page like text, video, image, JS widgets and many more.

Inference: Both the CMS excel at drag and drop feature offering.

3. Granular Editing

In Drupal, monolithic content is broken up with the help of Paragraphs module that allows end users to select on-the-fly between predefined paragraph types independent from one another. The paragraph type is any unit of content such as a text block, slideshow, image etc. Entity Construction Kit, another Drupal module, offers an alternative solution to edit with more granularity and reuse.

Drupal module paragraphs in action with options for granular editingParagraphs module in action

Sitecore allows the content to be broken up into smaller pieces instead of one monolithic body. This, again, offers more granular control and reuse of content.

Inference: Granularity while content editing is possible with both Drupal and Sitecore.

4. Grouping of content

Drupal offers flexibility in the way display of grouping of its content is done. It is because of its highly structured content and the Views module as part of its core.

Drupal’s Views module in action with options for grouping of contentViews module in action

In addition to basic filtering, Views can also filter on context like determining the logged-in user, knowing what parameters were passed into the URL and many more.

Views also display a grouping with elements of multiple disparate data sources with a common element like the grouping of blogs written by authors from a particular set of magazines. It is possible to filter the search results further by a number of elements constituting author, tag, field etc.

Sitecore displays a grouping of content items using its Search utility. Search results can be displayed in multiple view types constituting image view, list view, and grid view. It can be filtered down further by numerous elements like the author, tag, field etc.

search utility option of Sitecore described with labels


Inference: Drupal offers more power in the grouping of content than Sitecore.

5. Layout Configuration

Drupal provides the Layout module that helps in the provision of author-controlled layouts across several devices. It does so by decoupling layouts from themes created by the developer.

Layout Drupal module interface with horizontal layers from top to bottom


Also, the experimental Layout Builder module in the recent release of Drupal 8.6 supports per-display customisations for defining layouts with dynamic sections. It also helps in creating one-off blocks for a specific layout that won’t show up in the global block list. This is essential for things like a promotion that is only visible in the single landing page.

Another Drupal module, Display Suite, lets content editors place the fields like paragraphs, images etc. in the required region of the page. It can, then, choose from several predefined layouts for any content type.

Display suite drupal module interface with different options


Also, Drupal’s Panels module lets the user select layouts without ever leaving the page.

Panels drupal module interface with different options


Sitecore does not let users do in-page layout editing but it does offer a wide array of multi-column grid layouts where each of the columns can be customised.

Sitecore also provides a tool called Splitter for creating row regions and customise columns where any layout can be customised with CSS.

Sitecore splitter tool interface with vertical columns


Inference: Layout configurations options are excellent in both the CMSs.

Developer’s Eye View

Metric

Drupal

Sitecore

Skillset

Knowledge of PHP, Symfony, Twig, and YAML essential

Knowledge of C# and ASP.NET essential

Development in Drupal needs proficiency in HTML, CSS and JavaScript for the frontend and backend requires object-oriented PHP and MYSQL as the database. Drupal, typically but not necessarily, runs on LAMP stack with Linux as the OS and Apache as the web server. 

Knowledge of Symfony and the dependency injection design pattern is required for the Drupal backend. For theming, understanding of Twig is required and YAML should be known for the configuration of themes, distribution and modules.

Since Sitecore is friendly to Microsoft shops, it requires developers to have proficiency in .Net library, in particular, C# and ASP.NET in addition to HTML, CSS, and JavaScript. Microsoft SQL Server or MySQL covers the database part and the application server is IIS.

Inference: Both are completely different tech stack and very efficacious as well.

Hosting and Deployment

Metrics

Drupal

Sitecore

Hosting

Hosting-service agnostic

Typically hosted by Microsoft Azure

Deployment

Easy deployment

Relatively complex deployment

Drupal is hosting-service agnostic which can be deployed to any hosting service that supports PHP-based web applications. It stores the site configuration data in a consistent manner. It is easy to move configuration between environments like development, test and production environments.

Sitecore solutions are typically hosted by Microsoft Azure. To aid in deployment to Azure, Sitecore comes with an Azure toolkit consisting of ready-to-run command scripts, performance optimisation configurations, security essentials and many more. 

Inference: Being hosting-service agnostic, Drupal does the better job in this category.

Marketer’s Eye View

Metrics

Drupal

Sitecore

Marketing capability

Allows integration with best-of-breed third-party marketing tools

Comes with integrated marketing capabilities but third-party integrations not possible

Web personalisation

Drupal modules available for incorporating web personalisation features

Comes with integrated web personalisation features

E-commerce

Drupal commerce module helps in setting up e-commerce sites

Sitecore commerce helps in setting up e-commerce sites

Although Drupal core does not come with integrated marketing and analytics functionality, It does integrate well with major marketing automation platforms like Marketo and Pardot. Thus, Drupal gives power to marketing teams to choose tools that work best for their organisation.

Moreover, the Rules module helps in creating deep, personalised user experiences without the intervention of developers. Also, Acquia lift connector module provides integration to Acquia lift service incorporation best web personalisation strategies into the website.

Google Analytics module incorporates high-level analytics and reporting capabilities into Drupal.

Google analytics drupal module interface with different options

For businesses, who are in need of setting up an e-commerce site, open source module Drupal Commerce suite of modules offer a great platform.

Sitecore comes with integrated marketing and analytics capabilities in its core. It allows users to easily set up marketing campaigns and campaign analytics. For instance, you can track the number of visitors on your site and the level of engagement of the traffic.

Sitecore marketing analytics interface with different options


Also, Sitecore uses a rules-based interface to let digital marketers target content to specific users under certain conditions. With a feature called Engagement Plans, it can employ actions and triggers upon specific actions that are being met. Moreover, it manages Experience Profiles to track user behaviour.

Sitecore also offers dashboards and reports for monitoring page views, conversion rates, user engagement etc. which can be used for analysis.

However, the Forrester Wave: Web Content Management Systems, Q1 2017 report states that Sitecore’s practitioner’s tools like testing, optimisations, customer data profiles etc. for marketing needs do not compete against best-of-breed tools.

Sitecore also offers commerce capabilities by integrating with a suite of applications which is called Sitecore Commerce which is available for additional licensing costs.

Inference: Sitecore has in-built marketing analytics and personalisation capabilities which is not there in Drupal. But Sitecore’s inability to integrate with other wonderful marketing tools available in the market makes a strong case for Drupal’s third-party integration capabilities.

Business Constraints

Metric

Drupal

Sitecore

Industry-wide adoption

Relatively more market share and industry-wide adoption

Relatively less market share and industry-wide adoption

Business costs

Being open source, it is free to use

Incurs licensing costs and is priced very high

Vendor lock-in Vendor-agnostic Not vendor-agnostic
Bar graphs showing market share of drupal and sitecore in different coloursSource: Similartech

Whether it is Top 1 million sites, Top 100k sites or the top 10k sites, Drupal has a lead over Sitecore. This is because Sitecore’s pricing is high as stated by Gartner Magic Quadrant for Web Content Management 2018. In comparison, Drupal and its contributed modules are absolutely free to use. However, Drupal involves costs for implementation and hosting like Sitecore.
Drupal has a plenitude of hosting options at virtually every price point.

Being an open source platform, Drupal is vendor-agnostic. In contrast, Sitecore, being a proprietary CMS, lands you in vendor lock-in incurring high costs.

Inference: When it comes to right decisions regarding business costs and efficient CMS for the digital business, Drupal beats Sitecore by a country mile.

Community Presence

Metric

Drupal

Sitecore

Community size

Larger community

Smaller community

Drupal community is gargantuan with more than millions of people across the globe of all the skills and backgrounds contributing towards the betterment of Drupal core.

With such a large community, the Drupal project is perpetually under a vast peer review with innumerable independent developers working on the project across the world. Peer-reviewed, community-created patches are rapidly built for Drupal and its modules. The community’s ethos of teamwork and volunteerism drive digital innovation and it keeps on working towards the integration of Drupal with new, trending futuristic technologies.

On the flip side, Sitecore has user forums for developers to support each other. But the comparatively smaller size of community makes it difficult to gain access to qualified developers.

Gartner Magic Quadrant for Web Content Management 2018 stated that Sitecore has a reputation for intricacy and relatively long implementation and deployment times. Some customers have complained about insufficient support resources from Sitecore during design and deployment stages. Also, inconsistency has been witnessed in implementation quality from its partners.

Inference: With a robust community presence, Drupal far exceeds in this category against Sitecore.

Conclusion

Drupal and Sitecore have been compared against various perspectives and both the CMSs have apparently grown over the years with loads of features to offer.

Technical comparisons have shown that Drupal and Sitecore are both content store backed object-oriented framework. However, Drupal’s ability in integrating with amazing third-party marketing tools and web personalisation tools should be considered which can be way better than what Sitecore offers as part of its integrated system.

Unlike Sitecore, Drupal is hosting-service agnostic and is relatively easier to deploy. No wonder, Drupal has witnessed more industry-wide adoption as compared to Sitecore.

More importantly, Business costs are a huge factor where Drupal, being open source, beats Sitecore by a big margin since Sitecore is priced very high.

Finally, Drupal, with a presence of an active community, provides seamless module extensions, quick mutual support, and rapid response to security threats. Unlike Sitecore, Drupal is vendor-agnostic and its smaller footprint ensures more scalability than Sitecore.

Choosing a CMS for a digital business involves business demands and strategies that state what’s best for their future endeavors. It is important to look at this analysis in terms of your organisational needs and make a decision accordingly.

At Opensense Labs, we have been pioneering in the Drupal Development and can help you transform your digital presence. Ping us at [email protected] to make the right decision vis-à-vis CMS selection.

Sep 21 2018
Sep 21

Like every organization, you want yours to build around consistent and successful marketing operations. The choice of your CMS has a lot to do with the execution of the successful marketing campaigns. 

Dynamic organizational goals need dynamic sites. Which raises the bar high when selecting the CMS of your choice. 

Comes along the cost involved in all aspects. 

In the comparison series, today, we have Drupal (open source software) vs Umbraco (proprietary software).

Here’s to choose between Drupal and Umbraco. Which one serves your needs better? Read on to know more. 

But first, let’s have a look at the market share of each CMS. 

Market Share of Umbraco vs Drupal 

market share of drupal and umbraco in graphSource: W3Techsgraph with dots depicting the position of the CMSSource: W3TechsHORIZONTAL GRAPH SHOWING THE COMPARISON BETWEEN DRUPAL AND UMBRCOSource: Similartech


Drupal has better usage coverage in more websites categories. Including Business & Industry, Arts & Entertainment, People & Society, Career & Education, and 242 other categories. In other words Umbraco hasn't got a lead over Drupal in any websites category.

Let’s get to the actual comparison. 

Round One: The Cost

Umbraco is actually an open source but it heavily relies on proprietary software. Umbraco add-ons range from free to a licensing fee either per domain, per server, or a lifetime license. The licensing is covered under MIT license which means you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source. 

Drupal, on the other hand, is an open source software. Free to use, re-use, and distribute. Drupal modules (add ons) are free too. 

The Drupal.org (official Drupal website) writes it as “...It's built on principles like collaboration, globalism, and innovation. It's distributed under the terms of the GNU General Public License (GPL). There are no licensing fees, ever. Drupal will always be free.”

Drupal Wins!


Round Two: Editing Experience

At the heart of marketing lies content. 

A marketing CMS streamlines the work involved in creating new content in unprecedented ways. That is why your CMS needs to offer the right and intuitive kind of editing experience. 

Creating content is easy in Drupal. Authoring with WYSIWYG features is designed to keep content creation neat and ordered. It provides the preview and drag-and-drop image uploads option. And when you need to make quick changes with in-context editing it is easier. 

Not just this, it is available in 100 languages. You don’t have to limit your audience to one specific demography or language. 

With the help of a CKEditor feature built specifically for Drupal, you can more easily control details like image alignment and captions right from the palm of your hand.

By default, the editor enforces clean markup and has formatting tools disabled. In case you are looking to change the settings or editing buttons you just need to use a drag-and-drop configuration UI for adding and removing editor buttons.

Editing is indeed intuitive in Umbraco. 

It is easier to just add the content and rearrange it accordingly. Working on Drupal’s text editor for more than a year, it has been a breath of fresh air (no offense, Drupal community). Adding multimedia content is easy.

Not just this, you can also see the preview of your content on different sites with Umbraco’ unique Responsive Preview. Even before it is live. 

This ensures that the visitors experience the content the way you want them to. Adjustments are easy to make too. 

Another thing that adds is that as an editor you can always rollback to an older version. It’s like an infinite undo button. (@Drupal we need this.)

The built-in Umbraco Image Cropper ensures that your images are presented as you want. With the focal point you simply point and click on the most important thing in the image and the image is automatically resized and cropped so as to fit perfectly on any device while ensuring that the most important thing stays in focus. 

Drupal’s Focal Point module promises similar functionality but it needs to be added later. 

Both offer the option to schedule the content. 

Umbraco Wins! 


Round Three: Practicing Accessibility

It is very important that as an organization you don’t happen to miss any of your audience, not even by ignorance. 

Drupal 8 provides web accessibility out-of-the-box and it is mandatory. Not just this you could even mark content regions with attributes with HTML5 semantic markup. 

Navigation is simpler by identifying menus, banners, and ancillary content areas, and letting keyboard users move through them more easily. Drupal 8 puts these methods to work in a new admin toolbar that adapts to different screen widths, and is easier for people with screen readers to use.

Umbraco, although, provides accessibility features like alt text sadly they are optional. Accessibility is something that should be part of the general web development practices, and clearly Drupal ensures the discrimination doesn’t happen, as a choice. 

Drupal Wins!


Round Four: Community support

The Drupal Community is one of the largest open source communities in the world. The community support involves documentation creation, sharing networking opportunities, and more. The sheer commitment to the open source spirit pushes the Drupal project forward.

Around 1,300 agencies provide Drupal services across the globe (according to Drupal.org) and more than 3,200 contributors are working right now to improve the platform. 

Community support of Umbraco is no different. The official website tells us that they currently have an active community of over 200,000 “Umbracians” worldwide ready to share their experience and knowledge with others.

They take pride that the online community transcends to and becomes real gatherings all over the world in the form of local Umbraco meetups and even Festivals. 

It’s a Tie!
 

Round Five: Installation Profile

Getting started with the Umbraco? It provides you with two options - Clean website and the one with a demo. However good the intentions were a clean slate can be a bit overwhelming for some, especially if they’re new to Umbraco (did I copy that?)

Drupal - the latest 8.6 version provides with a starter kit - a basic site with a sleek minimalistic design of a food magazine. Learn and play with it. Set the features as you want. 

This makes it easy to customize and see how Drupal features set in. See if it fits your needs. 

Drupal Wins!


Round Six: Headless/ API first

An API first or Headless CMS simply lets you hit publish and your changes will automatically update on mobile apps, on store displays, flat screens, websites, even on smart watches. 

A feature that you can’t afford to miss especially when there are numerous screen types today. 

Umbraco promises that its headless “helps you edit the content easily in one place, and it is updated across your webshop, website, campaign sites and on displays on every screen.” 
 
Umbraco Headless helps you enable power for other types of websites with Umbraco such as Single Page Application or websites running on a different platform than .NET. 

Problem? 

The community is very close to having everything in place for the official launch of Umbraco Headless. It is not yet launched. All Hype, Nothing Fruitful

Drupal 8 core has out-of-the-box REST API that allows operators to interact with content entities like taxonomy terms, nodes, users, and comments.

Drupal 8 has Contenta (a Drupal distribution) and Reservoir are two of the API first initiative. Various contributed modules allow you to add web services to a Drupal installation without the need for writing code. 

For instance, Developers can use Services module and the RESTful Web Services module to configure a server for enabling the Drupal installation to push or allow data that is to be pulled as needed with the help of REST API. No matter whether the action is a push or pull, Drupal is the services layer. 

Drupal Wins! 


Round Seven: Training and Understanding 

Umbraco.TV will help you go from zero to Umbraco hero at a pace that suits you. Our easy to follow online training videos + written docs will give you the fundamental knowledge to start building awesome Umbraco websites, without burning a hole in your pocket!

Drupal has a steep learning curve. True that! 

But the content is easily available on the web. You can access learning material on Acquia, OSTraining, and Drupalize.me. Leaving Drupalize.me aside both the sources are free and available for all. 

It’s a Tie!


Round Eight: Hosting and Deployment

Drupal is hosting-service agnostic which can be deployed to any hosting service that supports PHP-based web applications. It stores the site configuration data in a consistent manner. It is easy to move configuration between environments like development, test and production environments.

Umbraco solutions are typically hosted by Microsoft Azure. To aid in deployment to Azure, Umbraco comes with an Azure toolkit consisting of ready-to-run command scripts, performance optimisation configurations, security essentials and many more. 

Being hosting-service agnostic, Drupal does the better job in this category.

Drupal Wins!


Conclusion

Every CMS has its own set of advantages. The choice of CMS is generally influenced by what your web project’s requirements are. The questions that follow are: What functionality or features are needed? 

In my opinion, Drupal has a bonus point for maintaining a modules directory that lets you search and manage the content. 

It's easier to customize components—views, lists, blocks, admin tools, and more—than ever before. Control how data is displayed without using a single line of code.

Drop a mail at [email protected] to discuss your business goals.

Sep 15 2018
Sep 15

“You don’t get to control everything that happens to you, but how you *respond* is a matter of choice.”

That response is based on our values. Call it a belief your parents or society pushed you to pursue or something that you learned with life. Our values condition our responses. 

But how different are the values that we follow in our personal life from the values that build organizations or for that matter a community?

When it comes to the craft of building Drupal and the community we, as a part, need to recognize the art of building software and website, first. 

We share some common values both at OpenSense Labs and at Drupal Community. Let’s talk about these core values and practices that support us. 

“The Drupal Values and Principles describe the culture and behaviors expected of members of the Drupal community to uphold.”

The Road to Software Needs to be Strong

In order to build and later maintain a community, it is important that the core values are strong. When building a website or a software it is important we have certain written or unwritten codes of values that we abide by. 

Ensuring the community has the best of what is being offered is done by building a product that doesn’t exclude anyone. This ensures that the features we add are accessible by everyone. 

A clear communication in the community is also important to ensure that the people using that software understand the process of it.  

Impacting the digital landscape that the Drupal community has, we cannot afford to be careless.

Evan Bottcher, ThoughtWorks, explains some core values and practices to build a software. The diagram below is a part of it.  

a pink circle divided into many parts

Each of the eight core practices (in the outer circle) support one or more of those core values. These practices are the actions as an organization and community we need to perform, and it depends a lot on the methods or approaches that we apply. 

Core Values To Build a Software:

  1. Ensuring Quality with Fast Feedback: Quality is not the sole responsibility of the QA. Follow whatever method, if the person building the software doesn’t take the responsibility for the product, nothing will work. 

    It is important that as a software agency we value being able to find out whether a change has been successful in moments not days. The lesser the time we take, the better it is. 
     

  2. Repeatability: Confidence and predictability comes from eliminating the tasks that introduce weird inconsistencies. We also want to spend time on activities that are more important than troubleshooting something that should have just worked.
     
  3. Simple and Elegant: Softwares that contain complexity than what is needed are of no use. Sounds rude? Well, it is the truth. 

    What use will it be if people outside the organization can not work on it? 

    This also brings with it the idea to future-proof the content. While we build for what we need now, and not what we think might be coming there should be enough scope to meet the future requirements. 
     

  4. Clean Code: Talking of making the software future proof means people outside the immediate team can work on it. This requires the code to be clean, which allows the third developer to make relevant changes. 

Values That Build Drupal and Organizations

  • Making Impact

With a community as large as Drupal’ the circumference to affect the number of people increases. But this just doesn’t restrict to people who are working on the core, issues, credits, or documentation. This includes those as well who interact with a Drupal-powered website. 

This is where the idea to impact the lives of people makes more sense. The Article 26 Backpack for Syrian refugees a platform to helps Syrian Refugees secure and share their educational credentials. 

Similarly, as part of our Corporate Social Responsibility, we are open to helping Non profits from a web development and digital strategy perspective. If you are or know a non-profit looking to get a website overhaul or planning digital transformation, please get in touch at [email protected]

We derive meaning from our contributions when our work creates more value for others than it does for us.

  • United We Stand, Divided We Fall

The community ensures the environment remains as transparent as possible, with decisions being collaborative and not authoritative. The community elections are important and equally transparent where everyone can contribute. 

Asking questions or sharing ideas can be difficult, especially if the questions or ideas are not fully formed or if the individual is new to the community. Drupal groups and forums are the places where people can openly ask questions and put their thoughts among the community members. 

At OpenSense Labs, we are also committed to maintaining a transparent environment which includes not only discussing organizational goals but individual goals as well. This enables every member to participate, learn, and grow. Creating an environment where individual goals are taken care of ensures that the team grows. Not only in numbers but with their output as well. 

We also value the behavior of feedback. The product, after all, belongs to all and not just to a few. This brings in the sense of ownership which helps grow us manifold. We learned this from the Drupal community. Each feature people work relentlessly to improve the state of Drupal. 

Teamwork can empower every contributor. Throughout the history of the Drupal community, many individual contributors have made a significant impact on the project. Helping one person get involved could be game-changing for the Drupal project.

  • Give Respect and Get Respect

Every person is important. For the organization and the community. Just as the community our team is equally diverse. This requires building an environment that supports diversity, equity, and inclusion. Not because it is the right thing to do but because it is essential to the health and success of the project. 

Prioritizing accessibility and internationalization is an important part of this commitment.

  • Work Hard, Party Harder

Working is good, but be sure to have fun. It is important to feel empowered and help others but it is equally important to enjoy and share the company of those you work most of the time with. 

We believe in the concept of work hard and party harder. 


Our values and principles need to be robust as well as flexible to ensure we don’t end up being too rigid. This, of course, involves discussing them regularly with the team and community. 

Check out Drupal Values and Principles

Sep 13 2018
Sep 13

The journey from a visitor to the client doesn’t happen overnight nor over a single screen. 

It is unfair on the part of organizations to assume that all readers will be using the same screen to consume their content. 

In case organizations are working towards targeting various visitors it is important to have a durable and centralised content dissemination platform to serve digital content through various screens.

Therefore it is equally important that various mediums ensure a smoother journey and the backend - content repository - provides a seamless translation of information to various touchpoints. 

What is a Content Repository?

“A content repository is a database of (digital) content with an associated set of data management, search and access methods allowing various application-independent access to the content with the ability to store and modify content.” 

The content repository acts as the storage engine for a larger application such as a CMS which adds a user interface on top of each of the repository's application user interface.

a diagram with a heptagon in middle with 7 boxes connected to it

The proliferation of content across a variety of sources can create an enormous business challenge. As the unstructured content grows, organizations need to look for a flexible approach that supports interoperability with a wide array of popular systems and products. 

A robust central content management repository should store a variety of content formats, facilitate read/write capabilities, control access. 

Here are some of the features of a content repository:

  • Efficient storage to integrate content
  • Query and Search 
  • Versioning 
  • Import/export the content 
  • Editor accessibility for all the documents and the content. 
  • Records retention management systems
  • Document capture systems and document-imaging (Complementary systems) 

Difference between a Content Repository and CMS
A content management system manages the creation and modification of digital content and typically supports multiple users in a collaborative environment.
While a content repository disseminates the content to be shared between disparate websites, different kinds of devices or channels such as mobile phones, tablets, kiosks, Facebook or syndicated via an API.

How Does a Content Repository Work?

A central content repository allows the content editors to edit content directly from the backend of one site. The content editors simply choose the topics that the content belongs to, and the sites subscribe to those topics and it is then available to all the connected sites automatically. 

a flow chart with five blocks in it

A Content Repository Workflow works like this:

Content creation of a topic happens on Site A.

  • The content is shared via a central content repository.
  • Site B is subscribed (sync rules) to receive updates whenever the content for the same topic is created.
  • Site B, C, D receive the notification and pull in the content. 
  • If any user on site C searches for the new content published through site A, she will get it through the content repository.

Drupal 8 is well suited to act as a central content repository, as it has built-in support for REST web services, a serialisation component, and can be configured to work with publishing workflows and notifications.

Search web service such as Apache Solr or ElasticSearch can best provide a lookup service for each site. Rather than subscribing to a particular topic, content editors can simply search for the content they wish to import from.

Application of Drupal as a Central Content Repository

  • Content management
  • Document management
  • Digital asset management
  • Records management
  • Revision control
  • Social collaboration
  • Web content management

Building Consumer Experience with a Central Content Repository

Content is not only the material you use to develop your CXM strategies—it’s also the interactions between customers and prospective customers have with you. Talking about the online customer experience, a CMS is part of the process of designing and supporting CX strategies. 

Simply because it stores all the content you need to manage the experience. However, customer experience management is about more than the online channels. 

In order to successfully manage the customer experience, the CMS needs to be able to quickly access and react to the elements of a customer interaction. Not just this, the elements should be accessible to the editors as well. 

Managing every single version of the web pages is a heck of a job and ensuring that the content looks just the same is another fight. 

Most, if not all, CMSs are designed to store content not just as HTML pages, but as individual components that can be easily reused across different web pages. Across various devices, mobile sites and apps, and social networks.

In this way, the content repositories can be leveraged to provide content as well. 

Content integration is the key to a well-managed content repository. Managing the content by integrating it with all the other systems. 

A central content repository also allows you to develop the support applications that have access to customer information easily, including information from CRM systems, traffic information, and the like.

Having it all accessible in a centralized content repository will help you identify, design, and refine your CX strategies quickly.

Building a Central Content Repository for FarmJournal Media 

For Farm Journal Media, OpenSense Labs have implemented a similar centralised content management system. 

Technologies Used 

  • Express.js 
  • MongoDB 
  • Drupal 8 

How Did It Work?

Express.js- node.js framework provided a library of many pre-built functions which were leveraged for the CCMS. 

It allowed simultaneous access to multiple authors without compromising on speed. This could be done by leveraging its events loop based asynchronous task handling. 

The interface to serve content was developed via MongoDB. The system triggered updates of content from CCMS to MongoDB asynchronously and in real time. This ensured the cron jobs do not overload the sites as the webhook request will be triggered only when required. 

Due to this layered architecture, the overall content journey once the editor hits save, to consumer site was at max 3 seconds.  

An increase in consumer sites, update count and pull requests do not affect the load on CCMS Drupal. 

A special fail handler was built to sanity check between CCMS, Mongo and consumer sites. This ensured there was no duplicity and maintain an error log for missing articles during the journey it takes with an exact failure points reported. 

homepage of greenbook with various blocksOne of the sites of FarmJournal

How Did the CCMS Worked?

It allowed the team of editors to:

  • Centrally manage the content through one platform
  • Cross-publish articles on full networks of FarmJournal sites
  • Use a simple site vs category mapping for automated syndication of articles. 
  • Have a centralised reporting to boost the editorial teams’ productivity & article publication pace. 

The Scope of Building a Content Repository in Drupal

Coupled CMS (with supporting API)

A traditional website on Drupal allows content editors to add or edit content with a preview for the content as well. This is because a traditional CMS is tied (or coupled) to a front end (which is the case with Drupal).

Taking the front end out of the equation can bear its own challenges.  

The front end is what a user sees when viewing an application, which, in Drupal’s primary case, is a website. 

Content editors can view the content before it’s published using a wide array of tools such as inline editing or pre-published previews. 

Available modules in Drupal allow for quick and relatively easy modification to how the data is displayed on the frontend. Developers aren’t always needed to make simple changes, which can be more efficient for both time and cost, possibly a huge benefit to using a coupled CMS.

Drupal 8 has a strong emphasis on providing many API services out of the box, and there is a strong push for the API-first approach.

Headless CMS (the API-only approach)

With API-first Initiative at the forefront, Drupal 8.0 was shipped with a built-in REST API which spelt the beginning of Drupal’s transformation as an API-first platform.

A headless CMS often confused with a decoupled CMS is considered an API-only approach. 

It provides a hub for the content sans any frontend. 

The backend allows content editors to publish content distributing it automatically to any integrated application. Since there is no coupled frontend interface to immediately view the data applications such as Digital signage need be developed and integrated in order to access this content. 

In such a scenario trialing and proofing content before publishing can be difficult. Another challenge is the layout which can be a limitation to the marketing teams. 

The Drupal community has already taken steps towards making sure Drupal continues to be a relevant contender as either a coupled OR headless CMS.

Drupal distribution Open Y can be used to build such applications for a Digital Signage.

Drupal Distribution Contenta can be used as an API to connect the backend of Drupal with any application. 

Conclusion

Previously unstructured and inaccessible content comes alive in digital business applications that engage customers, automate business processes, enhance collaboration and govern and protect content throughout its lifecycle. 

Content management services and solutions from OpenSense Labs support your digital transformation and help you build a cognitive business that is confident, efficient and competitive. Drop a mail at [email protected].  

Sep 13 2018
Sep 13

A sportsperson is rewarded for his anticipatory calls which he does to judge the next move of his opponent. When done right, it can make a world of difference in deciding the fate between a marvellous triumph and a drudging defeat. A business enterprise is not much different which has to rely on its decision-making whenever it has to choose between technologies for their projects. Choosing Drupal for your next web development project can be the most significant decision for your organisation.

Illustration showing a bulb being picked up through a machine from the stack


No matter where you are today, your next step is crucial to take you to the leader’s position of the table or even slide down the bottom of the bottle. And when it comes to projects involving web development, selecting the right CMS in the incipient stage becomes really important. So, how can you transform the whole digital experience of your next project by choosing Drupal as the content store?

Why opt for Drupal?

As a technology professional, you seek for a reliable, safe and flexible web content management for creating the features that you want for your project and leave out weighty features. Drupal as an out-of-the-box web content management tool and a customisable platform allows business and technology leaders to power digital innovation.

Every time you come up with a significant business goal of achieving preeminence and ponder over Drupal’s ability in building what you want, the answer is nearly always ‘“yes”. With Drupal’s horizonless potential accompanied by native functionalities and module extensions, there is no limit to imagining what you can do with disrupting technologies without deranging your business.

Security

With a proven record of being the most secure CMS and application framework, Drupal beats the big players in the CMS market by standing resilient to critical internet vulnerabilities. Thanks to the Drupal Security Team for actively validating and responding to security issues.

Bar graph showing the statistics on Drupal securitySource: Sucuri

You can enable a secure access to your Drupal site as it has the in-built support for salting and repeatedly hashing account passwords when they are stored in the database.

It also supports the enforcement of strong password policies, industry-standard authentication practices, session limits, single sign-on systems.

Drupal offers granular user access control to give administrators full control over who gets to see and who gets to modify different parts of a site.

It is possible to configure Drupal for firm database encryption in the top-of-the-line security applications.

Drupal’s Form API ensures data validation thereby preventing XSS, CSRF, and other malicious data entry.

Drupal limits the number of times login attempts are made from a single IP address over a predefined time period. This helps in preventing brute-force password attacks.

Drupal’s multi-layered cache architecture helps in mitigating Denial of Service (DoS) attacks and makes it the best CMS for some of the world’s highest traffic websites.

Notably, the functionalities that Drupal has to offer addresses all of the top 10 security risks of Open Web Application Security Project (OWASP).

No wonder, a report from Sucuri shows that Drupal is the best-security focussed CMS when compared to the likes of Wordpress and Joomla. If internet security is one of your top priorities, Drupal is your best bet.

Scalability

If you aspire your site to be amongst the busiest or if you already are so popular and are trying to cope with a colossal amount of traffic to your site content, Drupal can scale with your needs.

Infographic showing the statistics on the scalability of NASA website with a tablet showing the site of NASANASA, powered by Drupal, manages peak loads efficiently including 2017 Total Solar Eclipse Coverage
Source: Mobomo

The scalability that Drupal provides supports the most content-rich sites and experiences. No matter if you have one or over a thousand content contributors, Drupal can manage a voluminous amount of visitors, content, and Drupal users.

Content Workflow

Drupal’s magnificent tools make it easy for the content authors to create and publish content on the site. Authentication and permissions bring in efficacy in the editorial workflow and previews show how exactly your content will look on different devices.

Your content team can assess, edit and approve content from mobile devices anytime and anywhere.

Drupal also allows the creation of content with a WYSIWYG editor. You can even perform in-place authoring where you just have to browse the page, click on the content and edit right there. All the alterations and revisions are trackable.

You can see what stage your content is in - from creation to review to publication - and it helps in handling user roles and actions automatically.

Drupal administration interface showing the content state as unpublished


Content tagging and taxonomy is a great feature of Drupal where it helps in defining content elements, tag content on the basis of attributes, create a relevant taxonomy for content to make it searchable.

To make content authoring as easy as it can be, Drupal can be a lovely choice for your next project.

Multilingual

Out-of-the-box support for language handling helps you to deliver localised digital experiences thereby saving time and money. Drupal 8 core comes with 4 core modules for enabling translation of every content on the site.

Homepage of Al Jazeera in Arabic languageAl Jazeera Media Network, built on Drupal 8, produces news content seamlessly in English and Arabic languages.

Not only does Drupal give configuration and content translation workflows, it also gives an interface language of administrators and content producers. Thus, it enables the business organisations to speak in the language of their customers, 

Without the need for any additional components, Drupal 8 can be installed in over 90+ languages.

Once you install Drupal, languages packages can be safely and automatically downloaded and implemented without hampering your customised translations.

So, if you are in the need of quickly building customised sites in any language of your choice or an intricate multilingual web application with dynamic, language-based displays, Drupal is a praiseworthy option.

Content-as-a-service

If you want to allow your front-end developers to create engaging customer experiences, Drupal’s content-as-a-service approach lets you think outside the page-based mentality.

Flowchart showing the workflow of Coupled and Decoupled Drupal with rectangular boxes


Drupal’s CaaS solution helps in delivering infinitely reusable, future-proof content by decoupling the back and front ends where-ever useful. Separating the backend from the frontend also helps the frontend developers change the look and experience of the sites in a snap.

Moreover, front developers can build better experiences with Drupal’s presentation-neutral content and RESTful API and leverage tools like Angular, Ember, Backbone and more.

Ingestion of content from third-party content, for instance, from aggregators and syndicators, to bring content into your Drupal environment is possible which can be pushed to any channel.

With Drupa’s CaaS capability, content is easily consumed by other websites and application that you choose.

Web content is no longer pushed to a web page to viewed through a desktop browser. Go for Drupal’s content-as-a-service approach if you want content flexibility in your pursuit of delivering an ultimate digital experience.

Mobile-responsive

In this day and age, almost everything is happening on-the-go. Website development is not far behind.

Infographics showing the statistics on mobile responsive sitesSource: ArachnidWorks

Drupal enables the development of responsive sites and web applications to deliver optimal visitor experiences to the online visitors.

By supporting the best practices of responsive web design approach, Drupal helps in ensuring an impeccable content experience to the users every time and on every mobile device.

Pick Drupal for mobile-friendly and fully responsive sites and web apps.

Speed

Business projects do not end in perfection through dilatory strategies. If you are a digital marketer or anyone looking to incorporate celerity in business workflow, you know how the word ‘speed’ matters.

Drupal’s pliable platform allows digital marketers and developers to surmount the logjam and delay thereby running a steadfast and agile team.

For ensuring a continuous delivery of web development projects, Drupal can be a wonderful option.

Third-party integration

Outside of Drupal, there are plenty of great technologies that can be an astounding asset to your website.

Drupal integrates seamlessly with a variety of marketing technologies and business applications. This allows you to leverage the merits of the best set of tools out there outside of Drupal.

Drupal’s API-first approach helps in connecting content to other sites and applications thereby making content more vibrant and powerful.

If you are someone who wants to flex with the awesome third-party tools, Drupal gives you the liberty to do that flexibly.

Content architecture

The flexibility that Drupal has to offer for creating the right content architecture is immense and that shows in its ability to enable that using the Admin Interface or even do it programmatically.

You can exhibit apt content for each context with the help of stupendous display mode tools and Views. It constitutes a wide array of media types.

It provides a reposeful user experience by offering customisable menus and creating paths to content across several devices.

Drupal is the answer for the flexibility in the content architecture.

Multisite

When you have a plethora of business, ventures, it calls for multiple websites for different segments of your digital firm.

Drupal allows you to administer multisite setup across your enterprise, brands, geographies and promotional campaigns on a centralised platform. This helps in providing a faster and simple way of creating and deploying multisite ecosystem.

Business-driven

Nobody likes to be dictated how to do things in a business. And Drupal understands that. It does things as the business demands.

It helps in creating a solution that supports your business requirements. Thus, it paves the foundation for boundless solutions.

Drupal is your sure-shot choice to sway things your way as your digital business demands.

Perfect tech stack

Drupal comes with a modern LAMP technology stack including Linux, Apache, MySQL, and PHP to meet the requirements of fast-paced, agile and flexible organisations who are committed to building a next-generation digital platform.

Drupal is your perfect CMS with a strong stack foundation.

Robust community presence

Thousands of organisations build solutions with Drupal and in the process build Drupal itself. That’s the beauty of being an open source software.

From design to system architecture, Drupal experts make their valuable contributions back to the community. The Drupal community across the globe shares its knowledge on the right ways of doing things.

If you have a question, just drop in your queries and the active community will always have someone waiting with an answer.

Lead by modern web standards, you can create innovation for clients, the community and the world.

Big players

Business leaders like Tesla Motors, Pfizer, the Government of Australia, Grammy, Rainforest Alliance, The Economist, Oxford University and many more across the planet are powered by Drupal.

So, when it comes to the question of who is using Drupal, there is no dearth of big names in the tech industry. Join the league!

What value does it bring to your business?

The Drupal Values and Principles emphasise the culture and behaviour that each member of the community has to adhere to. These principles guide both the technical and non-technical decision-makings and show how contributors and thought leaders can support the Drupal community and the project.

The illustration below shows the values and the principles that Drupal has been offering over the years to the business enterprises around the world.

Illustration showing columns of values and principles of DrupalSource: Dries Buytaert’s blog

Creating impact

Drupal values have been instrumental in creating the sort of impact to the business enterprises that serve a great purpose in their growth. It has been a force to reckon with when it comes to developing software that is easy, accessible and secure to be leveraged by everyone. Choose Drupal for the impact performance!

Fostering togetherness

Drupal has been committed to building a learning environment thereby fostering togetherness. It does so by putting everyone in the community on the pedestal through collaborative decision-making, provision of encouragement to others to get them involved. In this pursuit, it lets everyone to take leadership challenge in order to take the community forward. Drupal is your go-to option for a collaborative business workflow.

Targeting excellency

In order to attain excellence in a web development project, Drupal allows you to perpetually reassess and embrace the changes as it comes making your project as great as it can be. Go for Drupal if excelling in your project endeavours is your agenda.

Better treatment

Drupal community strives to negate any sort of intolerance towards others. It is committed to understand each other well and give constructive animadversion thereby staying optimistic. It is a wise decision to opt for a CMS that professes to treat others with dignity and respect.

Relishing what you do

Who does not want to have fun while working on a project? Drupal firmly stands by its perspective to let its community enjoy while tinkering and innovating something unique with Drupal. Want the amalgam of innovation and fun to be incorporated into your project? Drupal is the answer.

What’s new about Drupal?

September 5, 2018 marked the commencement of a new era in this digital age. Being a pioneering content store, Drupal community, in its efforts towards making Drupal more and more wonderful, unveiled a major upgrade to Drupal 8.

Drupal 8.6, the new upgrade, comes with an improved user experience for the digital marketing and the content editing teams in addition to simpler installation and more stable upgrades for technical teams.

Considering Drupal can lend your content authors a whole new experience. This new upgrade has added support for remote media types that streamlines the embedding of Youtube or Vimeo content in your videos.

Moreover, it has made rapid strides with the quotient of ease of use. For instance, Workspaces, experimental Drupal module, offers sophisticated content staging capabilities.

The Layout Builder, another experimental Drupal module, is proving to be the saviour for site builders by allowing the creation of layouts with dynamic sections, thus, creating more opportunities for custom layouts.

Before the release of Drupal 8.6, downloading and installing it was an intricate and time-intensive process. But now, you can have an out-of-the-box experience by installing Drupal in minutes using the new Umami demo profile. This is especially great for showing enormous capabilities of Drupal right out of the box to the prospective clients.

Website of Umami food magazine with images of food on a plate and spoons


These are some of the highlights that act as the stepping stone for a whole lot of exciting stuff that is about to transpire in the Drupal platform. Drupal 8.6 is stupendous and the road ahead looks sparklingly bright.

The Bottom Line

While choosing the best platform for the governing the cornucopia of content that your site possesses may seem like an arduous task and why not? After all, it is your public-facing website that needs to be built with the utmost care.

Amidst the growing demands of businesses to improve their workflow with the incorporation of emerging technologies, Drupal has been able to stay relevant and useful and is still growing to be even better.

Selecting Drupal as the CMS of choice can act as the harbinger of success for your future endeavours. Opensense Labs has been cultivating a robust culture with its partners and is always ready to assist you to build a great digital experience with Drupal development.

Contact us at [email protected] for enabling a digital transformation of your business using Drupal.

Sep 07 2018
Sep 07

Nothing is permanent as every cloud has a silver lining. People come and go in your life. Some may call themselves your neighbour, well-wisher or a even a friend. But only some leave an indelible imprint on your mind. These people continue to stay in your life either physically or even in your memories. The space of macro trends in technology is also a volatile one where one or the other tech marvel glows bright and others may see a downward spiral.

Illustration representing macro trends in technology with a giant bulb and a lot of people working around it


Webbmedia Group’s 2016 Trend Report says that emerging technology breakthroughs are outpacing the evolution of public policies and discussions vis-à-vis ethics. It further states that our evolutionary responses to the technologies, that is pick-and-shovel for us to understand, is either to ignore them or to fear the worst. So, what does the macro trends in the tech industry look like in 2018?

Unwrapping macro trends

A macro trend refers to the pervasive and persistent directional shift of a certain phenomenon on a global scale. For instance, urbanisation, automation or the altering demographics are some of the examples of macro trends.

Macro trends help in zeroing in on the listicle consisting of all the things that would not fade away soon. Although they may attain a point where they are fully realised and are not considered trends but just the characteristics of technological fraternity.

Macro trends help in zeroing in on the listicle consisting of all the things that would not fade away soon

Longevity is usually seen as a significant characterisation of trends. Mega trends are the most pervasive and insistent phenomena. Megatrends, as defined by the Copenhagen Institute for Future Studies, are developing trends that help in predicting “the probable future - express what we know with great confidence about the future. Megatrends are certainties.” A phenomena like global warming come under the category of megatrends.

Right down at the end of the table are the fads - widespread but with a short spell lasting a few years or even less. Pokemon Go, an augmented reality game, reached unprecedented fame in 2016 but people are highly unlikely to be hunting down Pikachu in 2030.

Microtrends fall somewhere between fads and macro trends that are influential and last a few years. For instance, flexible workforce where a firm retains minimal staff and gets the work done mostly with external contracts is an example of micro trend. Inherent caveats to such microtrends, most often than not, become apparent in practice thereby leading to a trend in the opposite direction.

Macro trends in the tech industry

In an ever-evolving technological landscape, it is worth witnessing the macro trends in the tech industry to understand its progress and the path ahead.

Continuous Delivery

For superfast project deliveries, Continuous Delivery has been instrumental in handling software development. In addition to this, it has also been bearing fruit in enabling Evolutionary Architectures. Evolutionary Architecture is a terminology, created by Thoughtworks, that stresses on supporting incremental, guided change as a first principle across various dimensions.

Infographics showing continuous delivery deployment pipeline through cylindrical and rectangular shapesSource: Logigear
For superfast project deliveries, Continuous Delivery has been instrumental in handling software development.

With a cloud platform and nice automation techniques, software architecture can be treated as code - infrastructure, servers, interconnections, services, and networking that are defined and governed through version controlled text files. This helps in achieving architectural leaps that were never possible before.

Drupal factor in Continuous Delivery

Like ship of theseus, a thought experiment that questions whether a ship fundamentally remains the same object if its components are replaced, we can replace parts of our system until the entire thing is new. Thereafter, we can keep moving forward as necessary or strategic.

For instance, Drupal development can garner tremendous positives through agile development methodology. Agile manifesto was formulated in 2001 with the objective of implementing Continuous Delivery. Agile process uses incremental and iterative approach to govern project development.

Homepage of Service NSW website with a logo in red and white


Service NSW portal is an initiative established by the NSW Premier for offering a centralised point of transaction for the Australian citizens with government agencies. In combination with Agile methodology, the Drupal development of the portal was completed within the stipulated timeline of 6 months that was agreed upon before the project started. 

Microservices

Microservices architecture style constitutes a collection of small, autonomous services where each of the services are self-contained and implement a single business capability.

Microservices has been a buzzword in the recent years among the web chefs as it comes up with a whole lot of benefits:

  • Autonomous deployments: Update a service without redeploying the complete application and rollback or roll forward an update during mishaps. Fixing bugs and feature releases are more manageable with fewer challenges.
  • Autonomous development: Building, testing and deploying a service would require a single development team which leads to continuous innovation and faster release cadence.
  • Small teams: Teams can lay their emphasis onto one service thereby streamlining the understanding of codebase with smaller scope for each service.
  • Isolation of faults: Downtime in one of the services won’t affect the entire application which does not mean that you get resiliency for free.
  • Tech stack mixture: Technology that is deemed most suitable for a service can be chosen by the teams.
  • Scalability at granular levels: Independent scaling of services is possible.
Infographics showing applications of microservices with logos of companiesSource: Logentries

It does have a set of caveats that is needed to be considered like:

  • Intricacy: More moving parts are there in microservice application than the equivalent monolithic application.
  • Development and testing: Developing against service dependencies would need a different approach and testing service dependencies is challenging particularly when the application is evolving rapidly.
  • Dearth of administration: The decentralised approach to building microservices may result in so many different languages and frameworks making it harder to govern.
  • Network congestion and latency: Usage of granular services can lead to more interservice communication and if the chain of service dependencies gets too elongated, additional latency can be an issue.
  • Data integrity: Data consistency can be an issue with each microservice responsible for its own data persistence.
  • Governance: Correlated logging across services can become an arduous task.
  • Update issues: If not for a careful design, several services updating at a given time  could lead to backward or forward compatibility.
  • Team skill-set: As the highly distributed systems, microservices need to have a team with right skills and experience.

Apparently, microservices have a great potential but it has to cover a long journey still. Businesses would find it a formidable task to migrate from a monolith to microservices. It is difficult to decide when to split services as it needs a good underlying platform and wonderful DevOps practices.

Drupal factor in microservices

A presentation held at DrupalCon Vienna 2017 showed an awesome and easy way of integrating Drupal 8 in a microservices architecture. With Symfony components, Composer to govern external dependencies and astounding results of the WSCCI initiative, Drupal 8 proved to a useful content store.

Flowchart representing Drupal and microservices use case with boxesSource: Drupal.org

It demonstrated the delegation of asynchronous work from Drupal to a bunch of very reactive applications written in Go with the help of some RabbitMq queues. Elasticsearch was used as a common data storage between services and REST endpoints were exposed where the external services could notificate back to Drupal.

Moreover, methods of connecting websocket server to push and pull messages between services were displayed and Ansible and Docker were used for running all these services in a controlled and replicable manner.

Machine Learning

Machine learning, a method of data analysis for automating analytical model building, is a branch of artificial intelligence. It is based on the notion that systems can learn from data, identify patterns and take part in decision-making with minimal human intervention.

Infographic explaining machine learning through graphs and relevant iconsSource: PwC

Towards the path of productivity

Machine learning is on a roll with astronomical metamorphosis in the Gartner Hype Cycle, down the “peak of inflated expectations” through the “trough of disillusionment” to the “plateau of productivity”.

Business enterprises are beginning to consolidate all the different proofs of concept that has popped over in the recent years. With tools, platforms and services on one side and inflated expectations propagated by media and artificial intelligence (AI) on the other side infiltrating market, several questions are being pondered over. How can AI benefit an organisation? What skills does an in-house team need? What software, tools and platforms would be the right fit for a business? These are the right set of questions to move forward in the direction of the “plateau of productivity”.

Machine learning is on a roll with astronomical metamorphosis in the Gartner Hype Cycle

An intelligent approach to development

With hyper-advancement of machine learning, curiosity ignites interesting question - How will it affect the job of software developers who have always written explicit instructions for computers, though, at accentuating levels of abstraction?

It is too soon to tell. There have been a superabundance of attempts at higher order languages where human developers just have to elaborate their intent and an ML/AI system conjures up implementation code. Although not far-fetched but these techniques are a long way-off.

Interestingly, hurdles plaguing other technologies may be improved with the help of ML. For instance, take a look at architecture review for an existing suite of enterprise systems. There might be highly intricate interactions between systems and components, sophisticated data access patterns and relationships etc.

Instrumenting these systems and then applying ML would provide better insight to do enterprise architecture in an improved way. Insights like “apply the strangler pattern here”, “couple these two related systems”, “remove this flaky old system” etc. can prove to be a smart way of business development.

Drupal factor in machine learning

So, how can you personalise web content experiences on the basis of subtle elements of a person’s digital persona? Standard personalisation mechanisms point to content which is based on a user profile or behavioural patterns.

Deep-Feeling, a proof-of-concept project, uses machine learning techniques to provide improved content recommendations to users. A presentation in Drupalcon Baltimore 2017 used the Instagram API to access a person’s stream-of-consciousness and filtered their feeds through a computer-vision API.  This was used to detect and learn subtle themes about the user’s preferences.

[embedded content]


The presentation focussed on establishing an idea about the sort of experiences that the user deems fit to be worth sharing. It was, then, used to match the user’s characteristics against their own databases. In this proof-of-concept, they used Acquia Lift service and Drupal 8 to recommend travel experiences on the basis of sort of things that a person shares.

On the Cloud

AWS defines cloud computing as “the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet with pay-as-you-go pricing”.

Infographic showing cloud trends in 2018 with relevant iconsSource:iMicron

Complications in Cloud

Today, more than ever before, cloud is much more complicated than an edict from the Chief Technology Officer to “put everything in the cloud”. With AWS featuring so heavily, is that an indication of its maturity? Or is that the resultant of Amazon’s explicit strategy to out-compete other cloud platforms based on features? It’s a mix of both but many retail enterprises are dodging AWS as they see Amazon as a competitor and have started following a strategic decision-making as to forbid using their services.

Today, more than ever before, cloud is much more complicated than an edict from the Chief Technology Officer to “put everything in the cloud”.

There is a discernible growth in confidence in Azure and Google Cloud platform with both maturing as platforms and their messaging having a firm resonance with the buyers. There is a plenitude of choice in cloud but with new data protection laws such as the EU’s GDPR coming into play, it has complicated the situation. Organisations are finding it difficult to identify which cloud will support their regulatory and compliance obligations.

Feature parity

Another trend that can be witnessed is the use of feature parity as an objective while performing a cloud migration, product redevelopment or legacy system upgrade. It is hardly a good idea to simply reimplement a 10 or 15 year old system - bugs and all - using latest technology.

Often the excuse tends to be that “we do not want to confuse the business”. Or, there are concerns about changing the process or calculations but the output is, most often than not, a long, sluggish, big-bang delivery with superabundance of risk. Stakeholders are often not happy with a project that is late, exceeds budget, and does not deliver anything new for the business.

Instead, thought leaders in the IT should be more eager to raise question on whether the logic written more than a decade ago is a right fit for today’s business workflow. Also, they should provide their users more credit for being able to absorb a new and overall more capable system. Organisations should be closely examining the features that they really need rather than recreating a complete feature-set on a new platform.

Betterment in platform-thinking

There is a wave of ‘platform-thinking’ doing rounds which is basically deliberate encapsulation of useful capabilities and business functions into self-service, reusable platform components. As the technology and business platforms gains new features, it enables the business enterprises to speed up time-to-value.

The rise of platforms is becoming a significant latest trend. Whether it is public platform like AWS and Azure or the private ones like Cloud Foundry and Kubernetes, Cloud has given organisations new options for infrastructure deployment.

Container management

Google Cloud states that “containers offer a logical packaging mechanism in which applications can be abstracted from the environment in which they actually run”. 

The containerisation trend has been creating an ecosystem where all of our tools now work with containers. And in some ways, containers, are the new POSIX, the latest universal interface. Other significant trends like microservices, evolutionary architecture, cloud-by-default work tremendously well with containers.

Not long ago, big players in the industry were engrossed in the conversation involving topics of GIFEE - Google’s Infrastructure For Everyone Else. Kubernetes is just a Google-style infrastructure that can be leveraged by everyone. Google pushed hard and put in a lot of resources with the objective of getting people onto the Google cloud offering. Eventually, Kubernetes became the default container platform. Kubernetes is an open source container orchestration system for automation of deployment process and scaling and governance of containerised applications.

Moreover, Kubernetes has been becoming more accessible to run at scale. Running resilient, production clusters is becoming easier with improvements in the core Kubernetes software. In addition to this, Kubernetes is coming up with better tooling and highly active ecosystem. Most of the big cloud providers have started offering Kubernetes-based hosting.

Virtualisation

When the VMware virtual machines came into the scene in 1999, it was a slight hint towards virtualisation long-term impact on revolutionising all aspects of software. Virtual machines are used in everything ranging from developer workstations to Google-sized data centres. Docker, Kubernetes and all those today’s super exciting cloud technologies are the resultant of virtualisation.

The Drupal factor in Kubernetes

At a conference held in the Great Indian Developer Summit Bangalore 2018, a demonstration showed the orchestration, powered by Kubernetes, that provides a simple way to leverage the scalability and power of Drupal.

Flowchart representing Drupal and Kubernetes use case with circles and boxesSource: IBM Developer

A Drupal site was set up using Kubernetes and Postgres by splitting the services into containers. It involved:

  • Configuring an app that ran multiple containers in Kubernetes
  • Running a website hosted via Kubernetes
  • Using Kubernetes-persistent volumes to govern Drupal configuration between container restarts.
  • User interactions with the Drupal web interface
  • Drupal container using its persistent volume to store website date but not content
  • PostgreSQL container using persistent volume to store the database contents.

Data streaming

The world is expecting real-time analytics. It is a de-facto thing that we have to accommodate as we design systems. We savour the merits yielded from an event-based streaming architecture like loose coupling, high performance, autonomous components and scalability. But the need for streaming has been driven by the analytics requirement, that means, you just cannot meet this need without streaming.
 
Maturity in event-driven architecture is associated with rapid rise in data streaming. These systems are now a run-of-the-mill thing and well understood. Also, new techniques like using streams as persistent storage of enterprise facts are seeing a steady rise. Streaming is here to stay!

Blockchain

Forbes defines Blockchain as “a public register in which transactions between two users belonging to the same network are stored in a secure, verifiable and permanent way. The data relating to the exchanges are saved inside cryptographic blocks, connected in a hierarchical manner to each other. This creates an endless chain of data blocks -- hence the name blockchain -- that allows you to trace and verify all the transactions you have ever made.”

Infographic showing statistics on Blockchain with relevant iconsSource: Dot Com Infoway

This technology holds the promise to alter industries. Even though the conversation is often surrounding financial opportunities, it has lot more to offer in government, healthcare, supply chain, content distribution and many more. However, many blockchain technologies are still immature and unproven which needs to be unregulated.

Blockchain technology holds the promise to alter industries

Pragmatic approach to blockchain requires a clear understanding of the business opportunity, immense capabilities and the caveats, a trust architecture and the necessary implementation skills. Before kickstarting a distributed-ledger project, your team should have the cryptographic skills to understand the possibilities. Identify the integration points with existing infrastructures in addition to monitoring the platform evolution and its maturation. Be very cautious while interacting with vendors.
 
Today, Ethereum smart contracts and the Corda distributed ledger are praiseworthy options to consider.

The Drupal factor in Blockchain

Chainfrog has been working on blockchain technology since its early stages. They exhibited a use case where user data like communication history, addresses or the profile data will be available to users in a big enterprise.

Logo of chainfrog with an image of frog


Rather than making an HTTP call everytime a new user is added, Chainfrog proposed to remove the middleman, in this case, API, and adopt a peer-to-peer immutable ledger. 

Whenever a new user would be added to the Drupal system, Chainfrog’s blockchain based solution ‘Blockbinder’ will help in recording everything in a data table. This , thereby, ensures that all the Drupal installations inside a firm would synchronise their user data within 30 seconds of any new addition in one of their installations.

Conversational platforms

Conversational UI and Natural Language Processing (NLP) are often in the scheme of things when it comes to recent innovations in the tech industry. The foundational example is the Amazon Echo.

Infographic showing statistic on conversational platform with a partial circleSource: Artificial Solutions

For designing a device with no screen, Amazon started considering the development of conversational UI. Carrying on a conversation with a device or chatbot is not anymore reserved for the likes of Alexa, Cortana or Siri. With the help of APIs and third-party services to do the heavy lifting, these capabilities could be leveraged by device makers and enterprise developers.

Conversational platforms are driving a paradigm shift in which the burden of translating intent shifts from user to computer.

The Drupal factor in conversational platforms

Chatbot API, a Drupal module, can be leveraged to integrate a bot in the site. It is an extra layer that falls between your Drupal installation, NLP and various chatbots and personal assistants. It can work with systems like Dialogflow, Alexa, Cisco Spark Microsoft and Twilio.

Immersive Experience

Augmented Reality (AR) and Virtual Reality (VR) are moving towards the mainstream adoption. Businesses showing interests in VR beyond gaming and also novel applications of AR to improve productivity. The technology is still developing and needs specific skills such as 3D modelling but organisations are preparing itself for this new wave of interaction.

Infographic showing statistics on AR and VR with circlesSource: MDG Advertising

In the near future, VR and AR will be mainstream capabilities that businesses need to build, buy or rent. VR and AR would allow natural interactions between people and the digital world.

The Drupal factor in Immersive experiences

The demonstration shown in the video depicts 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 the lists while shopping.

[embedded content]


Another demonstration shows a decoupled React VR application on top of Drupal 8. The Drupal site of Massachusetts State University (a fictional university) stores all the content and the media that is going to be featured in the VR tour.

[embedded content]

Internet of things and Digital Twins

Internet of things (IoT) has been revolutionising the way we see connected world. Basically everything we see around us can be connected through internet. Almost!

One of the key trends in the IoT in the recent years is the digital twins. Forbes defines it as “a virtual model of a process, product or service. This pairing of the virtual and physical worlds allows analysis of data and monitoring of systems to head off problems before they even occur, prevent downtime, develop new opportunities and even plan for the future by using simulations”.

Illustration showing a digital twin model in the form of a hexagonSource: Deloitte University Press

John Vickers, NASA’s leading manufacturing expert and manager of NASA’s National Centre for Advanced Manufacturing says that “the ultimate vision for the digital twin is to create, test and build our equipment in a virtual environment”.

For instance, GE’s digital wind farm paved new ways of improving productivity. GE uses the digital environment to inform the configuration of each wind turbine before the construction commences. Its aim is to generate 20% gains in efficiency by assessing the data from each turbine that is fed to its virtual equivalent.

The Drupal factor in IoT

A session held at DrupalCon New Orleans 2016 showed how Drupal and internet of things and come together. It showed a demonstration that used a barometric pressure sensing, GPS-enabled wearable armband connected to the internet. It could, then, display an icon to provide the weather forecast for the current location.

Conclusion

While the planet Earth keeps on revolving around the sun, not only the climate and year changes with that but the people and their needs as well. And so happens technological innovations and, thus, macro trends listicle go on adding and subtracting the name of technologies every few years.

The macro trends in technology shown in this blog post are the key mentions that are being witnessed in recent times and will continue growing. Drupal, as a stupendous content store, keeps scaling itself with a robust community presence that makes it relevant and useful in the times of tech innovations.

We, at Opensense Labs, keep following our everlasting approach towards keeping pace with new inventions. We can give your business a digital transformation that it deserves with the help of our experts who have years of experience in Drupal development.

Contact us at [email protected] to develop Drupal-based projects using such futuristic technologies that are doing rounds in the macro trends.

Sep 05 2018
Sep 05

New versions of PHP bring new features and fixes for security issues and bugs. Migrating from one version to another can often lead to incompatibilities. As of writing this article, PHP 7.2 is the latest stable release and PHP 7.3 is expected to be released in December 2018. Drupal.org currently recommends PHP 7.1+ for new projects and encourages the community to plan an upgrade for older versions.

Drupal, as we know, is a CMF written in PHP. It uses various PHP libraries and components including the Symfony framework, the Twig template engine, PHPUnit, Guzzle, etc. Hence, it is always recommended to do a compatibility check with all the components, libraries and core/contributed modules of your Drupal site before upgrading to newer versions of PHP.

Now, the process of changing the PHP version of your Drupal site may vary with your hosting provider and the access level that you have on the server. But for this tutorial, Ubuntu 16.04.4 LTS with Apache 2.4.18 and Nginx 1.10.3 was used. Few commands, configuration files, and directory paths may differ with your system and the version of web servers.

Checking the current PHP version

First and foremost, let us see what all versions of PHP are currently installed on our system.

$ update-alternatives --display php
command line for raman@raman ubuntu


You may also check all the installed PHP packages along with its extensions using:

$ apt list --installed | grep "php*"

By default, the one with the highest priority will be the command line version. That is, if we use the interactive shell or parse a PHP file through the terminal, this version will be used.

$ php -v
command line for raman@raman ubuntu


However, this selected command line version may/may not be the configured with your web server. To check the PHP version configured with the web server, you may create a phpinfo() page or echo out the PHP_VERSION_ID constant / phpversion() function.

$ cd /var/www/html/drupal8
$ drush php-eval "echo phpversion();
command line for raman@raman ubuntu

 

List of PHP configurations provided by phpinfo()List of PHP configurations provided by phpinfo()

If you do not have the access to your server through SSH, you may also view the current PHP version using the Status Reports of your Drupal site available under /admin/reports/status.

Checking the PHP version using Drupal’s Status ReportChecking the PHP version using Drupal’s Status Report


Why Update to PHP 7?

Here are some of the reasons why you need to upgrade from PHP 5 to PHP 7:

  1. PHP 7 is twice as fast as PHP 5. The huge upward shift in performance is one of the reasons why an upgrade is important. This means your website loads in lesser time, giving your web users another reason to stay on your website. 
     
  2. PHP 7 supports simultaneous execution of asynchronous tasks. Tasks such as networks, access to the database, timers and perform events related to I/O operations can be done asynchronously by putting in place a single PHP event-loop. 
     
  3. It is mobile-first. Of course, you need to offer a better value proposition to your users. And mobile users cant be ignored here. PHP 7 offers exactly what businesses need to do to cater to the needs of mobile device users.

    It offers reduced memory usage, execution engine improvements, and native local threat storage which are specifically suited to mobile devices that have limited browsing features. 
     

  4. Uses lesser memory. PHP 7 has demonstrated that technology infrastructure can process higher computing requests without consuming proportionately higher memory. 

How to change the PHP version?

Since Apache and Nginx are the most popular web servers in the market, we will have a quick look on how to change the PHP version on them. Also, it is highly recommended to have a backup of your Drupal site before tinkering around with any of the configurations on your server.

Now, in my case, I have PHP 7.0 configured on the web server and Drupal is giving a nice recommendation to upgrade it. But I do not have the latest PHP 7.2 installed on my system, so, I will first download it along with the required PHP extensions.

These include extensions for URL, JSON, Image, Library, Mbstring, Open SSL, and XML. But, just to ensure that all the extensions get installed, let’s install them manually.

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install php7.2 php7.2-fpm php7.2-xml php7.2-mysql php7.2-gd

You may view the packages using dpkg -l php7.2* to confirm.

I. Command Line Version

To change the command line version of PHP you may use the following command. Again, changing this won’t affect the version used by the web server.

$ sudo update-alternatives --config php
command line for raman@raman ubuntu


Enter the choice number mentioned besides the desired PHP version

or

$ sudo update-alternatives -set php /usr/bin/php7.2


II.  Apache

For Apache web server, the a2enmod and a2dismod scripts can be used for enabling and disabling the PHP modules.
Disable all the previously enabled PHP modules

$ sudo a2dismod php5.6
$ sudo a2dismod php7.0
$ sudo a2dismod php7.1

Enable the new PHP version module

$ sudo a2enmod php7.2

Restart the web server    

$ sudo service apache2 restart

 

PHP version for a specific website can also be set through to the .htaccess file in the following way.

AddHandler application/x-httpd-php72 .php


III. Nginx

For Nginx, we simply need to update the PHP-FPM socket in its configuration file. But before that make sure that the PHP-FPM is installed for your version and is running as a service.

Take a backup of the default configuration file and then open it up in your favourite text editor.

$ cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
$ sudo vim /etc/nginx/sites-available/default


Change the FastCGI backend to use the new PHP-FPM socket, save and exit the file

location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}

Run the configuration test

$ nginx -t

Restart the web server

$ sudo service nginx restart

We have now successfully changed the PHP version of our Drupal site. Now, navigate to Manage → Reports → Status report to ensure that the version has been changed and there are no errors or warning from any Drupal module or PHP library.

Observe that the PHP version has been updated to 7.2.9-1Observe that the PHP version has been updated to 7.2.9-1

 
As expected, it did not produce any errors or warnings on a raw Drupal 8 installation. If you face any issues, make sure you installed all the required PHP extensions for your PHP version, check the log messages and refer the issue queues of the core and contrib modules.

In case of any queries or suggestions, feel free to drop down a comment.

Sep 03 2018
Sep 03

You may have left for an outstation trip leaving the house door open. Or your city's waste management department may need to know if the trash cans in a locality are full to the brim. Also, carbon dioxide emissions from factories may have to be monitored remotely. All such situations call for Internet of things that gives you the power of connectivity to control and monitor seamlessly. Integration of IoT with Drupal’s robust content management framework can be highly effectual in facilitating the business workflow of your organisation.

a blue cloud connected with twelve other clouds with the sign of headphones, settings, computer, wifi, mobile, gaming


It’s great to witness the changes from the pre-internet era to this world of connected people through all sorts of technological advances. Websites are an ultimate medium of offering a great digital business experiences to the users. 
Drupal is one notch higher than the rest and its flexibility has made it possible to incorporate benefits of a futuristic technology like IoT into your websites.

Evolution of Internet of Things

It is interesting to see such an innovative piece of technology steadily taking centre stage. But how did something like IoT came into being? First ever IOT device burst into the scene when a  toaster was created for the INTEROP Conference in 1989 that could be controlled over the internet. 1991 saw the first ever website going live.

In 1993, a Trojan Room Coffee Pot, created by University of Cambridge, could monitor the pot levels and send the data to the server. It wasn’t until 1993 when the term ‘Internet of Things’ was first coined.

A discernible evidence of the growth of IoT, which was being seen as a force to reckon with, was seen during 2006 to 2008 when the European Union realised the potential that IoT had to offer to the world. A European IoT conference was held to discuss the enormous possibilities of enabling IoT.

Thus, around 2008-2009, IoT took a new avatar as this was seen as the birth of a new era with more things connected to the internet than the people as was stated in a report by Cisco. In 2011, Internet of Things made it to the list of Gartner Hype Cycle for the emerging technologies.

Graphical representation highlighting internet of things in the list of emerging technologies in 2011Source: Gartner

In 2017, Gartner mentioned IoT platform in its list of Hype Cycle for Emerging Technologies. We will see how Drupal can be efficacious in building an IoT platform later in the blog.

Graphical representation showing IoT platform as part of the emerging technologies in 2017Source: Gartner

Although both the IoT and the website saw the emergence almost at the same time, websites have seen a massive growth. Drupal can lay the perfect foundation for an IoT platform.

The Architecture of the Internet of Things

Gartner defines IoT as the network of physical objects that contain embedded technology to communicate and sense or interact with their internal states or the external environment.

Prime characteristics of the Internet of Things can be described as below:

Six characteristics of IoT written in a pie chart listed as; 1. Anything any device, 2.Anyone anybody, 3. Any service, any business, 4. Any path any network, 5. Anyplace anywhere, 6. Anytime any contextSource: International Journal of Engineering Science and Computing
  • Network accessibility, compatibility, and interconnectivity: Amazing connectivity features of IoT help in providing network accessibility which basically means getting on a network. It also lends compatibility which gives the common ability to consume and produce data. Moreover, it provides interconnectivity that permits anything to be catenated with the global information and communication architecture.
     
  • Adhering to the constraints of things: It can provide things-related services by adhering to the constraints of things. For instance, privacy protection and semantic consistency between physical objects and their associated virtual things.
     
  • Heterogeneous devices: IoT devices are characterised by their heterogeneity. They can interact with other devices and service platforms through different networks.
     
  • Scalability: Devices that need to be governed and that communicate with each other will be greater than the ones connected to the internet. Handling the data generated and their interpretation for application purposes is even more pivotal in such cases.
     
  • State of devices: It is characterised by dynamic changes in the state of devices. For instance, it can either be connected or disconnected depending upon the conditions. Furthermore, the context of devices like location and speed can very different too.
     
  • Security: Safety of both the personal data and the physical things are of paramount importance. Security paradigm that scales with the deployment of endpoints, networks and the data that moves across all of it needs to be taken care of.
IoT architecture comprises of 4 key layers of technologies that form the pillar of support for the IoT.
Architecture of internet of things showing 4 different layersSource: International Journal of Engineering Science and Computing
  • The lowermost layer consists of smart objects incorporated with sensors. They provide the IoT devices with the characteristic feature of interconnectivity by allowing real-time data collection and processing between the physical and digital worlds. For instance, they can come in handy in measuring and recording temperature, pressure, air quality, humidity etc.
     
  • The second layer comprises gateways (microcontrollers, microprocessors etc.) and networks ( WiFi, GSM etc.). An enormous amount of data produced by sensors needs a transport medium in the form of high performing gateways and networks.
     
  • The third layer forms the management service layer which has the functionalities like the management of devices, analytics platform, process modeling and secure handling.
     
  • Finally, the uppermost layer signifies the application layer which is the amalgamation of the first, second and third layers put into practical use.

Applications of the Internet of things

Infographic showing percentage of IoT usage in different industriesIndustry-wise use of IoT

Internet of smart environment

Infographic showing statistics on the usage of internet of smart environmentSource: ZDNet

Keeping your environment safe and future-secure has been streamlined by IoT. Be it air pollution monitoring, forest fire detection, weather monitoring, checking water quality, controlling river floods, and protecting wildlife, IoT can be applied to a great effect. For instance, Bigbelly’s solar-powered trash can alert sanitation crews when it is full.

Internet of smart agriculture

Bar graph showing the market value of internet of smart agriculture from 2015 through 2020Forecasted market value of smart agriculture worldwide from 2015 to 2020 (in billion U.S. dollars) by Statista

Farmers and agriculture engineers can leverage the benefits of IoT for efficient farming. IoT smart devices allow you to monitor greenhouse gases to maximize the yield, control humidity and temperature levels in the compost, locate and identify animals grazing in the open pastures, monitor offsprings in the animal farms, etc. For instance, WaterBee is a smart irrigation system which helps in collecting information on soil content to help reduce water wastage.

infographic showing statistics on internet of smart agricultureSource: Telefonica

Internet of smart energy

Infographic showing statistics on internet of smart energy and environmental threatsSource: Telefonica

Controlling the flow of energy from wind turbines, controlling AC-DC power supplies, and optimising the performance of solar energy plants are some of the advantages of using IoT in the smart energy consumption. GE wind turbines use sensor and grid data to reduce costs of producing clean energy and increase electricity production.

Internet of smart cities

Infographic showing statistics on internet of smart citiesSource: Smart & Resilient Cities

It can be used in the cities for monitoring material conditions in buildings, smart fire management systems, weather-adaptive lighting in the streets, intelligently sending a warning to take diversions in case of any unexpected event on highways, and real-time monitoring of parking space availability. OnStar’s automatic crash response uses sensors to detect vehicle crash and send alerts to the concerned authorities.

Internet of smart health

infographic showing internet of smart healthSource: Moschip

IoT smart devices can be highly useful in smart surveillance of patients, controlling conditions inside a freezer which store vaccines, and fall detection of independently living elderly people. Shockbox can be fit inside a helmet which uses sensors to detect any collisions.

Internet of smart lifestyle

infographic showing statistics on internet of smart lifestyleSource: PWC

Smart living is possible with IoT as it allows the appliances to be remotely switched on and off, detects window and door openings, monitors home safety through cameras and home alarm system, and monitors water supply consumption. Belkin Echo Water uses sensors to track water usage in a household.

Business importance

infographic showing business benefits of internet of thingsSource: Samsung

IoT can be highly effective for your business growth with a superabundance of advantages. Some of the most important benefits include:

Better customer service

Attracting new customers, reward the new loyal and regular ones, and understand the behaviour of people in and around your premises can be really useful. Connected devices help in making that a reality. For example, Amazon Dash Button helps you in ordering your favourite products with a simple click.

Efficacy in business functioning

Efficacious functioning of business is of utmost importance. Internet-connected devices have the ability to gather and assess data and share them with other devices. Sisense enabled bulb connects to the Sisense analytics platform which can be programmed to change colour to reflect performance on certain metrics. So, if the daily sales target is met, the bulb can show a green light.

Remote business functioning

Business chiefs may have to travel places to supervise the progress of a project. IoT helps them in remotely turning an equipment on and off and monitor the activity in the office irrespective of their physical location. Rolls Royce, one of the leading automobile manufacturers, has raked in a lot of money through business insights they have generated from clients through remote monitoring.

Easily track inventory

Keeping track of business workflow can be streamlined. Your business might be dealing with a plenty of raw materials, components, and finished products which can turn out to be difficult to keep a track of. The internet-connected system of sensors enables in tracking down each stage of business workflow whether it is in the factory or a warehouse. RFID chips can help track inventory movements across a supply chain and within the garments store itself.

Saves business costs

IoT can help cut business costs through proper monitoring of usage of organisational spaces. Business organisations may lead a tough time in monitoring empty conference rooms with air-conditioners turned on. Connected devices let you control and monitor usage levels. Magnet 360, which helps businesses use the Salesforce platform realised that their system needed an upgrade. Through sensors, that could analyse air flow, they could cut down energy cost by up to 70 percent.

Consistency in production quality

Connected devices can help monitor the quality of production quality for manufacturers. In 2016, the manufacturing industry has spent $178 billion in IoT. Eaton provides on-line partial discharge sensors that perpetually monitor the insulation integrity of the medium-voltage equipment. This helps in identifying low-level capacitive discharge activity prior to insulation failure thereby optimising productivity.

Drupal and Internet of Things Incorporation

Smart wearable

DrupalCon New Orleans 2016 had a session which talked about bringing Drupal and internet of things together.

Logo of Drupalcon New Orleans 2016 with a crown-shaped icon


It showed a demonstration that used a barometric pressure sensing, GPS-enabled wearable armband connected to the internet. It could, then, display an icon to provide the weather forecast for the current location.

[embedded content]

The armband, which was tethered to iPhone, used mobile data to send latitudinal and longitudinal data to a ThingSpeak channel(an API for the Internet of Things). It, in turn, sent this data over HTTP to the Drupal 8 site to track the location of a ship. When the Drupal 8 website received this authenticated POST data, it created new location nodes, updated the map and table that is built with Views, and altered a block on the sidebar to show the matching icon of weather in the current location of the ship.

A presentation at DrupalCamp Oslo 2015 had a number of demonstrations to show how Drupal can be integrated with IoT technology.

Logo of Drupalcamp Oslo 2015 with skyscrapers in the background


Offline Status Checker

One of the first use cases was the Offline Status Checker. It was a simple demo where ESP8266, WiFi microchip with full TCP/IP stack and microcontroller capability, and a LED light was used. If the maintenance mode on Drupal 8 site was toggled to turn it on, LED light glowed red and if the maintenance mode was turned off, then the light glowed green. Basically, front page of the Drupal 8 site was queried to verify if the site is online.

Toggle maintenance mode with a TV remote

Another demo in the same presentation was called ‘Toggle maintenance mode with a TV remote’. A microcontroller received a infrared signal which was programmed to recognise on/off buttons of a TV remote. That means, it recognised only the on/off button and when it did, maintenance mode on the Drupal site was toggled.

Monitoring temperatures using Raspberry Pi

In addition to these, Raspberry Pi was used to remotely monitor temperatures and post them as nodes. Raspberry Pi, small and affordable computer used to learn programming, had a sensor attached to it to sense temperature every 3 minutes and send it to an endpoint using an API key. This API key was valid for one user and for every valid key, Drupal site allowed the posting of the node.

Arduino board integration

Arduino board, which senses the surrounding by receiving the inputs from sensors and controls lights, motors and other actuators, was integrated to a decoupled Drupal site in another demonstration. So, addition of new node of a picture of dog was recognised by Arduino board which, in turn, toggled the maintenance mode of decoupled Drupal site.

Future of Internet of Things

Predictions 2018: IoT moves from Experimentation to Business Scale, a report by Forrester, compiled some interesting facts about the internet of things and its steadfast growth.

Voice-based services would be the key part of business plans to be rolled out in the coming future.

Also after passing GDPR, the European Commission will issue guidelines to encourage the use of this technology and facilitate their the economic growth. This is because only 45 percent of data and analytics decision-makers at US organisations say they have commercialised their data while only 35 percent of those at French organisations and 38 percent of those at German enterprises do so.

Deployment of business processes that requires local data analysis close to the connected devices to enable these processes would take momentum.
 
Those who have been building industrial IoT platforms would exit the IaaS business.
 
There will be the danger of more IoT-related cyber attacks both on endpoint devices and on the cloud backplane as hackers set out to compromise systems to extract sensitive data.
 
Maturation of IoT and blockchain tech giants would drive blockchain adoption in the coming years.

Conclusion

Internet of things can bring the world closer. Amalgamation of Drupal and IoT can lead to something unique with Drupal’s flexibility in content management and IoT’s seamless connectivity between devices.

Reach us out at [email protected] to get the best of the internet of things and Drupal for your enterprise.

Aug 31 2018
Aug 31

Travel down the memory lane and think of your favourite restaurant you used to visit often. You might cherish the memories of sheer brilliance in the ambience as you walked in but never had to venture out to the back of the restaurant. The back of the restaurant houses items accessible to people working there and the main hall is for customers to experience the services. Decoupled Drupal almost has a similar paradigm. Well, almost!

Illustration showing a headless man wearing red checkered shirt , bow tie, and a hat


With Decoupled Drupal, a website visitor won’t be involved in a direct interaction with Drupal just like customers do not interact with the people working in the back of the restaurant. The visitor will see pages built using Javascript frameworks with Drupal as the content store. 

How can such an arrangement be remarkable for the marketers’ efforts to make innovative marketing strategies and witness resounding business growth?

Diving Deeper

You may call it headless, decoupled, web services or API-first but for a marketer, understanding such terminologies can prove to be testing times. So, first and foremost, how different are traditional CMS, headless CMS and decoupled CMS from each other?

Flowchart showing the workflow of Coupled and Decoupled Drupal with rectangular boxesSource: Acquia
  • Traditional CMS: In a traditional CMS, content creation can be done by the users through an editor which could be stored in a database (the backend). This content is then served to a frontend rendering layer which is firmly coupled to the backend.
  • Headless CMS: In a headless CMS, content creation can be done by the users through an editor which can be stored in a standalone database frontend by APIs. This content is retrieved by a completely separate frontend rendering layer through those APIs.
  • Decoupled CMS: A decoupled approach of content management is a blend of traditional and headless CMS. Content creation can be done by the users through an editor which can be stored in a database. This content can be served flexibly either through the existing frontend rendering layer or retrieved by a completely separate frontend rendering layer via APIs.
A decoupled approach of content management is a blend of traditional and headless CMS.

Therefore, in a decoupled architecture, the content is exposed to another frontend system by the Drupal backend such as native mobile applications, digital signage, conversational UIs or applications developed using JavaScript.

So, that’s about the basic difference between the traditional approach and the decoupled approach of content management systems. What does decoupled Drupal do to a marketer’s strategy and how is it beneficial for them?

Capabilities of Decoupled Drupal

The things that decoupled Drupal is able to accomplish can prove to be a harbinger of a new era of successful business with its astonishing capabilities.

Multi-platform capabilities

A large business enterprise with a presence of an awful lot of digital properties to govern and update can benefit to a mammoth extent with decoupled Drupal as a backend. Being a content repository, decoupled CMS enables you to serve dynamic content to a plethora of places ranging from mobile apps and voice tech platforms to IoT devices and futuristic technologies down the road.

Awesome frontend experience

Traditional Drupal architectures have some design circumscription that can forbid designers and frontend developers from delivering a modern design system that could offer a spectacular user experience.
 
Facilitation of usage of external design systems can be enabled by decoupled Drupal. In such an architecture, Drupal is solely doled out to compiling data, passing that on to an external design system and giving control of the markup to that system. This makes sure that your content will present daintily across platforms.

Marketing agility

It’s a strenuous task for the marketers to update and redesign digital properties rapidly keeping in mind the ever-evolving customer expectations. In addition to this, there is an astronomical investment of quality time and resources across design, development and marketing departments.

Customer experience is evolving at a blistering pace!

Traditional Drupal architecture could take ample amount of time to make updates and redesigns. This is because modification has to be performed at both the backend and the frontend leading to the dependence of marketers on both the developers and designers for the completion of the project.
 
By the time you would bring together your development team, zero-in on design, and finally agree on the way forward, proposed changes would already look outmoded. Customer experience is evolving at a blistering pace!
 
Streamlining the upgrades to the backend without impacting the user experience on the front end is a monumental advantage of decoupling your Drupal CMS. As a result, making design and UX alterations to the frontend can be easily done independently from the backend.

Benefits of Decoupled Drupal for Marketers

Traditional CMS approaches can sometimes prove to be a thorn in the marketer’s flesh while looking to build a robust business. Decoupled Drupal has a lot to offer to a Marketer’s strategy which can be seen through the eyes of organisations who have benefitted from innovative marketing strategies.

Shore up sales and revenue

At the end of the day, your marketing strategies should rake in huge profits that spells the success of your long-drawn methods. Adopting anything, for that matter, into your business workflow involves a whole lot of speculations about the sort of impact that it would have. Adopting decoupled Drupal can prove highly lucrative for an organisation. The Kuusamo-based Ruka, one of the popular ski resorts in Finland, has made incredible strides in terms of their financial growth with the implementation of decoupled Drupal.

The online presence of Ruka was reeling under the challenges of bad user experience, a dearth of mobile support, increase in manual labour due to missing integrations. Even the minutest of alterations to the online store needed software development.

Homepage of Ruka with an image of a bicycle near a river


To achieve the best possible user experience, React was used to rebuild the frontend of the online store with Drupal 8 and Commerce 2 taking the responsibility of content management.

The entire project was carried out using the principles of Scrum framework which changed the composition of the team fluidly as per the needs of the project.

The remodelled Ruka online store turned out to be more user-friendly than ever before thereby significantly simplifying the maintenance process. Betterment in the usability enhanced the volume of mobile transactions by almost 30%. Moreover, 12% increase was established in the total amount of web sales in comparison to the time when the older site was in place.

Relay the right message to the customers

It is of paramount importance that marketers keep up with the customer expectations. To do that, they need to serve the right message, on the right device, and at the right time.

Princess Cruises, one of the premiere cruise lines in the world, brought in innovation to their marketing landscape with the incorporation of decoupled Drupal. They went on to fundamentally alter the way their guest accesses information while onboard their ships.

[embedded content]


Every guest relied on the mobile phones to instantly avail information, buy items and inform the management about anything. So, it paved the way for the transformation of Princess experience with the launch of [email protected] It is a mobile application designed specifically to enable guests in planning their day planner and activities, assess the ship’s itinerary, scan through restaurant menus and book shore excursions on-the-go.

The digital experience had to be reliable when the ships are sailing different parts of the globe. Thus, it needed a centralised way of governing content across multiple channels and touchpoints for offering a uniform experience on mobile and digital signage onboard the ship.

Princess Cruises chose decoupled Drupal approach to relay content across several touchpoints and channels. Princess Cruises could create content once and publish everywhere thereby connecting every passenger to [email protected], and hence Drupal.

Faster time to market

Continuous delivery of a product is every marketer’s numero uno need. Delivering quality products faster to the market is very essential and when it comes to the rebuilding of a site, business implications creep in. Challenges like production downtime had to be coped with while revamping an entire site.

A decoupled CMS strategy can be a wonderful solution for a website that is in dire need of a change. Legacy.com, a global leader in online obituaries, which chose to rebuild its site using decoupled Drupal with the help of a Drupal agency.

Homepage of Legacy with a person holding a framed photo


To fulfil the needs of an enterprise-grade publishing platform, decoupled Drupal helped in incorporating highly customised and lightweight JavaScript-based frontend. So, the page structure deployed was a progressively decoupled architecture with Drupal administering and rendering the layout or skeleton of the page architecture.

The frontend development was taken care of by the in-house team at Legacy.com and the Drupal agency managed the Drupal development to finish the project in a record 4-month delivery timeline.

Entice new customers to come on board

Acquiring and retaining customers requires a lot of customer-centric planning. Marketers have to perpetually work on keeping existing customers engaged and simultaneously attract new customers to come on board.

Making every interaction with the customer interesting, quick, and engaging is a significant approach for marketers. Powdr Corporation, one of the largest ski resort operators in North America, wanted to offer each brand in the Powdr family the sort of flexibility needed to enable customised web experiences for users.

Marketers have to perpetually work on keeping existing customers engaged and simultaneously attract new customers to come on board.
 
Homepage of Powdr with a woman enjoying snow


The major hurdle for Powdr was to handle all of their digital properties across multiple sites and at the same time giving each resort the power to show their uniqueness as a brand. It chose a decoupled Drupal architecture to kickstart its flagship site along with resort sites.

Each of the resort sites used Drupal as the content repository that exposed content for consumption by its preferred JS framework in the frontend. This gave frontend designers flexibility and helped in customising their approach for each of the brands in the Powdr ecosystem.

Powdr’s adoption of decoupled Drupal provided an engaging experience to the customers and brought the beautiful mountain ranges to different screens and devices. The launch of the revamped site resulted in 50% of the users entering into a purchase path directly from the homepage.

Build user engagement

Marketers need to make sure that the business site keeps the user engaged for a longer time. A good quality content coupled with a website that has an appealing design and could withstand high traffic is every marketer’s important part of the wishlist.
NASA, an independent agency of the executive branch of the federal government of the United States, took the decoupled route to redesign their site with the help of an agency. Amazon Web Services (AWS) and Drupal proved to be the perfect match for meeting the content needs of both NASA and the public with user-driven APIs, dynamic host provisioning, scalability and security.

Homepage of NASA with images of earth from space and other space objects


The website of NASA is deployed in several AWS availability zones and governs almost 500 content editors updating over 2,000 content every day. On an average, it receives approximately a million page views a day. It has handled peak loads of nearly 40,000,000 page views in a single day with a record-shattering  2,000,000+ concurrent users during NASA’s 2017 Total Solar Eclipse coverage.

Scope for future enhancement

Having the flexibility to think of more ideas and bringing those ideas into life by being able to easily add them to the website is a huge boost for marketers. New requirements always pop up in the marketer’s mind that could be added to the site for more customer engagement. The decoupled approach gives that freedom and flexibility needed to keep improving the public-facing site.

Hoorooh Digital launched a fully decoupled Drupal 8 site for Boreal Mountain Resort with the help of an agency. The site’s prevailing objective is to get the skiers to the mountain faster which is the sort of philosophy that acted as the driving factor for the site’s redesign and development.

Homepage of Boreal mountain resort with a man skating downhill on a snowy surface


The website of Boreal Mountain Resort offered a stupendous scalability. It was possible to  add and configure new updates like weather reports and conditions easily within the decoupled system. Thus, as the site matures, it would retain a dynamism and liveliness that will assist in bringing those lovely mountain pictures even closer to the keen adventurers.

Conclusion

With its continuous effort towards becoming more and more API-first, Drupal has brought a broad smile on a lot of marketers’ faces with its astounding capabilities. Decoupled Drupal can bring colossal change to the organisations who are in need of improved digital experiences and digital transformations.

At Opensense Labs, we have been in the constant pursuit of getting the wheels turning by providing amazing digital experiences with our expertise in Drupal development.  Reach us at [email protected] and apprise us on how you want us to build your ultimate digital profile using decoupled Drupal.

Aug 31 2018
Aug 31

“How you gather, manage, and use information will determine whether you win or lose”
-Bill Gates

Gone are the days when businesses had to rely on stand-alone mainframe systems, or on statistical methods to analyze and gather customer data to bring them into their sales cycle.

a man and a woman sitting on a table with a laptop discussing something


There has been no looking back since the first customer evaluation system was launched in 1986 which provided contact management services. 

Ease of CRM integration with web technologies is a quantum leap in the field of marketing. A CRM or SaaS CRM can be integrated with an automated marketing platform or a website to help not only in enhanced contact management but empower sales management too. 

But CRMs have gone beyond sales and marketing. Covering their traditional role too, CRMs, today, can deliver powerful benefits to the organization ranging from HR to customer service to supply-chain management.  

Introducing CRM and its Importance

In simple words - CRM helps users focus on their organization’s relationships with individual people including all the stakeholder from customers, service users, to colleagues.

In a conventional role, a CRM software records customer contact information such as email, telephone, website social media profile, and more. It can then automatically pull in other information, such as recent news about the company's activity, and it can store details such as a client's personal preferences on communications, to help personalize the content. 

The CRM system organizes this information to give you a complete record of individuals and companies, so you can better understand your relationship over time.

A CRM enhances customer relationship management by giving in on all the information and choices of the customer, capturing their interactions with the business, and bringing forth such information to provide better conversations. 

Why is a CRM Important?

The purpose of this article is to give you a clue about which CRM integration module would be best for your Drupal website. But it would be all futile if we don’t understand the importance of the CRMs or if we don’t come out of the conventional roles of CRMs. 

Salesforce rightly defines the ten CRM benefits: 

1. Enhanced contact management
2. Cross-team collaboration
3. Heightened productivity
4. Empowered sales management
5. Accurate sales forecasting
6. Reliable reporting
7. Improved sales metrics
8. Increased customer satisfaction and retention
9. Boosted marketing ROI
10. Enriched products and services

What are the CRM integration modules for a Drupal Website?

Here we look at some of the best enterprise level CRM Integrations available for your Drupal website. These modules will assist you in managing your CRM strategy better. 

Three Drupal 8 CRM integration modules

  • Salesforce Suite

a cloud with salesforce written on it

The first in the list is always special. The popular Salesforce CRM has its Drupal integration modules called Salesforce Suite and it is our top choice. 

The suite of modules supports integration with Salesforce by synchronizing Drupal entities (users, node, files) with Salesforce objects (such as contacts, organizations, opportunities). 

It supports the exchange of data between Drupal and Salesforce. Changes can be made in real time or asynchronously in batches during cron run. 

Here’s a quick guide on integrating Salesforce suites module with Drupal website. 

  • Webform SugarCRM Integration

a cube with white, blue, red shade and sugarcrm written below itSugarCRM is another popular Customer Relation Management System. However, the Webform SugarCRM Integration provides integration with SugarCRM for Webform submissions.

The module provides easy to use webform component mapping interface and SugarCRM configuration page. Each form component can be mapped to any field from all modules in respective SugarCRM system. On submission new record will be set in mapped CRM modules.

This module only provides an option to use the CRM integration class and extend with additional methods which can cover the specific requirements.

The module lets you alter the form according to your requirements. These are the three features that the module primarily provides: 

  1. Integration with SugarCRM for Webform submissions
  2. Mapping interface for Webform components
  3. Customizable
  • RedHen CRM

graphic of a red hen with yellow peakAs the official Drupal page mentions, the RedHen is a Drupal-native CRM initially designed for common nonprofit needs, but built for flexibility. 

The module provides a classic CRM functionality for managing information about contacts, organizations, and their relationships with each other and your organization (like memberships). 

Using artificial intelligence the module smartly incorporates some modern tricks like engagement tracking and customizable one-page donation forms.

Four Drupal 7 CRM integration modules

amocrm written in a blue backgroundamoCRM is a web service for your sales management. Businesses can use amoCRM to manage their leads and pipeline. 

amoCRM module allows you to configure creation, editing and deleting of leads, contacts and companies, recover of leads, change the status of leads. Any option that relies on the dependent modules. 

Adding your leads to amoCRM will ensure that leads are taken care of. 

  • Pardot Integration

Pardot is SaaS marketing automation application that allows marketing and sales departments to create, deploy, and manage online marketing campaigns that increase revenue and maximize efficiency. 

Drupal Pardot adds Pardot web analytics integration to Drupal. 

Following are the features that it provides:

  1. Default campaign for web activity tracking.
  2. Conditional path and user role web activity tracking.
  3. Path-based individual campaign tracking.
  4. Path-based scoring
  5. Core contact form integration
  • CiviCRM Entity

CiviCRM Entity is a Drupal module which exposes many CiviCRM API entities as true Drupal entity types. That means that almost any module that can use Drupal entities can also access and manipulate CiviCRM data, Drupal style.

This module integrates nearly 40 CiviCRM entities as Drupal entities by wrapping CiviCRM API calls in extended Drupal Entity controllers. Extendable by custom modules or CiviCRM extensions to add or alter entities. 

  1. Contacts
  2. Addresses
  3. Emails
  4. Phones
  5. Events
  6. Participants
  7. Contribution Pages
  8. Contributions
  9. Line Items
  10. Financial Transactions
  11. Price Sets, Price Fields, Price Field Values
  12. Activities
  • CRM Core  

crmcore written in a white backgroundCRM Core allows you to manage contacts, activities, and relationships in your Drupal website. It provides a set of modules for managing contacts, activities, and relationships within your Drupal website. 

It is designed to provide a basic framework for managing these items and interacting with other components of Drupal.

CRM Core is not a contact relationship management system itself, so much as a tool for developing your own systems for managing contact relationships

It provides extensive support for these entities and includes a number of tools to make them easier to support in your Drupal website.

In addition to these basic features, CRM Core integrates with a number of other components within Drupal, including Views, VBO, CTools, Rules, Solr, Services, Field API and Search API.

Other Drupal Modules

These are the modules which are important otherwise but don’t have a stable module version in Drupal (neither 7 nor 8) 

Hubspot module integrates with Webform and the HubSpot API to submit Webforms directly to HubSpot's lead management system.

A webform-based contact form on your site can send its data to HubSpot, where you may already track potential clients and contacts; or a Webform-based e-newsletter signup could send the lead to HubSpot's targeted marketing system, letting you use your pre-existing email campaigns.

  • OpenInbound for Drupal 

openinbound written in a peach backgroundOpenInbound tracks contacts and their interactions on websites. OpenInbound is a solution for Online Marketers who want to apply modern Content/Inbound Marketing tactics on websites.

Key functionality

  • Marketing dashboard
  • Digital Marketing CRM
  • Contact/Lead/Session tracking

Conclusion 

Despite the general notion that CRM systems were created for the customer-centric businesses, they can also be applied to B2B environments to streamline and improve customer management conditions. For the best level of CRM operation in a B2B environment, the software must be personalized and delivered at individual levels.

Aug 29 2018
Aug 29

You might have to scratch your head to reminisce about the worst things transpired in your life as you try to keep them at bay. Few corking good moments spent with your best friend will be indelible for the rest of your life. A good experience stays with you for a long time. It is much the same way with the websites. A great user experience with the website not only makes it alluring to the online visitors but establishes the camaraderie between them. Drupal can be a wonderful platform for you to provide an amazing digital user experience.

Illustration showing different people with different thoughts and blue background


Let’s dive into an example case straight away to see how a website can influence user experience. Skeleton screen is a blank version of a page where information is incrementally loaded. To keep your online visitors engrossed during slower load times, skeleton screen animation can be really useful.

A Gif showing the difference between page loading feature on two mobile screens side by sideSource: Tandemseven

Understanding the user experience

A good experience stays with you for a long time

How to explain user experience design to a layman? User experience stresses on establishing a deep understanding of users, their needs, what they value, and their limitations.

We often stumble upon the usage of words UI and UX almost happening interchangeably but other than the ‘I’ and the ‘X’ at the end, there is a major difference.

In short, UI is how things look whereas UX is how things work. Also, UX is a process and UI is a deliverable. Difference between the UX design and UI design can be summarised as depicted in the illustration below:

An infographic showing difference between user experience and user interface with an image of human brain at the centre


User Experience Honeycomb represents the qualities that should be at the heart of your UX design ensuring that users find value in what you are offering to them.

The qualities or facets of the user experience shown in the hexagonal depiction given here can be explained as follows:

A honeycomb shaped representation of different elements of user experienceSource: Semantic Studios
  • The website should be able to deliver value to the users. For instance, the UX should advance the mission for non-profits and contribute to the bottomline and alleviate user satisfaction.
  • We must ask ourselves whether our products and services are useful.
  • Usability is of paramount importance even though the interface-centered methods and perspectives of interaction between human and computer do not address every aspect of website design.
  • Our brand identity should get more desirable in our pursuit towards building a robust online presence
  • We should emphasise on building a navigable website with findable objects to help users find what they need.
  • Making our website more accessible to differently-abled people which is the ethical thing to do.
  • There must be credibility in what we offer to users and they should be able to trust and believe in our offerings.

Important tips to improve user experience

To create a good User Experience, a well-planned methodology is required. You would have to think of every possible way a user can interact with your website so that you can strive to improve that interaction.

To create a good User Experience, a well-planned methodology is required. 

With the rapidly changing digital marketing landscape, your website might seem to be in need of redesign and look outmoded. Some of the simplistic ways to improve your website in order to keep up with pace of changing UX needs are laid down below:

  • Using white space makes your content more legible and helps the online visitors to focus on the elements surrounding the text. White space around the text and the titles enhances user attention by 20 percent.
  • Page speed hugely influences UX. Sluggish page load can prove to be an interrupting experience for the users and frustrate them to the core. Most often than not, users just do not have time to wait. Even if the page loading time has a 2-second delay, the website abandonment rate can reach up to 87 percent.
  • Using attractive calls-to-action (CTA) that are marked with an action word enables the easy navigation on your site and the users can easily  get to where they want. More than 90% of the users, who read your headline, would also check out CTA.
  • Using hyperlinks on your page is extremely helpful to grab the attention of the reader. Visual cues like underlined text and different coloured text makes it easy to identify.
  • Using bullets helps the users to get all the information they want quickly and precisely. They will be able to quickly understand benefits, how you solve their problem, and the key features of a product or service.
  • Wise usage of images on your website to support the content can allow a visual break for the users from the text. You need to make sure that they are relevant. Like using an actual image conveying your brand and its services instead of a stock photography can create a connection between the user and the brand.
  • Including well-designed and written headings based on what your potential customers are seeking can be useful. For instance, including keywords in your title can help in targeting your message and getting the attention of right audience.
  • Maintaining website consistency is tantamount to a great UX. Heading sizes, colouring, button styles, design elements, font choices, illustration styles, photo choices etc. should be should themed in a way that your website design is coherent between pages and on the same page.
  • Optimising your site to handle error 404 (page not found) can prove fruitful. Error 404 can frustrate a user and make him rethink spending time browsing your site.
  • Making your site fully responsive should be of top priority. Mobile responsive and mobile-friendly site makes it easy to navigate and works well across platforms from desktops to handheld devices. 57% of users won’t recommend a business which does not have a mobile responsive website.

Take away 50+ User Experience Tips and make sure the user has the best experience on your website

How is Drupal 8 great for an amazing user experience?

Drupal 8 has been a leading CMS when it comes to a powerful and an astounding user experience. Let us look at what makes Drupal 8 so spectacular for designing a compelling user experience for your website.

Responsive web design

Responsive websites are a must-haves nowadays to work well on any screen size. Drupal 8 helps in building websites with responsive web design approach out-of-the-box with some help of contributed modules. Also, there are several Drupal themes that help in creating a responsive design.

Web personalisation

Personalising the content on your website helps in making users to view the content in which they are interested. Web personalisation can be done on the basis of demographics of the user, login time and date of the user, gender, device details of the user etc.

Acquia Lift Connector, Drupal module, offers integration with the Acquia Lift service with an improved user experience for personalisation, testing and targeting the frontend of website directly.

Performance optimisation

A fast-loading speedy website significantly contributes towards the betterment of user experience, usability and engagement. Drupal 8 is one of the most efficient CMS for enabling enhanced page speed.

Caching is an important feature that you can configure for enhancing your website speed. Drupal modules like Internal page cache, Dynamic page cache, BigPipe, Redis, Varnish, and Memcache API and Integration offers different sorts of caching methods to meet the requirements of your website.

Page speed can also be accentuated by disabling unwanted modules or those which are seldom used. Drupal 8 also helps in optimising images for better performance.

Multilingual capabilities

Drupal 8 core comes engrained with multilingual capabilities. It lets you translate content, site interfaces, language, and configuration out-of-the-box. For instance, you can translate the content of your website into a particular language on the basis of user’s geographical location.

Social media

Connecting with friends in one of the biggest pluses of social media elements. Social media can also be a powerful marketing tool. Incorporating social media elements into your website allows users to share the experience, that they had with your website, to the world.

Drupal offers a suite of modules to help you. Easy social, a Drupal module, lets you add share buttons to your nodes.

Another Drupal module, OneAll Social Login, allows you to register and login to the Drupal website using existing accounts on social networks.

A/B testing

A/B results help in determining how well is your website performing and how can you improve it further. Drupal 8 offers modules to carry out A/B testing.

For instance, A/B Test JS module lets you perform A/B and multivariate testing via JavaScript and exposes a UI for creating tests.

Webform A/B Testing module helps in setting up A/B tests consisting of various webforms for determining the most effective one. It tracks how many times a webform has been shown to users and also how many users have responded by completing the form.

How is Drupal Community striving hard to improve the admin UX?

With a highly active bunch of Drupal enthusiasts in the Drupal Community, the objective of making Drupal more and more better for everyone is an everlasting thing. While Drupal is great for improving user experience for online visitors, site administrators are not to be left out. The Admin UX User Study group in the Drupal Community has come up with great insights in a research done on further improving admin UX.

Being new to Drupal may prove to be an arduous task for the content editors to get along with the administrative interface that the platform has to offer. The Admin UX User Study strives to make betterments to the Drupal admin UI with the objective of making it an amazing platform for site administrators.

Findings of Admin UX study

Key focus of the research was on content editors who are responsible for putting great content on the site. Survey was conducted to understand what content editors love about Drupal and where do they find it challenging.

Most of the respondents in the survey said that Drupal is flexible, customisable and lets them have control over their content.
When asked about the challenges, the survey gave some interesting insights. Many content editors opined that a lot of intricacies are due to the UI provided by the paragraphs  and panels.

More hurdles were centred around searching for documentation, content editing UI, understanding jargon and technical terminologies, and media management. There was also a mention of complexities with content editing interface while adding content translation to the mix.

Efforts to improve Admin UX

With a highly active bunch of Drupal enthusiasts in the Drupal Community, the objective of making Drupal more and more better for everyone is an everlasting thing.

logo of drupal gutenberg with an icon of dropletInterestingly, among the things that Drupal Community is trying to achieve, the responses made by the content editors were already being worked upon. For instance, Drupal Gutenberg project aims to revolutionise publishing experience through a modern UI which is based on Wordpress’s Gutenberg project.

Also, configuration changes like minimising the user permissions for editors, offering access to an admin menu with limited set of options, and customisation of some of the default widget settings are being worked upon. That is, configuring a role for content authors out-of-the-box and altering some of the Drupal’s default configurations can offer a wonderful content editing experience.

Success story

Federal Emergency Management Agency (FEMA), which helps people to cope with natural and man-made disasters, chose Drupal for delivering a powerful user experience. The new digital platform was designed for dependability during critical times.

Homepage of Federal Emergency Management Agency with an image of a smartphone showing the different options


Federal Emergency Management Agency (FEMA) provides up-to-the-minute details on several important facts during emergencies. The old version of FEMA.gov was not a dependable site with outmoded navigation features and slow page load speed that made it difficult to be accessed during critical events when traffic spikes.

Knowing the significance of delivering a reliable digital experience for users, FEMA wanted a user-friendly and highly resilient site with the provision of more meaningful communication. It also had to cope with traffic spikes and also be scalable at the same time.

A smartphone showing the website of Federal Emergency Management Agency


Project challenges

Primary concern for the design team was creation of a friendly and functional design and user interface. By holding a series of user focus groups, they got the much needed feedback which indicated that the existing site was too convoluted, it was difficult to find information, and some of the content were outmoded. The site also did not support smartphones and tablets.

The existing system did not support swift and efficacious communication. Most often than not, the site experienced overloads and very slow page load times especially during emergencies when it is most needed. It was not resilient and was not able to consistently deliver a high performing experience. In addition to these issues , there was difficulties with content editing.

Project outcome

To address these challenges, FEMA chose Drupal as the their preferred content management system. To handle the large-scale rebuilding of the site where thousands of pages had to be reviewed, updated and migrated to the new site, development and testing was done in iterative process. This helped in easily scaling the project and making adjustments and reorientations.

The website of FEMA.gov turned mobile friendly and could be accessed from devices ranging from desktop to mobile devices. It also paid special attention to accessibility for those users requiring assistive technologies. The new site architecture minimised the number of clicks that was needed for accessing information thereby making navigation and retrieval faster and simpler. Technical design solutions were implemented that were in accordance with Section 508 compliance standards.

After the launch of the new site, not only it proved cost-effective but provided value to the users. It offered better access to critical disaster-assistance details, higher interactivity and accessibility, cross-platform compatibility and the ability to rapidly and dependably disseminate key content in multiple languages.

Being open source, Drupal-based architecture assisted with the improvement of performance and enabled FEMA to provide the public with swift access to data that could be modified in real-time, if needed. With the mobile-optimised version of FEMA.gov, that has enabled enormous amount of information on-the-go, user experience and the over user satisfaction has improved as well.

Conclusion

Offering the best digital user experience is the goal of every digitised firm. With right means of implementation and Drupal’s amazing features, building a site with a great UX should be cutting through a piece of cake. 

Talk to our Drupal experts for developing a Drupal-powered website with best website design implementation for your business. To improve your website’s user experience, contact us at [email protected]
 

Aug 28 2018
Aug 28

Content touchpoints are proliferating at a fast clip as consumers keep on marching towards vibrant and distinctive means of interacting with content. Internet of Things (IoT), conversational UI, digital signage and devices that are powered by machine learning algorithms among others are adapting to our characteristics to disseminate content accordingly. To cope up with such mushrooming milieu of consumer experience, API-First Drupal is well positioned for entire digital ecosystems.

An illustration showing a huge laptop and people working around it

Drupal can do almost anything to be the powerhouse of your digital business. But to leverage the benefits of technologies outside of the Drupal context, API-first approach could be a perfect choice.

Understanding API-first approach

So, what is meant by API-first? It refers to the interaction between a central web service and several other applications to enable the two systems to exchange information over a network. Not only is this exchange limited to websites but extends to mobile apps, Internet of Things devices, and wearables. Using API-first Drupal basically refers to the decoupling of the front end and utilising a different technology for the presentation and the theming layer.

Illustration showing a cloud shaped graphical icon and the word API First written below it

API-first approach is the interaction between a central web service and several other applications to enable the two systems to exchange information over a network.

In short, API-first Drupal allows:
  • Integrations that are not defined in Drupal/PHP code
  • Full decoupling
  • Progressive decoupling where Drupal serves overall page and certain parts of the page offer JS-driven interactions

The key advantages that Drupal has are that it is a free and open source from end to end unlike other API-first content-as-a-service options like Contentful. Thus, all layers constituting accessing and retrieving data, exposing and consuming that data through software development kits (SDKs) are free.

How does API-first approach work in Drupal?

So, how can someone go about getting data out of Drupal without using the theming layer? Such an arrangement is not new. Even though Drupal has worked as a services layer in several applications for years, evolving internet trends have put in a lot of emphasis on names such as headless, decoupled, and API-first. Developers have seen more use cases for Drupal as a web service for the mobile applications and JavaScript frameworks skyrocketed.

Flowchart explaining API-first Drupal workflow


Drupal as a backend is very tightly coupled to its presentation layer which means that taking that out of equation would mean a heavy loss. Everything including forms, control over layout, feature of previewing a content, and other great features of Drupal would be lost. Other challenges include introducing an extra point of failure, sacrificing the improved performance optimisation capabilities of Drupal 8, and loss of in-place and in-context editing. So, most importantly, organisations must know the benefits that outclass the losses by adopting decoupled Drupal approach.

Web services, as a developing technology, offer so many flavours but the one that stands out as the winner is the RESTful API. Representational State Transfer (REST) allows communication between devices like computers, phones, banking systems, televisions and IoT devices connected to a network by using the standard HTTP protocol. It is the leading API approach of choice for Web services because of its widespread acceptance across the web. Furthermore, Drupal is also enabled for non-RESTful approaches like GraphQL.

Various contributed modules allow you to add web services to a Drupal installation without the need for writing code. For instance, Developers can use Services module and the RESTful Web Services module to configure a server for enabling the Drupal installation to push or allow data that is to be pulled as needed with the help of REST API. No matter whether the action is push or pull, Drupal is the services layer. Using the content management platform of Drupal, it is possible to add content, user, and permission systems but the information is sent outside the context of Drupal.

Drupal 8 core has out-of-the-box REST API that allows operators to interact with content entities like taxonomy terms, nodes, users, and comments.

How is Drupal moving towards becoming more API-first?

With API-first Initiative at the forefront, Drupal 8.0 was shipped with a built-in REST API which spelt the beginning of Drupal’s transformation as an API-first platform. Since then, subsequent releases in Drupal 8 has introduced remarkable web service API improvement.

Drupal is perpetually moving towards offering a more robust API-first ecosystem.

Significant market trends paved the way for endorsing this strategy which comprised of incorporation of other technology solutions, increase in the adoption of JS frameworks, snowballing of new devices and digital channels among others.

Although Drupal 8 was launched with a basic REST API, Drupal community has been contributing with new REST API features in further releases of Drupal. For instance, Drupal community is working on shipping Drupal modules with web service APIs instead of depending on a central API module in the further releases of Drupal.

With JSON API becoming increasingly common in the JavaScript community, there has been a tremendous work going on for making JSON API Drupal module as part of the core in the upcoming releases.

Also, GraphQL module has been gathering steam in its adoption and is an important component of API-first Drupal. It is also being envisioned to be added in the Drupal core(not formally decided).

OAuth 2.0 module, which is helping developers in building more secure decoupled Drupal architectures, is gaining grounds to be included in the Drupal core.

Not only these, several modules are being developed with API-first approach such as Open API, Lightning API, Consumers, etc. Drupal is perpetually moving towards offering a more robust API-first ecosystem.

logo of contenta cms with a smile emoticon inside a box


Contenta, Drupal distribution, is a great example of incredible strides that Drupal has made in its pursuit of becoming more API-first. Contenta helps in offering modern API capabilities out-of-the-box with JSON API. It can feed content the JS-driven websites, mobile applications, TV and even mythical fridge application.

Whether it is single application development or multi-channel publishing, Contenta has it all to be a Create Once, Publish Everywhere CMS.

logo of reservoir with a cylindrical shape containing blue boxes

Reservoir, a minimalist distribution for decoupling Drupal, is doing great rounds. Being a flexible and simple tool for building content repositories for any application, it helps in modelling content, governing content, and interacting with that content through HTTP APIs.

Packed with API-first modules like JSON API module and OpenAPI, helps in accelerating decoupled Drupal implementations.

Drupal and its competitors

The biggest advantages that Drupal has over its headless competitors are that it can be:
  • a terrific CMS for content editors to give them control over the presentation of their content.
  • a rich headless CMS to allow developers build large content ecosystems in a single package.

Headless CMSes lag behind in the areas of in-context administration and in-place content editing. They are short of full-fledged editorial experience integrated into their front ends where they serve content. In-context governance and in-place editing are not possible if they do not expose a content editing interface linked to each front end which is why coupling is required.
Another significant focus lies in the display and layout manipulation to for the success of digital marketers. Drupal plays a vital role in controlling the appearance of content in a layout structure. In contrast, headless CMSes are not adept with the display an layout settings. Editorial tools, like in-place editing and in-context governance, that enable this need to be incorporated into the front end.

Moreover, content editors and digital marketers consider the state of published content. Especially for unpublished content, accessing end-to-end preview system is a must-have for editorial workflows. But in headless CMSes, to allow endless preview like setting up a new API endpoint would require developers to skip significant hoops.

These drawbacks can be handled in some use cases where the application requires less editorial interaction and is more developer-focussed. Keeping everything aside, headless CMSes do not have the toolkits for content authors. This is where Drupal sets the standard high.

Flowchart representing the difference between API-first Drupal and other headless CMSes


Don’t jump into any conclusions as these drawbacks does not mean to say that headless is unimportant. Both the headless and traditional way of content management is important which is what Drupal excels at. Drupal is awesome for both content editors and developers alike.

Drupal is awesome for both content editors and developers alike.

API-first Initiative has been an absolute wonder towards advancement of existing and new web services efforts. This has streamlined the use of Drupal as a content service and more optimal for developers. Drupal Community has been constantly working towards the improvement of great developer experience through web services like JSON API and GraphQL and also through tooling to accentuate headless application development similar to the Waterwheel ecosystem.

Drupal is awesome for both content editors and developers alike. In spite of this, there are some limitations. You must adopt a coupled Drupal front end for editing and manipulating the front end without having to involve a developer thereby focussing on editor or assembler experience. Also, if you do not need the involvement of editors, Drupal can still be relevant.

Adding decoupled applications and keeping Drupal as a coupled website is a huge advantage. Such an architecture where it is simultaneously coupled and decoupled make it a great platform for both content editors and application developers. That means, your content repository should be public-facing website with an astounding set of editorial capabilities and also a centralised point for collection of applications which makes it developer-friendly.

With Drupal perpetually powering more and more websites, it is also being extracted to its  full potential in order to serve content to other backend systems, native applications, single page applications, and even conversational interfaces simultaneously.

Digital transformation stories

API-first Drupal can work wonders for so many industries. Let’s go through some success stories.

Powers a swarm of devices

Let’s look at how API-first Drupal can power presentation devices on a major cruise line. Cruise ships look forward to make the experience of their passengers as best as possible. Passengers get to know the information about events, security and locations on the ship through daily newsletters.

For Princess Cruises, a major cruise line, the choice of digitising this newsletter was a perfect option for improving guest experience. It was using Drupal for its shipboard intranet due to its flexibility, dependability and an engaging open source community. Their IT team was already adept with Drupal. So, Drupal was an obvious choice for developing a newsletter app.

Homepage of Princess Cruises with a couple strolling around a ship


The daily newsletter was built as a full-fledged onboard passenger application that was customised for the interests of passengers. They could find event details, information on ports visited, current weather, menus, and stateroom account details. The application altered the ways passengers tried to find information on the ship thereby providing unique experience for the passengers.

Moreover, they realised that, with Drupal as services layer, they could do more with it as they did for the smartphone app. They used Drupal to power free video-on-demand service as well as digital signage sending content to hundreds of screens around the ship. The company implemented the system on other ships too and could deploy within a month’s time. With the response of passengers exceeding the expectations, they rolled it out half the fleet.

Progressively Decoupled Drupal

Weather.com needed a digital ecosystem to cope with unpredictability. Before the company moved to Drupal, its digital properties were relying on hundreds of origins servers powered by different data servers. They wanted a progressively decoupled Drupal and to architect a new Presentation Framework to produce interactive experiences on a page rendered by Drupal.

Homepage of The Weather Channel with the image of India Gate in New Delhi


Considerations revolved around accommodating diverse performance and caching requirements. On an average page,  there are several caching and time load needs across each of the content sections. With a strategy involving a progressively decoupled Drupal, the weather channel built a new presentation framework breaking pages into different sections. Each of the sections, as referred to as a component, lived in its own subdirectory. The metadata about component was declared by a JSON file to the Drupal.

These directories were ingested into panel panes by Drupal. These panes were exportable and reusable and could be developed by the frontend developers without much engagement from the backend. The weather channel, with progressively decoupled Drupal, could specify regional content, pushed uniform content, and personalised content that were not cacheable and needed to be rendered on the client side.

Hence, progressively decoupled Drupal strategy allowed the large weather company to address the diverse technical requirements and needs of their sites. JavaScript developers were able to keep working on JS and editorial teams focussed on creating pages without the need of extensive development involvement.

Conclusion

With Drupal as a services layer is a practice that fast approaching towards maturity and enabling unthinkable digital ecosystems. While there are diverse set of applications of API-first architectures, moving towards an API-first solution may seem intimidating. At Opensense Labs, we can assist you to tie the knot tightly and connect you with the Drupal experts who have years of experience in Drupal development.

Drupal is a very complete system that can handle almost anything you need done. Have a conversation with our panel of experts at [email protected] to make your vision of digital experience come true.

Aug 27 2018
Aug 27

Upgrading involves shifting lots of files and content from one site to another. Although there are a number of modules to help you migrate to and in Drupal, the process can turn out to be messy. 

an hourglass in a white background


Migration of content can have various meanings and the scope of file formats - JSON, CSV, spreadsheet or text files - is also important.

In this article, I am going to demonstrate the migration of taxonomy terms using CSV files to Drupal 8. Thanks to Drupal’s entity-based system, the process of migration is more or less similar for all kinds of entities. Once you master the migration process, you can easily migrate nodes, users, vocabularies and custom entity data.

You can use various modules for migration to Drupal 8

Drupal 8 core provides the Migrate and Migrate Drupal modules which are useful when migrating from Drupal 6/7 to Drupal 8. In other cases, we have to use contributed modules. Install Migrate Plus which provides a powerful API for data migration from CSV and spreadsheets and is one of the foremost dependencies.

We will take a sample use case of the States list where our taxonomy terms will be the States' list. Let's get started.

Read Upgrade to Drupal 8 | Complete Migration Guide

Installation

  • Download the Migrate Source CSV module and install it on your Drupal website. Use Composer to install all the required dependencies.
composer require ‘drupal/migrate_source_csv:^2.2’
  • Enable the module from Extend menu or Drush Command. 
$ drush en migrate_tools

$ drush en migrate_source_csv
  • In this example, I am going to migrate the USA States data. I have already created a vocabulary as ‘States’ with fields Name (Default Field in Taxonomy) and State Code (the abbreviation).
     
  • Prepare a CSV file with Headers containing Fields Name and also add an ID field which will act as a unique identifier and can also be later used in migration in case States vocabulary is used by a reference field. Here is the CSV which I have prepared:
     

    ID

    State

    Abbreviation

    1

    Alabama

    AL

    2

    Alaska

    AK

    3

    Arizona

    AZ

    4

    California

    CA

    5

    Colorado

    CO

    and so on.
     
  • Next and the most important step is to write a migration plugin which is a .yml file describing the mapping between data in CSV and Drupal Fields. 

    Here is the migration plugin which I wrote:

    id: state_data
    class: null
    field_plugin_method: null
    cck_plugin_method: null
    migration_tags:
      - 'USA States'
    migration_group: default
    label: 'State migration from CSV'
    source:
      plugin: csv
      path: 'public://USAStates.csv'
      header_row_count: 1
      keys:
        - id
      column_names:
        -
          id: id
        -
          title: state
        -
          abbreviation: abbreviation
    process:
      name: title
      field_abbreviation: abbreviation
    destination:
      plugin: 'entity:taxonomy_term'
      default_bundle: state
    migration_dependencies: null
    
    I have provided a Migration ‘id’, ‘class’, ‘field_plugin_method’, ‘cck_plugin_method’. ID acts as a unique identifier for the migration process. Rest of keys mentioned above aren’t needed in this migration.

    Other keys and their importance:
     

    • Migration Tags: These are displayed as a description in migration UI.
       
    • Migration Group: It is an important field in case you have various migration processes. I have used the default group for this migration.
       
    • Label: It is also a description field for the migration displayed in Migration UI.
       
    • Source: It is the important key and we provide type of plugin i.e CSV in our case, path of our CSV file, Header Row Count so that migration API is able to distinguish between Data and Labels, Key i.e the unique identifier in CSV file.

      Next, we have a mapping of columns in CSV with temporary identifiers which are used in process key. Process key defines mapping with Drupal field and a temporary identifier in format (Drupal Field: Temporary Identifier).
       

    • Destination: This key is used to provide the target entity and bundle if any. Since we are migrating terms data so I have used ‘taxonomy_term’ and bundle ‘state’.
       
  • Once you have created the plugin, it is time to inform the system about. Migration plugin can be imported via Single Config Import menu (/admin/config/development/configuration/single/import). Paste your plugin with config type ‘Migration’ and press import.single configuration, selecting migration as configuration type and code added in the next block
  • Once you have imported the migration plugin you can run the migration process via UI or drush command.

    UI: Go to /admin/structure/migrate and under the list migration menu, you can execute the migration process for the respective migration type.

    Drush: Enter the drush command ‘drush mi state_data’ where state_data is the unique ID of the state's migration.

  • Once the migration process is complete all the Terms are created and the abbreviation field is populated as well.

  • You can rollback, resume and stop migration from Migration UI as well in case something goes wrong or you have some extra data to migrate later on. 

  • In case you have to do any changes in Plugin after importing it, you will first have to export its config file from (admin/config/development/configuration/single/export) and then import it again. 
     

    list of migrated terms and the heading as states

    And it is done!

That is how you can migrate content from a CSV file to Drupal 8. Drop a comment below in case of a query. 

Aug 27 2018
Aug 27

When I first heard of Contenta (not aware of what it was), I was perplexed as to how could anyone use such a funny name for a tech product? Was it so good that it made people happy and content with it? 

What Is Contenta?  

With Drupal 8’s rise as the headless platform, one of the inferences of the DrupalCon Baltimore was to make the headless transition smoother. And this is how Contenta was born.

Contenta is an API-first Drupal distribution.


Decoupling is no more about the show-shaw it was till some years back. But keeping up with its popularity, two of the challenges still remain unresolved, not in the concept but in implementation.

Decoupling can be a herculean task, keeping in mind the steps involved and the complexity of handling two technologies. 

a mannequin holding a menu bar with Angular and react logo on it


Another challenge is, it works great only for those familiar with Drupal and have a sound understanding of how it works. 

This is what Contenta solves. How? Read ahead. 

The Transition from Traditional to the Modern CMS

A traditional website can be best explained as the one built on a CMS which covers both the front and the backend.

two purple triangle explaining traditional and headless cms


On a very basic level, traditional CMS are inflexible when it comes to implementing new delivery formats, created outside. 

Therefore the solution is to (figuratively speaking), chopping off the “head” to give the much-needed flexibility. 

The head here represents the presentation of the content or the front-end of the website, and whatever is left constitutes the backend. With this in mind, a headless CMS focuses on:

  • Facilitating the workflow and the collaboration between frontend and backend
  • Organizing content in the repository (semantic, collections, taxonomies)
  • Creation and presentation of content (including translations)

What headless CMS removes though, are web delivery layers, such as a templating system, management of the site structure and style, which determine how content will be delivered or presented to the front-end users. 

Difference Between the Decoupled and Headless

A Headless CMS literally translates to a CMS where the repository system i.e., the backend works independently of content delivery and presentation tools.

While a Decoupled CMS is a regular full stack of a content management, delivery, and presentation solution it allows for content storage and presentation within it to be leveraged by other systems.

In a Headless CMS, the front and backend are separated and an API is added to them. Also, the front end is operated more with a web app made maybe with React or Angular for improved UI. 

The Need For Contenta

As fancy and easy as the concept of headless sounds, the theory, and practical implementation are not even remotely close, making the process complicated and tenuous. 

Adding to the test is the way that there is an absence of imperative starting points, standards, and best practices. 

The issue isn't that there are numbers of contending approaches, instead it is the absence of one which serves as a starting point for non-drupalers whose purpose is only to configure some frontend technologies with Drupal and get better results. 

mission of contenta


This is important because assembling all the tools together can turn out to be an overwhelming task. Over that, once everything is set up you have to make sense of the intricate details of your front-end project. 

As the official website states “...Contenta CMS is the response of the community to build an API-First Drupal distribution”. In light of the challenges faced by the community, Contenta’s goal is to:

  • Ease the pain of using, or simply trying, decoupled Drupal
  • Provide a standard API platform which is ready along with the demo content.

Building Around with Contenta: How Far has the Community Moved Forward?

Although it has been only some time with Contenta, the tech geeks are deploying it to the best of their knowledge. Here are two of the interesting things built around Contenta. 

  1. Virtual Postcards

    Yes, postcards! The team of FourKitchens in DrupalCon Nashville 2018 presented a lot of interesting things around VR. And one such stuff was Virtual Postcards.

    Two iPads were used to scan visitors using itSeez3D, mobile 3D scanning application. Behind the scenes, the models were emailed to an endpoint which would receive the OBJ file, upload it to our Drupal 8 (through Contenta distribution) site and compose it into little virtual postcards. You can also check out the virtual postcard.a man in green t shirt standing against Nashville and bust

  2. Interactive Web Application - Imagine Canada Grant Connect

    Imagine Canada Grant Connect is a Canadian national charitable organization.

    imagine canada grant connect homepage with red and white background


    With Contenta you can also experience building a data-rich, and highly interactive web application like Grant Canada's.

    Working to modernize a robust, legacy product for a nationally recognized non-profit leader and social enterprise (Imagine Canada's Grant Connect) required careful consideration and an optimized approach. A dedicated and specialized customer base, a restrictive budget, and decades of highly complex data, all presented unique challenges to solve. 

    All of which Contenta helped solve. 

What Makes Contenta Ideal for a Headless Drupal Application?

It bundles the most important modules for creating Headless/Decoupled application. It saves time by providing important default functionalities and modules such as: 

  • JSON API at work

“The JSON API module is a fully compliant implementation of the JSON API Specification...you can increase productivity, take advantage of generalized tooling, and focus on what matters - your application.”

Contenta CMS not only provides JSON API but makes it a standard for exposing data over endpoints. 

Applications built around JSON API can take advantage of its features such as efficiently caching responses, sometimes eliminating network requests entirely. 

Thus, it helps developers build clients faster and encourage reuse of code.

JSON API focuses on exposing Drupal's biggest strength (entities/data modeling) in a coherent manner. Simple yet sufficiently powerful for most use cases. 

So instead of using core provided formats such as HAL-JSON, XML or CSV which have to be handled with care in client-side applications, developers can work on standard JSON format in much lesser cost and code. 

You can also check the official Drupal JSON API guide to understand the needs for your application. In short, if all your applications require Entity data go for JSON API.

  • JSON API Extras

Another useful module which allows you to have a greater control over your application and exposed data. JSON APIs Extra allows you to change the default output provided by JSON API module with disabling endpoints, changing data formats, JSON structure among others. You can also check out the official page for JSON API Extras
 

Headless / Decoupled CMS Comparison Matrix (Click for a larger version)

comparison table between contenta and other Decoupled Software & Services Comparison Matrix Source: Medium - Mark Krynsky Blog

JSON RPC helps in performing various Drupal actions such as clearing cache, putting the site to maintenance mode via REST API. Client-side application can send a particular request and then the respective operation is performed. This module can be extended to provide good administrative control of CMS via the client application.

  • Consumer Image Styles

Most of the times we serve images alongside the content. Since we have the flexibility of Image styles while using Drupal Consumer Image Styles makes sure that we get similar functionality in our Decoupled application. We can select a specific image style for each type of consumer and display it interactively without breaking the user interface. 

  •  Consumers

As per official documentation “Consumers allow users to register consumers in Drupal. It's allows decoupled Drupal set-ups to have variations based on the consumer making the request. All these options are gathered under a common umbrella so other projects can make use of them”.

Consumer is a very helpful module where we have various kinds of application, devices or endpoint consuming our data. It helps in distinguishing between them at the root level which is the time of a request. This gives the developers time to prepare an appropriate response. It can also be used to build annoying functionality like ‘This content is only available in our iOS/Android functionality.’ 

  •  Contenta JS

Contena JS allows super fast content endpoints connection which will act as a proxy for your Contenta CMS. It can be useful in case of large number of requests and frequent content updations.

It can help in cutting out the time taken by a request due to bootstrapping in Drupal, since all your request will be served via Node Server instead of actual CMS.

  • Decoupled Router

Since the client-side application is only interested in data from CMS and nothing else, it becomes difficult for site builders to manage navigation and page routes in the client site.

Decoupled Router helps in maintaining the structure by providing an endpoint which resolves the exact entity path by showing right data on that particular page. For example, home in the client application can be mapped with /node/1 and all the data of Node 1 can be shown on it.  

Although the contenta is built around JSON API and you will mostly hear developer's focusing on JSON, GraphQL is another important module involved. 

Yes, Contenta has the GraphQL module and the important PHP library webonyx/graphql-php. This module helps in exposing Drupal data over graphql schema and all the good things that come with it.  (Link internal article with it). 

Exploring Contenta: Four Reasons to Opt for It

  • Free to Use

Contenta is a fully Free Open Source Software, with a GPL v2.0 license. This means that you have no limitations. No more pricing plans or a maximum number of requests. anyone can use it. 

Since it is built on Drupal, Drupal community experts regularly work on the updates along the way. Organizations such as MediaCurrent and Lullabot are directly working with the community.

pricing model of contenta with standard, popular, premium, and supreme category
  • Lightweight

Contenta uses the best possible options for providing data to a headless application. Most the Drupal bootstrapping is bypassed in this process Request payload and response is also very less compared to Drupal’s REST API. Providing an integration with Contenta JS which is lightweight proxy server based Node JS, it can, therefore, handle applications with a lot of interactions with a CCMS.

  • Documentation Available

Example content to help you understand how all works. This can be removed all in one click. Many consumers in different technologies can show you how easy is to build a Contenta project. Contenta CMS is actively supported by an open community.

reasons to opt for contenta

Also as part of the installation process, Contenta will optionally install all the content types and content necessary to build the magazine application. Trying an API server without content is a real downer. 

Contenta is API first. This implies that integrating different technologies flawlessly together is an out-of-the-box functionality. The API first idea was born to standardise the process of development landscape involving different technologies and remove the chaos. 

Not just this, being API first implies the ability to have control over the content and presentation across different channels/mediums.

Therefore Contenta (and Drupal in the backend) has the capacity to control behind-the-scenes systems for languages like Python, PHP, Java React, Vue and Ember (to give some examples).

Content-as-a-Service

The content is flowing freely on the internet with the advent of third-party sites and connected devices. This demands for unrestricted flow of content between sites, apps, gadgets, and now connected devices. In simple words, content flexibility. 

"Drupal’s content-as-a-service approach opens the door to ultimate flexibility."

Drupal lets you separate content management from the presentation, enabling front-end developers to create not only powerful and engaging customer experiences but future proof content too.

A traditional CMS would try to do it all by itself. Managing content at the backend level and pushing it to the front end formats. But more often than not it leads to a static experience.  

With a flexible architecture, Drupal lets you decouple the back and front end where useful. This is how you can use content from your Drupal website in reusable chunks, free from presentation, ready for creative delivery to sites and apps.

Drupal makes it easy to ingest third-party content (from aggregators and syndicators), bringing content into your Drupal environment, then making it easy to push to any site, app or channel.

Reservoir Needs Justice (pun intended) 

Reservoir is another Drupal distribution which provides similar functionalities as Contenta. In fact, both Contenta and Reservoir are based on the same set of modules.

reservoir logoWhile Contenta brings with it extensive default content when installed (and which can be disabled later) Reservoir comes with a clean slate, giving you a different user interface (something that is possible when you disable content in Contenta).  

Contenta is planning to adopt part of Reservoir’s admin UI so we can both build the upon the same component (according to a document by contentacms.org). 

The reservoir is simple (but limited) and Contenta is powerful (but complex). Reservoir only supports Nodes, Node Types, Files & Users and that may be enough for you. If you need more, like Comments, Taxonomy, Paragraphs, etc. then Contenta is your choice.

The popularity of reservoir has taken a backseat with Contenta actively being involved. 

The future for Reservoir, therefore, is not certain. 

Let’s Conclude 

We are entering a new era of Drupal, where advances and experiments will be creating a resurgence of interest within the community. 

Although it has been only some time with Contenta, the community's excitement and exploration will definitely take it ahead. Keeping up with its goal to lower the barrier to entry for developing decoupled Drupal sites, it is pushing Drupal to be what it is. 

Decoupled is the future. 

And Contenta is definitely the way to go around it. 

Connect with us to build awesome decoupled projects. Drop a mail at [email protected].

Aug 24 2018
Aug 24

Ever felt so intrigued by the movie that you were watching in a cinema hall and were completely immersed in it? Not only sometimes it can make you reminisce about instances from your own life but let you identify yourself with the characters in the film. You can start feeling like you are part of the film only to realise in the end it was just a film after all. Immersive experiences can happen in a spectacularly made film. To take the immersive experience to the next level, virtual reality is the answer.

Illustration showing a man wearing virtual reality headset with graphical icons hovering over his head and virtual reality with at the top

“If they struggle with this because they are more visual learners, he asks them to put on their virtual-reality headsets for an excursion, say, to ancient Egypt.” - Washington Post

Virtual reality has seen a surge in the 2010s with 92% of the respondents surveyed in the United States in 2017 aware of this term. Another survey in 2017 reveals that 47% of the respondents love the feeling of entering into the new world through VR. Such is the growth of VR that wide array of possibilities have opened up in different fields for its implementation. Drupal, which keeps itself relevant to futuristic technologies, offers a superb content management platform for building virtual reality solutions.

Before we delve into Drupal’s greatness in VR-based futuristic solutions, let’s decode the term ‘virtual reality’.

Defining moment

You probably must have seen some wacky headsets using VR technology. So, what is a virtual reality? Gartner, research and advisory firm, states that “VR provides a computer-generated 3D environment that surrounds a user and responds to that individual’s actions in a natural way, usually through immersive head-mounted displays and head tracking”.

It further states that in the VR-based application, “gloves providing hand tracking and haptic (touch sensitive) feedback may be used as well. Room-based systems provide a 3D experience for multiple participants; however, they are more limited in their interaction capabilities”.

Entering a whole new world without ever setting a foot there is one of the stupendous merits of VR. But how did something like this burst onto the scene?

Tracing the trodden path

Evolution of virtual reality can be traced as far back as the 1800s. Charles Wheatstone’s vision of creating a three-dimensional effect led to the invention of Stereoscope whose methods sowed seeds for modern-day products.

Infographics showing the history of virtual reality with green and black background


It was in the 1960s when VR devices actually started to come into the picture through head-mounted displays (HMD). Discoveries like Sensorama and The Telesphere Mask paved way for first HMD in 1968 by Ivan Sutherland and his student Bob Sproull.

Co-founder of Visual-programming Lab (VPL), Jaron Lanier, is often credited to the coinage of the term Virtual Reality in 1987 which is also believed to be popularised in the same period.

Subsequent discoveries have led to the advancement of VR technology in the 21st century. VR has seen a rise in the commercial availability through products like Oculus Rift, Samsung Gear VR, Sony’s PlayStation VR, Google Cardboard, Microsoft HoloLens and HTC Vive.

Working Principle

Immersive experiences created by virtual reality can transport you to as far as the moon to as deep as the ocean. So, how does it work? Commonly, VR relies on headsets which are also known as the stereoscopic display for building immersive experiences using two small screens for each of the eyes. These headsets are referred to as head-mounted displays (HMDs).

Accelerometers and position sensors that are found within the HMD gives required inputs for making the experience responsive. Users can also wear VR gloves that help in tracking their hands and simulate textures and objects.

Binaural microphones are used for simulating 360° sound which is used to record the way refraction of sounds happen around human head and ear. These microphones are combined with ambisonic or 3D audio that responds on the basis of where a person is looking for making the experience even more realistic.

What is the difference between augmented reality and virtual reality?

Whether it’s the term ‘reality’ that tails these two technologies or the immersive experience that they offer, VR and AR do sound similar. The perennial question that haunts many web shenanigans is vis-à-vis the difference between them.

Virtual Reality Augmented Reality Creates an interactive 3D world effect where objects have a sense of spatial presence Altered form of reality where content superimposes real-world surroundings

Essentially, augmented reality, a precursor to a fully immersive VR experience, is an altered form of reality where content superimposes user’s real-world views. On the contrary, VR lets the user feel like they are in an entirely different world. So, whatever you see and experience in VR is different from what’s actually in your surrounding.

Applications of Virtual Reality

‘The Matrix’, 1999 science-fiction film, shows a VR simulator where human beings are placed within some sort of suspended animation. They are unknowingly trapped in a program called The Matrix.

Can something like that really happen? It’s debatable and let’s suffice to say that there are different possibilities that can bring a world of betterments in various sectors. Let’s look at some of them.

Healthcare

A study conducted by Duke University shows that paraplegic patients regained some control over their bodies by moving simulated limbs using VR. This was so helpful that many patients got upgraded from full paraplegics to partial paraplegics.

Tourism

Visit Wales created VR videos in 2017 to promote tourism in Wales and encourage travellers to visit the country. These videos included beautiful scenes of water bodies, dolphins, birds, and other wildlife that Wales has to offer. 85% of the people who watched these videos indicated that they would visit the location that was shown.

Marketing

Volvo’s EX90 experience helps users to go for a virtual ride in a car. This may not completely replace a test drive, but would definitely intrigue more people to visit the automobile store to see the car in person.

Journalism

From the New York Times VR films for VR journalism to the Guardian’s 6X9 project that explores solitary confinement, there is no end to the different ways it can be used.

Sports

NextVR has worked on the US Open tennis tournament and many boxing matches in addition to a live Coldplay gig.

Construction

Iris VR allows architects to take their clients on a VR tour of the building design before building them thereby enabling vital opportunities for feedback and changes.

Gaming

Yokey Pokey, A VR arcade, has 42 headsets including Oculus Rift, HTC Vive, Samsung Gear, and Playstation VR with about 30 gamers simultaneously able to play at peak times.

Drupal and Virtual reality: Use cases

There are future technologies like blockchain, augmented reality, Interplanetary File System etc. that are blowing horns in full volume letting us know that they are here to stay. Being one of the leading content management systems, Drupal leads by an example when it comes to innovating with technologies outside of its periphery. The Drupal community has been constantly engaging itself with experimentation using such technologies by leveraging Drupal’s astounding content management platform.

Well, for the starters, there is no end to the interest and the passion that web chefs in the Drupal Community show to the innovative technologies. They embrace them with open arms and that was pretty evident in the DrupalCon Los Angeles 2015.

[embedded content]


A 360° group photo in virtual reality was organised that made it possible to walk through the Conventions Center in LA and be a part of the community virtually.

There are many use cases that delineate amazing possibilities with Drupal and virtual reality.

Virtual Postcards

DrupalCon Nashville in 2018 had a plethora of exciting stuff to talk about. One of those things was the out-of-the-box use of VR to scan guests with 3D/VR postcards. Two iPads were used to scan visitors using itSeez3D, mobile 3D scanning application, who were interested to explore VR.

Illustration during a man with buildings the background and ‘Nashville and Bust’ written at the top


In the background, the models were delivered to an endpoint that would get the OBJ file. It would, in turn, upload it to a Drupal 8 site, powered by Drupal distribution Contenta CMS, and compose it into a small virtual postcard.

VR editor

DrupalCon NashVille 2018 also unveiled a VR editor built using Drupal as the backend and React as the frontend. This VR editor can be used to merge 360° photographs, sounds, and annotations into immersive experiences. These immersive experiences could be delivered in the browser on mobile devices using a VR-capable device and on desktops with VR hardware.

Logo of EditVR with shades of blue, green and pink in the background


A 360° VR tour of Carrol Etchen’s shop complex near Clear Lake, Iowa, was created using EditVR. It shows a collection of cars, trucks and tractors in a farm hall with icons depicting information about the objects and takes you to the next hall through arrow icons to explore more about the shop.

Two vehicles kept inside a car shop with icons denoting 'Antique collection’ and 'Back of shop’ overlaying themSource: Four Kitchens

WebVR

WebVR, a JavaScript API, uses VR headset like Google Daydream and a VR-capable device like Google Pixel for building immersive 3D experiences in the browser.

In a presentation given in Decoupled Developer Days in 2017, Drupal’s power in the content modelling in combination with virtual reality technologies was demonstrated. They exhibited an alpha Drupal-backed WebVR editorial studio through a model of a JSON-API compliant Drupal API. Waterwheel model and React were used to interface Drupal APIs and render dynamic experiences.

Flowchart showing a VR model consisting of 'Experience’, 'Scenes’ and 'Components’Flowchart depicting a VR model

The WebVR model consisted of information icons, ambient sounds, initial scene for VR tour, references to the scenes, coordinate system (X,Y,Z) etc. In this model, Drupal was, basically, used to consume data. So, entities like information icons and scenes were pulled from Drupal, rendered, and patched back to Drupal.

Drupal’s mastery in giving content editors the freedom of creativity and its greatness in content governance was on full display.

For instance, you can roam around the 360° visuals, look at the paintings on the wall with an information icon adjacent to it telling the user what that object is. You can drag and drop an information icon and place it over a different object. Or, click on an information icon hovering over an object and change the description of the object to make it relevant. Thus, Drupal’s mastery in giving content editors the freedom of creativity and its greatness in content governance was on full display.

A wooden shelf with some items and a whiteboard with an information icon describing an itemSource: Four Kitchens

For optimising performance, WebVR experiences should be focussing on reducing the discomfort for the people by maintaining a consistent and high frame rate. This can, otherwise, give them motion sickness.

And in case, users do not have a VR-capable device, use Progressive Enhancement. This means you must assume that the user is using a keyboard, mouse, touchscreen and other such traditional input without any access to a VR headset. Also, you should be adaptable to changes in input and headset availability at runtime.

VR tour of University 

One of the important aspects of content strategy for higher education websites is allowing the prospective students to take a digital tour of the university. Universities can use VR tour to build cross-channel experiences.

A Drupal agency developed a decoupled React VR application on top of Drupal 8. The Drupal site of Massachusetts State University (a fictional university) stored all the content and the media that will be featured in the VR tour. Media and position hotspots could be directly uploaded by the site administrators within the Drupal backend. The React frontend pulled in data from Drupal using JSON API.

[embedded content]


For instance, if a student would want to explore more about the university, he can take a virtual tour inside the 4 walls of his room. All he has to do is place his phone in a VR headset which would then allow him to wander the university campus, see the buildings, and view images, videos, program resources within the context of the tour.

How the future of virtual reality looks like?

Peter Rubin, Author of Future Presence: How Virtual Reality Is Changing Human Connection, Intimacy, and the Limits of Ordinary Life, said in an interview to The Verge in 2018 that for VR “to become a culturally accessible mainstream consumer technology, you’re looking well past 10 years. People are working on taste and smell, though those are probably the last pieces of the puzzle that will click into place. People working on brain-computer interfaces. People that are working on anything you can imagine”.

In a Bloomberg interview, Facebook founder Mark Zuckerberg resonated with similar thoughts saying that “VR is a good candidate to be the next major computing platform.” He thinks that it will take more time to get traction but is optimistic that VR could be a primary form of communication technology in the near future.

“Virtual reality is a good candidate to be the next major computing platform”- Mark Zuckerberg

Virtual reality is going to see a rapid shift in their adoption by the enterprises. By the year 2022, the market size of virtual reality and augmented reality is forecasted to increase by mammoth levels as can be seen in the graph.

Bar graph forecasting market size of virtual realitySource: Statista

By 2025, Gaming would be miles ahead as the leader of the market revenue through VR adoption followed by healthcare and engineering.

Illustration showing several icons denoting industries adopting Virtual Reality and 'Future of VR by 2025’ written at the topSource: Fullestop

Conclusion

Walking up from a dream may sometimes be the most upsetting thing when you realise that the world you were in just seconds ago is just a dream after all. It's everyone’s wish to escape from the reality and go into your own dream world. While you may not be able to go into the oblivion once and for all, virtual reality can let you enjoy dream world every now and then.

VR has a lot offer with a scope for implementation in a wide variety of sectors. Using the power and flexibility of Drupal for delivering content in combination with VR frameworks, possibilities of VR applications can be thrown wide open.

After all, who couldn't use a break from reality? Engage with our Drupal experts to know how we develop Drupal-based projects. Ping us at [email protected] to build futuristic solutions like VR.

Aug 24 2018
Aug 24

Knowledge and reasoning have enabled machines to beat even humans while bringing new power to the web.

Inspired by complex human autonomy, Artificial Intelligence (AI) is the perfect mix of science and art. The application of machine learning has advanced to an extent that it can read, understand, analyze and process the language. Siri, Cortana, Echo, and the Google Assistant are all great examples.

Natural Language Processing, another application of machine learning, is already taking the web by storm. Its ability to understand and process even the sentiments of the content has brought a new dimension to the web technology. Browsing is simplified, and it is now easier to classify the content, understand the user behavior, and protect the website (from attacks and spambots).

Widening The Horizon With Drupal

Although the prospect of artificial intelligence, coupled with web development is vast. We will touch the areas of Natural Language Processing in this piece. 

NLP has the potential to read, understand and improvise the content. 

Content Classification 

The first step is content extraction where different types of notable entities from documents, as context, are extracted and analyzed. 

When combined with Drupal the information can be evenly organized. The additional semantic entities in Drupal can be used to categorize the elements.

Taxonomy Proposer by IBM fits the bill just right. It analyzes and then groups similar documents together. Using custom clustering algorithm, it helps you create a taxonomy for your own content: the division of content into a categorized body of documents.

Descriptive image for taxonomy proposer by IBM Watson; Categorizing the documents(Source: IBM Knowledge Centre)

Next comes content classification, where the machine learns and then inspects the given text for known entities such as nouns, adjectives, or a verb to classify the content.


Content classification with Drupal
    
A 'node' can be linked with any (relevant) taxonomy term, but it can be presented to the users only after a 'view' is created for each node.     

In case the numbers are small, the editor can memorize them.   
  
Otherwise, the node can be passed to the NLP engine to memorize words. Once it is done, the content can be added to the 'tags' field.     

Similarly, NLP can also be used to prepare the content summary which can be used in Meta tags.

Tagging 

Organizations which are burdened with tagging and publishing a huge number of articles on a daily basis can utilize NLP. It can memorize the words and their respective categories, after which manual tagging is not necessary. 

It also improves the algorithm of the system. The system can be fed with words from various tags under the category of your choice. 

The machine learns. Identifies. And saves it in the memory. If needed, you may even alter it along with time.

Remember, you are only teaching the machine. The results will improve after some time.

Sentiment analysis

It examines the content (texts, images, and videos) and identifies the emotional outlook within the content, to identify and classify the writer's attitude as positive, negative, or neutral. 

Extracting sentiment from different types of content

(tweets, blogs or a video byte) can provide us with valuable insights into the author's emotions and point of view. It is important to ascertain if the tone is positive, neutral or negative, and whether the text is subjective (if it is reflecting the author's opinion) or objective (if it is expressing a fact).  

It serves its purpose truly when the quantity of content published is beyond human potential.

Given below is a demo on how NLP helps in sentiment analysis. The below-mentioned screenshots are taken from IBM Watson. 

The famous speech of Martin Luther King Jr. ‘I have a dream’ is added to the 'text' section. 

Descriptive image of Sentiment analysis by IBM Watson; Martin Luther King Jr popular speech entered in the text (Source: IBM Watson)


The overall sentiment of the speech as analyzed by the API

Sentiment analysis of 'I have a Dream' by Martin Luther King Jr; Overall sentiment score as 0.08 positive(Source: IBM Watson)

 

The overall emotion summary of the speech, as analyzed by the API 

Emotion analysis of Martin Luther King Jr. by IBM Watson; 0.12 anger detected; 0.53 sadness detected; 0.65 joy detected; (Source: IBM Watson)

Auto Summarizer 

It examines the content, keeping the basics of grammar for reference. After analyzing the tone and sentiments of the content it is easy for the machine to summarize the content. 

With auto summarizer, the machine can easily analyze and write the summary from the passage keeping in mind the keywords, sentiments, and the gist of the content. 

E-commerce 

In the era of the digital world, nothing beats the idea of personalization. As tantalizing as the concept may look, it is equally important as any other strategy for your business.   

Not only it helps boost the sales but it increases the time spent by customers too. By analyzing the browsing history and shopping preference the NLP can learn about the choices of the user better and personalize the suggested content in a better way. 

Amazon.com home page; An example of personalisation by Amazon(Source: Invespcro.com)

User information collected by statistic module (in Drupal) can be used to improve the NLP engine, which then would suggest related content to the user under “You may like” or “Related products” category. 

Inspired by behavioral psychology, reinforcement learning can be used to boost returns.

NLP can read, classify and group the products. When a user visits a category of product repeatedly, all the products from the collected information are shown as ‘suggestions’.  

Image Screening and Tagging 

For websites where people can share content through text, images, and videos, it is not possible to manually filter images that do not match the standards (are obscene). For this, image screening helps the system by identifying common shapes, objects, and concepts of images and returns a list of tags along with a score of how confident the system is about the result. This score can be used to maintain standards.

An example of this is given below in the screenshot where the object is identified, recognized and then tagged as ‘cat’.

Descriptive image of image tagging by filestack.com; Image of cat; Tags for cat on the right(Source: Filestack.com)


Another example shows how the system identifies, marks the confidence scores and then passes the result.  

Example of image tagging by Aylien.com; Tags and confidence score by the machine(Source: Aylien.com)

By a huge margin, this can ease the process of allowing graphics which meet the set standards without any form of manual verification.  

How Can NLP Boost Growth?

Manually classifying and categorizing the text sources is a time-taking procedure, especially for those who deal with a lot of content on a daily basis.

Social Media Presence

It can crawl and index thousands of stories which are live and trending on top with the help of keyword analysis, creating a live data set of analyzed and filtered data. You can also access real-time news and important stories of your interest. It can also monitor and measure the social media reactions on each post, and compose the next post accordingly.

Enhanced SEO

The discovery of NLP has shifted the focus from an explicit keyword-based search to context and intent-based content. This has changed the way SEO works. From what Google standards tell us, the SEO strategies should include on-page optimizations, like page titles, meta descriptions, and meta tags.

These are still effective parameters for bringing out a user-friendly content, particularly for long tail topics. NLP helps you find effective keywords and add them to your content to improve the relevancy as well as the ranking of the content.

Editorial and Publishing Solution

Even if you don’t publish content the way publishing agencies do, it is very important that your content delivers the value and goals of the agencies. NLP can create production-ready custom content in way lesser time. 

Solutions with semantic technology

With NLP one can review the unstructured data, too, and check large amounts of varied content (text, image, tweet). Not only it can add the meta information of a page, it can do so after analyzing the SEO trends around the topic and important keywords.

To Sum up

Machine learning has added a new dimension to Artificial Intelligence. It has the potential to revamp content marketing across all verticals and dramatically improve the user experience.

A crucial question here is, to what extent will AI change the web? What effects can it have on the web technologies and the relation between the web and the society? Can the advancement in AI bring another revolution to the web? The way it is seen, the way it works, and the way it is understood.
 

Aug 21 2018
Aug 21

The term ‘Migration’ accompanies itself with manifold thoughts into a person’s mind. A politics aficionado may talk about refugees who have migrated to another country for a new lease of life. On the flip side, a bird watcher would be keenly keeping track of migratory birds. In this digital age, a business analyst may think of challenges that come with the upgrade of the Drupal-powered website to a newer version.

Drupal.org website is powered by Drupal 7 and has not been upgraded to Drupal 8 yet! So, what’s the challenge?
a golden jumping from a transparent water pot to right to a bigger pot


For a website to be a high performing space, it is imperative to upgrade to the stable release of the content management system like Drupal. With Drupal 6 already having reached its End of Life in 2016, Drupal 7 and Drupal 8 have been the go-to versions for businesses. 

Drupal 8 would be supported by the community at large for a long time to come even after the Drupal 7 is no longer a community supported release on Drupal.org.

Therefore, upgrading to Drupal 8 would be a significantly important business decision with future in mind. But the trials and tribulations for a website in production have to be pondered over while migrating from Drupal 6 or Drupal 7 to Drupal 8.

What should you know before migrating to Drupal 8?

Ever since Drupal 8 was launched, it has been a commendable CMS with stupendous flexibility, enhanced scalability, and accentuated web performance. This has been the driving factor for the businesses wanting to migrate to this improved version of Drupal. Being built around newer technologies like Symfony and Twig, migration process from Drupal 6 or Drupal 7 to Drupal 8 can be attained successfully.

Upgrading to Drupal 8 would be a significantly important business decision with future in mind.
Illustration showing logo of Drupal 8 and the word ‘Drupal’ with numbers 5,6 and 7 floating aroundSource: Mobomo

Migration process is not a pushover with issues surrounding data migration and module shifts. It is, therefore, a good approach to be better prepared beforehand to reduce any sort of trouble later on after migration.

Complete theme revamping

After the migration, the site is going to look a lot more different in Drupal 8 than what it originally looked like in Drupal 6 and Drupal 7. This is because the themes and templates that are used in the older version are completely different. So, migration would lead to enormous amount of rework on themes.

Information architecture advancement

The efficacy in building more future-focussed applications would be facilitated by the move to migrate to an advanced architecture. It may seem like an astronomical task in the beginning but it is the perfect way for you to assess your existing information architecture. 

Updating the information architecture would not mean that the older version goes obsolete. Instead, it would spell the duplication of your older version into Drupal 8 and performing the fixes based on the new needs. For instance, it allows you to analyse the fields and modules that may not be in use for a while and improve the ones not performing well or even remove them completely.

More emphasis on native OOPS feature of PHP

Object-Oriented Programming (OOPS) concept has also been an integral part of Drupal integrated with the design system. Drupal 8 promotes OOPS features by putting more focus on its importance. Modules, themes, nodes and users are some of the Drupal components that fit the description of an ‘object’.

Increased focus on Drupal 8 core and mobile-first approach

Unlike contributed modules in Drupal 7, core functionalities have been emphasised in Drupal 8. Also, the user interface and the user experience in Drupal 8 are designed to meet mobile user’s needs for maintaining the mobile-friendliness.

Major Issues while upgrading from Drupal 6 or Drupal 7 to Drupal 8

Migrate, Drupal module, comes with the Drupal 8 core which gives a flexible framework for migrating content. But there are certain issues that creep in during migration that needs to be managed.

The trials and tribulations for a website in production has to be pondered over while migrating from Drupal 6 or Drupal 7 to Drupal 8.
Illustration showing a man standing and a lot of obstacles ahead of him


What are the major hurdles that have to be taken care of during migration? The primary considerations that have to be handled are listed below:

1. SEO migration

Site migration can lead to a temporary loss of traffic as the search engines would need time to update its index accordingly. Thus, even if some SEO tags or URLs are missing after migration, it can lead to negative impact on website’s SEO rankings. 

2. Content migration

Challenges may be faced during content migration. For instance, duplication of content might happen or you might notice some missing content. Moreover, in case, content is using some of the fields created using custom modules, field type will have to be created so that migration is successful.

3. View

One of the major issues that transpires while migrating is the unsuccessful translation of a Drupal core module called Views. It requires an upgrade path for any views that are defined in a Drupal 6 or 7 site and you need to manually create views in Drupal 8 after migration.

Views are entity-based in Drupal 8 and have an entirely different architecture. Most of the functionalities are same but there have been major improvements done related to cache and security.

4. Custom module

Custom modules would have to be rebuilt post migration.  Modules in Drupal 6 and Drupal 7 were based on APIs, hook and helper function provided by Drupal core but in Drupal 8 all the modules are based on Symfony. Most of the hooks and helper functions have been replaced with services and development is mostly based on OOPS principles. There isn’t any sort of backward compatibility in modules and that is why they have to be rebuilt in Drupal 8.

5. Contributed modules

In case, contributed modules provide an upgrade path, data stored by Drupal 7 version of that module is also migrated to Drupal 8. If the Drupal 8 port is not available, then a functionality has to be built or the module has to be ported to Drupal 8.

6. Themes

PHPTemplate has been replaced by Twig as the default templating engine in Drupal 8. So, themes would have to be rewritten after migration.

All the PHPTemplate files have to be replaced with the Twig files which means that developers can no longer write custom PHP code in templating files. Preprocess have to be written to modify the rendered output.

7. Node translation

Challenges can be faced during migration of a multilingual site to Drupal 8. Translations in Drupal 8 are stored in completely different way than in Drupal 7 and Drupal 6. Even the Drupal community is working actively on resolving issues in translation migration. To be on the safer side, one should be ready to migrate translation manually or add content again.

8. Specific websites factor

There will be issues with specific websites whose underlying built is not available for Drupal 8. For instance, ecommerce websites that are built on Drupal distribution Commerce Kickstart, which is not on Drupal 8, won’t be able to upgrade. On the contrary, a social intranet developed using Drupal distribution Open Social, which is available on Drupal 8, will be able to upgrade.

This is how we check Drupal 7 to Drupal 8 compatibility!
We have designed a Drupal 7 to Drupal 8 estimation tool that minimises manual audit effort to a great extent. All you need to do is to install our module called Drupal 8 upgrade estimate and get a quick report to better understand what you want.

Technical Issues

There are some more technical issues that are specific to Drupal 6 to Drupal 8 migration and Drupal 7 to Drupal 8 migration. What are they?

Migrating from Drupal 6 to Drupal 8

  • Aggregator categories would not be required to be migrated.
  • Changing the variable "filter_allowed_protocols" would require entering it into services.yml file.
  • Taxonomy term reference field settings have to be manually edited
  • Fields may not be visible on the edit form and the node view after the migration.
  • A web page may only load a few times which will seem like a broken theme
  • The menu_primary_links_source and menu_secondary_links_source variables are not migrated.
  • New modules and themes in addition to admin theme (if there is one set) must be enabled before proceeding with the migration.
  • Revisions of translated nodes are still not migrated.
  • Fields grouped by the Profile module in Drupal 6 won’t be grouped in Drupal 8.
  • The combination of selected user values and the current allowed values will comprise the “allowed values” setting of the resulting field in Drupal 8.
  • Drupal 8 core does not support PHP filter
  • A date could be interpreted differently due to time zones issue
  • URL aliases won’t work until language on new Drupal 8 site is enabled

Migrating from Drupal 7 to Drupal 8

  • Taxonomy term reference field settings have to be manually edited.
  • Migration of id column from Drupal 7’s ban_ip not successful
  • Issues with comment types can be seen.
  • Drupal 8 core does not support PHP filter
  • Issues with plain text fields can be observed

Case Studies

An actual Drupal upgrade case study would depict the challenges occurred and the measures taken to tackle them.

Drupal 6 to Drupal 8

The Anxiety and Depression Association of America (ADAA) is an international non-profit organisation. Their website was built on Drupal 6 which was in dire need of an upgrade.

The ADAA organisation wanted to incorporate a rich and modern user experience, better security and a brand image modernisation. So, in 2015, they opted for a brave decision as to choose Drupal 8, which was on the cusp of its official release, over Drupal 7.

Homepage of ADAA with a man standing in the mountainous area and a sun rising


The efficaciousness of Drupal

Drupal 8 was selected for its extensive support towards accessibility standards. It was more suited to meet their intricate requirements in comparison to other content management systems like WordPress and Joomla.

Project challenges and countermeasures

After the migration was performed, the new website encountered two issues for the word-go. First and foremost, the cornucopia of legacy content that was required to be imported and re-cast in the new, restructured format was a herculean task. 

Although the existing import module at the time worked for most of the content that it supported, some key areas created issues while manipulating media files. Thus, the module was extended with custom methods that allowed to enable the export process to be performed with an absolute efficacy.

Secondly, delivering an administrative interface, that could enable structured content to be edited logically, was a formidable task. This led to significant investment in new tools and difficulties in adapting to the new Drupal 8 framework. The hurdle was overcome successfully and new modern features could be delivered rapidly and effectively.

Drupal 7 to Drupal 8

SUNY Oneonta, member of the State University of New York, had public-facing site which was operated on the base of a Drupal 7 installation. The site did not adhere to best practices or standards in coding, theming or the architecture.

Interruptions in the services, downtimes, and the difficulties while migrating key pages into the responsive Drupal environment proved troublesome in the college’s recruitment efforts.

Homepage of SUNY Oneonta with a building and a tree in the background


Taking a plunge into Drupal

Previous website neither had a stable environment nor addressed the underlying architectural drawbacks. Being Drupal savvy, SUNY Oneonta were eager to migrate from their existing setup in Drupal 7 to Drupal 8.

Project objectives

The most important objective was to revamp their public-facing website and leverage the capabilities of Drupal 8.

  • Retain the existing Drupal 7 website design and upgrade to a functional responsive design
  • Retain most of the Drupal 7 navigation structure
  • Ensure that there is very less or no downtime in addition to flexibility for future enhancements
  • Betterments in the workflow, underlying architecture, user experience, translatability and accessibility
  • Launch the website at the stipulated time frame of 5 months

Project outcome

The results were staggering with faster performing site, on-point informative content and much better search results. In addition to this,

  • Adhered to the project budget with the retention of current brand and general site design.
  • Reduction in the count of content types from 21 to 10 in addition to the number of nodes from 3000 to less than 1100.
  • Usage of views and other such standard Drupal implementation methods for the listicles involving items and featured content.
  • Reduction in the redundancy of template file functionality
  • Enhanced flexibility for permitting future alterations to the website content and structure.
  • Test content and some published content purged
  • Site was built on the basis of accessibility standards set by Federal Section 508 Standards and New York State Policy NYS-P08- 005 in addition to being fully responsive across screens.

How will the upgrade from Drupal 8 to Drupal 9 happen?

Drupal community is working on the upgrade from Drupal 8 to Drupal 9. How will that transpire exactly? Old systems will be deprecated instead of being removed by encouraging the module maintainers to update to the new systems. That is, the modules and custom code will stay in working condition. More innovation will lead to more deprecated code in Drupal 8.

Over time, maintenance of backwards compatibility would become more intricate. Thus, point will be reached when too much of deprecated code is there in Drupal 8. At that time, deprecated systems will be removed and released as Drupal 9.

So, Drupal 9.0 should be almost similar to the last release of Drupal 8 excluding the deprecated code. Upgrading from Drupal’s latest version to Drupal 9.0.0 should be as streamlined as the upgrading of minor versions of Drupal 8 (eg. Drupal 8.5 to Drupal 8.6). Therefore, Drupal 9 offers a clean slate to innovate more swiftly.

Conclusion

Upscaling the digital business involves continuous improvement of online presence. One of the significant business decisions comes with the upgrading of website from the existing content management platform to its latest and improved version.

Drupal 6 or Drupal 7 to Drupal 8 migration is a worthy choice. Nonetheless it is challenging and involves migration issues that would require a lot of developmental effort. Businesses looking for a great future can benefit a lot by this brave decision which may look troublesome at the start but is essentially meritorious.

We provide upgrade assistance and help in understanding whether or not to migrate a business site to Drupal 8 or not. Contact at [email protected] to migrate to Drupal 8.

Aug 20 2018
Aug 20

The internet is a wild place. You never know who’s on the hunt for vulnerabilities of your site. In fact, the moment you deploy your application on the web, you are inviting all sorts of requests on your server. Apart from genuine users, these could potentially be automated scripts, (mostly harmless) bots or crawlers, ethical/non-ethical hackers or some curious geeks (like me).

One of the key areas of interest for them is to exploit the authentication or login system of an application. Compromising the security of your users’ accounts can lead to severe consequences such as the leak of their personal information, misuse of their identity (or your platform), and can even cause financial losses. 

It is of utmost importance to ensure that healthy security standards are implemented. These include enforcing strong Password Policies, employing salted password hashing, adopting HTTPS, preventing brute force attacks, utilizing two-factor authentication and so on.

Securing a Drupal site is a vast topic in itself, but in this article, we will focus on understanding the default flood control mechanism and then later explore the usage of Login Security, a contributed module, to enhance the security.

Default Flood Control Mechanism of Drupal

In Drupal, User, a core module, is responsible for providing the features related to user account management such as authentication, logging in/out, password management, registration, roles, and permissions. It also does a basic yet effective prevention against brute force attacks using its flood control mechanism.

Flood Control of Drupal in ActionFlood Control of Drupal in Action

Whenever a user authentication fails, it is considered as a flood event and its entry is made in the “flood” schema storing the event type, user identifier, timestamp, and expiration of this flood event. There are two ways (flood event types) in which Drupal keeps a track of login failures – IP address based, and user account based. 

Flood database tableFlood database table

By default, an IP address gets blocked if there have been 50 login failures from that IP address within an hour. Also, the combination of the user account and the host IP address gets blocked if there have been 5 login failures for that user account from that IP address within a span of 6 hours.

read me file of login security module with default valuesread me file of login security module with default values for blocking the user

However, there are mainly two limitations of this default mechanism. 

  • There is no user interface for site administrators to configure the allowed number of login attempts and blocking time period.
  • There should be some way to alert the site admin or the user whose account is being exploited.

Now, let us explore how we can use Login Security to overcome these limitations.

Downloading and Installing Login Security Module

The only prerequisite of the module is the core Ban module. Once you’ve made sure, it is enabled, you may proceed with installation of the Login Security module using any of the below methods.

$ drush dl login_security && drush en -y login_security

or

$ drupal module:download login_security && drupal module:install login_security

or

$ composer require 'drupal/login_security:^1.5'

After downloading the module using composer, enable it from the admin UI available at admin/modules.

Enabling Login Security module using admin UIEnabling Login Security module using admin UI

How does the Login Security module work?

The module works by implementing hook_validate(), thereby overriding the default login form flow. It maintains its own schema, login_security_track, to keep a track of failed login attempts. It can detect an ongoing attack using the configured threshold value within a set time window and can also alert the site administrator through email or logs.

Login Security Track database tableLogin Security Track database table

It offers two types of protection against the attacks – Soft and Hard. The soft protection is similar to the default flood mechanism, that is, it temporarily blocks the user from submitting the login form. The hard protection, however, permanently bans the host IP address and changes the status of the user account to blocked. 


If needed, the site administrator can unban the IP addresses from the admin UI available at admin/config/people/ban and unblock the users from admin/people. Additionally, it can also be configured to display the last access and last login timestamp to the users to further comfort them of their security.

A Drupal message shows the last access and login timestamp to users after successful Login A Drupal message shows the last access and login timestamp to users after successful Login

Configuring Login Security

The module provides a configuration form under admin/config/people/login_security. So, navigate to Manage → Configuration → People → Login Security.

You may configure the following options as per your security needs and then hit “Save configuration” to apply the changes.

Configuring the Login Security moduleConfiguring the Login Security module

Configuration

Default Value

Description

Track time

1

The time window for which the login failures are considered. Soft protections expire after this time

User

0

Max. number of login failures after which a user account will be permanently blocked

Soft host

0

Max. number of login failures after which an IP address will be temporarily blocked from submitting the login form

Hard host

0

Max. number of login failures after which an IP address will be completely banned using the core ban module

Attack detection

0

Max. number of login failures after which an ongoing attack is detected and a warning is logged

Disable login failure error message

False

Display the core login error messages

Notify user about remaining login attempts

False

Display the number of attempts remaining before the user account will get temporarily blocked

Display last login timestamp

False

Display a Drupal message with the last login timestamp of the user

Display last access timestamp

False

Display a Drupal message with the last activity timestamp of the user

Along with these configurations, the text within the Drupal messages on the events (failed login attempt, hard/soft IP address ban, and blocking of the users), and the email fields (address, subject, and body) can also be configured. You may use the provided tokens to send a dynamic data in the alert/message.

Configuring the alert settings of the moduleConfiguring the alert settings of the module

Conclusion

The Login Security module adds another measure of security to a Drupal website. In particular, it allows greater control on dealing with a situation of a brute force attack. At the end of the day, however, ensuring security is not just limited to configuring the modules but also lies in the hands of people who administer and deploy the websites.

In case of any queries or suggestions, feel free to drop down a comment.

Aug 14 2018
Aug 14

Possibly the greatest ever digital signage advertising was created for British Airways which had it all. The advert, connecting to live flight information, displayed a child pointing up to the sky as an aeroplane flew above him. This was so cleverly done that the advert showed the flight number and its destination as well.

What a great blend of entertainment and education using the latest technologies!
A big screen shows a child pointing his fingers upwards while a plane flies in the skySource: British Airways

The digital signage system is scalable and its usefulness can be extracted to a great extent like digital menu boards for restaurants or the interactive digital movie posters for movie theatres. Drupal has the power to be a remarkably scalable digital signage solution for different sorts of organisations thereby reducing costs, speeding up time to market, and building engaging experiences for the people.

Digging Deeper Into The Terminology: Digital Signage

Digital signage refers to a centralised content dissemination platform for serving digital content on screens. It can be leveraged to display information through television programming, menus, advertising and other messages.

It can be seen in the form of digital signboards, billboards, and other such display devices for displaying visual information. It is connected by a content management system like Drupal that sends the digital content to be displayed. The information displayed can be anything ranging from static data and charts and graphs to images and video streaming.

Digital signage is a centralised content dissemination platform for serving digital content through television programming, menus or advertising on screens.

It can be commonly seen in outdoor marketing campaigns to display promotional content. Moreover, industries that rely on real-time information delivery to its employers or customer such as stock exchanges, airports, and sports stadiums can use digital signs to a great extent.

Digital Signage Can Be Used In Awesome Ways

Its uses can be seen through the eyes of organisations to understand the different ways it can be implemented. Some of the biggest brands have harnessed its immense potential.

Netflix, one of the largest over-the-top media service providers, carried a promotional campaign that relied on the humbled animated GIF. Instead of using a long video clip, they opted for reaction-based clips which were just a few seconds long. These videos were tied into the events that were actually happening around the globe.

[embedded content]


Swedish pharmacy Apotek Hjärtat developed a controversial billboard using a built-in smoke detector. Every time a smoker passed by, the billboard would cough loudly at them before displaying a series of products to help people stop smoking. Although it turned heads, questions were raised whether such an overt messaging is effective or not.

[embedded content]


Coca Cola’s Small World Machines Initiative had a grand ambition and offered a live link between India and Pakistan. Coke machines were placed in both the nations where people could interact with one another through the screen like touching hands, drawing peace, love, and happiness symbols together.

[embedded content]

A Trio Of Major Merits Through Digital Signs

Enormous possibilities of digital signs are pretty evident with so many big brands using them to a great effect. Using digital signs can prove beneficial in many ways.

  • Enhances customer engagement: People love colourful and moving images rather than static images which help in enhancing user engagement.
  • Makes a good impression: Content can be updated remotely within seconds. For instance, such quick updates can help retailers to form a good impression and adjust to customer demands without having to deploy employees or new signs printed.
  • Revs up revenue: Digital signs can help increase your sales and revenue. In 2014. Taco John deployed digital menu boards and witnessed a 12% increase in sales.

How Can Drupal Be The Perfect CMS For Digital Signage Solutions?

Well, it all boils down to the CMS that would be relaying digital content on to the screen to attract people. Drupal is one of the big players in the content management systems that can be the perfect fit for creating digital signs.

Content Creation

Your CMS should allow the content creation to be done intuitively and support all the common file types. Drupal comes with intuitive tools for content creation, workflow and publishing for streamlining content authoring.

Remote Access

With Drupal, on-the-go team members can assess, edit and approve content from mobile devices to keep content and promotional campaigns flowing on to the screens regardless of where they are and what device they are working on.

Content Revision

Drupal helps in enabling a swift and simple way to track all the alterations and revisions which is a must-have if you have multiple editors and need to handle a history of content changes.

Content Workflow

Drupal allows you to administer custom, editorial workflows for all the processes involved in the content production. It lets you view the stage your content is in - from creation to assessment to publication.

User Controls

Authentication and user permissions in Drupal helps in handling editorial workflows efficaciously and previews show how the content will look on screen before the content editors would finally approve and relay them on to the screens.

Content Scheduling

Drupal has the provisions for scheduling the content at your own convenience. It is possible to schedule a campaign to be published at a certain time. In case, a campaign is no longer required or outmoded, it can be unpublished as well.

Security

Drupal is one of the most secure CMS platforms among the leading players like Wordpress, Joomla and Magento. In a report published by Sucuri called Hacked Website Report, Drupal turned out to be the least vulnerable to security attacks in comparison to Wordpress.

Scalability

Your CMS should be able to grow with you and accommodate more screens. Drupal is a highly scalable solution with high traffic sites like Grammy, NBC Olympics, University of Oxford and many other renowned names performing astoundingly well even during the busiest of times.

Support And Maintenance

Drupal is an open source solution and you can rest assured that the Drupal community comprises of numerous vendors who are adept at providing round the clock support and maintenance.

At Opensense Labs, we have designed the Bucket and on-the-go models of support and maintenance services. We offer support in the day-to-day operations. Our support hours run parallelly with business hours but are extendable as per your needs.

Use Cases

The University of Iowa, which is powered by Drupal, kicked off a Drupal Digital Signage Service to offer new digital capabilities inside the campus.

Drupal’s flexibility in content management and delivery in combination with Intel Compute Sticks, mini-computers that serve each screen or sign, proved rewarding. This helped in offering wireless connectivity to the Drupal-based content as it is relayed on to the screens in real-time.

Three girls looking at a screen showing building architectureSource: University of Iowa

The digital signs provided key information for students like the time at which a bus would arrive or leave, emergency alerts, advertisements for student groups, computer lab availability, university news, and events etc.

The University reported rapid adoption of the service as many colleges and divisions within the University used the free and user-friendly solution on several screens. Stakeholders used templates and drag and drop tools and widgets for customising and governing the screen content.

The University’s move to expand the use of Drupal to digital signs proved beneficial in many ways. An IOWA NOW news story stated that “the backend is incredibly user-friendly. It’s the same system our websites run on, and so very intuitive. The web-based platform allows us to update information and slides from anywhere and anytime”.

Being an open source software, Drupal incurred no licensing fees. Hardware costs were lower too. Thanks to the project team’s discovery that the digital signs could be run on small, energy-efficient compute sticks. Moreover, wireless connectivity eliminated the expense of data ports and cabling.

People standing at the sides of the screen showing the pillars and the word IOWASource: University of Iowa

The Drupal Digital Signage system, rather than using a webpage, used a specialised software application. This made the displaying of content as simple as plugging the URL of a sign into a browser. Users were granted access permissions for specific signs and by utilising templates and a drag-and-drop interface, they could display the content or widgets in numerous regions of the screens. That content, displayed on the screen, could also be shared with other units.

Furthermore, the digital signs, being accessible to all screen-reading technologies, saved staff time. Being easy to learn, training time got reduced.

Content editors only needed to enter news or events into a familiar interface. The content would go to both their websites and digital signs simultaneously without having to perform double entry.

Another use case can be seen through Open Y Drupal distribution which was developed by the YMCA of Greater Twin Cities. The objective was to build a platform that would enable all YMCAs to operate as a unified brand through a common technology. Open Y, built on top of Drupal 8, helps in delivering a multi-channel experience for websites, mobile applications, digital signage and fitness screens.

Homepage of Open Y with people planting saplings in the background


The website of Open Y allows customers to schedule personal training appointments, make online donations to their local YMCA, or look up for monthly promotions. Leveraging the merits of Drupal 8’s API, Open Y integrates all of their systems with Drupal. This comprises its integration with Open Y’s Customer Relationship Management (CRM) and eCommerce partners but also stretches to fitness screens and wearables like Fitbit.

So, Open Y can use Drupal as a data repository to relay content such as alerts or promotional campaigns to digital signage screens, connected fitness consoles and fitness tracking applications. It, thus, puts Drupal at the core of its digital platform to offer seamless and personalised experiences to its members.

logo of drupalcon vienna 2017 with an icon shaped like a drop in the middle


The web-integrated digital signage system for displaying content was demonstrated in a session in DrupalCon Vienna 2017. In this system, the  Open Y Drupal distribution was used to serve as a proxy between resources that would provide information about the scheduled activities. In addition to this, it was leveraged to govern the content and to supplement it with both the marketing content and time and location sensitive messaging.

Future Of Digital Signage

According to the statistics given by the Statista, the statistics portal, the digital signage market worldwide was valued at 19.61 billion U.S. dollars in 2016 and the display market was estimated at 6.07 billion U.S. dollar in 2015.

Future of digital signage is bright as is for Drupal and together they can work wonders.
Graphical representation showing bar graphs for market value of digital signageSource: Statista

This number is going to see a significant rise by 2023 as the market value is poised to reach 32.84 billion in 2023. Digital signage technology is not just here to stay but grow multifold.

Conclusion

Digital content distribution can surely be taken to next level by making it engaging through digital signage solutions. Drupal can be the perfect choice of CMS for relaying content on screens.

We provide Drupal services with top-of-the-line expertise. Contact us at [email protected] to explore Drupal as a superb platform for building digital signage solutions thereby providing a whole new level of customer experience.

Aug 13 2018
Aug 13

There might be instances where an editorial team comes across challenges in the process of publishing its content. These include:

  1. Living a number of articles at the same time.
  2. Sending the final copy of approval on a website to different people but not living it. 
  3. Publishing a number of articles on different websites/subdomains. 

Luckily, the Drupal Deploy module allows content staging and publishing without the user requiring to log into the target site. This is very handy when there are a number of people involved or multiple sites, in case of media and publishing websites especially.

top view of five hands fists bumping

What is Content Staging?

Content Staging is an in-house development environment where a team is involved in creating various kinds of content. This includes all the stages a piece of content has to go through before actually going to the production site. 

Exploring Drupal Deploy Module

The Deploy module allows users to easily stage and preview content for a Drupal site in different environments. The module automatically manages dependencies between entities and is designed to have a rich API which can easily be extended to use in a variety of content staging situations.

It allows: 

  • Cross-site content staging

To stage content between different Drupal sites.

  • Single-site content staging

Provide a workspace preview system for single-site content staging.

  • Fully decoupled site

Create a decoupled Drupal site.

The Deploy module is designed to allow users to easily stage content from one Drupal site to another.

How To Use Drupal Deploy Module?

Installation

Deploy module has various Drupal and PHP dependencies so the best way to install it, is by using composer.

composer require 'drupal/deploy:^1.0'

Exploring Deploy Suite

Once we run this command in our Drupal website we get all the modules and PHP libraries required to run the Deploy suite. Let’s have a quick look at all of the modules: 

  • Conflict: It provides resolution for conflicts which merge due to changes in translatable fields in non-edited content entity translations, changes in fields to which the user does not have access, fields with no edit access, fields not part of the entity form display, changes in entity metadata, revision ID, changed timestamp.
     
  • Key-value Extensions: A very important module which helps in speeding up the Deployment process. It extends the core key-value API with a backend for lists and sorted sets that you can do range queries on.
     
  • Multiversion: Multiversion will convert all core content entities on your site to be revisionable. Since Deploy suite is built around the revisionable entities, it is an important module in the process of Deployment.
     
  • Replication: This module provides the functionality and services to assist with replicating content between workspaces on a single site (using the Workspace module) or between workspaces across different sites (using the Relaxed Web Services module).
     
  • Workspace: Provides the ability to have multiple workspaces on a single site to facilitate things like the full-site preview and content staging.

Single-Site Content Staging

The Distributed Management of Content deals with the workflow involved in the content creation with a decentralized approach. The process can be very complicated and requires different levels of managerial checks. Deploy module, in that case, can turn out to be the best solution.

To use the Deploy content staging we have to enable the Deploy module which automatically installs all the required contributed modules, perform database operations and supply required default configurations for the modules.

To use Deploy it is worthwhile to check its out-of-the-box configurations and plan Deployment strategy for your website, accordingly.

  1. Go to Admin → Structure → Workspace to check the workspaces provided by default. This becomes important later during the content transition stages. Admin interface of workspace with different owner, type, and statusWe have a Live and stage workspace and also functionality to add more of the workspaces as per our requirement. By default, the Live workspace is active and Stage inactive. It means that all the content added will be available on the Live Workspace.

    We also have an ability to set target workspaces on content updation as well which content entities to replicate.
     

  2. Following settings can also be accessed via admin toolbar on any page of the website. To continue with the deployment process, go ahead and select ‘Stage’ as the active environment from workspace switch option in the admin toolbar.admin interface with stage highlighted in the admin toolbar
  3. Now since we are currently on Stage workspace, all the content added will only be visible to those with access to View content in a particular workspace.
     
  4. Go ahead and add 10 articles via Node → Add → Article interface. As soon as all the articles are added they start appearing on Homepage for the user with access to the content. If we check website anonymously we won’t be able to see any of those articles and will get a 'Page Not Found' error. 

    At this particular time, all the content editors and stakeholders can have a look at the content, modify it or even remove it. 
     

  5. To deploy all articles on Live workspace go to Admin → Structure → Deployment → Start New Deployment.admin interface to deploy stage to live Provide a Deployment title and a description to keep a track record of all the Deployments.

Once we Deploy to Live, all the articles are available on the Live workspace after the next cron run.

Advantages

  1. Publish multiple articles at the same time, without accessing them individually. 
     
  2. Deploy provides various kinds of permission such as Access content on a particular workspace.
     
  3. It also detects for changes done on the Live workspace directly and provides an interface for conflict resolution and content synchronisation between various workspaces.
     
  4. You can create workspaces as per your requirement, For example, providing workspace for each content editor and then comparing the overall impact. Based on that you can very easily deploy content from various workspaces to the Live Workspace.

Cross-Site Content Staging  

Deploy module can be used with the Relaxed module to extend all the capabilities of Deploy suite for multiple websites. We can configure as many remotes as we want and then Deploy content on various websites.

  • Relax module can also be installed via composer using the following command.
composer require 'drupal/relaxed:^1.0'
  • After enabling the module, the relaxed remote endpoint can be configured from Admin → Config → Relaxed → Settings.admin interface of relaxed web services settings This endpoint will be used by the remote websites to interact with the workspaces available in your local.
     
  • To interact with remote endpoints they have to be configured in Admin → Config → Services → Relaxed → Add.admin interface of add remote
  • Once you have set up the Remote, you can then Deploy content to remote workspaces as well.

Drupal allows Distributed Content Management strategy to be applied to large volumes of content to facilitate efficient workflow. Specifically, the system allows different content and editors to be part of the same system without much replication, and Deploy module just helps build the architecture right.

Aug 09 2018
Aug 09

“Great Scott!”, exclaims the scientist in the renowned science fiction trilogy ‘Back to the Future’ which hit the cinema screens in 1985.  This exclamation by the scientist, who travels 30 years into the future in his flying car, is suggestive of remarkable inventions by the homo sapiens which is a colossal conundrum to solve in the present world set in this motion picture.

An illustration showing the rear view of a red car with fire on the road and a text ‘The future is now’ at the bottom

 

Drupal has been revolutionising the web application development with its flexibility in integrating with futuristic technologies

Since the first ever website, invented by British Scientist Tim Berners-Lee, went live in 1990, the tech enthusiasts have been looking at the enormous technological advancements in the years that followed. In a similar fashion, Drupal has been revolutionising the web application development with its flexibility in integrating with futuristic technologies.

What is Drupal doing with the futuristic technologies to give you the “Great Scott!” moment?

Futuristic Technologies: Strategic Trends with Broad Industry Impact

As stated by Gartner, an intertwining of people, devices, content, and services is known as an intelligent digital mesh. Digital firms are supported by enabling digital models, business platforms, and a rich, intelligent collection of services.

Intelligent: With AI seeping into virtually every other technology, well-defined focus can allow more dynamic autonomous systems.
Digital: Amalgamating the virtual and real worlds in order to create an immersive environment.
Mesh: The connections between a growing set of people, business, services, devices, and content for delivering digital outcomes.

An illustration showing emerging top 10 strategic technology trends for 2018 with different icons for each technologyTop 10 Strategic Technology Trends for 2018  by Gartner
Intelligent digital mesh is the intertwining of people, devices, content and services

Immersive experiences, digital twins, Artificial Intelligence, conversational platforms, Blockchain, continuous adaptive security among others, as depicted in the illustration above, form a foundation for the next generation of digital business models and ecosystems.

Beyond Websites: Integration of Future Technologies and Drupal

Drupal is among the front-runners when it comes to content-heavy websites. With new discoveries happening outside of Drupal, it is only better to leverage the benefit of Drupal’s flexibility to incorporate next-generation technologies.

Artificial Intelligence

An area of computer science which stresses on the creation of intelligent machines that can work and act like humans, Artificial Intelligence has been the talk of the town ever since it burst onto the scene. How can it be leveraged for your Drupal websites?

Chatbots

There have been several phases in the way humans interacted with the computers. First was the Terminal Interface which involved the use of command line or DOS prompt. The second phase was the Graphical Interface which used visual representations of programs, files, and actions. The third wave is the Conversational Interface which allows users to interact with the computers using a natural language.

Chatbots, powered by artificial intelligence technologies, are wonderful for your website as they offer conversational UI and can hugely benefit your enterprise. Drupal offers a useful set of modules that can help in the integration of chatbots in the website thereby providing a conversational interface to the users.

Facebook Messenger Bot module, created by The White House, gives you the tool for developing chatbot on a Facebook Messenger Platform.

[embedded content]


Chatbot API, another Drupal module, can be used to incorporate a bot in the site. It is an additional layer that falls between your Drupal installation, your Natural Language Processing (NLP) and your various chatbots and personal assistants. It can work with systems like Dialogflow, Alexa, Cisco Spark Microsoft and Twilio.

Digital voice assistants

While chatbots are primarily a text-based medium, digital voice assistants can be more human-like with the ability to talk like a human. For instance, Google Duplex, the latest entrant in the scene of digital voice assistants, can provide lifelike conversation thereby having a human-like chat and booking hotels on your behalf.

A big screen showing two images - one of google duplex logo and another of an icon representing a human phonecaller


Alexa, an integration module for Amazon Echo services, allows Drupal to respond to Alexa Skills Kit requests. The demonstration given below shows that by indulging in a casual interaction with Alexa, the shopper is able to preheat the oven, add the ingredients and cook the food without even looking at the phone or laptop.

[embedded content]


When the shopper provides a verbal query, this input is converted into a text-based request which is then sent to the Freshland Market Drupal 8 website (a fictional grocery store). From there, a coupling of custom code and Alexa module respond to the Amazon Echo with the requested information.

Cognitive Search

Forrester, research, and advisory firm, defines cognitive search and knowledge discovery as “the new generation of enterprise search solutions that employ Artificial Intelligence (AI) technologies such as Natural Language Processing (NLP) and Machine Learning to ingest, understand, organize, and query digital content from multiple data sources”.

Green Logo of microsoft cognitive services with an icon representing a human brain

Azure Cognitive Services API module allows Drupal to leverage the benefits of Microsoft Azure Cognitive Services. It helps in exposing machine learning APIs and allows developers to incorporate intelligent features like detecting emotion and video, understanding speech and language, and recognising face, speech, and vision.

Augmented Reality

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

A Drupal agency developed a chatbot prototype which helped customers to choose recipes based on the health constraints and their preferences. Chatbot provided an interactive experience to the users which helped in avoiding intensive research for the grocery shopping. By integrating AR in Drupal, they tried to take it one notch higher.

[embedded content]


The demo in the video displays a shopper interacting with the AR application. Freshland Market’s mobile application (fictional grocery store), which is built on Drupal 8, guides the shopper to make better decisions while shopping through AR overlays.

It superimposed relevant data like product ratings, price and recommendations over the product items detected by the smartphone camera. By showing the products that are best for her diet plan, the mobile application personalised the shopper’s experience.

Drupal’s web services support and JSON API module assisted in providing content to the mobile application. The Drupal 8 site of Freshland Market stored all the product-related information. So, if the Drupal content for any of the product items is edited to display the item being on sale, it automatically reflected in the content that is superimposed through the mobile application. Furthermore, the location of the product was stored on the site which guided the shopper to the product’s location in the store.

Another use case is the Lift HoloDeck prototype which was developed using commercially available technologies - Drupal (content store), Acquia Lift (web personalisation service), Vuforia (AR library) and Unity (3D game engine).

[embedded content]


Lift HoloDeck team developed a mobile application that superimposes product data and smart notifications over physical objects that are detected on the smartphone’s screen.

Consider a situation where a user informs about his purchases to a coffee shop through his mobile application. Entering a shop, he would show his phone screen displaying “deal of the day”. The application superimposes diet plan, directions on how to order, and product data on top of the beverage. By glancing at the nutritional information, he would order his preferred choice and would get a notification stating that his order is ready to picked up.

Virtual Reality

Virtual reality is basically computer-generated environments or realities that can be used to simulate a physical world in a specific environment to make it feel real.

Virtual reality can be used to build cross-channel experiences. The demonstration shown in the video below features a student who is eager to explore more about Massachusetts State University (a fictional university). The video depicts that he is able to take a virtual tour directly from the university’s website sitting on his sofa.

[embedded content]


Placing his phone in a VR headset, he can go around the university campus, explore buildings, and look at the program resources, photos and videos within the context of the virtual tour.

The Massachusetts State University’s Drupal site stores all of the content and media that is featured in the virtual tour. Drupal backend helps website administrators to upload media and position hotspots directly. Using JSON API, the React frontend pulls in information from Drupal.

Internet of Things

In the broadest sense, the term Internet of Things (IoT) subsumes everything that is connected to the internet but it is increasingly being used to define objects that can talk to each other. The IoT can be anything ranging from simple sensors to smartphones and wearables connected together. Combining these connected devices with automated systems can help in gathering information, review it and create an action plan to assist someone with a particular task or learn from a process.

DrupalCon New Orleans 2016 had a session which delved around bringing Drupal and internet of things together. It exhibited a demonstration that used a barometric pressure sensing, GPS-enabled wearable armband connected to the internet which could, then, display an icon to provide the weather forecast of the current location.

logo of drupalcon new orleans 2016 showing buildings in the background


The armband, which was tethered to iPhone, sent latitudinal and longitudinal data to a ThingSpeak channel (an API for the IoT) using mobile data. It, in turn, tracked the location of a ship by sending this data over HTTP to the Drupal 8 website. When the site received this authenticated POST data, new location nodes were created. It updated the map and table that is built with Views and changed a block on the sidebar to display the matching icon of weather in the current location of the ship.

Blockchain

Don & Alex Tapscott, authors of Blockchain Revolution (2016) define the blockchain as “an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value.”

Chainfrog has been working on blockchain technology since its early stages and devised a use case where the user data including communication history, address and the profile data will be available to everyone in a large organisation.

“Blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value.”

To synchronise and securely segregate Drupal user data, big companies map user registration forms with a centralised company API. These big companies usually have more than one Drupal installations for different departments within the enterprise with a central codebase.

Thus, instead of having an expensive API layer, Chainfrog proposed using Drupal 8 custom module via a distributed ledger for the synchronisation of user data. So, instead of making an HTTP call everytime a new user is added, they planned to adopt a peer-to-peer immutable ledger thereby removing the middleman, in this case, API.

Blockbinder, a product of Chainfrog that helps in connecting existing databases instantly, would keep a tab on user records in a data table whenever a new user is added to the Drupal system. Within 30 seconds of any new addition in one of the Drupal installations, all the installations would synchronise the user data.

At DrupalCon Nashville 2018, we propounded possible use cases for the coming together of Drupal and Interplanetary File System (IPFS). IPFS, which has its working principle based on blockchain technology, is a peer-to-peer hypermedia protocol. Centralisation is at the core of Drupal’s workflow in comparison to IPFS’ decentralised nature. We looked for ways to make them work together.

Drupal, which allows content editors to seamlessly produce content, can be entwined with IPFS for an amazing digital experience. From helping archivists to store superabundance of data to helping Service Providers as a global Content Delivery Network (CDN), there are tons of benefits. We presented a use case to make this a reality which can be explored in this video.

[embedded content]


Conclusion

These are some of the frontiers that Drupal has crossed. There are lots of emerging technologies whose potential with Drupal can be explored like..?

Future is bright with lots of new inventions happening in the technological fields to make the world a better space. Digital firms can make significant strides in their online presence by integrating future technologies with their website. Drupal gives a great platform for the businesses to look beyond websites and incorporate emerging technologies to build futuristic websites

Want to know how we develop Drupal sites for our clients and also maintain and support them? Ping us at [email protected] to set the ball rolling and make your website exciting with the incorporation of emerging technologies.

Aug 03 2018
Aug 03

Considering the spectacular potential AI has, no wonder it one of the most-sought-after trends in the businesses today. You might be employing it in your online business already in the form of chatbots offering smarter features to the users. 


Want to employ artificial intelligence on your Drupal website but don't know where to start from? In this blog, we will share some cool Drupal modules for you to innovate and be part of the current trends.

  • Intelligent Content Tools

    The Intelligent content tools module is developed by OpenSense Labs with the popular scope to merge Natural Learning Processing with Drupal 8 to help with:
     

    • Auto-tagging: The Auto-Tag Module assists with tags. It analyzes the content on the website with the field specified and then it tags the content by extracting text from that field. The module will automatically tag the articles with tags generated from the content and so it’ll be a lot easier for the users to look for contents with the same tags. 
       
    • Text Summarization: It summarizes the text in the field. For a media website, it is important that the teaser shows just the right information. The text summarizer helps in writing the summary doesn't matter how big the number is.screenshot of admin interface with content, summary, and tags
    • Duplicacy in content: And while the number of plagiarism checkers available in the market is high, Duplicity Rate Module tells you if there is any duplicate content available on the website. It is an intelligent agent module based on Natural Language Processing. It’s a helpful tool for a website designer and content editor. 

      Available for - Drupal 8 | Not covered by Security Advisory

      Read more about How NLP & Drupal Can Provide The Best User Experience
       

  • Cloudwords for Multilingual Drupal

    No matter how popular your enterprise is, nothing can beat the essence of familiarity that native tongue/language brings. Built for marketers, by marketers, Cloudwords for Multilingual Drupal gives you the power to deliver global campaigns and localized assets with speed and scale. This is the marketing opportunity that no e-commerce business should miss out on.

    admin interface with the option to add language in red box, and four languages listed below

    Cloudwords can onboard any language provider in a manner of minutes and help you deliver globally consistent, high quality and timely content to multiple countries in many languages. Its smart AI allows the workflow automation and powerful project management capabilities to select the content you want to localize and Cloudwords does the rest. 

    Its CAT tool has a smart internal translator which leverages artificial intelligence and machine learning to significantly increase the productivity.

    It can automatically extract all the content and create project request in Cloudwords. All content is automatically represented in the translation industry’s XLIFF format making it simple to process and interoperable with a wide variety of tools.

    Available for - Drupal 8 | Stable Release

  • Azure Cognitive Services API

    Azure Cognitive Services API module can seamlessly integrate with intelligent features and with the use of Machine Learning, Artificial Learning, and Natural Learning Process can detect speech, facial and vision recognition other than identifying the sentiments. 

    It offers four different modules for each feature:

    • Face API Module: It integrates with Microsoft Face API, a cloud-based service that and helps identify face detection with attributes and face recognition. It can: 

      1. Detect human faces and compare similar ones
      2. Organize images into groups based on similarity
      3. Identify previously tagged people in imagesimage of a recognition of a woman and man with a box on their face mentioning their age and sex
    • Emotion Recognition API Module: Although in beta, it takes an image as an input, and returns the confidence across a set of emotions for each face in the image, as well as bounding box for the face, from the Face API. 
       
    • Computer Vision API Module: It extracts information from images to categorize and process visual data – and machine-assisted moderation of images to help curate your services.
       
    • Azure Text Analytics API Module: Text Analytics API is a cloud-based service that provides advanced natural language processing over raw text, and includes three main functions: sentiment analysis, key phrase extraction, and language detection.

      Available for - Drupal 8 | Stable Release

  • Acquia Lift Connector

    Looking for a module that can help you merge content and customer data into one tool? Acquia Lift helps you deliver the most cohesive and personalized experiences across multiple channels and devices.

    With the ability to target audiences in real-time, marketers are able to scale their web personalization efforts in order to drive conversions and bottom-line results. This module provides integration with the Acquia Lift Service and an enhanced User Experience for Personalization, Testing and Targeting directly on the front-end of your website.

    Features

    • Drag-and-drop UI for content targeting

    • Unified customer profile

    • Merging anonymous and known visitor profile

    • Content distribution

    • Real-time, adaptive segmentation

    • Behavioral targeting and A/B testing

      Available for - Drupal 8 | Stable Release

  • Quora - Related Questions / Posts

    One of the old school marketing techniques involves promoting content through various open/public channels. The Quora Module helps provides related questions/posts from Quora in your Drupal website in a Block.

    The smart intelligence uses tags (provided by the fields of one of the content type) to fetch the relevant Quora questions. The field acting as the interconnection between your Drupal website and Quora is easily configurable.

    This module uses:

  • Automatic Alternative Text

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

    an example of a rainbow in the sky with the Automatic Alternative Text mentioning the alt text and score in a tab above

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

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

    Available for - Drupal 8 | Stable Release

    Read how Drupal is Ensuring the Web Accessibility Standards

  • Chatbot API

    In the era of Personal Assistants like Alexa, Google Home, Chatbots are the cool fad for your website. The Chatbot API module creates a common layer serving Drupal content to any of the Personal Assistants services in the market.

    image representation of a hand holding a mobile and texting a chatbot

    However, the module has the dependency on other modules like Drupal Alexa. Chatbot API by itself doesn't do anything. You should install it only if another module asks for it or you want to build your own integration driver.

    Available for - Drupal 8 | Not covered by Security Advisory 

  • OpenCalais

    An integration with Thomson Reuters' Calais web service with Drupal, OpenCalais creates rich semantic metadata for the content you submit – in well under a second. Using NLP, Calais analyzes the document and finds the entities within it. The metadata returned can be automatically assigned to vocabularies, or it can only suggest terms allowing full user control of the tagging.

    Goind beyong the classic entity identification, Calais returns the facts and events hidden within your text as well. 

    Available for - Drupal 7 | Stable Release

  • SendPulse

    The SendPulse module provides integration with SendPulse, which is an Integrated Platform for Web and Push Notifications. It assists greatly when revamping your marketing and focussing on the mails and SMS. It claims to assist in providing 60% open rates with the use of its Artificial intelligence. 

    It also heavily relies on personalization in order to achieve the numbers. The AI monitor’s the user behavior such as email opening hours, user communication preference, time zone, content among others. Once the information has been collected it’s AI predicts the medium and hour for the best results. 

    Features:

    • SendPulse Mailing Lists

    • Pulling and updating mailing lists from SendPulse using cron

    • Mass export users from Drupal to SendPulse

    • Map Drupal user fields with SendPulse mailing lists variables

    • Creating new SendPulse Mailing Lists from Drupal admin interface

      Push Notifications

    • Auto-creating new Push Notification and sending to subscribers after creating a new node

    • You can control for which node types after creating new node should create push notifications

    • Form for sending a single Push notification.

      Available for - Version 7 | Stable Release

  • Artificial Intelligence, Machine Learning have a lot to offer and have the potential to improve user interactiveness in your website. The use cases of AI and ML can range from personalization to innovation to communication.

    Looking for a smart solution for your business? Contact us at [email protected]

    Pages

    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