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 06 2018
Sep 06

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. 

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]

    Jul 31 2018
    Jul 31

    Ali Baba and the Forty Thieves, invented in the 18th century by the French Orientalist Antoine Galland, portrays the literary history of the password. The invocation, “Open, Sesame!” which was used in this classic tale to open the magically sealed cave enjoys a broad currency as a catchphrase today.

    Illustration showing a man with a sword in his hand waiting behind the door


    With the rapidly evolving digital space, password security is even more crucial and needs the right kind of strategic perspective with strong policies. Drupal, being one of the most secure platforms among the leading content management systems, can help in enforcing password policies with its enormous security-oriented abilities. 

    Password Policy: A Close Look

    Password security was brought into the computing world through the invention of the Compatible Time-Sharing System and Unics (Unix) system.  This was developed at the Massachusetts Institute of Technology and Bell Laboratories in the 1960s. The concept of the password was developed so that the users could only have the access to specific files in their allotted time of computer usage.

    Infographics showing statistics on importance of password policy.Source: Digital Guardian

    A password policy is a particular collection of rules that enables proper storage and utilisation of passwords, helps in the creation of dependable and secure passwords and enhances computer security. Commonly, it is part of the official regulations of an organisation and might be employed as a component of security awareness training.

    On what basis can you formulate password policy? One of the best collection of guidelines for password policy comes from the National Institute of Standards and Technology (NIST) which is a part of the U.S. Department of Commerce. They have framed a set of Digital Identity Guidelines that provide a great basis on which password policy can be crafted.

    The guidelines provided by NIST stresses on user-friendliness. It states that excessively onerous password policies often impacts negatively. For instance, if the users are forced to change their passwords every week, many of them would wind up choosing bad passwords.

    Security has always been a compromise between allaying risk and convenience.

    A research from Microsoft on password strategies suggests that simple passwords, which can be easily memorised, should be used for low-risk sites. Intricate passwords should be reserved for the sites where the security risks warrant huge repercussions. This suggestion is debatable but it illustrates the trade-off.

    For instance, if your site involves users sharing fields of their pet dogs, you can have a lenient approach towards your password policy. Complex passwords may be used for sites where users access sensitive financial or healthcare-related data.    

    Can Drupal modules and configurations be used for implementing strong password policies?

    Drupal’s rich security features for enforcing strong password policies

    By default, Drupal offers guidance on how to make your password stronger. But it does not enforce any password policy out-of-the-box. In order to do that, it comes with a huge library of modules that can help in the enforcement of firm password policies.

    Setting restrictions on password

    Password Policy, a Drupal module, allows you to lay a set of requirements on passwords that are created by the users. These requirements comprise of length, digits, case, punctuation etc. For instance, you can set what sort of characters and in what amount could be used in a password. It also comes with a password expiration feature.

    Setting composition rules

    The Password Policy lets you set up intricate composition rules for the passwords. But another Drupal module, Password Strength, offers a user-friendly alternative to prescriptive composition rules. It offers real-time password strength measurement and server-side enforcement.

    NIST guidelines suggest that spaces are permitted in passwords which can contribute towards more user-friendly policies when it comes to passphrases. Drupal allows spaces in passwords out-of-the-box.

    In case, you do not need any special locks, you can disable the password strength check using a Drupal module called Password Strength Disabler and allow users to feel at ease while creating passcodes.

    Avoiding hints and reminders

    In case, your website requires hints and reminders, you can add an additional lock to the doors by incorporating security questions while logging in and resetting passwords. Security Questions, a Drupal module, helps you in achieving this numerous configurable options.

    However, NIST guidelines suggest that it is better to avoid hints and reminders. Security questions which are fairly easy to guess can be used to compromise user accounts.

    But Drupal offers another very useful module called Username Enumeration Prevention which can make it difficult for website hackers to find the usernames and attempt any brute-force attacks.

    Leveraging authentication procedure

    In case, you need more than one lock, the Two-factor Authentication module can come in handy. It provides an extra layer of security to the authentication procedure. This can be one-time passwords (OTP), codes sent through SMS, or pre-generated codes. It also allows integration with third-party services like Authy, Duo etc.

    An authentication and authorisation infrastructure system, Shibboleth is capable of granting individual users with safe, anywhere, anytime access to resources which are available online. Shibboleth authentication, Drupal module, offers user authentication with Shibboleth.

    This confrontation in the so-called shibboleth incident in the 12th chapter of the biblical Book of Judges delineates the earlier forms of password security:

    “ ‘Say now Shibboleth’; and he said ‘Sibboleth’; for he could not frame to pronounce it right; then they laid hold on him, and slew him at the fords of the Jordan.”

    Implementing rate-limiting

    Drupal does rate-limiting out-of-the-box. But there is no particular UI which exposes configuration that can be tweaked. Flood control, a Drupal module, allows you to limit the number of login attempts by using a convenient admin interface.

    To take rate-limiting a step further, Login security module can be beneficial. It helps in limiting the number of invalid login attempts before blocking accounts or denying access by IP address temporarily or even permanently.

    To facilitate the login attempts limitation by blocking out the sources of malicious requests, Fail2ban Firewall Integration module offers an automated firewall tool.

    Enhancing login features

    If your website is available via both HTTP and HTTPS, Secure Login module can ensure that your user login forms or other pages are transmitted via HTTPS. This keeps the passwords hidden from the prying eyes of hackers.

    It is always appreciated when the user is given the convenience of using an all-in-one login. OneAll Social Login module allows users to sign in on your website using their social network accounts like Facebook, LinkedIn Twitter, Instagram etc.

    In case, an user types an email address incorrectly in a sign-up form, he will not get any confirmation emails which can be troublesome. Email Verify module verifies whether the email address typed by the user exists or not.

    Doing away with passwords altogether

    What if you do not want to enter a password at all? The Passwordless module gives a possibility of logging in without using a password at all. So if a user has to log in, only the email address would be required. A login link will be sent to that email address which will be valid for 24 hours.

    Outlining best practices of password policy

    While Drupal is very efficacious in enforcing strong password policies, it is imperative to understand the best practices that can be adopted for incorporating intelligent password policy.

    Infographic listing down the best practices of password policy with an icon of a desktop connected to a mouseSource: Dashlane
    • Adopting the 8 + 4 rule can be beneficial. You can use 8 characters with 1 upper-case and 1 lower-case, a special character like an asterisk and a number. Make it as random as possible. Also, make sure the numbers and symbols are spread out through the password to foil hackers.
    • Avoid using personal information like your birth date or last name etc.
    • Use different passwords for different accounts. This can be helpful if there are numerous computers in the same department.
    • Adopting passphrases in combination with symbols and numbers can be useful. For example, The Sun Will Rise Again Tomorrow. Also, keep the characters less in the passwords that are easier to remember.
    • You may consider not changing the passwords frequently and it is safer not to write them down anywhere.
    • Do not share the password over electronic media.
    • Add other barriers like two-factor authentication and multi-factor authentication.
    • Set a number that will lock the user out after few unsuccessful attempts.

    Conclusion

    Password security has evolved over the years in the digital arena. It is significant to have a strong set of rules while deploying password policies. They should not only assist users in avoiding bad passwords but aid in employing high entropy secure passwords. Drupal provides a superb platform to enforce strong password policies with its amazing set of modules.
     
    Not only we aid in Drupal development, we also provide continuous support and maintenance services, contact us at [email protected] for the enforcement of strong password policies in your business environment.

    Jul 30 2018
    Jul 30

    A stand-up comedian has this arduous task of presenting rib-tickling jokes to the audience but it involves proper strategy as well. He would talk about funny instances from the school life if the audience is packed with students. Or, he would talk about the patient-doctor relationship for an audience full of doctors. Business enterprises apply similar web personalisation strategy to tailor the content on the website for their audience.

     Sketch showing a lot of icons clustered together and ‘audience segmentation’ written at the bottom

     

    Segmenting your visitors helps you identify who they are and frame web personalisation strategy accordingly.

    To personalise the web experience, audience segmentation is one of the key prerequisites to be adhered to. Segmenting your visitors helps you identify who they are and frame web personalisation strategy accordingly. Drupal has amazing capabilities to enable personalisation on your website.

    The Assortment of Audience Segmentation

    What is the segmentation and how do you do it? The process of splitting your audience into distinguishable groups based on specific criteria, contexts and/or conditions comes under segmentation. With real-time personalisation, segments of the audience are based on criteria which can either be detected automatically or derived from previously compiled user data.

    There are several different categories of criteria on which audience segmentation can be done. Broadly speaking, all these different criteria come under two groups

    Implicit data

    When the information is implied or assumed, it is referred to as implicit data. This gives you an idea of a user’s intentions or needs but is not plainly conveyed by the user. This data allows you to test a hypothesis, recommend content, or to inform a content experiment like A/B test.

    When you derive the interests of a person on the basis of the pages they have visited, such information would come under implicit data.

    Explicit data

    This kind of data is clear and specific and leaves no room for any kind of doubt. Explicit data can be comprised of visitor attributes detected automatically or the data which a user chooses to provide like their personal information and preferences.

    When you tailor your content on the basis of the user’s age, gender, location or the kind of device being used, it comes under explicit data.

    Rule-based Personalisation vs Predictive Personalisation

    Rule-based personalisation Predictive personalisation Personalisation done on the basis of explicit data Personalisation done on the basis of implicit data

    When the explicit data is used to personalise web experience, it is referred to as rule-based personalisation. Content is personalised when the specific rules and conditions are met.

    Predictive personalisation leverages implicit data to tailor the content to the audience. It helps in customizing offers and communications precisely by predicting customer behaviour, needs, and wants. 

    Predictive personalisation selects the most relevant content for the audience based on the best performing content variation like a landing page that has led to the most amount of conversions.

    Segmentation Criteria

    Both implicit and explicit data can be used together to an effect to optimise the user experience. Types of Segmentation Criteria used to personalise content on the basis of implicit and explicit data includes:

    Demographics

    The qualities or attributes of a specific group of people is what demographics refers to. Demographic criteria for the web personalisation is explicit as the data provided is mostly personal like information given by the visitor through sign-up, form fill or an account registration.

    Facebook Business statistics showing the improvements seen through personalised marketing campaignsPersonalised ad campaigns on the basis of demographic criteria on Facebook Business benefitted online retailer Matsmart

    Demographic criteria constitutes:

    • Age
    • Gender
    • Salary
    • Occupation

    Where can it be seen?

    • Online stores recommend clothes on the basis of gender.
    • Travel companies target promotional campaigns with Indian tour packages for senior citizens.

    Geographic adherence

    Geographic criteria is a type of demographic data which can be used to meet the needs of customers in a particular region.

    Pop up welcome message on Nikon website asking to select the region from six options.Nikon, world leader in optics and imaging, uses geographic criteria as part of their web personalisation strategy.

    Geographic criteria comprise of:

    • Specific location
    • General region like State/Province
    • Local time or weather

    Where can it be seen?

    • A news television channel can automatically show news coverage relevant to the local region of the user.
    • An online retailer can dynamically determine the local weather patterns of the user and show personalised product recommendations. For instance, a sale on sun protection creams for online visitors on sunny days and sale on raincoats for users in rain-hit locations.

    Behavioural patterns

    The patterns shown in the behaviour of the audience can prove to be a determining user interest. Visitor behaviour mostly includes criteria detected automatically and implicit data delineating the current or past history of browsing sessions.

     Image of five mobiles in a row and five books below themAmazon’s recommendations based on user’s behavioural patterns in terms of past purchases

    Behavioural patterns include:

    • Content topics visited by the user the most
    • Specific content visited by the user the most
    • The click path or the order in which the visitor is viewing the content
    • New visitors vs. returning visitors
    • Past site downloads
    • Recent conversions or purchases

    Where can it be seen?

    • A healthcare site can display listicle showing recommended blogs about a specific disease on the basis of other articles visited by the user.
    • A digital agency can show topical marketing messages on the website on the basis of white papers and ebooks downloaded by the user previously.

    Session and other visitor metadata

    A man presenting the session with a grey screen showing three cats in three pictures and O2 refresh written on top leftDemonstration showing Samsung Galaxy S6 and Galaxy S6 Plus devices as part of data collected on mobile data usage for personalised ad creation

    Personalisation can also be done on the basis of explicit attributes of the browsing session. An Econsultancy report stated that O2, a leading digital communications company, used the data based on the mobile device usage and location to make their ‘tariff refresh’ ad more relevant and tailor the messaging to their consumers. The betterment of 128% was observed through personalised ads in terms of click-through-rate (CTR).

    [embedded content]

     

    Session attributes consist of:

    • Browser or Device type
    • Source or referral type
    • Authenticated users vs. Anonymous users

    Where can it be seen?

    • A mobile application company can automatically detect the kind of smartphone user is using and deliver personalised promotional campaigns for applications that are compatible with the user’s device.
    • The homepage of the website of a SaaS-based company can display relevant messaging depending on whether the user has arrived from a direct link, a search engine ad, a banner ad, an organic search engine result, or a partner/affiliate site.

    User Profile

    Previously gathered data constitutes user profile criteria. It can include account details from a CMS like Drupal, customer record in a CRM like Salesforce, or a personal information from a social media platform like Twitter.

    Netflix website showing six movies in two rows eachNetflix offers personalised movie recommendation to the Indian users

    User profile criteria include:

    • Demographic data
    • User preferences
    • Customer type or account history
    • Subscriber information

    Where can it be seen?

    • A newspaper website can show a personalised list of news articles based on topics that the subscriber has indicated he is interested in.
    • A customer at a basic level of service can be presented with a promotional offer to upgrade to premium version.
    • Promotional messages for a customer can be displayed to renew their membership based on account history data that shows that his or her membership is nearing expiry date.

    Segment vs Persona

    Criteria Segment Persona Definition Grouping of customers and potential customers on the basis of distinct needsFictitious characters created to simulate a real customer What it does Dictates brand’s messaging, content strategy, and product targetingProvides insights into the psychological and emotional wants of customers Usage Used to initially attract a customer towards your brandUsed to keep a customer around once they are interested

    Market segmentation and buyer persona may seem similar as they both help in grouping together current and potential customers. But they provide separate use cases for the businesses. Both the tools come handy in depicting how a business should market the product to its customers. And once they have caught customer’s attention, they can also strategise how best to target them to meet their needs and wants.

    So we have already seen what segmentation is. Then what are buyer personas? They are fictitious characters created by a retailer to simulate a real customer. Personas are made on profiles that would include foundational information gathered from research done with real people. These profiles directly represent customer groups that share similar values, behaviours and goals.

    Personas add the emotional and behavioural component to the customer profiles thereby adding that extra layer of warm fuzzies.
     Illustration showing a attributes that can be included in a buyer persona templateA persona template
    Source: Sailthru

    In addition to these basic profiles, personas are used to give names, faces, personalities, and families to delineate accurately what that person would want and need in real life. Thus, personas add the emotional and behavioural component to their customer profiles thereby adding that extra layer of warm fuzzies. Once done, it helps in determining the end goal for a particular customer to target them appropriately.

    Leveraging the best of Drupal for Web Personalisation

    Drupal provides an amazing platform to personalise the content on your website and enhance user engagement.

    Drupal module, Acquia Lift Connector allows an integration with Acquia Lift service to give true insights on what customers want and do not want which helps in serving personalised content. This helps digital marketers to get control over automation, testing and measurement of marketing activities.

    This module helps in the unification of content and the insight gathered from various sources about the customers for delivering in-context and personalised experiences across multiple channels.

    Features like drag-and-drop user interface for targeting messages, A/B testing, unifying customer profile, syndicating content, behavioural targeting and combining anonymous and known online visitor profiles make it a highly valuable tool to empower digital firms in delivering the most cohesive and personalised experience.

    Conclusion

    Web personalisation is a useful strategy that can determine an organisation’s engagement ratio with its audience. To meet the needs and wants of its audience, segmentation must be done to understand your customers and potential customers. Audience segmentation is an integral prerequisite of web personalisation which every digital firm must adhere to.

    Leveraging the flexibility that Drupal offers in personalising the site, it can prove to be a remarkable platform for businesses. We excel at Drupal services with Drupal Development as our numero uno service and can guide you in building a business website with personalised content.

    Send us your mail at [email protected] to enable web personalisation strategies for your Drupal site development.

    Jul 27 2018
    Jul 27

    Teasers provide a brief summary or a short description of an article (or any other content). They give a visitor an insight and a quick overview of the content. Hence, it becomes crucial for a teaser to be eye-catchy in order to get that one click from the reader. It should leave them with a sense of curiosity and intrusiveness.

    Drupal, out of the box, provides a teaser view mode and three formats for the text fields – Default, Summary or Trimmed and Trimmed. However, the trimming feature is very limited and allows only the number of characters to be configured.

    Trimming Options for Text Fields Out of the BoxTrimming options for text fields out of the box

    We can use a contributed module, Smart Trim to take this trimming functionality to another level. Let us have a look at it.

    Downloading and Installing Smart Trim

    The module has dependencies on a few core modules including Field, Filter, User, System, and Text. Once you have made sure these are enabled, you can download and install it using any of the below methods.

    $ drush dl smart_trim && drush en smart_trim -y
    

    or

    $ drupal module:download smart_trim && drupal module:install smart_trim
    

    or

    $ composer require 'drupal/smart_trim:^1.1'
    

    After downloading the module using composer, enable it from the admin UI available at admin/modules.

    Enabling Smart Trim module using admin UIEnabling Smart Trim module using admin UI

    Modifying Teasers of Content using Smart Trim

    The module declares a new field format, Smart trimmed, with a set of configurable options. To modify the teasers of your content, follow the below steps.

    1. Navigate to Manage → Structure → Content types → {your-content-type} and select the Manage Display tab.
       
    2. Next, select the view mode from the sub-tabs. You may do it for any of your view modes, but for now, let us do it for the teaser view mode.
       
    3. Change the field format of the required field to “Smart trimmed” to take advantage of the module. You can do this for any of the text fieldsSelecting Smart trimmed text formatSelecting Smart trimmed text format
    4. Click on the gear icon to bring down the configuration options for the format. Here, as you can see, we get a lot more options than the standard trimmed format.Configuring the format settingsConfiguring the format settings
    5. You can now configure the following settings as per your preference
       

      Configuration

      Default Value

      Description

      Trim Length

      600

      The number of units of text in the Smart Trim mode (including HTML markup)

      Trim Type

      Characters

      Use characters or words to count the trim length

      Trim Suffix

      -

      Suffix characters at the point of Trimming

      Wrap Output

      False

      Add a <div> tag to wrap the trimmed content

      Wrap Class

      Trimmed

      CSS class of the wrapper <div> tag

      More Link

      False

      Show a more link

      More Class

      More-link

      CSS class of more link

      More Text

      More

      Text for more link

      Summary

      Use summary if present, and do not trim

      Use a provided summary or the trimmed content

      Strip HTML

      False

      Strip off the HTML added in the WYSIWYG for the trimmed content

      Honor a zero trim length

      False

      Allow a trim length of zero units

    6. Click on “Update”, followed by the “Save” button to save the changes

    Now, go back to your view or the page where the configured view mode is being used. You will observe that the changes have been successfully applied.

    Teaser of an article with Smart trimmed field formatTeaser of an article with Smart trimmed field format

    Looking at the source code of the page, we can see that the <div> wrapper tag has been added with the configured CSS classes. You can now also add custom CSS for these classes in your Drupal theme.

    Observe the CSS classes applied to the div tag and more linkObserve the CSS classes applied to the div tag and more link

    Summing Up

    The Smart Trim module blends smoothly and proves to be one of the must-have modules or your Drupal site. Its easy configuration allows site builders to quickly add a new field format and harness the full power of the teaser view mode.

    In case of any query or suggestion, don’t forget to leave a comment down below.

    Jul 26 2018
    Jul 26

    This blog explains how Drupal is redefining the eLearning frameworks.

    A large number of people are still hesitant to try out unconventional learning methods owing to a number of reasons. Effective eLearning and knowledge management solutions are an essential element of success for most organizations. 

    Drupal has been providing excellent results in the e-learning ecosystem. It has been modified for less technical admins and students with a highly robust and scalable infrastructure. Streamline it with low cost, faster loading, and easy tailoring of content, Drupal shouldn’t be a tough choice.

    an open book with pages flying

    For an efficient and effective e-learning, the development has to be simple, faster, and less expensive. In fact, a successful LMS needs a sophisticated platform that must help its stakeholders with excellent results in less required skills making knowledge management and learning easy for both, the organization and students. 

    Traditional Vs E-Learning 

    Teaching might be a tough job but how different are the traditional and modern learning methods? 

    The pains and perks differ but how much?

    • Making the learning more interesting
    • Keeping up with the process of learning through a different medium
    • Use of specific fonts, colors to ensure interactivity
    • Keeping a balance with visuals
    • Ensuring engagement within the group 

    However creative e-learning might be, the traditional learning environment, does not require the degree of self-discipline nor is it flexible in terms of deadlines and class meeting times.

    What is the hullabaloo all about?

    A lot is said and done in a traditional classroom through language, facial expressions, and body language. To make up for such clues and ideas, online courses have greater reading requirements.

    The assignment has more directions and a deadline to adhere to, in the online learning environment.  As for the learners, they complete the assignment and upload it to the LMS. 

    Drupal vs SaaS LMS: Why opt for Drupal?

    Distinct organizations have different learning workflow, assignment mechanism, and management process of students. With Drupal, it is easy to customize the framework according to your needs. Drupal's flexibility allows you to build custom and specific solutions. You can also create standard sets of code and extend them to meet particular client use cases. 

    Digital Literacy
    A traditional classroom setting requires physical presence while an online environment requires tech savviness. Learners should be able to navigate, evaluate and create information using a variety of technologies. They should be able to use the basic word and numerical processing software.

    Individualized Learning 
    This is the leading difference and advantage of eLearning vs traditional learning. The learner experiences a one-on-one, tailored instruction that is not possible in the traditional environment. A shift from a curriculum-centered to a learner-centered environment makes eLearning a winning proposition.

    Quality and Response time for Feedback 
    In a traditional setting, feedback is prompt. But in an online setting, feedback can take more hours. The feedback process needs to be channelized in a way that the students feel a greater sense of community support.

    Challenges

    Become Opportunities

    Tracking the attendance

    Authenticate students

    Create student/teacher relationships

    Conduct individualized instructions

    Facilitate classroom management

    Provide relevant and current materials

    Conduct guided and group discussions

    Create virtual classrooms

    Manage group dynamics 

    Support vigor, authenticity

    Manage interruptions

    Faster loading time

    Covering the Challenges and Needs with Drupal 

    A well-planned eLearning system will address the issues in a strong and effective way, flexible to meet the unique needs of all the participants. In this section, we will explore how Drupal is helping meet the challenges. 

    One of the foremost challenges remains the infrastructure. #RecreatingClassrooms 

    • Digital Classrooms

    One of the important goals is to create the digital classrooms in a way that it keeps the feel of the classroom alive. Drupal supports many such approaches for the task. 

    Modules such as Organic groups enable the users to create and manage their own 'groups' with the functionality of subscribers. The subscribers from each group can also communicate amongst themselves.

    It provides usual node types such as blog, story, page, etc. The block shown on the group homepage facilitates the surfer with a quick summary of the content or group. It also allows groups to be selective.  

    Selective groups require approval in order to become a member or even invitation-only groups. There are lots of preferences to configure groups as you need. This ensures classes remain exclusive and elusive to the disturbances. 

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

    Classes on a school website. With a teacher as the administrator, students as the members and the content as the learning material. Articles in the Group are created by the teacher and only visible to the students in the Group. Forums created in the Group are safe places to discuss the class as they are only accessible to the teacher and the students.

    Revamping your Higher-Ed website? Devise content strategy for your higher education websites with Drupal

    • Multiple User Types

    Teachers, need to have their notes, resources, and access to different content types to organize classes/groups in a better way. When conducting virtual groups, user roles, types, and permissions are, thus, important for the security and smooth functioning of the groups also known as virtual class. Out of the box, Drupal 8 offers different user types, roles, and permissions which can be leveraged so the teacher (group coordinator) has access to different resources than the rest. 

    admin overview of the user roles and permissions

    You can set:

    • Anonymous user
    • Email unverified user
    • Authenticated user
    • Confirmed user
    • Community user

    Additionally, you can use Multiple Registration - Drupal module - to create two user registration pages. One for general users and one, let's say, for hosters. You can add several specific fields for hoster registration page and these fields should not be available on the general user registration page. Furthermore, if you need some hosters fields only on user edit page, without showing these fields on the registration page, this module could help you here too.

    Challenges

    Become Opportunities

    With Drupal

    Tracking the attendance

    Authenticate students

    School Administration module to keep a track of attendance

    Create student/teacher relationships

    Conduct individualized instructions

    Views and Taxonomy tagging 
    ŽReuse and repurpose with Individualize content.

    Facilitate classroom management

    Provide relevant and current materials

    Modules such as Web form and Quiz. 
    ŽAssess comprehension or survey and compile results and data

    Conduct guided and group discussions

    Create virtual classrooms

    Comments, Forums, Polls (Drupal core)
    ŽProvide interactivity

    Manage group dynamics 

    Support vigor, authenticity

    Modules - Group - to facilitate groups 

    Manage interruptions

    Faster loading 

    Modules such as memcache

    • Adding Content

    To tap into different learning styles the presentation of the information in multiple formats simultaneously is important. In one tested example, a presentation connects the script of a video to the video itself, so that students can read the material as the video streams onto the screen.

    This benefits from the reinforcement of reading and helps the virtual groups. Drupal offers IMCE module which helps in image/file uploader and browser that supports personal directories and quota. It also helps with the operations of the image (jpg, png, gif) such as resizing, creating thumbnails, setting preview. Other than setting permissions for the directory, it also supports the private file system. 

    • Managing Menu

    Managing groups from different scenarios, in an eLearning platform, can be tough. The platform must allow users to function in both worlds very comfortably and supports educators between school and home or work and home transitions. Students have various paper schedules to keep track of their classes, and online students need the same. 

    Drupal’s ability to support bi-directional data sharing, along with providing an easy menu with configurable blocks of menu links with advanced features not available in Drupal 8 core.

    Menu Block allows you to display blocks of menu links starting with any desired level of a menu and limited to any desired depth. This module provides an additional configuration so you can choose to expand all menu links with children or to root the menu tree to a specific menu item.

    Another module, Administration menu, provides a theme-independent administration interface for easier navigation. It's a helper for novice users coming from other CMS, a time-saver for site administrators, and useful for developers and site builders.

    It not only contains regular menu items — tasks and actions are also included, enabling fast access to any administrative resource your Drupal site provides.

    • Managing Non-text Content

    One of Drupal’s strengths is presenting different bits of information to different users based on permissions, roles, and other identifiers. To keep the learning interesting, teachers can organize quizzes, voting, or add different videos. 

    This is possible with the Quiz module which lets you create graded assessments. A Quiz is given as a series of questions. Answers are then stored in the database. Scores and results are displayed during or after the quiz. Administrators can provide automatic or manual feedback. 

    admin view of the quiz

    The Fivestar voting module adds a clean, attractive voting widget to nodes and comments and any entity, to keep the user interface very interesting and democratic. 

    • Organizing the Content

    Taxonomy and its tags are one way to allow students to customize their learning experience through Drupal. Correctly classifying information is a very early premise in education and library sciences. Drupal’s core Taxonomy functionality provides an excellent basis for creating online classification systems.

    admin view of taxonomy hierarchy

    To give your eLearning system a strong foundation, develop a smart nested taxonomy structure that is very clear to the end-user. Drupal will punish you if you don’t put enough time into understanding and organizing your content.

    Other important modules and features by Drupal are: 

    • Mathjax: Allows to write all mathematical equations and displays on the webpage. Indeed a great tool for academia.
    • hierarchical_select: In case of a large number of terms which is used to tag the content. These terms also have a hierarchy and the user is expected to select the child most suitable term. 
    • diff: Diff module give better visibility of the difference between the two versions of a content.
    • Elysia_cron: A great cron management tool which gives fine grain control over each task giving the flexibility to schedule each individual task separately.
    • ajax_comments: The modules enables the user to post a comment without refreshing the page 

    Building Techtud with Drupal 

    Techtud is an Edu-Tech social networking site and started in 2013. It combines various features of social networking which helps improve learning experience with videos and pictures & increasing user engagement. 

    techtud logo

    The basic idea was to promote the culture of learning while sharing, on a platform which was dynamic in its own sphere. So we wanted:

    1) To reinvent the traditional form of learning

    2) Through a social media platform

    3) Where not only students can watch videos but also add content for the larger community.

    Techtud currently gets 500,000 page views per month to serve 20,000+ users all around the globe.

    Challenges

    The challenges revolved around building a platform which: 

    • Is user-friendly and has engaging features.
       
    • Is easy-to-use, which would ease the process of identifying the content type, structure and its presentation for easy discovery.
       
    • Needed a framework which would help add content to our database without affecting the performance of the website. 
       
    • Is flexible in providing easier workflow and management capabilities. 

    Result

    The project was completed in 6 sprints spanning 2 weeks each. The easy workflow management ensured that the users can add as much as they want. 

    Techtud currently gets 5,00,000 monthly page views to serve 20,000+ users all around the globe. Building Techtud was not like building a site, it was building a community which would promote the idea of  “Quality education for all”. 

    Looking for a web development agency which can help build your e-learning system? Contact us at [email protected] and we will get back to you as soon as possible.

    Jul 24 2018
    Jul 24

    It is that time of an era where everything ranging from software projects to online purchases is expected to be delivered to us swiftly. Continuous delivery is the latest fad which has made it possible to perpetually adapt software in line with user feedback, shifts in the market, and alterations to business strategy. Scrum framework comes with a powerful set of principles and practices that help perpetuate continuous deliveries in business enterprises.

    Illustration showing the word Scrum with different icons surrounding it

    In an earlier blog, we traversed the agile development methodology and its amazing benefits for project management. Scrum is one of the most popular of the agile approaches. Not only the software industries, where the origins of scrum lay, but a truckload of filmmakers, educational institutions, and a growing number of manufacturing companies have started adopting agile processes.

    How can scrum framework be a big boost to the development of Drupal-based projects? Let’s find out.

    Origins of Scrum

    Infographic showing the timeline of origins of Scrum

    The term ‘Scrum’ has its origins in the 1985 article The New New Product Development Game by Hirotaka Takeuchi and Ikujiro Nonaka which was published in the Havard Business Review. In 1995, Jeff Sutherland and Ken Schwaber jointly presented a paper, “The Scrum Development Process” at Object-Oriented Programming, Systems, Languages and Applications (OOPSLA) conference.

    "Scrum is a power-packed set of principles and practices that assist with the project development"

    Subsequently, with the formation of the Agile Alliance and the Scrum Alliance, it paved the way for the establishment of Scrum.org in 2009 for further improvements.                                                                             

    What is Scrum?

    Pictorial description of an equation showing that Scrum is lightweight, easy to understand, and tough to master

     

    Scrum, an agile process, is a simple and amazingly power-packed set of principles and practices that assist teams with the project development. It lets you deliver products in short cycles, enables super feedbacks, aids in ceaseless betterments and rapid adaptation to alterations.

    Scrum framework allows people to address intricate adaptive challenges and deliver top-of-the-line products while maintaining productivity and creativity.
     
    It is the obverse of a huge set of interlaced mandatory components. It executes the scientific method of empiricism and supersedes a programmed algorithmic approach with a heuristic one to encounter volatility and solves intricate problems.

    What are the basics of Scrum?

    Illustration showing the workflow of ScrumSource: Scrum.org

    Usage

    Initially, it was developed to developing and governing products. Starting in the early 1990s, it has been heavily used worldwide to:

    • Identify the product capabilities, technologies and the market feasibility through an extensive research
    • Build products and release them frequently numerous times a day
    • Build and sustain cloud(online, safe, on-demand) and other operational environments for product use
    • Sustain and revitalise products

    It has been used to build almost everything ranging from embedded software and networks of interacting function to marketing and governing the operation of business enterprises.

    With its reputation for iterative and incremental knowledge transfer, it is now widely used for products, services and the governance of the parent organisation.

    Theory

    Scrum adheres to empirical process control theory or empiricism and the three most important aspects that help in the implementation of empiricism are:

    • Transparency: Significant aspects of the process are defined by a standard benchmark so that it is visible to whomsoever responsible for the outcome.
    • Inspection: Scrum artefacts and the progress status towards the sprint goal should be assiduously inspected by skilled inspectors. Also, too much of inspection should not get in the way of the work.
    • Adaptation: To minimise any sort of deviation if one or more aspects of the process go beyond the scope of acceptable limits, adjustments should be done as quickly as possible.

    Team

    Scrum team is composed of a Product Owner, the Development Team and a Scrum Master.

    • Product Owner is the sole person taking care of the management of the Product Backlog.
    • Development Team delivers a potentially releasable increment of a ‘Done’ product after a sprint ends.
    • Scrum Master helps everyone on the team understand the Scrum theory, practices, rules and values.
    Values such as openness, respect, courage, commitment, and focus are assimilated and lived by the Scrum Team to build trust for everyone.

    Events

    Events involved in the Scrum are time-boxed events to get the maximum duration for each of them thereby ensuring regularity.

    • A Sprint is a time-box event that involves one month or less during which a ‘Done’, usable, and a potentially releasable product is created. After a Sprint ends, the new one is initiated immediately.
    • A Sprint can be aborted by the Product Owner before the Sprint time-box is over if the Sprint Goal becomes superannuated.
    • Sprint planning involves the work that is needed to be performed in the Sprint. It goes to a maximum of eight hours for a one-month Sprint.
    • The Sprint Goal is the set of objectives framed for the Sprint which has to be met through the implementation of Product Backlog.
    • The Daily Scrum is held every day of the Sprint which is a 15-minute time-boxed event for the Development Team so that they can plan their work for the next 24 hours.
    • A Sprint Review allows the Scrum Team and the stakeholders to collaborate on what was done in the Sprint. This is done at the end of the Sprint to review the Increment and adapt the Product Backlog if required. This is at most a four-hour meeting for one-month Sprints which is lesser for shorter Sprints.
    • The Sprint Retrospective is a phase where the Team inspects itself and creates a plan for betterments that can be incorporated during the next Sprint. This is done after Sprint Review and involves at the most a three-hour meeting for one-month Sprints.

    Artefacts

    Artefacts defined by Scrum represent work or value and is designed to maximise transparency such that everyone is on the same page when it comes to the understanding of the artefact.

    • Product backlog refers to the ordered list of everything that is required to be included in the product. It happens to be the prime source of requirements for any alterations to be made to the product. The Product Owner handles the content, availability and ordering of the Product Backlog. The total work that is remaining to be done to attain a goal can be summed at any point in time. The Product Owner monitors the progress towards the goals and this information is made transparent to all stakeholders.
    • The Sprint Backlog is the collection of Product Backlog items chosen for the Sprint in addition to the plan of delivering the product Increment and realising the Sprint Goal. The Development Team tracks the total work remaining at least for every Daily Scrum to forecast the likelihood of attaining the Sprint Goal.
    • The Increment is the summation of all the Product Backlog items that are completed during a Sprint and the value of all the increments that were completed in the previous sprints.
    • Artefact Transparency is an important component where the decisions to optimise value and control the risks involved are made. These decisions are made on the basis of the perceived state of the artefacts.

    How can Drupal development be improved with Scrum framework?

    Drupal Community has been very active and has shown a huge interest in this prime source of agility in the Drupal development.

    A DrupalCon Vienna session in 2017 presented a Scrum master story where they talked about how their company hacked their way into agility. With a couple of weeks of preparations, they pulled off a Hackathon of a complete week and all the non-ICT (Information and Communication Technologies) teams joined in.

    DrupalCon Vienna 2017 Logo

    Their development department formed 3 Scrum teams and started working with the Scrum framework with the help of an Agile Coach to improve their project management. Not only did the development team benefitted from the incorporation of Scrum values but the non-technical teams extracted a lot of merits as well.

    With the use of hackathons, they achieved a discernible transformation from an old-fashioned department centred company to a more holistic organisation with roles instead of functions in addition to multi-disciplinary teams. Thus, agility was brought to the way they functioned in this continuously transforming digital arena.

    Another session at a DrupalCon Baltimore session in 2017 delineated an agency’s transition to scrum for their project development needs. For managing a project, the agency used to sit down with the clients at the project kickoff and laid down the roadmap. This involved every other specification with a day-long discovery workshop. And then, they would wade into the design and building process.

    DrupalCon Baltimore 2017 Logo

    To improve this kind of development process, the Scrum-based agile workflow was adopted. This helped them to work on several projects simultaneously without burning out developers thereby resulting in a timely and quality code.

    Implementation of Scrum eliminated the logjam of a single technical lead, specified everything at the inception of a project, brought clients and developers together, and enhanced the precision of work estimations.

    The highlights of Scrum adoption in their agency include:

    • Kept the team organised, focussed and motivated while engrossed on several projects at the same time.
    • Helped in managing shifting workloads without having any repercussions on project delivery or spoiling team happiness.
    • Involved the Product Owner in the live instances of the project development process
    • Divided the work into Epics, Stories, Tasks etc.
    • Estimated with much more accuracy
    • Could run efficient retrospectives with a distributed team
    • Scheduled BOFs (Birds of a feather session) so that attendees could share their experiences of Scrum adoption in their own teams.

    Case study

    The Scrum.org team wanted to redesign their website and needed a partner who can adhere to Scrum’s three most important pillars - transparency, inspection and adaptation - and follow the agile approach i.e. Scrum.

    Homepage of Scrum

     

    Challenges

    Existing website of Scrum.org was not equipped with the right technology and strategy to facilitate their growth as an organisation. A redressal was needed to build a modern and future-friendly website. Following aspects were needed to be incorporated:

    • Modern technology
    • Responsive web design
    • Search engine friendliness
    • Scalability
    • Sleek design
    • The unified site-wide value proposition

    Moreover, they wanted to:

    • Adhere to the Scrum framework
    • Form a single, inter-organisational team that includes members within their organisation as well as the digital agency who is helping them.
    • Adapt and innovate while figuring out the logistics of the new style of client-agency teamwork

    How did it work?

    The website of Scrum.org was redesigned using Drupal 8 and it proved rewarding. Drupal 8, proved to be the perfect platform that provides the flexibility and scalability as the site continues to grow. Drupal 8’s out-of-the-box responsive web design features and seamless integrations resulted in the unified and sophisticated site.

    Website traffic was an important part of their strategy. Through automated SEO features, not only search engine rankings were improved, but the administrators who are unfamiliar with SEO could still create search-engine friendly pages.

    Moreover, the Scrum framework improved the efficacy of the project delivery. Through the formation of Scrum Team in both the organisations with the Product Owner residing inside Scrum.org, Scrum Master located in the digital agency, and the development team present in both the organisations, unprecedented transparency and efficiency was witnessed.

    Within a month of starting the project, which is a Sprint in Scrum, Scrum.org had a working homepage.

    Conclusion

    Project management and continuous delivery are an integral part of business enterprises. Leveraging the best of Scrum framework and Drupal’s robust features, web development can be streamlined to a great extent.

    We provide Drupal development services with that being our strong suit and have been doing this since our birth as a company. Drop in a mail at [email protected] to for smart software delivery using Drupal and Scrum framework.

    Jul 23 2018
    Jul 23

    Advances in technologies have brought us to the situation where huge amounts of ever-flowing media content need to be routinely stored, encoded, and exchanged. Heading an organization – such as a multinational/regional media organization – with the complex content creation and publication needs while also keeping a track of the content can be a difficult task.

    Networked storage and exchange of data allow content to be distributed across a network making the task of content management all but impossible to deal without a content management system.

    diagram of distributed system with a circle in centre and seven branches in different directions

    Considering the popularity of Drupal as the CMS, in this article we will explore how Drupal can help in providing and managing the modern digital experience with a Distributed Content Management System. 

    Understanding the Concept

    To develop a better understanding of the distributed content management system, let’s understand with an example of a national daily which also publishes content in different regional languages. 

    What is Distributed Content Management System?

    Let’s call this media house - One India News. Further, it has 6 different regional websites. Similar to many media institutions, the website channels are split into multiple categories (let’s say 5) and each of those categories further houses a number of sub-sections.  

    Some of the regional websites may only have 2 to 4 categories depending on the demand, but others may have upwards of 10 with each category having an editorial team of its own.  

    And let’s not forget that each of those regional websites are handled by a number of different editors for each category and channel. Toss in the requisite assortment of vote cards, topic cards, photo collage - you can see how quickly the web presence gets complex!  

    “Management of Distributed Content revolves around efficiency and control.”

    At this scale, we’re likely dealing with multiple websites, all of which have requirements around content. This has now become the perfect usecase for Distributed Content Management!

    diagram of workflow of one India news with regional news websites on first level and channels on second level

     

    Use Case 1: Publishing Workflows For Individual Websites

    Consideration of a content approval workflow is a critical part of the content strategy for any organization that employs Distributed Content Management. For the main website of One India News, the strategy is simple. A central editorial team with defined roles and distributed content production would suffice.

    Publishing workflows must be tailored not only to the media houses but to each channel and team that’s in charge of their regional website. Content to be published on the homepage of the website will likely require significantly more oversight than in the humor or offbeat channel. 

    The Distributed Management of Content or The Management of Distributed Content

    The Distributed Management of Content deals with the workflow involved in the content creation with a decentralized approach.

    The Management of Distributed Content works around dealing with existing content from a variety of sources, involving input (from other websites/sources), output (to other websites) or both. 

    By implementing Distributed Management of Content, organizations can eliminate the time and opportunity for error introduced when users enter content in multiple places. Unlike the first concept, the goals for Management of Distributed Content are generally around efficiency and control. 

    Use Case 2: Sharing Content Out - Centralized Content On A Distributed Web Platform

    Even the most decentralized media house have content that is centrally produced. In some cases, it may be easiest to just hyperlink to that content in its original location; however, consider, a news story of national importance published on the main website. That story may be reposted in its entirety in all the other regional websites. 

    Copying and pasting become a less efficient option when the content is further distributed - more so when you consider the possibility of edits and possible unpublishing. 

    Use Case 3: Sharing Content In - Decentralized Websites As Points Of Origin

    Another interesting use case presents itself when we consider distributed websites as the starting point for content creation. Most media houses maintain a central calendar of events, such as festivals and political events. 

    In a well-formed distributed content model, with an appropriate CMS like Drupal, the same metadata that allows visitors to filter events - audience, department, program - can be easily used to syndicate those events to various other websites.  

    Unfortunately, the same level of consideration is not always given to everyone outside the subset team with appropriate permissions. 

    Content managers who are generally empowered to manage their own content may not have the same access to do so, or, in cases where they do have permission, find themselves needing to enter content into an entirely different website system to get it published to their site. 

    But why should this be the case?  By extending the same technologies that allow websites to receive events from a central calendar, we can enable content managers to publish events to the calendar from within the same website they usually manage. (The same content approval and publishing workflow considerations apply, of course.)

    Centralized Content Management Distributed Content Management 
    • All content funnelled through one group
    • Small individual workgroups responsible for respective areas
    • Central rules and procedures to ensure rules are followed 
    • The responsibility of individual groups to oversee content quality
    • One person authority - who is responsible for the rules and implementation
    • Each group may have one or more lead approvers. Workgroups leads handle process and rules
    • Advantage -  Resulting process control without confusion
    • Advantage - Responsibility and the workload are distributed
    • Disadvantage - May result in a bottleneck
    • Disadvantage - Individual groups can interpret rules differently

    Use Case 4: Multichannel Brand Content

    Single-source content syndication also provides an opportunity for media companies like One media looking to promote their brand across multiple mediums. Many companies choose to employ standalone, all-in-one news providers such as ANI, rather than integrating a category for each of the news providers. 

    This makes a tremendous amount of sense: these organization systems when merged with the own CMS can provide a number of compelling results such as quicker results and faster news publishing. 

    By programmatically receiving the content from a content repository the organization can eliminate the risk of delayed news and lose the audience. 


    Use Case 5: Content Delivery To Validated Audiences

    In an attempt to decentralize content over the years, media organizations now allow users to add stories to the website. 

    How they access, validate, identify the users is another key consideration for the company’s Distributed Content Management strategy. 

    A common approach is to segregate guest editor content into different regional “portals” - websites that require editor to create accounts and login to see the information for their country or part of the world.  

    To overcome the challenge of validating these accounts, companies often integrate with an Identity Provider (IdP) such as SAML 2.0 Single Sign On easy configuration & active support, in your Drupal website. 

    At the far end of the Distributed Content Management spectrum are systems that need to publish consistent, controlled content to websites with no possibility for discrepancies across multiple sites.  

    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. 

    Finally, the modular design of the Drupal architecture allows both stand-alone and distributed realizations so that the system can be deployed in a variety of applications. Connect with us, drop a mail at [email protected] or tweet us @OpenSenseLabs. 

    Jul 23 2018
    Jul 23

    Betterment is just another form of change which brings with it a lot of goodness. Higher education sector strives hard to cultivate ingenious qualities into the mammoth amount of aspiring students who come to their premises to gain superabundance of knowledge. In this digital age, the website of an institution is the gateway for the prospective student to explore more about the universities. It is significant to devise a content strategy for higher education websites to improve the digital user experience for their online visitors.

    Illustration showing people working on smartphones, stationery, laptops, and other.

    In an earlier blog, we threw light on Drupal’s efficacy in devising the content strategy for the websites. In this blog post, we will emphasise on improvising content strategy for higher education websites with Drupal.

    Understanding the needs of your Higher Education website

    1. Outreaching the prospective audience

    Illustration showing a person standing on the highest of the 5 raised bars with a suitcase and a binocular in each hand

    Omnichannel A/B testing and Google Analytics reports can help in understanding your audience. Agreed! It is much easier than talking to each individual on the campus. As a matter of fact, having a conversation with the people on campus and by continuing to have them would actually help in learning the intrinsic details about your needs and opportunities thereby addressing them in the best way possible.

    2. Assessing the needs

    Now that you understand your needs and opportunities, it’s time to reflect back on analysing them. You have to see what works for you and what doesn’t. Also, you should validate where the potential is and where the pain is. By assessing such factors, you can have a clear picture of where you want to go and what’s needed to be done to get there.

    A sheet of paper with graphical stats, inspected through a magnifying glass
    • Understand where your institution is headed at a high level and what’s on the to-do list. Fruitful online presence should comport with the priorities of your leadership group.
    • Take a note of your resources by understanding how big is your staff and their job roles. Gauge whether professional development is needed to bring people’s skills up to date. Also, you need to check what your budget looks like, how the staff members are spending their time currently, how much time can they spare for a web redesign effort, and whether new hires would be required or not.
    • Gather information about your sources. These can include catalogues, view books, events calendar, social media or any other such sources for which you are not directly responsible but have a huge potential and are pivotal for bringing value to your website.
    • Analyse the feedback from your users to see what they think about the website. Primarily, the users constitute front-end users (target audiences) and back-end users (content editors). Compile the comments submitted by the front-end users via email in the past year or two and set up internal meetings to collect opinions. Your back-end users are equally important and you should definitely do the same with them.
    • Map key content to your strategy. This includes your homepage, the virtual tour, your admissions page, news page etc. to your high-level institutional goals.
    • Identify opportunities for integration and alignment like pulling social media content onto your landing page, or verifying whether your maps and directions page consists of a callout to sign up for a campus visit.
    • Sort out your process of content auditing and its governance by having a robust system of the content workflow. Know who your content editors are, identify gaps in content workflow, and understand the roles and responsibilities defined for content producers. Gauge whether you have a training and documentation readily available. Identify what third-party content sources or systems are your content team using, and gauge how the internal communication process is working out for your content team.

    3. Evaluating your content needs

    Illustration showing sheets on a clipboard, a dart board below the exam pad, with ‘Evaluation’ written on bottom.
    • Use analytics tools of your choice to gather relevant data like user flows, usage trends, top referrers, popular pages etc. It is even more important to configure conversion goals, campaign tags, and other such relevant metrics so that you can track your site usage even better.
    • Audit your top competitors’ websites to understand some key context thereby evaluating your own web presence.
    • Adopt usability testing to measure the user experience of your website. It helps in testing the efficacy of your calls-to-action, messaging, imagery, and navigation by devising a short test and governing it to members of your key audiences.
    • Gauge whether your website complies with ADA Accessibility for higher education or else you could be losing important members of your community who are unable to access your website.
    • Check whether your website is optimised for search engines and whether internet users can finding you in the first place.

    Three-pronged approach

    • Motivation can a crucial factor when re-evaluating your segmentation strategy. While segmenting the audience on the basis of demographics or user behaviour is significant, it is also pivotal to understand what motivated them to inquire about your university.
    • Do look at content possibilities for different segments of your audience based on demographics, motivation and preferred communication channel. This is vital for identifying new prospects and maintaining relationships with your established supporters.
    • Always test within your audience. You should specifically focus on the flexibility and online components of the website with the audience.

     
    Why is Drupal 8 a big boost for the essential needs of your Higher Ed website?

    Higher education institutes need a website that is not only informative but impressive and ultimately converts potential students.

    illustration of Drupal logo, link integration, cloud, and a hexagonal design. Some text on top and some at the bottom.Source: Drupal

    Drupal, an open source CMS, can work wonders for creating digital experiences for engaging, enrolling and restrain students, faculty, and alumni. With Drupal’s innumerable benefits, you can tailor your higher education solution.

    No wonder 4 out of 5 top-ranked universities in the world, according to QS World University Rankings 2018, are powered by Drupal. University Powered by Drupal Massachusetts Institute of Technology Yes Stanford University No Harvard University  Yes California Institute of Technology Yes University of Cambridge Yes

    Here are the must-haves for an incredible online presence of a higher education institute:

    Responsive web design approach

    Your website should adopt responsive web design approach. By reformatting images and page layouts according to your visitor’s screen sizes thereby adjusting to mobile users. This debars the need for horizontal scrolling on a mobile device and improves user experience as a result.

    Infographic showing statistics on the rise of mobile usage and user engagement through better mobile optimisation of websiteSource: NeilPatel

    Drupal is mobile-responsive and works astoundingly well across platforms ranging from laptops to smartphones. Its user-friendly UI allows administrators, both technical and non-technical ones, to efficaciously design pages, upload content, and govern it.

    Homepage of Oxford University

     

    The University of Oxford, world’s 6th best university as per QS World University Rankings in 2018, has grown manifold over the years. With the proprietary CMS, that the website of the university was running on, nearing its end of life, the university chose Drupal as their preferred open source content management solution. Drupal helped in rejuvenating its outdated design and make it mobile responsive to meet the demands of the digitally advanced set of mobile users.

    Content Governance

    You should have student-focused content. Potential students aren’t that interested in the internal news of an institution. Instead, they would, obviously, be more likely wanting to know how your institution can help get them the degree they want and enjoy the process. For instance, you can have a blog section dedicated to successful students talking about campus life, academics, and extracurricular activities. You can also have videos where the students give tips for freshmen.

    Creation and management of content is the field where Drupal is the dominant force. Developing digital content with rich media embeds is the hallmark of Drupal with its ultimate content editing module - CKEditor. Moreover, to edit the content in-place, Quick edits module is very useful. Embedding files in your posts, making file readable, enabling text field for storing captions on images, taxonomy fields for audio files etc can be managed by Media module.

    Homepage of Harte Research Institute

     

    The website of Harte Research Institute (HRI) was redesigned with the help of Drupal. This streamlined their content authoring process thereby giving total control to the HRI administrators. They could easily edit existing pages, publish entirely new pages, and make a great use of tags and taxonomies.

    Multisite

    Universities benefit a lot by deploying multisite for their online endeavours. It is also significant to make the right decisions before adopting multi-faceted websites depending upon whether you are a large university with a global presence or a city college.

    The out-of-the-box multisite functionality of Drupal lets students, staff members and other users communicate via a single system. It allows you to serve many sites from a single Drupal codebase which minimises the overhead of handling code across multiple sites. This leads to amazing agility for launching new sites quickly.

    Homepage of University of Minnesota

     

    The University of Minnesota replaced its existing Oracle Universal Content Management System with Drupal for its flexibility and centralised workflow. Drupal helped in swiftly spinning up new sites from a standard design set. They could create sub-sites for different departments that could work as part of a larger community and erase the need for independent sites. It also enabled them to easily deploy code alteration across platforms.

    Multilingual capabilities

    Your website should have multi-language support. International students are increasingly turning out to be an important segment of the audience. Speaking to them in their own language is hugely beneficial for enrolment growth.

    Bar graph showing the statistics on International Students in U.S. Colleges and Universities and Share of Total Enrolment, (%), from 1949–50 to 2016–17International Students in U.S. Colleges and Universities and Share of Total Enrolment, (%), School Year (SY) 1949–50 to 2016–17
    Source: Migrationpolicy.org

    Drupal 8 has inbuilt support for over 90 different languages and was built with multilingual use cases in mind. Its four out-of-the-box modules for translating configuration, content, interface and language help in streamlining the development of multilingual sites. Multilingual sites come handy for maintaining international associations, organising global meets, etc.

    Homepage of Georgetown University in Qatar

     

    The website of Georgetown University in Qatar was revitalised with the in-built multilingual capabilities and scalability of Drupal. It helped in developing a robust dual language website (English and Arabic) and governing over 2000+ pages and content types thereby giving flexibility to editors and users alike.

    Web personalisation

    The website should have personalisation capabilities. When the potential students would visit your site, they would expect your site to have content tailored especially for them. On the basis of attributes like profile, behaviour and the location of internet users, you can create dynamic and personalised content to provide them with the relevant website experience.

    Infographic showing how important is web personalisation with relevant statisticsSource: Oho Interactive

    Drupal can help immensely in personalising the content to provide the relevant website experience. For instance, Acquia Lift Connector module allows integration with Acquia Lift service which helps in the unification of content and the insight collected from several sources about the customers. This helps in delivering in-context and personalised experiences across platforms.

    E-commerce system

    There must be an e-commerce system integrated to facilitate the donation making process for your alumni and donors. Bolstering the campus commerce capabilities would also mean that online fees payment would be streamlined. With the rise in Massive Open Online Courses (MOOC), higher education community should invest in ecommerce-enabled course offerings.

    Flowchart showing the seven steps in securing a donationThe seven steps in securing a donation
    Source: Universitiesuk.ac.uk

    Drupal is a wonderful platform for setting up e-commerce system with its superb module - Drupal Commerce. To make it easier for your generous donors to donate through your website, Drupal Commerce, being an open source e-commerce framework, can be useful for integrating an ecommerce system.

    • Thermometer, Drupal module, helps in the creation of simple thermometer widget which is useful for fundraising goals.
    • Another module, CRM Core Donation lets you process online donations and track donation activity.
    • Also, Commerce Goal helps in providing a way to show progress towards a fundraising goal for donations and products.
    Homepage of University of Colorado

     

    University of Colorado’s dedicated website for fundraising campaign was developed on Drupal. Since the launch of the site, the university witnessed a stark rise in the online donations with the number reaching $1 million within the first month.

    Collaboration features

    Drupal has powerful collaboration features for back-end users to support internal academic and research items in addition to its forward-facing content like static pages, blogs, forums and course schedules. Staff members and students can access manuals, handbooks, procedural documents and research documents.

    Search-friendly

    You must have SEO tools. No matter in which country your institute is located, students will throng your website using a search engine. Therefore, it is of paramount importance that you rank higher on search engines like Google, Bing, Yahoo etc.

    Graphical representation shows that online searches and college’s website are the most used medium for exploring the higher education websiteGraphical representation shows that online searches and college’s website are the most used medium for exploring the higher education website
    Source: Search Engine Land

    Drupal websites are great for SEO reasons as well. University websites can rank higher in the search engines with the help of a suite of Drupal modules. For example:

    • Real-Time SEO for Drupal module helps you in optimising the content to be published on your website with right usage of keywords, URLs, word count, ease of reading and page title.
    • Pathauto module generates URL/path automatically the content on your website like taxonomy, users, nodes, users etc which can also be manually altered. So, if a blog titled ‘Content strategy for higher education’ is being published, it will automatically create an SEO-friendly URL called ‘blog/content-strategy-for-higher-education’.

    Drupal helped in the SEO optimisation of the website of Georgetown University in Qatar. It increased time-on-site and page view count and helped the site rank higher in the online searches thereby attracting new students and employee talents.

    Digital marketing campaigns

    Drupal offers a huge list of modules to do social media campaigns and email marketing.

    • Easy social module helps in adding a share button to the node to easily share content in social media.
    • Activity Stream module lets you stream all your social media activities at one place.
    • Organic groups module allows you to create and maintain your own groups where each group can have its own set of subscribers.
    • MailChimp module helps in the integration with MailChimp, email delivery service, for email marketing campaigns.

    Taxonomy system

    Drupal comes with an excellent taxonomy system that categorising your digital content into groups. This helps in easing off website content access for the online visitors. Relevant content is displayed to the visitors thereby streamlining site navigation.

    Centralised authentication

    Drupal uses LDAP(Lightweight Directory Access Protocol) and CAS(Central Authentication Service) which makes it easy to enable single sign-on for the websites. Higher education institutions can benefit enormously through single point access integrations. Users can safely access a multitude of services and resources using a single login.

    Georgetown University in Qatar has a dedicated employee microsite for the internal audience. It can be accessed from any device using a Single Sign-On ID that is incorporated with external identity solution through Shibboleth authentication module.

    Drupal community groups

    Several Drupal Community Groups exist who are committed towards better higher education solution. Following are some of the examples:

    User permissions

    Drupal offers a plentitude of modules for managing access and sharing content across multiple sites and portals. With Content and User Access Control, site administrators can create privileges to provide unique user experiences and different access rights to professors, students, alumni and site visitors.

    Some of the Drupal modules include:

    • Domain Access module allows you to share users, configurations and content across different groups of sites.
    • Workflow module helps in the creation of arbitrary Workflows and assigning them to Entities. For instance, a workflow with the states like Draft, Review and Published can be assigned to Story node type. Thus, only the users with ‘Editor’ permissions can set Stories to the published state.
    • Workbench Access module helps in creating editorial access controls. Editorial rights can be granted for a particular section of a content to a user account.

    Security

    Safeguarding personal information of students and faculty members is of paramount importance. Drupal is the best security-focussed CMS and is ideal for higher education institutions.

    As a matter of fact, Open Source Software (OSS) is generally considered more secure than proprietary software. Drupal is no exception and its security team has been committed to timely security fixes.

    According to Hacked Site Report 2017 by Sucuri, Drupal has far fewer vulnerabilities reported among the leading content management frameworks like Wordpress, Joomla and Magento.

    Conclusion

    Higher education institutes are the most sought-after places for gaining an abundance of knowledge. Students looking to make a mark by joining the perfect institute of their choice must know what they have in offer. Their websites should have an effective content strategy in place for students to understand as much as they can about the university. Drupal 8 offers a great platform for the building a website that is tailor-made for students. 

    We provide services for Drupal Development and it is our strong suit since our inception as a company. Contact us at [email protected] to build a website for your Higher-Ed institute that is tailor-made for students, faculty members, alumni and anyone who wants to gain something from your site.

    Jul 20 2018
    Jul 20

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

    Every (nano)second counts!

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


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

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

    The Significance of Website Performance Optimisation

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

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

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

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

    Performance optimisation is significant because of the following factors:

    User retention

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

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

     

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

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

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

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

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

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

    Improved Conversions

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

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

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

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

    User experience

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

    Infographic showing statistics on importance of web user experienceSource: Impactbnd

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

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

    Strategising the web performance

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

    Bottom-up strategy

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

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

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

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

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

    Top-down strategy

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

    Steps involved in this strategy are as follows:

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

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

    This is how we do it!

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

    Illustration showing the key processes involved in the performance budgeting methodology 

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

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

    How to Speed up My Drupal Website Performance?

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

    Keeping your site and modules updated

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

    Uninstalling unused modules

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

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

    Optimising Cache

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

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

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

    Optimising database

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

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

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

    Incorporating a Content Delivery Network (CDN)

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

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

    Optimising bandwidth

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

    Optimising images

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

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

    Handling 404 errors

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

    Managing the use of CSS and JavaScript

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

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

    Using lazy loading

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

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

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

    Better web hosting

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

    Case Study

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

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

    Project highlights

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

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

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

    Project outcome

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

    PageSpeed Insights

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

     

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

     

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

     

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

     

    Pingdom

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

     

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

     

    Conclusion

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

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

    Jul 17 2018
    Jul 17

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

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

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

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

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

    1. Shoot for the least 

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

    Minimalism begins by removing every element one by one.

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

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

    Content Repository 

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

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

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

    2. Analyse the Important Interaction Points

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

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

    This includes: 

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

    3. Optimize Your Images

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

    Hacks to Optimize Images

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

    4. Content is all that matters

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

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

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

    Think from an app perspective

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

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

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

    5. Be a User, Before Presenting to the User

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

    Hover is off the table

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

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

    6. Opt for Accelerated Mobile Pages

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

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

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

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

    How to go about it?

    Configure AMP in your website

    7. Make engagement on Mobile Simple 

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


    Set the Display Order

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

    8. Test It Before You Sell It

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

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

    Test it in a real devices 

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

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

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

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

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

    Jul 16 2018
    Jul 16

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

    seriers of files with the bookmark


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

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

    What is Elasticsearch?

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

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

    “You Know, for Search”

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

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

    Downloading and Running Elasticsearch server

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

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

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

    $ curl http://localhost:9200
    

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

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

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

    Integrating Elasticsearch with Drupal

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

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

    Method 1: Using Search API and Elasticsearch Connector

    We will need the following modules.

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

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

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

    $ drupal module:install elasticsearch_connector search_api
    

    or

    $ drush en elasticsearch_connector search_api -y
    

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

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

    Configuring Elasticsearch Connector

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

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

    Adding a Search API server

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

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

    Creating a Search API Index and adding fields to it

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

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

    Processing of Data

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

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

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

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

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

    Indexing the content items

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

    Indexing the content itemsIndexing the content items

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

    Wait for the indexing to finishWait for the indexing to finish

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

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

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

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

    Method 2: Using Elastic Search module

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

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

    $ composer require 'drupal/elastic_search:^1.2'
    

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

    $ drupal module:install elastic_search
    

    or

    $ drush en elastic_search -y
    

    Connecting to Elasticsearch Server

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

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

    Generating mappings and configuring them

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

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

    Generating index and pushing the documents

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

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

    Conclusion

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

    Jul 11 2018
    Jul 11

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

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

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

     

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

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

    Exploring the Issues in Higher Ed and the ADA Compliance

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

    The ADA Compliance

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

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

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

    The Guiding Principles to Web Accessibility - POUR

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

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

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

    Perceivable
    Operable
    Understandable
    Robust

    • Perceivable

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Checklist: Making Higher Ed Institutes ADA Compliant

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

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


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

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

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

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

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

    Level A Conformance 

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

    Level AA Conformance - other than those in level A

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

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

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

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

    Jul 05 2018
    Jul 05

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

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


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

    A brief look at Drupal Commerce and Magento

    Drupal Commerce

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

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

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

    Magento

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

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

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

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

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

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

    Metrics/Platforms

    Drupal Commerce

    Magento

    Installation

    Easy installation from the scratch

    Easy installation from the ground up

    Usage

    Easy to learn

    Steep learning curve

    Content management

    Can create complex content relationship

    Has a basic content management system

    Catalogue management

    Dynamic addition or removal of products possible

    Conventional way of displaying products

    Mobile responsiveness

    Fully responsive

    Fully responsive

    Features and functionalities

    Great for complex online stores

    Good only for simple shopping carts

    Multilingual

    Has in-built modules to create multilingual site

    Multiple Store Views helps in building multilingual site

    Administration interface

    Easily customisable

    Difficult to customise

    Cost constraints

    Being open source technology, it is absolutely free to use

    Shown identity shift with newer modules not free to use

    Business-driven

    Can be easily integrated with multiple ventures of your business

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

    SEO tools

    Plethora of modules available for enabling SEO

    Built-in SEO-friendly tools available

    Skills required

    Required minimal coding skills

    Requires advanced coding skills

    Integration scope

    Third party integrations possible

    Provision for third party integrations available

    Security

    Most security focussed

    Relatively less secure

    Installation

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

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

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

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

    Usage

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

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

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

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

    Content Management

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

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

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

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

    Catalog Management

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

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

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

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

    Mobile responsiveness

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

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

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

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

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

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

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

    Features and functionalities

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

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

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

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

    Multilingual capabilities

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

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

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

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

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

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

    Administration interface

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

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

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

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

    Cost constraints

    a hand clasping cash notes

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

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

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

    Business-Driven

    Different people standing over unresolved puzzle of an arrow symbol

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

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

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

    SEO tools

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

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

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

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

    Skills required

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

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

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

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

    Integration scope

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

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

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

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

    Verdict: Both the platforms offer third-party integrations.

    Security

    A house lock

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

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

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

    Conclusion

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

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

    Jul 02 2018
    Jul 02

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

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

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

    Decoding the Digital Asset Management

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

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

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

    [embedded content]


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

    Difference between DAM and CMS

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

    Digital Asset Management Content Management System

    Central repository for handling digital assets

    The central system for governing content on the website

    Example: Acquia DAM

    Example: Drupal

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

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

    A Plethora of Benefits

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

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

    Choosing the Best Digital Asset Management for your Business

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

    Understanding DAM capabilities

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

     

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


    Understanding your Goals

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

    Understanding your Users

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

    Understanding your Requirements

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

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

    Requirement Description

    Asset Approval

    Processes required to create a new asset should be well managed

    Asset Review

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

    Asset Access (Internal)

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

    Asset Access (External)

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

    Branding guidelines

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

    Structured assets

    Assets should be placed in the folders

    Keywords/Tags

    Assets should be assigned with keywords and tags

    Customer fields

    Custom metadata fields should be assigned to assets

    Reports

    There must be reporting and assessment on asset usage

    Direct access for marketing system

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

    Understanding your Deployment Options

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

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

    Drupal modules for DAM Integration

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

    Administrative interface of Acquia DAM showing how it manages digital assets


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

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

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

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

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

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

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


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

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

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

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

    Case study

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

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

    homepage of sardar patel website with his image on the right


    Objectives

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

    Drupal 8 to the rescue

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

    Result

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

    What the Future holds for DAM?

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

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

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

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

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

    Conclusion

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

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

    Jun 22 2018
    Jun 22

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

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

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

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

    How did Augmented Reality come into being?

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

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

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

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

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

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

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

    Types of Augmented Reality

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

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

    Applications of Augmented Reality

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

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

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

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

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

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

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

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

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

    Working Principle of Augmented Reality

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

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

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

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

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

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

    Drupal and Augmented Reality Use Cases

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

    [embedded content]

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

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

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

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

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

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

    [embedded content]

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

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

    Future of Augmented Reality

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

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

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

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

     

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

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

    Conclusion

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

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

    Jun 21 2018
    Jun 21

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

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

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

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

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

    What is an API?

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

    What is JSON?

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

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

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

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

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

    JSON API specifications of what and why are important.

    Downloading and installing JSON API module

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

    Using Drush

    $ drush en serialization -y
    
    $ drush dl jsonapi && drush en jsonapi -y
    

    Using Drupal Console  

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

    Using UI

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

    How does JSON API help?

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

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

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

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

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

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

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

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

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

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

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

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

      Or

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

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

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

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

    4. Paging

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

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

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

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

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

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

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

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

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

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

      Or

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

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

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

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

    Customizing the API

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

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

    To Conclude

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

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

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

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

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

    pokemon gif with money falling over on meow


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

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

    The Power Of Gaming: Why Gaming Industry Needs Community?

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

    What is a Gaming Community?

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

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

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

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

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

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

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

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

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

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


    Why are Gaming Communities Opting for Drupal?

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

    • Decoupled Drupal for Intuitive Game Live UI Experiences

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

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

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

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

    • Gameplay based customizations

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

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

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

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

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

    • Scalability

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

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

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

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

    • Multimedia support

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

    gif from star wars games

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

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

    • Mobile Responsiveness

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

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

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

    • Adding complex categories and catalogs

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

    screenshot from leagues of legends with various categories and catalogs

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

    • Discussions, Reviews, and News

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

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

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

    search for new games and its results

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

    • E-commerce Solution

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

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

    shopping cart with Klei

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

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

    Drupal vs. Wordpress 2018

    Building a Community website

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

    Example: Pinterest Community

    Winner: Drupal 8 

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

    Building a Gaming Website

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

    Example: Zynga

    Winner: Drupal 8 (Clearly)

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

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

    Building a Basic Gaming related Website

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

    Winner: WordPress

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

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

    Building a Media-Streaming Website

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

    Example: AXN 

    Winner: Drupal 8

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

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

    Summing Up

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

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

    Jun 11 2018
    Jun 11

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

    Security is no more about working in isolation. 

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

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

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

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

    And Aristotle once said...

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

    Seven Drupal 8 Security Practices

    Securing the Server-side Hosting Environment

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

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

    Securing the Drupal Core

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

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

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

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

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

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

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

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

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

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

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

    Backing Up - In Case of a Mishappening

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

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

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

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

    User-Side Security

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

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

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

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

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

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

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

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

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

    Jun 08 2018
    Jun 08

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

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

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

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

    Content dissemination

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

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

    Centralization

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

    A flowchart showing the centralized content flowSource: Acquia

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

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

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

    Decentralization

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

    Flowchart showing decentralized model of content flowSource: Acquia

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

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

    Constructing effectual content strategies

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

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

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

    Hammer out the finer details of your objectives

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

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

    Define your target audience

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

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

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

    Assess your content

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

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

    Choose the right Content Management System

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

    Infographics showing the features of a CMSSource: Bluehost

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

    Prepare a super list of topic buckets

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

    Rummage through the content types

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

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

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

    Flowchart showing different stages of buying cycleSource: Hubspot

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

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

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

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

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

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

    Content Governance

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

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

    Conquering challenges

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

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

    Drupal 8: Ultimate choice for content strategy

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

    APIs as a core feature

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

    Web personalization

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

    infographic on importance of web personalisationSource: WhiskData

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

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

    Multilingual capabilities

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

    Mobile-first approach

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

    Content strategy project for Drupal.org

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

    Why is content strategy formulation needed?

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

    What were the objectives of this initiative?

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

    What were the steps taken to improve content strategy?

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

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

    Tools and technology for content strategy

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

    Integration of CMS and DAM

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

    Project management

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

    Content analysis

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

    Future of content strategy

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

    Virtual reality

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

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

    [embedded content]

     

    Artificial intelligence

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

    Native advertising

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

    Live streaming

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

    Conclusion

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

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

    May 31 2018
    May 31

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

    personalizationSource: Getty Images

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

    What is web personalization anyway?

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

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

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

    How is web personalization meritorious?

    Experian marketing services statistics

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

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

    Web personalization with Drupal

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

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

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

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

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

    How to implement web personalization?

    1. Understand the classifications of web personalization

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

    2. Creation of a content plan

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

    3. Testing the web personalization efforts

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

    4. Measuring the success rate

    Sca;e representing stages of personalization successSource: Marketo

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

    Stats on measuring web personalizationSource: Marketo

    Case study

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

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

    Website of Humana's micrositeSource: Acquia

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

    Website of Humana's micrositeSource: Acquia

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

    Conclusion

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

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

    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