Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Oct 08 2018
Oct 08

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

Illustration showing people sitting around a desk and working


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

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

Global connectivity shifts and empowerment of customers

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


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

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

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

Digital Transformation in the driver’s seat

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

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

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

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

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

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

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

Strategising digital transformation

Resolving the tension among the leaders

A piechart showing statistics on digital transformation leadership


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

Leveraging the intelligent edge

Infographic showing statistics on IoT with relevant piccharts and icons


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

Growing with the platform economy

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

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

Signifying the security from the start

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


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

Reimagining your business right now

Four piecharts showing percentages on top drivers of digital transformation


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

Enabling digital tax transformation

An illustration in the shape of hexagon depicting digital tax strategy


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

Transforming a whole economy

Horizontal bar graphs showing statistics on mobile and internet penetration


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

How is Drupal 8 enabling digital transformation?

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

Drupal 8 is continuously evolving with customer expectations

Some of the highlights are mentioned below:

Content creation

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

Easy installation

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

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

[embedded content]


Developer’s paradise

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

Interoperability with adjacent technologies

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

Security by design

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

A box with pointers showing list of OWASP 2017 security risks


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

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

Bar graph showing the statistics on Drupal securitySource: Sucuri

Drupal as an e-commerce platform

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

Metamorphosis of the whole economy

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

Homepage of TPG Capital with images of TPG products


The story of Digital transformation with Drupal

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

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

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

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

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

Conclusion

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

Oct 01 2018
Oct 01

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

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


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

Getting to know open source software

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

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

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

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

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

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

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

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

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

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

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

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

Open source security in Drupal

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

Drupal Security Team in action

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

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

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

Process cycle

The process cycle of the Drupal security team involves:

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

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

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

Security features

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


Statistical reports

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

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

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

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

Challenges in open source security

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

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

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

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

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


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

Conclusion

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

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

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

Sep 27 2018
Sep 27

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

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


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

Tracing the roots in the UNIX world

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

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

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

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

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

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

Understanding the terminology

Illustration showing four boxes with texts explaining microservicesSource: LeanIX GmbH

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

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

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

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

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

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

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

How good or bad are microservices?

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

The benefits of microservices are laid out below:

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

Some of the challenges are outlined below:

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

Taking Drupal into the context

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

Demonstration at DrupalCon Vienna 2017

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

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

[embedded content]


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

Demonstration at Drupal Developer Days Lisbon 2018

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

[embedded content]


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

Predictions ahead

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

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

Open source has given a whopping push to the microservices architecture

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

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

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

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

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

Conclusion

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

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

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

Sep 24 2018
Sep 24

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

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


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

Evolution of DevOps

Illustration showing venn diagram explaining DevOps model


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

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

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

What is DevOps and how does it work?

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

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

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

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

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

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

Benefits of DevOps

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

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

High velocity

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

Scalability

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

Faster delivery

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

Reliable delivery

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

Security

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

Collaborative efforts

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

Best practices for the adoption of DevOps model

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

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

Performing small updates frequently

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

Using microservices architecture

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

Leveraging continuous integration and continuous delivery

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

Making use of infrastructure as code

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

Monitoring and logging the workflow

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

Implementing DevOps model for Drupal development

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

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

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

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

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

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

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

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

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

Future of DevOps

A bar graph showing statistics on DevOps

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

Perpetual growth of DevSecOps

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

DevOps and IoT

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

Monitoring to become the new testing

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

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

Kubernetes to become standard for cluster computing

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

Removal of (server) operating systems as we know them

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

Conclusion

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

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

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

Sep 21 2018
Sep 21

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

Illustration showing a task sheet and icons representing pencil and loudspeaker


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

A Brief Exploration of Drupal and Sitecore

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

Drupal

Logo of Drupal with a drop-shaped icon

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

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

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

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

Sitecore

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

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

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

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

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

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

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

Comparing Drupal vs Sitecore in Different Perspectives

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

Features and Functionalities

Metrics

Drupal

Sitecore

Content Management

Excellent content management

Excellent content management

Security

Highly secure

Highly secure

Decoupled and headless approach

Decoupled presentation layer available

Decoupled presentation layer available

Performance and Scalability

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

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

Multilingual site

Great support for multilingual sites

Great support for multilingual sites

Accessibility

Better features for web accessibility

Relatively less features for web accessibility

Multisite

Multisite functionality available

Multisite functionality available

Responsive web design

Fully responsive

Fully responsive

1. Content Management

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

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

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

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

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

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

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

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

2. Security

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

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

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

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

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

Tabular column showing security attacks in different CMSsSource: Alert Logic

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

graphical representation showing statistics on infected websitesSource: Sucuri

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

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

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

Inference: Both Drupal and Sitecore are highly secure platforms.

3. Decoupled and Headless Approach

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

Flowchart showing the different between Coupled and Decoupled DrupalSource: Acquia

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

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

4. Performance and Scalability

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

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

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

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

Illustration showing server configuration setup in sitecore with relevant icons

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

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

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

5. Multilingual Site

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

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

Drupal installation showing different language options


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

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

Sitecore setup showing different language options


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

6. Accessibility

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

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

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

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

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

7. Multisite

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

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

Illustration showing Drupal logos to describe multisite setup

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

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

Sitecore interface showing multisite setup


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

8. Responsive Web Design

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

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

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

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

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

Content Editor’s Eye View

Metrics

Drupal

Sitecore

Editing Interface

Good editing interface

Good editing interface

Drag and drop functionality

Drag and drop feature available

Drag and drop feature available

Granular editing

Granularity while editing possible

Granularity while editing possible

Grouping of the content

Better grouping of content

Relatively less flexible while grouping of content

Layout configuration

Excellent layout configuration options available

Excellent layout configuration options available

1. Editing Interface

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

Drupal full view edit mode showing the editing of an article


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

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


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

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

Sitecore interface showing options for content editing


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

Sitecore interface showing options for in-place editing


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

2. Drag and Drop Functionality

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

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

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

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

3. Granular Editing

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

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

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

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

4. Grouping of content

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

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

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

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

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

search utility option of Sitecore described with labels


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

5. Layout Configuration

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

Layout Drupal module interface with horizontal layers from top to bottom


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

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

Display suite drupal module interface with different options


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

Panels drupal module interface with different options


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

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

Sitecore splitter tool interface with vertical columns


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

Developer’s Eye View

Metric

Drupal

Sitecore

Skillset

Knowledge of PHP, Symfony, Twig, and YAML essential

Knowledge of C# and ASP.NET essential

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

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

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

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

Hosting and Deployment

Metrics

Drupal

Sitecore

Hosting

Hosting-service agnostic

Typically hosted by Microsoft Azure

Deployment

Easy deployment

Relatively complex deployment

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

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

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

Marketer’s Eye View

Metrics

Drupal

Sitecore

Marketing capability

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

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

Web personalisation

Drupal modules available for incorporating web personalisation features

Comes with integrated web personalisation features

E-commerce

Drupal commerce module helps in setting up e-commerce sites

Sitecore commerce helps in setting up e-commerce sites

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

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

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

Google analytics drupal module interface with different options

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

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

Sitecore marketing analytics interface with different options


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

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

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

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

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

Business Constraints

Metric

Drupal

Sitecore

Industry-wide adoption

Relatively more market share and industry-wide adoption

Relatively less market share and industry-wide adoption

Business costs

Being open source, it is free to use

Incurs licensing costs and is priced very high

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

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

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

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

Community Presence

Metric

Drupal

Sitecore

Community size

Larger community

Smaller community

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

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

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

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

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

Conclusion

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

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

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

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

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

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

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

Sep 21 2018
Sep 21

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

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

Comes along the cost involved in all aspects. 

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

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

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

Market Share of Umbraco vs Drupal 

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


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

Let’s get to the actual comparison. 

Round One: The Cost

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

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

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

Drupal Wins!


Round Two: Editing Experience

At the heart of marketing lies content. 

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

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

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

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

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

Editing is indeed intuitive in Umbraco. 

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

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

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

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

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

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

Both offer the option to schedule the content. 

Umbraco Wins! 


Round Three: Practicing Accessibility

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

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

Navigation is simpler by identifying menus, banners, and ancillary content areas, and letting keyboard users move through them more easily. Drupal 8 puts these methods to work in a new admin toolbar that adapts to different screen widths, and is easier for people with screen readers to use.

Umbraco, although, provides accessibility features like alt text sadly they are optional. Accessibility is something that should be part of the general web development practices, and clearly Drupal ensures the discrimination doesn’t happen, as a choice. 

Drupal Wins!


Round Four: Community support

The Drupal Community is one of the largest open source communities in the world. The community support involves documentation creation, sharing networking opportunities, and more. The sheer commitment to the open source spirit pushes the Drupal project forward.

Around 1,300 agencies provide Drupal services across the globe (according to Drupal.org) and more than 3,200 contributors are working right now to improve the platform. 

Community support of Umbraco is no different. The official website tells us that they currently have an active community of over 200,000 “Umbracians” worldwide ready to share their experience and knowledge with others.

They take pride that the online community transcends to and becomes real gatherings all over the world in the form of local Umbraco meetups and even Festivals. 

It’s a Tie!
 

Round Five: Installation Profile

Getting started with the Umbraco? It provides you with two options - Clean website and the one with a demo. However good the intentions were a clean slate can be a bit overwhelming for some, especially if they’re new to Umbraco (did I copy that?)

Drupal - the latest 8.6 version provides with a starter kit - a basic site with a sleek minimalistic design of a food magazine. Learn and play with it. Set the features as you want. 

This makes it easy to customize and see how Drupal features set in. See if it fits your needs. 

Drupal Wins!


Round Six: Headless/ API first

An API first or Headless CMS simply lets you hit publish and your changes will automatically update on mobile apps, on store displays, flat screens, websites, even on smart watches. 

A feature that you can’t afford to miss especially when there are numerous screen types today. 

Umbraco promises that its headless “helps you edit the content easily in one place, and it is updated across your webshop, website, campaign sites and on displays on every screen.” 
 
Umbraco Headless helps you enable power for other types of websites with Umbraco such as Single Page Application or websites running on a different platform than .NET. 

Problem? 

The community is very close to having everything in place for the official launch of Umbraco Headless. It is not yet launched. All Hype, Nothing Fruitful

Drupal 8 core has out-of-the-box REST API that allows operators to interact with content entities like taxonomy terms, nodes, users, and comments.

Drupal 8 has Contenta (a Drupal distribution) and Reservoir are two of the API first initiative. Various contributed modules allow you to add web services to a Drupal installation without the need for writing code. 

For instance, Developers can use Services module and the RESTful Web Services module to configure a server for enabling the Drupal installation to push or allow data that is to be pulled as needed with the help of REST API. No matter whether the action is a push or pull, Drupal is the services layer. 

Drupal Wins! 


Round Seven: Training and Understanding 

Umbraco.TV will help you go from zero to Umbraco hero at a pace that suits you. Our easy to follow online training videos + written docs will give you the fundamental knowledge to start building awesome Umbraco websites, without burning a hole in your pocket!

Drupal has a steep learning curve. True that! 

But the content is easily available on the web. You can access learning material on Acquia, OSTraining, and Drupalize.me. Leaving Drupalize.me aside both the sources are free and available for all. 

It’s a Tie!


Round Eight: Hosting and Deployment

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

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

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

Drupal Wins!


Conclusion

Every CMS has its own set of advantages. The choice of CMS is generally influenced by what your web project’s requirements are. The questions that follow are: What functionality or features are needed? 

In my opinion, Drupal has a bonus point for maintaining a modules directory that lets you search and manage the content. 

It's easier to customize components—views, lists, blocks, admin tools, and more—than ever before. Control how data is displayed without using a single line of code.

Drop a mail at [email protected] to discuss your business goals.

Sep 15 2018
Sep 15

“You don’t get to control everything that happens to you, but how you *respond* is a matter of choice.”

That response is based on our values. Call it a belief your parents or society pushed you to pursue or something that you learned with life. Our values condition our responses. 

But how different are the values that we follow in our personal life from the values that build organizations or for that matter a community?

When it comes to the craft of building Drupal and the community we, as a part, need to recognize the art of building software and website, first. 

We share some common values both at OpenSense Labs and at Drupal Community. Let’s talk about these core values and practices that support us. 

“The Drupal Values and Principles describe the culture and behaviors expected of members of the Drupal community to uphold.”

The Road to Software Needs to be Strong

In order to build and later maintain a community, it is important that the core values are strong. When building a website or a software it is important we have certain written or unwritten codes of values that we abide by. 

Ensuring the community has the best of what is being offered is done by building a product that doesn’t exclude anyone. This ensures that the features we add are accessible by everyone. 

A clear communication in the community is also important to ensure that the people using that software understand the process of it.  

Impacting the digital landscape that the Drupal community has, we cannot afford to be careless.

Evan Bottcher, ThoughtWorks, explains some core values and practices to build a software. The diagram below is a part of it.  

a pink circle divided into many parts

Each of the eight core practices (in the outer circle) support one or more of those core values. These practices are the actions as an organization and community we need to perform, and it depends a lot on the methods or approaches that we apply. 

Core Values To Build a Software:

  1. Ensuring Quality with Fast Feedback: Quality is not the sole responsibility of the QA. Follow whatever method, if the person building the software doesn’t take the responsibility for the product, nothing will work. 

    It is important that as a software agency we value being able to find out whether a change has been successful in moments not days. The lesser the time we take, the better it is. 
     

  2. Repeatability: Confidence and predictability comes from eliminating the tasks that introduce weird inconsistencies. We also want to spend time on activities that are more important than troubleshooting something that should have just worked.
     
  3. Simple and Elegant: Softwares that contain complexity than what is needed are of no use. Sounds rude? Well, it is the truth. 

    What use will it be if people outside the organization can not work on it? 

    This also brings with it the idea to future-proof the content. While we build for what we need now, and not what we think might be coming there should be enough scope to meet the future requirements. 
     

  4. Clean Code: Talking of making the software future proof means people outside the immediate team can work on it. This requires the code to be clean, which allows the third developer to make relevant changes. 

Values That Build Drupal and Organizations

  • Making Impact

With a community as large as Drupal’ the circumference to affect the number of people increases. But this just doesn’t restrict to people who are working on the core, issues, credits, or documentation. This includes those as well who interact with a Drupal-powered website. 

This is where the idea to impact the lives of people makes more sense. The Article 26 Backpack for Syrian refugees a platform to helps Syrian Refugees secure and share their educational credentials. 

Similarly, as part of our Corporate Social Responsibility, we are open to helping Non profits from a web development and digital strategy perspective. If you are or know a non-profit looking to get a website overhaul or planning digital transformation, please get in touch at [email protected]

We derive meaning from our contributions when our work creates more value for others than it does for us.

  • United We Stand, Divided We Fall

The community ensures the environment remains as transparent as possible, with decisions being collaborative and not authoritative. The community elections are important and equally transparent where everyone can contribute. 

Asking questions or sharing ideas can be difficult, especially if the questions or ideas are not fully formed or if the individual is new to the community. Drupal groups and forums are the places where people can openly ask questions and put their thoughts among the community members. 

At OpenSense Labs, we are also committed to maintaining a transparent environment which includes not only discussing organizational goals but individual goals as well. This enables every member to participate, learn, and grow. Creating an environment where individual goals are taken care of ensures that the team grows. Not only in numbers but with their output as well. 

We also value the behavior of feedback. The product, after all, belongs to all and not just to a few. This brings in the sense of ownership which helps grow us manifold. We learned this from the Drupal community. Each feature people work relentlessly to improve the state of Drupal. 

Teamwork can empower every contributor. Throughout the history of the Drupal community, many individual contributors have made a significant impact on the project. Helping one person get involved could be game-changing for the Drupal project.

  • Give Respect and Get Respect

Every person is important. For the organization and the community. Just as the community our team is equally diverse. This requires building an environment that supports diversity, equity, and inclusion. Not because it is the right thing to do but because it is essential to the health and success of the project. 

Prioritizing accessibility and internationalization is an important part of this commitment.

  • Work Hard, Party Harder

Working is good, but be sure to have fun. It is important to feel empowered and help others but it is equally important to enjoy and share the company of those you work most of the time with. 

We believe in the concept of work hard and party harder. 


Our values and principles need to be robust as well as flexible to ensure we don’t end up being too rigid. This, of course, involves discussing them regularly with the team and community. 

Check out Drupal Values and Principles

Sep 13 2018
Sep 13

The journey from a visitor to the client doesn’t happen overnight nor over a single screen. 

It is unfair on the part of organizations to assume that all readers will be using the same screen to consume their content. 

In case organizations are working towards targeting various visitors it is important to have a durable and centralised content dissemination platform to serve digital content through various screens.

Therefore it is equally important that various mediums ensure a smoother journey and the backend - content repository - provides a seamless translation of information to various touchpoints. 

What is a Content Repository?

“A content repository is a database of (digital) content with an associated set of data management, search and access methods allowing various application-independent access to the content with the ability to store and modify content.” 

The content repository acts as the storage engine for a larger application such as a CMS which adds a user interface on top of each of the repository's application user interface.

a diagram with a heptagon in middle with 7 boxes connected to it

The proliferation of content across a variety of sources can create an enormous business challenge. As the unstructured content grows, organizations need to look for a flexible approach that supports interoperability with a wide array of popular systems and products. 

A robust central content management repository should store a variety of content formats, facilitate read/write capabilities, control access. 

Here are some of the features of a content repository:

  • Efficient storage to integrate content
  • Query and Search 
  • Versioning 
  • Import/export the content 
  • Editor accessibility for all the documents and the content. 
  • Records retention management systems
  • Document capture systems and document-imaging (Complementary systems) 

Difference between a Content Repository and CMS
A content management system manages the creation and modification of digital content and typically supports multiple users in a collaborative environment.
While a content repository disseminates the content to be shared between disparate websites, different kinds of devices or channels such as mobile phones, tablets, kiosks, Facebook or syndicated via an API.

How Does a Content Repository Work?

A central content repository allows the content editors to edit content directly from the backend of one site. The content editors simply choose the topics that the content belongs to, and the sites subscribe to those topics and it is then available to all the connected sites automatically. 

a flow chart with five blocks in it

A Content Repository Workflow works like this:

Content creation of a topic happens on Site A.

  • The content is shared via a central content repository.
  • Site B is subscribed (sync rules) to receive updates whenever the content for the same topic is created.
  • Site B, C, D receive the notification and pull in the content. 
  • If any user on site C searches for the new content published through site A, she will get it through the content repository.

Drupal 8 is well suited to act as a central content repository, as it has built-in support for REST web services, a serialisation component, and can be configured to work with publishing workflows and notifications.

Search web service such as Apache Solr or ElasticSearch can best provide a lookup service for each site. Rather than subscribing to a particular topic, content editors can simply search for the content they wish to import from.

Application of Drupal as a Central Content Repository

  • Content management
  • Document management
  • Digital asset management
  • Records management
  • Revision control
  • Social collaboration
  • Web content management

Building Consumer Experience with a Central Content Repository

Content is not only the material you use to develop your CXM strategies—it’s also the interactions between customers and prospective customers have with you. Talking about the online customer experience, a CMS is part of the process of designing and supporting CX strategies. 

Simply because it stores all the content you need to manage the experience. However, customer experience management is about more than the online channels. 

In order to successfully manage the customer experience, the CMS needs to be able to quickly access and react to the elements of a customer interaction. Not just this, the elements should be accessible to the editors as well. 

Managing every single version of the web pages is a heck of a job and ensuring that the content looks just the same is another fight. 

Most, if not all, CMSs are designed to store content not just as HTML pages, but as individual components that can be easily reused across different web pages. Across various devices, mobile sites and apps, and social networks.

In this way, the content repositories can be leveraged to provide content as well. 

Content integration is the key to a well-managed content repository. Managing the content by integrating it with all the other systems. 

A central content repository also allows you to develop the support applications that have access to customer information easily, including information from CRM systems, traffic information, and the like.

Having it all accessible in a centralized content repository will help you identify, design, and refine your CX strategies quickly.

Building a Central Content Repository for FarmJournal Media 

For Farm Journal Media, OpenSense Labs have implemented a similar centralised content management system. 

Technologies Used 

  • Express.js 
  • MongoDB 
  • Drupal 8 

How Did It Work?

Express.js- node.js framework provided a library of many pre-built functions which were leveraged for the CCMS. 

It allowed simultaneous access to multiple authors without compromising on speed. This could be done by leveraging its events loop based asynchronous task handling. 

The interface to serve content was developed via MongoDB. The system triggered updates of content from CCMS to MongoDB asynchronously and in real time. This ensured the cron jobs do not overload the sites as the webhook request will be triggered only when required. 

Due to this layered architecture, the overall content journey once the editor hits save, to consumer site was at max 3 seconds.  

An increase in consumer sites, update count and pull requests do not affect the load on CCMS Drupal. 

A special fail handler was built to sanity check between CCMS, Mongo and consumer sites. This ensured there was no duplicity and maintain an error log for missing articles during the journey it takes with an exact failure points reported. 

homepage of greenbook with various blocksOne of the sites of FarmJournal

How Did the CCMS Worked?

It allowed the team of editors to:

  • Centrally manage the content through one platform
  • Cross-publish articles on full networks of FarmJournal sites
  • Use a simple site vs category mapping for automated syndication of articles. 
  • Have a centralised reporting to boost the editorial teams’ productivity & article publication pace. 

The Scope of Building a Content Repository in Drupal

Coupled CMS (with supporting API)

A traditional website on Drupal allows content editors to add or edit content with a preview for the content as well. This is because a traditional CMS is tied (or coupled) to a front end (which is the case with Drupal).

Taking the front end out of the equation can bear its own challenges.  

The front end is what a user sees when viewing an application, which, in Drupal’s primary case, is a website. 

Content editors can view the content before it’s published using a wide array of tools such as inline editing or pre-published previews. 

Available modules in Drupal allow for quick and relatively easy modification to how the data is displayed on the frontend. Developers aren’t always needed to make simple changes, which can be more efficient for both time and cost, possibly a huge benefit to using a coupled CMS.

Drupal 8 has a strong emphasis on providing many API services out of the box, and there is a strong push for the API-first approach.

Headless CMS (the API-only approach)

With API-first Initiative at the forefront, Drupal 8.0 was shipped with a built-in REST API which spelt the beginning of Drupal’s transformation as an API-first platform.

A headless CMS often confused with a decoupled CMS is considered an API-only approach. 

It provides a hub for the content sans any frontend. 

The backend allows content editors to publish content distributing it automatically to any integrated application. Since there is no coupled frontend interface to immediately view the data applications such as Digital signage need be developed and integrated in order to access this content. 

In such a scenario trialing and proofing content before publishing can be difficult. Another challenge is the layout which can be a limitation to the marketing teams. 

The Drupal community has already taken steps towards making sure Drupal continues to be a relevant contender as either a coupled OR headless CMS.

Drupal distribution Open Y can be used to build such applications for a Digital Signage.

Drupal Distribution Contenta can be used as an API to connect the backend of Drupal with any application. 

Conclusion

Previously unstructured and inaccessible content comes alive in digital business applications that engage customers, automate business processes, enhance collaboration and govern and protect content throughout its lifecycle. 

Content management services and solutions from OpenSense Labs support your digital transformation and help you build a cognitive business that is confident, efficient and competitive. Drop a mail at [email protected].  

Sep 13 2018
Sep 13

A sportsperson is rewarded for his anticipatory calls which he does to judge the next move of his opponent. When done right, it can make a world of difference in deciding the fate between a marvellous triumph and a drudging defeat. A business enterprise is not much different which has to rely on its decision-making whenever it has to choose between technologies for their projects. Choosing Drupal for your next web development project can be the most significant decision for your organisation.

Illustration showing a bulb being picked up through a machine from the stack


No matter where you are today, your next step is crucial to take you to the leader’s position of the table or even slide down the bottom of the bottle. And when it comes to projects involving web development, selecting the right CMS in the incipient stage becomes really important. So, how can you transform the whole digital experience of your next project by choosing Drupal as the content store?

Why opt for Drupal?

As a technology professional, you seek for a reliable, safe and flexible web content management for creating the features that you want for your project and leave out weighty features. Drupal as an out-of-the-box web content management tool and a customisable platform allows business and technology leaders to power digital innovation.

Every time you come up with a significant business goal of achieving preeminence and ponder over Drupal’s ability in building what you want, the answer is nearly always ‘“yes”. With Drupal’s horizonless potential accompanied by native functionalities and module extensions, there is no limit to imagining what you can do with disrupting technologies without deranging your business.

Security

With a proven record of being the most secure CMS and application framework, Drupal beats the big players in the CMS market by standing resilient to critical internet vulnerabilities. Thanks to the Drupal Security Team for actively validating and responding to security issues.

Bar graph showing the statistics on Drupal securitySource: Sucuri

You can enable a secure access to your Drupal site as it has the in-built support for salting and repeatedly hashing account passwords when they are stored in the database.

It also supports the enforcement of strong password policies, industry-standard authentication practices, session limits, single sign-on systems.

Drupal offers granular user access control to give administrators full control over who gets to see and who gets to modify different parts of a site.

It is possible to configure Drupal for firm database encryption in the top-of-the-line security applications.

Drupal’s Form API ensures data validation thereby preventing XSS, CSRF, and other malicious data entry.

Drupal limits the number of times login attempts are made from a single IP address over a predefined time period. This helps in preventing brute-force password attacks.

Drupal’s multi-layered cache architecture helps in mitigating Denial of Service (DoS) attacks and makes it the best CMS for some of the world’s highest traffic websites.

Notably, the functionalities that Drupal has to offer addresses all of the top 10 security risks of Open Web Application Security Project (OWASP).

No wonder, a report from Sucuri shows that Drupal is the best-security focussed CMS when compared to the likes of Wordpress and Joomla. If internet security is one of your top priorities, Drupal is your best bet.

Scalability

If you aspire your site to be amongst the busiest or if you already are so popular and are trying to cope with a colossal amount of traffic to your site content, Drupal can scale with your needs.

Infographic showing the statistics on the scalability of NASA website with a tablet showing the site of NASANASA, powered by Drupal, manages peak loads efficiently including 2017 Total Solar Eclipse Coverage
Source: Mobomo

The scalability that Drupal provides supports the most content-rich sites and experiences. No matter if you have one or over a thousand content contributors, Drupal can manage a voluminous amount of visitors, content, and Drupal users.

Content Workflow

Drupal’s magnificent tools make it easy for the content authors to create and publish content on the site. Authentication and permissions bring in efficacy in the editorial workflow and previews show how exactly your content will look on different devices.

Your content team can assess, edit and approve content from mobile devices anytime and anywhere.

Drupal also allows the creation of content with a WYSIWYG editor. You can even perform in-place authoring where you just have to browse the page, click on the content and edit right there. All the alterations and revisions are trackable.

You can see what stage your content is in - from creation to review to publication - and it helps in handling user roles and actions automatically.

Drupal administration interface showing the content state as unpublished


Content tagging and taxonomy is a great feature of Drupal where it helps in defining content elements, tag content on the basis of attributes, create a relevant taxonomy for content to make it searchable.

To make content authoring as easy as it can be, Drupal can be a lovely choice for your next project.

Multilingual

Out-of-the-box support for language handling helps you to deliver localised digital experiences thereby saving time and money. Drupal 8 core comes with 4 core modules for enabling translation of every content on the site.

Homepage of Al Jazeera in Arabic languageAl Jazeera Media Network, built on Drupal 8, produces news content seamlessly in English and Arabic languages.

Not only does Drupal give configuration and content translation workflows, it also gives an interface language of administrators and content producers. Thus, it enables the business organisations to speak in the language of their customers, 

Without the need for any additional components, Drupal 8 can be installed in over 90+ languages.

Once you install Drupal, languages packages can be safely and automatically downloaded and implemented without hampering your customised translations.

So, if you are in the need of quickly building customised sites in any language of your choice or an intricate multilingual web application with dynamic, language-based displays, Drupal is a praiseworthy option.

Content-as-a-service

If you want to allow your front-end developers to create engaging customer experiences, Drupal’s content-as-a-service approach lets you think outside the page-based mentality.

Flowchart showing the workflow of Coupled and Decoupled Drupal with rectangular boxes


Drupal’s CaaS solution helps in delivering infinitely reusable, future-proof content by decoupling the back and front ends where-ever useful. Separating the backend from the frontend also helps the frontend developers change the look and experience of the sites in a snap.

Moreover, front developers can build better experiences with Drupal’s presentation-neutral content and RESTful API and leverage tools like Angular, Ember, Backbone and more.

Ingestion of content from third-party content, for instance, from aggregators and syndicators, to bring content into your Drupal environment is possible which can be pushed to any channel.

With Drupa’s CaaS capability, content is easily consumed by other websites and application that you choose.

Web content is no longer pushed to a web page to viewed through a desktop browser. Go for Drupal’s content-as-a-service approach if you want content flexibility in your pursuit of delivering an ultimate digital experience.

Mobile-responsive

In this day and age, almost everything is happening on-the-go. Website development is not far behind.

Infographics showing the statistics on mobile responsive sitesSource: ArachnidWorks

Drupal enables the development of responsive sites and web applications to deliver optimal visitor experiences to the online visitors.

By supporting the best practices of responsive web design approach, Drupal helps in ensuring an impeccable content experience to the users every time and on every mobile device.

Pick Drupal for mobile-friendly and fully responsive sites and web apps.

Speed

Business projects do not end in perfection through dilatory strategies. If you are a digital marketer or anyone looking to incorporate celerity in business workflow, you know how the word ‘speed’ matters.

Drupal’s pliable platform allows digital marketers and developers to surmount the logjam and delay thereby running a steadfast and agile team.

For ensuring a continuous delivery of web development projects, Drupal can be a wonderful option.

Third-party integration

Outside of Drupal, there are plenty of great technologies that can be an astounding asset to your website.

Drupal integrates seamlessly with a variety of marketing technologies and business applications. This allows you to leverage the merits of the best set of tools out there outside of Drupal.

Drupal’s API-first approach helps in connecting content to other sites and applications thereby making content more vibrant and powerful.

If you are someone who wants to flex with the awesome third-party tools, Drupal gives you the liberty to do that flexibly.

Content architecture

The flexibility that Drupal has to offer for creating the right content architecture is immense and that shows in its ability to enable that using the Admin Interface or even do it programmatically.

You can exhibit apt content for each context with the help of stupendous display mode tools and Views. It constitutes a wide array of media types.

It provides a reposeful user experience by offering customisable menus and creating paths to content across several devices.

Drupal is the answer for the flexibility in the content architecture.

Multisite

When you have a plethora of business, ventures, it calls for multiple websites for different segments of your digital firm.

Drupal allows you to administer multisite setup across your enterprise, brands, geographies and promotional campaigns on a centralised platform. This helps in providing a faster and simple way of creating and deploying multisite ecosystem.

Business-driven

Nobody likes to be dictated how to do things in a business. And Drupal understands that. It does things as the business demands.

It helps in creating a solution that supports your business requirements. Thus, it paves the foundation for boundless solutions.

Drupal is your sure-shot choice to sway things your way as your digital business demands.

Perfect tech stack

Drupal comes with a modern LAMP technology stack including Linux, Apache, MySQL, and PHP to meet the requirements of fast-paced, agile and flexible organisations who are committed to building a next-generation digital platform.

Drupal is your perfect CMS with a strong stack foundation.

Robust community presence

Thousands of organisations build solutions with Drupal and in the process build Drupal itself. That’s the beauty of being an open source software.

From design to system architecture, Drupal experts make their valuable contributions back to the community. The Drupal community across the globe shares its knowledge on the right ways of doing things.

If you have a question, just drop in your queries and the active community will always have someone waiting with an answer.

Lead by modern web standards, you can create innovation for clients, the community and the world.

Big players

Business leaders like Tesla Motors, Pfizer, the Government of Australia, Grammy, Rainforest Alliance, The Economist, Oxford University and many more across the planet are powered by Drupal.

So, when it comes to the question of who is using Drupal, there is no dearth of big names in the tech industry. Join the league!

What value does it bring to your business?

The Drupal Values and Principles emphasise the culture and behaviour that each member of the community has to adhere to. These principles guide both the technical and non-technical decision-makings and show how contributors and thought leaders can support the Drupal community and the project.

The illustration below shows the values and the principles that Drupal has been offering over the years to the business enterprises around the world.

Illustration showing columns of values and principles of DrupalSource: Dries Buytaert’s blog

Creating impact

Drupal values have been instrumental in creating the sort of impact to the business enterprises that serve a great purpose in their growth. It has been a force to reckon with when it comes to developing software that is easy, accessible and secure to be leveraged by everyone. Choose Drupal for the impact performance!

Fostering togetherness

Drupal has been committed to building a learning environment thereby fostering togetherness. It does so by putting everyone in the community on the pedestal through collaborative decision-making, provision of encouragement to others to get them involved. In this pursuit, it lets everyone to take leadership challenge in order to take the community forward. Drupal is your go-to option for a collaborative business workflow.

Targeting excellency

In order to attain excellence in a web development project, Drupal allows you to perpetually reassess and embrace the changes as it comes making your project as great as it can be. Go for Drupal if excelling in your project endeavours is your agenda.

Better treatment

Drupal community strives to negate any sort of intolerance towards others. It is committed to understand each other well and give constructive animadversion thereby staying optimistic. It is a wise decision to opt for a CMS that professes to treat others with dignity and respect.

Relishing what you do

Who does not want to have fun while working on a project? Drupal firmly stands by its perspective to let its community enjoy while tinkering and innovating something unique with Drupal. Want the amalgam of innovation and fun to be incorporated into your project? Drupal is the answer.

What’s new about Drupal?

September 5, 2018 marked the commencement of a new era in this digital age. Being a pioneering content store, Drupal community, in its efforts towards making Drupal more and more wonderful, unveiled a major upgrade to Drupal 8.

Drupal 8.6, the new upgrade, comes with an improved user experience for the digital marketing and the content editing teams in addition to simpler installation and more stable upgrades for technical teams.

Considering Drupal can lend your content authors a whole new experience. This new upgrade has added support for remote media types that streamlines the embedding of Youtube or Vimeo content in your videos.

Moreover, it has made rapid strides with the quotient of ease of use. For instance, Workspaces, experimental Drupal module, offers sophisticated content staging capabilities.

The Layout Builder, another experimental Drupal module, is proving to be the saviour for site builders by allowing the creation of layouts with dynamic sections, thus, creating more opportunities for custom layouts.

Before the release of Drupal 8.6, downloading and installing it was an intricate and time-intensive process. But now, you can have an out-of-the-box experience by installing Drupal in minutes using the new Umami demo profile. This is especially great for showing enormous capabilities of Drupal right out of the box to the prospective clients.

Website of Umami food magazine with images of food on a plate and spoons


These are some of the highlights that act as the stepping stone for a whole lot of exciting stuff that is about to transpire in the Drupal platform. Drupal 8.6 is stupendous and the road ahead looks sparklingly bright.

The Bottom Line

While choosing the best platform for the governing the cornucopia of content that your site possesses may seem like an arduous task and why not? After all, it is your public-facing website that needs to be built with the utmost care.

Amidst the growing demands of businesses to improve their workflow with the incorporation of emerging technologies, Drupal has been able to stay relevant and useful and is still growing to be even better.

Selecting Drupal as the CMS of choice can act as the harbinger of success for your future endeavours. Opensense Labs has been cultivating a robust culture with its partners and is always ready to assist you to build a great digital experience with Drupal development.

Contact us at [email protected] for enabling a digital transformation of your business using Drupal.

Sep 07 2018
Sep 07

Nothing is permanent as every cloud has a silver lining. People come and go in your life. Some may call themselves your neighbour, well-wisher or a even a friend. But only some leave an indelible imprint on your mind. These people continue to stay in your life either physically or even in your memories. The space of macro trends in technology is also a volatile one where one or the other tech marvel glows bright and others may see a downward spiral.

Illustration representing macro trends in technology with a giant bulb and a lot of people working around it


Webbmedia Group’s 2016 Trend Report says that emerging technology breakthroughs are outpacing the evolution of public policies and discussions vis-à-vis ethics. It further states that our evolutionary responses to the technologies, that is pick-and-shovel for us to understand, is either to ignore them or to fear the worst. So, what does the macro trends in the tech industry look like in 2018?

Unwrapping macro trends

A macro trend refers to the pervasive and persistent directional shift of a certain phenomenon on a global scale. For instance, urbanisation, automation or the altering demographics are some of the examples of macro trends.

Macro trends help in zeroing in on the listicle consisting of all the things that would not fade away soon. Although they may attain a point where they are fully realised and are not considered trends but just the characteristics of technological fraternity.

Macro trends help in zeroing in on the listicle consisting of all the things that would not fade away soon

Longevity is usually seen as a significant characterisation of trends. Mega trends are the most pervasive and insistent phenomena. Megatrends, as defined by the Copenhagen Institute for Future Studies, are developing trends that help in predicting “the probable future - express what we know with great confidence about the future. Megatrends are certainties.” A phenomena like global warming come under the category of megatrends.

Right down at the end of the table are the fads - widespread but with a short spell lasting a few years or even less. Pokemon Go, an augmented reality game, reached unprecedented fame in 2016 but people are highly unlikely to be hunting down Pikachu in 2030.

Microtrends fall somewhere between fads and macro trends that are influential and last a few years. For instance, flexible workforce where a firm retains minimal staff and gets the work done mostly with external contracts is an example of micro trend. Inherent caveats to such microtrends, most often than not, become apparent in practice thereby leading to a trend in the opposite direction.

Macro trends in the tech industry

In an ever-evolving technological landscape, it is worth witnessing the macro trends in the tech industry to understand its progress and the path ahead.

Continuous Delivery

For superfast project deliveries, Continuous Delivery has been instrumental in handling software development. In addition to this, it has also been bearing fruit in enabling Evolutionary Architectures. Evolutionary Architecture is a terminology, created by Thoughtworks, that stresses on supporting incremental, guided change as a first principle across various dimensions.

Infographics showing continuous delivery deployment pipeline through cylindrical and rectangular shapesSource: Logigear
For superfast project deliveries, Continuous Delivery has been instrumental in handling software development.

With a cloud platform and nice automation techniques, software architecture can be treated as code - infrastructure, servers, interconnections, services, and networking that are defined and governed through version controlled text files. This helps in achieving architectural leaps that were never possible before.

Drupal factor in Continuous Delivery

Like ship of theseus, a thought experiment that questions whether a ship fundamentally remains the same object if its components are replaced, we can replace parts of our system until the entire thing is new. Thereafter, we can keep moving forward as necessary or strategic.

For instance, Drupal development can garner tremendous positives through agile development methodology. Agile manifesto was formulated in 2001 with the objective of implementing Continuous Delivery. Agile process uses incremental and iterative approach to govern project development.

Homepage of Service NSW website with a logo in red and white


Service NSW portal is an initiative established by the NSW Premier for offering a centralised point of transaction for the Australian citizens with government agencies. In combination with Agile methodology, the Drupal development of the portal was completed within the stipulated timeline of 6 months that was agreed upon before the project started. 

Microservices

Microservices architecture style constitutes a collection of small, autonomous services where each of the services are self-contained and implement a single business capability.

Microservices has been a buzzword in the recent years among the web chefs as it comes up with a whole lot of benefits:

  • Autonomous deployments: Update a service without redeploying the complete application and rollback or roll forward an update during mishaps. Fixing bugs and feature releases are more manageable with fewer challenges.
  • Autonomous development: Building, testing and deploying a service would require a single development team which leads to continuous innovation and faster release cadence.
  • Small teams: Teams can lay their emphasis onto one service thereby streamlining the understanding of codebase with smaller scope for each service.
  • Isolation of faults: Downtime in one of the services won’t affect the entire application which does not mean that you get resiliency for free.
  • Tech stack mixture: Technology that is deemed most suitable for a service can be chosen by the teams.
  • Scalability at granular levels: Independent scaling of services is possible.
Infographics showing applications of microservices with logos of companiesSource: Logentries

It does have a set of caveats that is needed to be considered like:

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

Apparently, microservices have a great potential but it has to cover a long journey still. Businesses would find it a formidable task to migrate from a monolith to microservices. It is difficult to decide when to split services as it needs a good underlying platform and wonderful DevOps practices.

Drupal factor in microservices

A presentation held at DrupalCon Vienna 2017 showed an awesome and easy way of integrating Drupal 8 in a microservices architecture. With Symfony components, Composer to govern external dependencies and astounding results of the WSCCI initiative, Drupal 8 proved to a useful content store.

Flowchart representing Drupal and microservices use case with boxesSource: Drupal.org

It demonstrated the delegation of asynchronous work from Drupal to a bunch of very reactive applications written in Go with the help of some RabbitMq queues. Elasticsearch was used as a common data storage between services and REST endpoints were exposed where the external services could notificate back to Drupal.

Moreover, methods of connecting websocket server to push and pull messages between services were displayed and Ansible and Docker were used for running all these services in a controlled and replicable manner.

Machine Learning

Machine learning, a method of data analysis for automating analytical model building, is a branch of artificial intelligence. It is based on the notion that systems can learn from data, identify patterns and take part in decision-making with minimal human intervention.

Infographic explaining machine learning through graphs and relevant iconsSource: PwC

Towards the path of productivity

Machine learning is on a roll with astronomical metamorphosis in the Gartner Hype Cycle, down the “peak of inflated expectations” through the “trough of disillusionment” to the “plateau of productivity”.

Business enterprises are beginning to consolidate all the different proofs of concept that has popped over in the recent years. With tools, platforms and services on one side and inflated expectations propagated by media and artificial intelligence (AI) on the other side infiltrating market, several questions are being pondered over. How can AI benefit an organisation? What skills does an in-house team need? What software, tools and platforms would be the right fit for a business? These are the right set of questions to move forward in the direction of the “plateau of productivity”.

Machine learning is on a roll with astronomical metamorphosis in the Gartner Hype Cycle

An intelligent approach to development

With hyper-advancement of machine learning, curiosity ignites interesting question - How will it affect the job of software developers who have always written explicit instructions for computers, though, at accentuating levels of abstraction?

It is too soon to tell. There have been a superabundance of attempts at higher order languages where human developers just have to elaborate their intent and an ML/AI system conjures up implementation code. Although not far-fetched but these techniques are a long way-off.

Interestingly, hurdles plaguing other technologies may be improved with the help of ML. For instance, take a look at architecture review for an existing suite of enterprise systems. There might be highly intricate interactions between systems and components, sophisticated data access patterns and relationships etc.

Instrumenting these systems and then applying ML would provide better insight to do enterprise architecture in an improved way. Insights like “apply the strangler pattern here”, “couple these two related systems”, “remove this flaky old system” etc. can prove to be a smart way of business development.

Drupal factor in machine learning

So, how can you personalise web content experiences on the basis of subtle elements of a person’s digital persona? Standard personalisation mechanisms point to content which is based on a user profile or behavioural patterns.

Deep-Feeling, a proof-of-concept project, uses machine learning techniques to provide improved content recommendations to users. A presentation in Drupalcon Baltimore 2017 used the Instagram API to access a person’s stream-of-consciousness and filtered their feeds through a computer-vision API.  This was used to detect and learn subtle themes about the user’s preferences.

[embedded content]


The presentation focussed on establishing an idea about the sort of experiences that the user deems fit to be worth sharing. It was, then, used to match the user’s characteristics against their own databases. In this proof-of-concept, they used Acquia Lift service and Drupal 8 to recommend travel experiences on the basis of sort of things that a person shares.

On the Cloud

AWS defines cloud computing as “the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet with pay-as-you-go pricing”.

Infographic showing cloud trends in 2018 with relevant iconsSource:iMicron

Complications in Cloud

Today, more than ever before, cloud is much more complicated than an edict from the Chief Technology Officer to “put everything in the cloud”. With AWS featuring so heavily, is that an indication of its maturity? Or is that the resultant of Amazon’s explicit strategy to out-compete other cloud platforms based on features? It’s a mix of both but many retail enterprises are dodging AWS as they see Amazon as a competitor and have started following a strategic decision-making as to forbid using their services.

Today, more than ever before, cloud is much more complicated than an edict from the Chief Technology Officer to “put everything in the cloud”.

There is a discernible growth in confidence in Azure and Google Cloud platform with both maturing as platforms and their messaging having a firm resonance with the buyers. There is a plenitude of choice in cloud but with new data protection laws such as the EU’s GDPR coming into play, it has complicated the situation. Organisations are finding it difficult to identify which cloud will support their regulatory and compliance obligations.

Feature parity

Another trend that can be witnessed is the use of feature parity as an objective while performing a cloud migration, product redevelopment or legacy system upgrade. It is hardly a good idea to simply reimplement a 10 or 15 year old system - bugs and all - using latest technology.

Often the excuse tends to be that “we do not want to confuse the business”. Or, there are concerns about changing the process or calculations but the output is, most often than not, a long, sluggish, big-bang delivery with superabundance of risk. Stakeholders are often not happy with a project that is late, exceeds budget, and does not deliver anything new for the business.

Instead, thought leaders in the IT should be more eager to raise question on whether the logic written more than a decade ago is a right fit for today’s business workflow. Also, they should provide their users more credit for being able to absorb a new and overall more capable system. Organisations should be closely examining the features that they really need rather than recreating a complete feature-set on a new platform.

Betterment in platform-thinking

There is a wave of ‘platform-thinking’ doing rounds which is basically deliberate encapsulation of useful capabilities and business functions into self-service, reusable platform components. As the technology and business platforms gains new features, it enables the business enterprises to speed up time-to-value.

The rise of platforms is becoming a significant latest trend. Whether it is public platform like AWS and Azure or the private ones like Cloud Foundry and Kubernetes, Cloud has given organisations new options for infrastructure deployment.

Container management

Google Cloud states that “containers offer a logical packaging mechanism in which applications can be abstracted from the environment in which they actually run”. 

The containerisation trend has been creating an ecosystem where all of our tools now work with containers. And in some ways, containers, are the new POSIX, the latest universal interface. Other significant trends like microservices, evolutionary architecture, cloud-by-default work tremendously well with containers.

Not long ago, big players in the industry were engrossed in the conversation involving topics of GIFEE - Google’s Infrastructure For Everyone Else. Kubernetes is just a Google-style infrastructure that can be leveraged by everyone. Google pushed hard and put in a lot of resources with the objective of getting people onto the Google cloud offering. Eventually, Kubernetes became the default container platform. Kubernetes is an open source container orchestration system for automation of deployment process and scaling and governance of containerised applications.

Moreover, Kubernetes has been becoming more accessible to run at scale. Running resilient, production clusters is becoming easier with improvements in the core Kubernetes software. In addition to this, Kubernetes is coming up with better tooling and highly active ecosystem. Most of the big cloud providers have started offering Kubernetes-based hosting.

Virtualisation

When the VMware virtual machines came into the scene in 1999, it was a slight hint towards virtualisation long-term impact on revolutionising all aspects of software. Virtual machines are used in everything ranging from developer workstations to Google-sized data centres. Docker, Kubernetes and all those today’s super exciting cloud technologies are the resultant of virtualisation.

The Drupal factor in Kubernetes

At a conference held in the Great Indian Developer Summit Bangalore 2018, a demonstration showed the orchestration, powered by Kubernetes, that provides a simple way to leverage the scalability and power of Drupal.

Flowchart representing Drupal and Kubernetes use case with circles and boxesSource: IBM Developer

A Drupal site was set up using Kubernetes and Postgres by splitting the services into containers. It involved:

  • Configuring an app that ran multiple containers in Kubernetes
  • Running a website hosted via Kubernetes
  • Using Kubernetes-persistent volumes to govern Drupal configuration between container restarts.
  • User interactions with the Drupal web interface
  • Drupal container using its persistent volume to store website date but not content
  • PostgreSQL container using persistent volume to store the database contents.

Data streaming

The world is expecting real-time analytics. It is a de-facto thing that we have to accommodate as we design systems. We savour the merits yielded from an event-based streaming architecture like loose coupling, high performance, autonomous components and scalability. But the need for streaming has been driven by the analytics requirement, that means, you just cannot meet this need without streaming.
 
Maturity in event-driven architecture is associated with rapid rise in data streaming. These systems are now a run-of-the-mill thing and well understood. Also, new techniques like using streams as persistent storage of enterprise facts are seeing a steady rise. Streaming is here to stay!

Blockchain

Forbes defines Blockchain as “a public register in which transactions between two users belonging to the same network are stored in a secure, verifiable and permanent way. The data relating to the exchanges are saved inside cryptographic blocks, connected in a hierarchical manner to each other. This creates an endless chain of data blocks -- hence the name blockchain -- that allows you to trace and verify all the transactions you have ever made.”

Infographic showing statistics on Blockchain with relevant iconsSource: Dot Com Infoway

This technology holds the promise to alter industries. Even though the conversation is often surrounding financial opportunities, it has lot more to offer in government, healthcare, supply chain, content distribution and many more. However, many blockchain technologies are still immature and unproven which needs to be unregulated.

Blockchain technology holds the promise to alter industries

Pragmatic approach to blockchain requires a clear understanding of the business opportunity, immense capabilities and the caveats, a trust architecture and the necessary implementation skills. Before kickstarting a distributed-ledger project, your team should have the cryptographic skills to understand the possibilities. Identify the integration points with existing infrastructures in addition to monitoring the platform evolution and its maturation. Be very cautious while interacting with vendors.
 
Today, Ethereum smart contracts and the Corda distributed ledger are praiseworthy options to consider.

The Drupal factor in Blockchain

Chainfrog has been working on blockchain technology since its early stages. They exhibited a use case where user data like communication history, addresses or the profile data will be available to users in a big enterprise.

Logo of chainfrog with an image of frog


Rather than making an HTTP call everytime a new user is added, Chainfrog proposed to remove the middleman, in this case, API, and adopt a peer-to-peer immutable ledger. 

Whenever a new user would be added to the Drupal system, Chainfrog’s blockchain based solution ‘Blockbinder’ will help in recording everything in a data table. This , thereby, ensures that all the Drupal installations inside a firm would synchronise their user data within 30 seconds of any new addition in one of their installations.

Conversational platforms

Conversational UI and Natural Language Processing (NLP) are often in the scheme of things when it comes to recent innovations in the tech industry. The foundational example is the Amazon Echo.

Infographic showing statistic on conversational platform with a partial circleSource: Artificial Solutions

For designing a device with no screen, Amazon started considering the development of conversational UI. Carrying on a conversation with a device or chatbot is not anymore reserved for the likes of Alexa, Cortana or Siri. With the help of APIs and third-party services to do the heavy lifting, these capabilities could be leveraged by device makers and enterprise developers.

Conversational platforms are driving a paradigm shift in which the burden of translating intent shifts from user to computer.

The Drupal factor in conversational platforms

Chatbot API, a Drupal module, can be leveraged to integrate a bot in the site. It is an extra layer that falls between your Drupal installation, NLP and various chatbots and personal assistants. It can work with systems like Dialogflow, Alexa, Cisco Spark Microsoft and Twilio.

Immersive Experience

Augmented Reality (AR) and Virtual Reality (VR) are moving towards the mainstream adoption. Businesses showing interests in VR beyond gaming and also novel applications of AR to improve productivity. The technology is still developing and needs specific skills such as 3D modelling but organisations are preparing itself for this new wave of interaction.

Infographic showing statistics on AR and VR with circlesSource: MDG Advertising

In the near future, VR and AR will be mainstream capabilities that businesses need to build, buy or rent. VR and AR would allow natural interactions between people and the digital world.

The Drupal factor in Immersive experiences

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

[embedded content]


Another demonstration shows a decoupled React VR application on top of Drupal 8. The Drupal site of Massachusetts State University (a fictional university) stores all the content and the media that is going to be featured in the VR tour.

[embedded content]

Internet of things and Digital Twins

Internet of things (IoT) has been revolutionising the way we see connected world. Basically everything we see around us can be connected through internet. Almost!

One of the key trends in the IoT in the recent years is the digital twins. Forbes defines it as “a virtual model of a process, product or service. This pairing of the virtual and physical worlds allows analysis of data and monitoring of systems to head off problems before they even occur, prevent downtime, develop new opportunities and even plan for the future by using simulations”.

Illustration showing a digital twin model in the form of a hexagonSource: Deloitte University Press

John Vickers, NASA’s leading manufacturing expert and manager of NASA’s National Centre for Advanced Manufacturing says that “the ultimate vision for the digital twin is to create, test and build our equipment in a virtual environment”.

For instance, GE’s digital wind farm paved new ways of improving productivity. GE uses the digital environment to inform the configuration of each wind turbine before the construction commences. Its aim is to generate 20% gains in efficiency by assessing the data from each turbine that is fed to its virtual equivalent.

The Drupal factor in IoT

A session held at DrupalCon New Orleans 2016 showed how Drupal and internet of things and come together. It showed a demonstration that used a barometric pressure sensing, GPS-enabled wearable armband connected to the internet. It could, then, display an icon to provide the weather forecast for the current location.

Conclusion

While the planet Earth keeps on revolving around the sun, not only the climate and year changes with that but the people and their needs as well. And so happens technological innovations and, thus, macro trends listicle go on adding and subtracting the name of technologies every few years.

The macro trends in technology shown in this blog post are the key mentions that are being witnessed in recent times and will continue growing. Drupal, as a stupendous content store, keeps scaling itself with a robust community presence that makes it relevant and useful in the times of tech innovations.

We, at Opensense Labs, keep following our everlasting approach towards keeping pace with new inventions. We can give your business a digital transformation that it deserves with the help of our experts who have years of experience in Drupal development.

Contact us at [email protected] to develop Drupal-based projects using such futuristic technologies that are doing rounds in the macro trends.

Sep 05 2018
Sep 05

New versions of PHP bring new features and fixes for security issues and bugs. Migrating from one version to another can often lead to incompatibilities. As of writing this article, PHP 7.2 is the latest stable release and PHP 7.3 is expected to be released in December 2018. Drupal.org currently recommends PHP 7.1+ for new projects and encourages the community to plan an upgrade for older versions.

Drupal, as we know, is a CMF written in PHP. It uses various PHP libraries and components including the Symfony framework, the Twig template engine, PHPUnit, Guzzle, etc. Hence, it is always recommended to do a compatibility check with all the components, libraries and core/contributed modules of your Drupal site before upgrading to newer versions of PHP.

Now, the process of changing the PHP version of your Drupal site may vary with your hosting provider and the access level that you have on the server. But for this tutorial, Ubuntu 16.04.4 LTS with Apache 2.4.18 and Nginx 1.10.3 was used. Few commands, configuration files, and directory paths may differ with your system and the version of web servers.

Checking the current PHP version

First and foremost, let us see what all versions of PHP are currently installed on our system.

$ update-alternatives --display php
command line for raman@raman ubuntu


You may also check all the installed PHP packages along with its extensions using:

$ apt list --installed | grep "php*"

By default, the one with the highest priority will be the command line version. That is, if we use the interactive shell or parse a PHP file through the terminal, this version will be used.

$ php -v
command line for raman@raman ubuntu


However, this selected command line version may/may not be the configured with your web server. To check the PHP version configured with the web server, you may create a phpinfo() page or echo out the PHP_VERSION_ID constant / phpversion() function.

$ cd /var/www/html/drupal8
$ drush php-eval "echo phpversion();
command line for raman@raman ubuntu

 

List of PHP configurations provided by phpinfo()List of PHP configurations provided by phpinfo()

If you do not have the access to your server through SSH, you may also view the current PHP version using the Status Reports of your Drupal site available under /admin/reports/status.

Checking the PHP version using Drupal’s Status ReportChecking the PHP version using Drupal’s Status Report


Why Update to PHP 7?

Here are some of the reasons why you need to upgrade from PHP 5 to PHP 7:

  1. PHP 7 is twice as fast as PHP 5. The huge upward shift in performance is one of the reasons why an upgrade is important. This means your website loads in lesser time, giving your web users another reason to stay on your website. 
     
  2. PHP 7 supports simultaneous execution of asynchronous tasks. Tasks such as networks, access to the database, timers and perform events related to I/O operations can be done asynchronously by putting in place a single PHP event-loop. 
     
  3. It is mobile-first. Of course, you need to offer a better value proposition to your users. And mobile users cant be ignored here. PHP 7 offers exactly what businesses need to do to cater to the needs of mobile device users.

    It offers reduced memory usage, execution engine improvements, and native local threat storage which are specifically suited to mobile devices that have limited browsing features. 
     

  4. Uses lesser memory. PHP 7 has demonstrated that technology infrastructure can process higher computing requests without consuming proportionately higher memory. 

How to change the PHP version?

Since Apache and Nginx are the most popular web servers in the market, we will have a quick look on how to change the PHP version on them. Also, it is highly recommended to have a backup of your Drupal site before tinkering around with any of the configurations on your server.

Now, in my case, I have PHP 7.0 configured on the web server and Drupal is giving a nice recommendation to upgrade it. But I do not have the latest PHP 7.2 installed on my system, so, I will first download it along with the required PHP extensions.

These include extensions for URL, JSON, Image, Library, Mbstring, Open SSL, and XML. But, just to ensure that all the extensions get installed, let’s install them manually.

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install php7.2 php7.2-fpm php7.2-xml php7.2-mysql php7.2-gd

You may view the packages using dpkg -l php7.2* to confirm.

I. Command Line Version

To change the command line version of PHP you may use the following command. Again, changing this won’t affect the version used by the web server.

$ sudo update-alternatives --config php
command line for raman@raman ubuntu


Enter the choice number mentioned besides the desired PHP version

or

$ sudo update-alternatives -set php /usr/bin/php7.2


II.  Apache

For Apache web server, the a2enmod and a2dismod scripts can be used for enabling and disabling the PHP modules.
Disable all the previously enabled PHP modules

$ sudo a2dismod php5.6
$ sudo a2dismod php7.0
$ sudo a2dismod php7.1

Enable the new PHP version module

$ sudo a2enmod php7.2

Restart the web server    

$ sudo service apache2 restart

 

PHP version for a specific website can also be set through to the .htaccess file in the following way.

AddHandler application/x-httpd-php72 .php


III. Nginx

For Nginx, we simply need to update the PHP-FPM socket in its configuration file. But before that make sure that the PHP-FPM is installed for your version and is running as a service.

Take a backup of the default configuration file and then open it up in your favourite text editor.

$ cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
$ sudo vim /etc/nginx/sites-available/default


Change the FastCGI backend to use the new PHP-FPM socket, save and exit the file

location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}

Run the configuration test

$ nginx -t

Restart the web server

$ sudo service nginx restart

We have now successfully changed the PHP version of our Drupal site. Now, navigate to Manage → Reports → Status report to ensure that the version has been changed and there are no errors or warning from any Drupal module or PHP library.

Observe that the PHP version has been updated to 7.2.9-1Observe that the PHP version has been updated to 7.2.9-1

 
As expected, it did not produce any errors or warnings on a raw Drupal 8 installation. If you face any issues, make sure you installed all the required PHP extensions for your PHP version, check the log messages and refer the issue queues of the core and contrib modules.

In case of any queries or suggestions, feel free to drop down a comment.

Sep 03 2018
Sep 03

You may have left for an outstation trip leaving the house door open. Or your city's waste management department may need to know if the trash cans in a locality are full to the brim. Also, carbon dioxide emissions from factories may have to be monitored remotely. All such situations call for Internet of things that gives you the power of connectivity to control and monitor seamlessly. Integration of IoT with Drupal’s robust content management framework can be highly effectual in facilitating the business workflow of your organisation.

a blue cloud connected with twelve other clouds with the sign of headphones, settings, computer, wifi, mobile, gaming


It’s great to witness the changes from the pre-internet era to this world of connected people through all sorts of technological advances. Websites are an ultimate medium of offering a great digital business experiences to the users. 
Drupal is one notch higher than the rest and its flexibility has made it possible to incorporate benefits of a futuristic technology like IoT into your websites.

Evolution of Internet of Things

It is interesting to see such an innovative piece of technology steadily taking centre stage. But how did something like IoT came into being? First ever IOT device burst into the scene when a  toaster was created for the INTEROP Conference in 1989 that could be controlled over the internet. 1991 saw the first ever website going live.

In 1993, a Trojan Room Coffee Pot, created by University of Cambridge, could monitor the pot levels and send the data to the server. It wasn’t until 1993 when the term ‘Internet of Things’ was first coined.

A discernible evidence of the growth of IoT, which was being seen as a force to reckon with, was seen during 2006 to 2008 when the European Union realised the potential that IoT had to offer to the world. A European IoT conference was held to discuss the enormous possibilities of enabling IoT.

Thus, around 2008-2009, IoT took a new avatar as this was seen as the birth of a new era with more things connected to the internet than the people as was stated in a report by Cisco. In 2011, Internet of Things made it to the list of Gartner Hype Cycle for the emerging technologies.

Graphical representation highlighting internet of things in the list of emerging technologies in 2011Source: Gartner

In 2017, Gartner mentioned IoT platform in its list of Hype Cycle for Emerging Technologies. We will see how Drupal can be efficacious in building an IoT platform later in the blog.

Graphical representation showing IoT platform as part of the emerging technologies in 2017Source: Gartner

Although both the IoT and the website saw the emergence almost at the same time, websites have seen a massive growth. Drupal can lay the perfect foundation for an IoT platform.

The Architecture of the Internet of Things

Gartner defines IoT as the network of physical objects that contain embedded technology to communicate and sense or interact with their internal states or the external environment.

Prime characteristics of the Internet of Things can be described as below:

Six characteristics of IoT written in a pie chart listed as; 1. Anything any device, 2.Anyone anybody, 3. Any service, any business, 4. Any path any network, 5. Anyplace anywhere, 6. Anytime any contextSource: International Journal of Engineering Science and Computing
  • Network accessibility, compatibility, and interconnectivity: Amazing connectivity features of IoT help in providing network accessibility which basically means getting on a network. It also lends compatibility which gives the common ability to consume and produce data. Moreover, it provides interconnectivity that permits anything to be catenated with the global information and communication architecture.
     
  • Adhering to the constraints of things: It can provide things-related services by adhering to the constraints of things. For instance, privacy protection and semantic consistency between physical objects and their associated virtual things.
     
  • Heterogeneous devices: IoT devices are characterised by their heterogeneity. They can interact with other devices and service platforms through different networks.
     
  • Scalability: Devices that need to be governed and that communicate with each other will be greater than the ones connected to the internet. Handling the data generated and their interpretation for application purposes is even more pivotal in such cases.
     
  • State of devices: It is characterised by dynamic changes in the state of devices. For instance, it can either be connected or disconnected depending upon the conditions. Furthermore, the context of devices like location and speed can very different too.
     
  • Security: Safety of both the personal data and the physical things are of paramount importance. Security paradigm that scales with the deployment of endpoints, networks and the data that moves across all of it needs to be taken care of.
IoT architecture comprises of 4 key layers of technologies that form the pillar of support for the IoT.
Architecture of internet of things showing 4 different layersSource: International Journal of Engineering Science and Computing
  • The lowermost layer consists of smart objects incorporated with sensors. They provide the IoT devices with the characteristic feature of interconnectivity by allowing real-time data collection and processing between the physical and digital worlds. For instance, they can come in handy in measuring and recording temperature, pressure, air quality, humidity etc.
     
  • The second layer comprises gateways (microcontrollers, microprocessors etc.) and networks ( WiFi, GSM etc.). An enormous amount of data produced by sensors needs a transport medium in the form of high performing gateways and networks.
     
  • The third layer forms the management service layer which has the functionalities like the management of devices, analytics platform, process modeling and secure handling.
     
  • Finally, the uppermost layer signifies the application layer which is the amalgamation of the first, second and third layers put into practical use.

Applications of the Internet of things

Infographic showing percentage of IoT usage in different industriesIndustry-wise use of IoT

Internet of smart environment

Infographic showing statistics on the usage of internet of smart environmentSource: ZDNet

Keeping your environment safe and future-secure has been streamlined by IoT. Be it air pollution monitoring, forest fire detection, weather monitoring, checking water quality, controlling river floods, and protecting wildlife, IoT can be applied to a great effect. For instance, Bigbelly’s solar-powered trash can alert sanitation crews when it is full.

Internet of smart agriculture

Bar graph showing the market value of internet of smart agriculture from 2015 through 2020Forecasted market value of smart agriculture worldwide from 2015 to 2020 (in billion U.S. dollars) by Statista

Farmers and agriculture engineers can leverage the benefits of IoT for efficient farming. IoT smart devices allow you to monitor greenhouse gases to maximize the yield, control humidity and temperature levels in the compost, locate and identify animals grazing in the open pastures, monitor offsprings in the animal farms, etc. For instance, WaterBee is a smart irrigation system which helps in collecting information on soil content to help reduce water wastage.

infographic showing statistics on internet of smart agricultureSource: Telefonica

Internet of smart energy

Infographic showing statistics on internet of smart energy and environmental threatsSource: Telefonica

Controlling the flow of energy from wind turbines, controlling AC-DC power supplies, and optimising the performance of solar energy plants are some of the advantages of using IoT in the smart energy consumption. GE wind turbines use sensor and grid data to reduce costs of producing clean energy and increase electricity production.

Internet of smart cities

Infographic showing statistics on internet of smart citiesSource: Smart & Resilient Cities

It can be used in the cities for monitoring material conditions in buildings, smart fire management systems, weather-adaptive lighting in the streets, intelligently sending a warning to take diversions in case of any unexpected event on highways, and real-time monitoring of parking space availability. OnStar’s automatic crash response uses sensors to detect vehicle crash and send alerts to the concerned authorities.

Internet of smart health

infographic showing internet of smart healthSource: Moschip

IoT smart devices can be highly useful in smart surveillance of patients, controlling conditions inside a freezer which store vaccines, and fall detection of independently living elderly people. Shockbox can be fit inside a helmet which uses sensors to detect any collisions.

Internet of smart lifestyle

infographic showing statistics on internet of smart lifestyleSource: PWC

Smart living is possible with IoT as it allows the appliances to be remotely switched on and off, detects window and door openings, monitors home safety through cameras and home alarm system, and monitors water supply consumption. Belkin Echo Water uses sensors to track water usage in a household.

Business importance

infographic showing business benefits of internet of thingsSource: Samsung

IoT can be highly effective for your business growth with a superabundance of advantages. Some of the most important benefits include:

Better customer service

Attracting new customers, reward the new loyal and regular ones, and understand the behaviour of people in and around your premises can be really useful. Connected devices help in making that a reality. For example, Amazon Dash Button helps you in ordering your favourite products with a simple click.

Efficacy in business functioning

Efficacious functioning of business is of utmost importance. Internet-connected devices have the ability to gather and assess data and share them with other devices. Sisense enabled bulb connects to the Sisense analytics platform which can be programmed to change colour to reflect performance on certain metrics. So, if the daily sales target is met, the bulb can show a green light.

Remote business functioning

Business chiefs may have to travel places to supervise the progress of a project. IoT helps them in remotely turning an equipment on and off and monitor the activity in the office irrespective of their physical location. Rolls Royce, one of the leading automobile manufacturers, has raked in a lot of money through business insights they have generated from clients through remote monitoring.

Easily track inventory

Keeping track of business workflow can be streamlined. Your business might be dealing with a plenty of raw materials, components, and finished products which can turn out to be difficult to keep a track of. The internet-connected system of sensors enables in tracking down each stage of business workflow whether it is in the factory or a warehouse. RFID chips can help track inventory movements across a supply chain and within the garments store itself.

Saves business costs

IoT can help cut business costs through proper monitoring of usage of organisational spaces. Business organisations may lead a tough time in monitoring empty conference rooms with air-conditioners turned on. Connected devices let you control and monitor usage levels. Magnet 360, which helps businesses use the Salesforce platform realised that their system needed an upgrade. Through sensors, that could analyse air flow, they could cut down energy cost by up to 70 percent.

Consistency in production quality

Connected devices can help monitor the quality of production quality for manufacturers. In 2016, the manufacturing industry has spent $178 billion in IoT. Eaton provides on-line partial discharge sensors that perpetually monitor the insulation integrity of the medium-voltage equipment. This helps in identifying low-level capacitive discharge activity prior to insulation failure thereby optimising productivity.

Drupal and Internet of Things Incorporation

Smart wearable

DrupalCon New Orleans 2016 had a session which talked about bringing Drupal and internet of things together.

Logo of Drupalcon New Orleans 2016 with a crown-shaped icon


It showed a demonstration that used a barometric pressure sensing, GPS-enabled wearable armband connected to the internet. It could, then, display an icon to provide the weather forecast for the current location.

[embedded content]

The armband, which was tethered to iPhone, used mobile data to send latitudinal and longitudinal data to a ThingSpeak channel(an API for the Internet of Things). It, in turn, sent this data over HTTP to the Drupal 8 site to track the location of a ship. When the Drupal 8 website received this authenticated POST data, it created new location nodes, updated the map and table that is built with Views, and altered a block on the sidebar to show the matching icon of weather in the current location of the ship.

A presentation at DrupalCamp Oslo 2015 had a number of demonstrations to show how Drupal can be integrated with IoT technology.

Logo of Drupalcamp Oslo 2015 with skyscrapers in the background


Offline Status Checker

One of the first use cases was the Offline Status Checker. It was a simple demo where ESP8266, WiFi microchip with full TCP/IP stack and microcontroller capability, and a LED light was used. If the maintenance mode on Drupal 8 site was toggled to turn it on, LED light glowed red and if the maintenance mode was turned off, then the light glowed green. Basically, front page of the Drupal 8 site was queried to verify if the site is online.

Toggle maintenance mode with a TV remote

Another demo in the same presentation was called ‘Toggle maintenance mode with a TV remote’. A microcontroller received a infrared signal which was programmed to recognise on/off buttons of a TV remote. That means, it recognised only the on/off button and when it did, maintenance mode on the Drupal site was toggled.

Monitoring temperatures using Raspberry Pi

In addition to these, Raspberry Pi was used to remotely monitor temperatures and post them as nodes. Raspberry Pi, small and affordable computer used to learn programming, had a sensor attached to it to sense temperature every 3 minutes and send it to an endpoint using an API key. This API key was valid for one user and for every valid key, Drupal site allowed the posting of the node.

Arduino board integration

Arduino board, which senses the surrounding by receiving the inputs from sensors and controls lights, motors and other actuators, was integrated to a decoupled Drupal site in another demonstration. So, addition of new node of a picture of dog was recognised by Arduino board which, in turn, toggled the maintenance mode of decoupled Drupal site.

Future of Internet of Things

Predictions 2018: IoT moves from Experimentation to Business Scale, a report by Forrester, compiled some interesting facts about the internet of things and its steadfast growth.

Voice-based services would be the key part of business plans to be rolled out in the coming future.

Also after passing GDPR, the European Commission will issue guidelines to encourage the use of this technology and facilitate their the economic growth. This is because only 45 percent of data and analytics decision-makers at US organisations say they have commercialised their data while only 35 percent of those at French organisations and 38 percent of those at German enterprises do so.

Deployment of business processes that requires local data analysis close to the connected devices to enable these processes would take momentum.
 
Those who have been building industrial IoT platforms would exit the IaaS business.
 
There will be the danger of more IoT-related cyber attacks both on endpoint devices and on the cloud backplane as hackers set out to compromise systems to extract sensitive data.
 
Maturation of IoT and blockchain tech giants would drive blockchain adoption in the coming years.

Conclusion

Internet of things can bring the world closer. Amalgamation of Drupal and IoT can lead to something unique with Drupal’s flexibility in content management and IoT’s seamless connectivity between devices.

Reach us out at [email protected] to get the best of the internet of things and Drupal for your enterprise.

Aug 31 2018
Aug 31

Travel down the memory lane and think of your favourite restaurant you used to visit often. You might cherish the memories of sheer brilliance in the ambience as you walked in but never had to venture out to the back of the restaurant. The back of the restaurant houses items accessible to people working there and the main hall is for customers to experience the services. Decoupled Drupal almost has a similar paradigm. Well, almost!

Illustration showing a headless man wearing red checkered shirt , bow tie, and a hat


With Decoupled Drupal, a website visitor won’t be involved in a direct interaction with Drupal just like customers do not interact with the people working in the back of the restaurant. The visitor will see pages built using Javascript frameworks with Drupal as the content store. 

How can such an arrangement be remarkable for the marketers’ efforts to make innovative marketing strategies and witness resounding business growth?

Diving Deeper

You may call it headless, decoupled, web services or API-first but for a marketer, understanding such terminologies can prove to be testing times. So, first and foremost, how different are traditional CMS, headless CMS and decoupled CMS from each other?

Flowchart showing the workflow of Coupled and Decoupled Drupal with rectangular boxesSource: Acquia
  • Traditional CMS: In a traditional CMS, content creation can be done by the users through an editor which could be stored in a database (the backend). This content is then served to a frontend rendering layer which is firmly coupled to the backend.
  • Headless CMS: In a headless CMS, content creation can be done by the users through an editor which can be stored in a standalone database frontend by APIs. This content is retrieved by a completely separate frontend rendering layer through those APIs.
  • Decoupled CMS: A decoupled approach of content management is a blend of traditional and headless CMS. Content creation can be done by the users through an editor which can be stored in a database. This content can be served flexibly either through the existing frontend rendering layer or retrieved by a completely separate frontend rendering layer via APIs.
A decoupled approach of content management is a blend of traditional and headless CMS.

Therefore, in a decoupled architecture, the content is exposed to another frontend system by the Drupal backend such as native mobile applications, digital signage, conversational UIs or applications developed using JavaScript.

So, that’s about the basic difference between the traditional approach and the decoupled approach of content management systems. What does decoupled Drupal do to a marketer’s strategy and how is it beneficial for them?

Capabilities of Decoupled Drupal

The things that decoupled Drupal is able to accomplish can prove to be a harbinger of a new era of successful business with its astonishing capabilities.

Multi-platform capabilities

A large business enterprise with a presence of an awful lot of digital properties to govern and update can benefit to a mammoth extent with decoupled Drupal as a backend. Being a content repository, decoupled CMS enables you to serve dynamic content to a plethora of places ranging from mobile apps and voice tech platforms to IoT devices and futuristic technologies down the road.

Awesome frontend experience

Traditional Drupal architectures have some design circumscription that can forbid designers and frontend developers from delivering a modern design system that could offer a spectacular user experience.
 
Facilitation of usage of external design systems can be enabled by decoupled Drupal. In such an architecture, Drupal is solely doled out to compiling data, passing that on to an external design system and giving control of the markup to that system. This makes sure that your content will present daintily across platforms.

Marketing agility

It’s a strenuous task for the marketers to update and redesign digital properties rapidly keeping in mind the ever-evolving customer expectations. In addition to this, there is an astronomical investment of quality time and resources across design, development and marketing departments.

Customer experience is evolving at a blistering pace!

Traditional Drupal architecture could take ample amount of time to make updates and redesigns. This is because modification has to be performed at both the backend and the frontend leading to the dependence of marketers on both the developers and designers for the completion of the project.
 
By the time you would bring together your development team, zero-in on design, and finally agree on the way forward, proposed changes would already look outmoded. Customer experience is evolving at a blistering pace!
 
Streamlining the upgrades to the backend without impacting the user experience on the front end is a monumental advantage of decoupling your Drupal CMS. As a result, making design and UX alterations to the frontend can be easily done independently from the backend.

Benefits of Decoupled Drupal for Marketers

Traditional CMS approaches can sometimes prove to be a thorn in the marketer’s flesh while looking to build a robust business. Decoupled Drupal has a lot to offer to a Marketer’s strategy which can be seen through the eyes of organisations who have benefitted from innovative marketing strategies.

Shore up sales and revenue

At the end of the day, your marketing strategies should rake in huge profits that spells the success of your long-drawn methods. Adopting anything, for that matter, into your business workflow involves a whole lot of speculations about the sort of impact that it would have. Adopting decoupled Drupal can prove highly lucrative for an organisation. The Kuusamo-based Ruka, one of the popular ski resorts in Finland, has made incredible strides in terms of their financial growth with the implementation of decoupled Drupal.

The online presence of Ruka was reeling under the challenges of bad user experience, a dearth of mobile support, increase in manual labour due to missing integrations. Even the minutest of alterations to the online store needed software development.

Homepage of Ruka with an image of a bicycle near a river


To achieve the best possible user experience, React was used to rebuild the frontend of the online store with Drupal 8 and Commerce 2 taking the responsibility of content management.

The entire project was carried out using the principles of Scrum framework which changed the composition of the team fluidly as per the needs of the project.

The remodelled Ruka online store turned out to be more user-friendly than ever before thereby significantly simplifying the maintenance process. Betterment in the usability enhanced the volume of mobile transactions by almost 30%. Moreover, 12% increase was established in the total amount of web sales in comparison to the time when the older site was in place.

Relay the right message to the customers

It is of paramount importance that marketers keep up with the customer expectations. To do that, they need to serve the right message, on the right device, and at the right time.

Princess Cruises, one of the premiere cruise lines in the world, brought in innovation to their marketing landscape with the incorporation of decoupled Drupal. They went on to fundamentally alter the way their guest accesses information while onboard their ships.

[embedded content]


Every guest relied on the mobile phones to instantly avail information, buy items and inform the management about anything. So, it paved the way for the transformation of Princess experience with the launch of [email protected] It is a mobile application designed specifically to enable guests in planning their day planner and activities, assess the ship’s itinerary, scan through restaurant menus and book shore excursions on-the-go.

The digital experience had to be reliable when the ships are sailing different parts of the globe. Thus, it needed a centralised way of governing content across multiple channels and touchpoints for offering a uniform experience on mobile and digital signage onboard the ship.

Princess Cruises chose decoupled Drupal approach to relay content across several touchpoints and channels. Princess Cruises could create content once and publish everywhere thereby connecting every passenger to [email protected], and hence Drupal.

Faster time to market

Continuous delivery of a product is every marketer’s numero uno need. Delivering quality products faster to the market is very essential and when it comes to the rebuilding of a site, business implications creep in. Challenges like production downtime had to be coped with while revamping an entire site.

A decoupled CMS strategy can be a wonderful solution for a website that is in dire need of a change. Legacy.com, a global leader in online obituaries, which chose to rebuild its site using decoupled Drupal with the help of a Drupal agency.

Homepage of Legacy with a person holding a framed photo


To fulfil the needs of an enterprise-grade publishing platform, decoupled Drupal helped in incorporating highly customised and lightweight JavaScript-based frontend. So, the page structure deployed was a progressively decoupled architecture with Drupal administering and rendering the layout or skeleton of the page architecture.

The frontend development was taken care of by the in-house team at Legacy.com and the Drupal agency managed the Drupal development to finish the project in a record 4-month delivery timeline.

Entice new customers to come on board

Acquiring and retaining customers requires a lot of customer-centric planning. Marketers have to perpetually work on keeping existing customers engaged and simultaneously attract new customers to come on board.

Making every interaction with the customer interesting, quick, and engaging is a significant approach for marketers. Powdr Corporation, one of the largest ski resort operators in North America, wanted to offer each brand in the Powdr family the sort of flexibility needed to enable customised web experiences for users.

Marketers have to perpetually work on keeping existing customers engaged and simultaneously attract new customers to come on board.
 
Homepage of Powdr with a woman enjoying snow


The major hurdle for Powdr was to handle all of their digital properties across multiple sites and at the same time giving each resort the power to show their uniqueness as a brand. It chose a decoupled Drupal architecture to kickstart its flagship site along with resort sites.

Each of the resort sites used Drupal as the content repository that exposed content for consumption by its preferred JS framework in the frontend. This gave frontend designers flexibility and helped in customising their approach for each of the brands in the Powdr ecosystem.

Powdr’s adoption of decoupled Drupal provided an engaging experience to the customers and brought the beautiful mountain ranges to different screens and devices. The launch of the revamped site resulted in 50% of the users entering into a purchase path directly from the homepage.

Build user engagement

Marketers need to make sure that the business site keeps the user engaged for a longer time. A good quality content coupled with a website that has an appealing design and could withstand high traffic is every marketer’s important part of the wishlist.
NASA, an independent agency of the executive branch of the federal government of the United States, took the decoupled route to redesign their site with the help of an agency. Amazon Web Services (AWS) and Drupal proved to be the perfect match for meeting the content needs of both NASA and the public with user-driven APIs, dynamic host provisioning, scalability and security.

Homepage of NASA with images of earth from space and other space objects


The website of NASA is deployed in several AWS availability zones and governs almost 500 content editors updating over 2,000 content every day. On an average, it receives approximately a million page views a day. It has handled peak loads of nearly 40,000,000 page views in a single day with a record-shattering  2,000,000+ concurrent users during NASA’s 2017 Total Solar Eclipse coverage.

Scope for future enhancement

Having the flexibility to think of more ideas and bringing those ideas into life by being able to easily add them to the website is a huge boost for marketers. New requirements always pop up in the marketer’s mind that could be added to the site for more customer engagement. The decoupled approach gives that freedom and flexibility needed to keep improving the public-facing site.

Hoorooh Digital launched a fully decoupled Drupal 8 site for Boreal Mountain Resort with the help of an agency. The site’s prevailing objective is to get the skiers to the mountain faster which is the sort of philosophy that acted as the driving factor for the site’s redesign and development.

Homepage of Boreal mountain resort with a man skating downhill on a snowy surface


The website of Boreal Mountain Resort offered a stupendous scalability. It was possible to  add and configure new updates like weather reports and conditions easily within the decoupled system. Thus, as the site matures, it would retain a dynamism and liveliness that will assist in bringing those lovely mountain pictures even closer to the keen adventurers.

Conclusion

With its continuous effort towards becoming more and more API-first, Drupal has brought a broad smile on a lot of marketers’ faces with its astounding capabilities. Decoupled Drupal can bring colossal change to the organisations who are in need of improved digital experiences and digital transformations.

At Opensense Labs, we have been in the constant pursuit of getting the wheels turning by providing amazing digital experiences with our expertise in Drupal development.  Reach us at [email protected] and apprise us on how you want us to build your ultimate digital profile using decoupled Drupal.

Aug 31 2018
Aug 31

“How you gather, manage, and use information will determine whether you win or lose”
-Bill Gates

Gone are the days when businesses had to rely on stand-alone mainframe systems, or on statistical methods to analyze and gather customer data to bring them into their sales cycle.

a man and a woman sitting on a table with a laptop discussing something


There has been no looking back since the first customer evaluation system was launched in 1986 which provided contact management services. 

Ease of CRM integration with web technologies is a quantum leap in the field of marketing. A CRM or SaaS CRM can be integrated with an automated marketing platform or a website to help not only in enhanced contact management but empower sales management too. 

But CRMs have gone beyond sales and marketing. Covering their traditional role too, CRMs, today, can deliver powerful benefits to the organization ranging from HR to customer service to supply-chain management.  

Introducing CRM and its Importance

In simple words - CRM helps users focus on their organization’s relationships with individual people including all the stakeholder from customers, service users, to colleagues.

In a conventional role, a CRM software records customer contact information such as email, telephone, website social media profile, and more. It can then automatically pull in other information, such as recent news about the company's activity, and it can store details such as a client's personal preferences on communications, to help personalize the content. 

The CRM system organizes this information to give you a complete record of individuals and companies, so you can better understand your relationship over time.

A CRM enhances customer relationship management by giving in on all the information and choices of the customer, capturing their interactions with the business, and bringing forth such information to provide better conversations. 

Why is a CRM Important?

The purpose of this article is to give you a clue about which CRM integration module would be best for your Drupal website. But it would be all futile if we don’t understand the importance of the CRMs or if we don’t come out of the conventional roles of CRMs. 

Salesforce rightly defines the ten CRM benefits: 

1. Enhanced contact management
2. Cross-team collaboration
3. Heightened productivity
4. Empowered sales management
5. Accurate sales forecasting
6. Reliable reporting
7. Improved sales metrics
8. Increased customer satisfaction and retention
9. Boosted marketing ROI
10. Enriched products and services

What are the CRM integration modules for a Drupal Website?

Here we look at some of the best enterprise level CRM Integrations available for your Drupal website. These modules will assist you in managing your CRM strategy better. 

Three Drupal 8 CRM integration modules

  • Salesforce Suite

a cloud with salesforce written on it

The first in the list is always special. The popular Salesforce CRM has its Drupal integration modules called Salesforce Suite and it is our top choice. 

The suite of modules supports integration with Salesforce by synchronizing Drupal entities (users, node, files) with Salesforce objects (such as contacts, organizations, opportunities). 

It supports the exchange of data between Drupal and Salesforce. Changes can be made in real time or asynchronously in batches during cron run. 

Here’s a quick guide on integrating Salesforce suites module with Drupal website. 

  • Webform SugarCRM Integration

a cube with white, blue, red shade and sugarcrm written below itSugarCRM is another popular Customer Relation Management System. However, the Webform SugarCRM Integration provides integration with SugarCRM for Webform submissions.

The module provides easy to use webform component mapping interface and SugarCRM configuration page. Each form component can be mapped to any field from all modules in respective SugarCRM system. On submission new record will be set in mapped CRM modules.

This module only provides an option to use the CRM integration class and extend with additional methods which can cover the specific requirements.

The module lets you alter the form according to your requirements. These are the three features that the module primarily provides: 

  1. Integration with SugarCRM for Webform submissions
  2. Mapping interface for Webform components
  3. Customizable
  • RedHen CRM

graphic of a red hen with yellow peakAs the official Drupal page mentions, the RedHen is a Drupal-native CRM initially designed for common nonprofit needs, but built for flexibility. 

The module provides a classic CRM functionality for managing information about contacts, organizations, and their relationships with each other and your organization (like memberships). 

Using artificial intelligence the module smartly incorporates some modern tricks like engagement tracking and customizable one-page donation forms.

Four Drupal 7 CRM integration modules

amocrm written in a blue backgroundamoCRM is a web service for your sales management. Businesses can use amoCRM to manage their leads and pipeline. 

amoCRM module allows you to configure creation, editing and deleting of leads, contacts and companies, recover of leads, change the status of leads. Any option that relies on the dependent modules. 

Adding your leads to amoCRM will ensure that leads are taken care of. 

  • Pardot Integration

Pardot is SaaS marketing automation application that allows marketing and sales departments to create, deploy, and manage online marketing campaigns that increase revenue and maximize efficiency. 

Drupal Pardot adds Pardot web analytics integration to Drupal. 

Following are the features that it provides:

  1. Default campaign for web activity tracking.
  2. Conditional path and user role web activity tracking.
  3. Path-based individual campaign tracking.
  4. Path-based scoring
  5. Core contact form integration
  • CiviCRM Entity

CiviCRM Entity is a Drupal module which exposes many CiviCRM API entities as true Drupal entity types. That means that almost any module that can use Drupal entities can also access and manipulate CiviCRM data, Drupal style.

This module integrates nearly 40 CiviCRM entities as Drupal entities by wrapping CiviCRM API calls in extended Drupal Entity controllers. Extendable by custom modules or CiviCRM extensions to add or alter entities. 

  1. Contacts
  2. Addresses
  3. Emails
  4. Phones
  5. Events
  6. Participants
  7. Contribution Pages
  8. Contributions
  9. Line Items
  10. Financial Transactions
  11. Price Sets, Price Fields, Price Field Values
  12. Activities
  • CRM Core  

crmcore written in a white backgroundCRM Core allows you to manage contacts, activities, and relationships in your Drupal website. It provides a set of modules for managing contacts, activities, and relationships within your Drupal website. 

It is designed to provide a basic framework for managing these items and interacting with other components of Drupal.

CRM Core is not a contact relationship management system itself, so much as a tool for developing your own systems for managing contact relationships

It provides extensive support for these entities and includes a number of tools to make them easier to support in your Drupal website.

In addition to these basic features, CRM Core integrates with a number of other components within Drupal, including Views, VBO, CTools, Rules, Solr, Services, Field API and Search API.

Other Drupal Modules

These are the modules which are important otherwise but don’t have a stable module version in Drupal (neither 7 nor 8) 

Hubspot module integrates with Webform and the HubSpot API to submit Webforms directly to HubSpot's lead management system.

A webform-based contact form on your site can send its data to HubSpot, where you may already track potential clients and contacts; or a Webform-based e-newsletter signup could send the lead to HubSpot's targeted marketing system, letting you use your pre-existing email campaigns.

  • OpenInbound for Drupal 

openinbound written in a peach backgroundOpenInbound tracks contacts and their interactions on websites. OpenInbound is a solution for Online Marketers who want to apply modern Content/Inbound Marketing tactics on websites.

Key functionality

  • Marketing dashboard
  • Digital Marketing CRM
  • Contact/Lead/Session tracking

Conclusion 

Despite the general notion that CRM systems were created for the customer-centric businesses, they can also be applied to B2B environments to streamline and improve customer management conditions. For the best level of CRM operation in a B2B environment, the software must be personalized and delivered at individual levels.

Aug 29 2018
Aug 29

You might have to scratch your head to reminisce about the worst things transpired in your life as you try to keep them at bay. Few corking good moments spent with your best friend will be indelible for the rest of your life. A good experience stays with you for a long time. It is much the same way with the websites. A great user experience with the website not only makes it alluring to the online visitors but establishes the camaraderie between them. Drupal can be a wonderful platform for you to provide an amazing digital user experience.

Illustration showing different people with different thoughts and blue background


Let’s dive into an example case straight away to see how a website can influence user experience. Skeleton screen is a blank version of a page where information is incrementally loaded. To keep your online visitors engrossed during slower load times, skeleton screen animation can be really useful.

A Gif showing the difference between page loading feature on two mobile screens side by sideSource: Tandemseven

Understanding the user experience

A good experience stays with you for a long time

How to explain user experience design to a layman? User experience stresses on establishing a deep understanding of users, their needs, what they value, and their limitations.

We often stumble upon the usage of words UI and UX almost happening interchangeably but other than the ‘I’ and the ‘X’ at the end, there is a major difference.

In short, UI is how things look whereas UX is how things work. Also, UX is a process and UI is a deliverable. Difference between the UX design and UI design can be summarised as depicted in the illustration below:

An infographic showing difference between user experience and user interface with an image of human brain at the centre


User Experience Honeycomb represents the qualities that should be at the heart of your UX design ensuring that users find value in what you are offering to them.

The qualities or facets of the user experience shown in the hexagonal depiction given here can be explained as follows:

A honeycomb shaped representation of different elements of user experienceSource: Semantic Studios
  • The website should be able to deliver value to the users. For instance, the UX should advance the mission for non-profits and contribute to the bottomline and alleviate user satisfaction.
  • We must ask ourselves whether our products and services are useful.
  • Usability is of paramount importance even though the interface-centered methods and perspectives of interaction between human and computer do not address every aspect of website design.
  • Our brand identity should get more desirable in our pursuit towards building a robust online presence
  • We should emphasise on building a navigable website with findable objects to help users find what they need.
  • Making our website more accessible to differently-abled people which is the ethical thing to do.
  • There must be credibility in what we offer to users and they should be able to trust and believe in our offerings.

Important tips to improve user experience

To create a good User Experience, a well-planned methodology is required. You would have to think of every possible way a user can interact with your website so that you can strive to improve that interaction.

To create a good User Experience, a well-planned methodology is required. 

With the rapidly changing digital marketing landscape, your website might seem to be in need of redesign and look outmoded. Some of the simplistic ways to improve your website in order to keep up with pace of changing UX needs are laid down below:

  • Using white space makes your content more legible and helps the online visitors to focus on the elements surrounding the text. White space around the text and the titles enhances user attention by 20 percent.
  • Page speed hugely influences UX. Sluggish page load can prove to be an interrupting experience for the users and frustrate them to the core. Most often than not, users just do not have time to wait. Even if the page loading time has a 2-second delay, the website abandonment rate can reach up to 87 percent.
  • Using attractive calls-to-action (CTA) that are marked with an action word enables the easy navigation on your site and the users can easily  get to where they want. More than 90% of the users, who read your headline, would also check out CTA.
  • Using hyperlinks on your page is extremely helpful to grab the attention of the reader. Visual cues like underlined text and different coloured text makes it easy to identify.
  • Using bullets helps the users to get all the information they want quickly and precisely. They will be able to quickly understand benefits, how you solve their problem, and the key features of a product or service.
  • Wise usage of images on your website to support the content can allow a visual break for the users from the text. You need to make sure that they are relevant. Like using an actual image conveying your brand and its services instead of a stock photography can create a connection between the user and the brand.
  • Including well-designed and written headings based on what your potential customers are seeking can be useful. For instance, including keywords in your title can help in targeting your message and getting the attention of right audience.
  • Maintaining website consistency is tantamount to a great UX. Heading sizes, colouring, button styles, design elements, font choices, illustration styles, photo choices etc. should be should themed in a way that your website design is coherent between pages and on the same page.
  • Optimising your site to handle error 404 (page not found) can prove fruitful. Error 404 can frustrate a user and make him rethink spending time browsing your site.
  • Making your site fully responsive should be of top priority. Mobile responsive and mobile-friendly site makes it easy to navigate and works well across platforms from desktops to handheld devices. 57% of users won’t recommend a business which does not have a mobile responsive website.

Take away 50+ User Experience Tips and make sure the user has the best experience on your website

How is Drupal 8 great for an amazing user experience?

Drupal 8 has been a leading CMS when it comes to a powerful and an astounding user experience. Let us look at what makes Drupal 8 so spectacular for designing a compelling user experience for your website.

Responsive web design

Responsive websites are a must-haves nowadays to work well on any screen size. Drupal 8 helps in building websites with responsive web design approach out-of-the-box with some help of contributed modules. Also, there are several Drupal themes that help in creating a responsive design.

Web personalisation

Personalising the content on your website helps in making users to view the content in which they are interested. Web personalisation can be done on the basis of demographics of the user, login time and date of the user, gender, device details of the user etc.

Acquia Lift Connector, Drupal module, offers integration with the Acquia Lift service with an improved user experience for personalisation, testing and targeting the frontend of website directly.

Performance optimisation

A fast-loading speedy website significantly contributes towards the betterment of user experience, usability and engagement. Drupal 8 is one of the most efficient CMS for enabling enhanced page speed.

Caching is an important feature that you can configure for enhancing your website speed. Drupal modules like Internal page cache, Dynamic page cache, BigPipe, Redis, Varnish, and Memcache API and Integration offers different sorts of caching methods to meet the requirements of your website.

Page speed can also be accentuated by disabling unwanted modules or those which are seldom used. Drupal 8 also helps in optimising images for better performance.

Multilingual capabilities

Drupal 8 core comes engrained with multilingual capabilities. It lets you translate content, site interfaces, language, and configuration out-of-the-box. For instance, you can translate the content of your website into a particular language on the basis of user’s geographical location.

Social media

Connecting with friends in one of the biggest pluses of social media elements. Social media can also be a powerful marketing tool. Incorporating social media elements into your website allows users to share the experience, that they had with your website, to the world.

Drupal offers a suite of modules to help you. Easy social, a Drupal module, lets you add share buttons to your nodes.

Another Drupal module, OneAll Social Login, allows you to register and login to the Drupal website using existing accounts on social networks.

A/B testing

A/B results help in determining how well is your website performing and how can you improve it further. Drupal 8 offers modules to carry out A/B testing.

For instance, A/B Test JS module lets you perform A/B and multivariate testing via JavaScript and exposes a UI for creating tests.

Webform A/B Testing module helps in setting up A/B tests consisting of various webforms for determining the most effective one. It tracks how many times a webform has been shown to users and also how many users have responded by completing the form.

How is Drupal Community striving hard to improve the admin UX?

With a highly active bunch of Drupal enthusiasts in the Drupal Community, the objective of making Drupal more and more better for everyone is an everlasting thing. While Drupal is great for improving user experience for online visitors, site administrators are not to be left out. The Admin UX User Study group in the Drupal Community has come up with great insights in a research done on further improving admin UX.

Being new to Drupal may prove to be an arduous task for the content editors to get along with the administrative interface that the platform has to offer. The Admin UX User Study strives to make betterments to the Drupal admin UI with the objective of making it an amazing platform for site administrators.

Findings of Admin UX study

Key focus of the research was on content editors who are responsible for putting great content on the site. Survey was conducted to understand what content editors love about Drupal and where do they find it challenging.

Most of the respondents in the survey said that Drupal is flexible, customisable and lets them have control over their content.
When asked about the challenges, the survey gave some interesting insights. Many content editors opined that a lot of intricacies are due to the UI provided by the paragraphs  and panels.

More hurdles were centred around searching for documentation, content editing UI, understanding jargon and technical terminologies, and media management. There was also a mention of complexities with content editing interface while adding content translation to the mix.

Efforts to improve Admin UX

With a highly active bunch of Drupal enthusiasts in the Drupal Community, the objective of making Drupal more and more better for everyone is an everlasting thing.

logo of drupal gutenberg with an icon of dropletInterestingly, among the things that Drupal Community is trying to achieve, the responses made by the content editors were already being worked upon. For instance, Drupal Gutenberg project aims to revolutionise publishing experience through a modern UI which is based on Wordpress’s Gutenberg project.

Also, configuration changes like minimising the user permissions for editors, offering access to an admin menu with limited set of options, and customisation of some of the default widget settings are being worked upon. That is, configuring a role for content authors out-of-the-box and altering some of the Drupal’s default configurations can offer a wonderful content editing experience.

Success story

Federal Emergency Management Agency (FEMA), which helps people to cope with natural and man-made disasters, chose Drupal for delivering a powerful user experience. The new digital platform was designed for dependability during critical times.

Homepage of Federal Emergency Management Agency with an image of a smartphone showing the different options


Federal Emergency Management Agency (FEMA) provides up-to-the-minute details on several important facts during emergencies. The old version of FEMA.gov was not a dependable site with outmoded navigation features and slow page load speed that made it difficult to be accessed during critical events when traffic spikes.

Knowing the significance of delivering a reliable digital experience for users, FEMA wanted a user-friendly and highly resilient site with the provision of more meaningful communication. It also had to cope with traffic spikes and also be scalable at the same time.

A smartphone showing the website of Federal Emergency Management Agency


Project challenges

Primary concern for the design team was creation of a friendly and functional design and user interface. By holding a series of user focus groups, they got the much needed feedback which indicated that the existing site was too convoluted, it was difficult to find information, and some of the content were outmoded. The site also did not support smartphones and tablets.

The existing system did not support swift and efficacious communication. Most often than not, the site experienced overloads and very slow page load times especially during emergencies when it is most needed. It was not resilient and was not able to consistently deliver a high performing experience. In addition to these issues , there was difficulties with content editing.

Project outcome

To address these challenges, FEMA chose Drupal as the their preferred content management system. To handle the large-scale rebuilding of the site where thousands of pages had to be reviewed, updated and migrated to the new site, development and testing was done in iterative process. This helped in easily scaling the project and making adjustments and reorientations.

The website of FEMA.gov turned mobile friendly and could be accessed from devices ranging from desktop to mobile devices. It also paid special attention to accessibility for those users requiring assistive technologies. The new site architecture minimised the number of clicks that was needed for accessing information thereby making navigation and retrieval faster and simpler. Technical design solutions were implemented that were in accordance with Section 508 compliance standards.

After the launch of the new site, not only it proved cost-effective but provided value to the users. It offered better access to critical disaster-assistance details, higher interactivity and accessibility, cross-platform compatibility and the ability to rapidly and dependably disseminate key content in multiple languages.

Being open source, Drupal-based architecture assisted with the improvement of performance and enabled FEMA to provide the public with swift access to data that could be modified in real-time, if needed. With the mobile-optimised version of FEMA.gov, that has enabled enormous amount of information on-the-go, user experience and the over user satisfaction has improved as well.

Conclusion

Offering the best digital user experience is the goal of every digitised firm. With right means of implementation and Drupal’s amazing features, building a site with a great UX should be cutting through a piece of cake. 

Talk to our Drupal experts for developing a Drupal-powered website with best website design implementation for your business. To improve your website’s user experience, contact us at [email protected]
 

Aug 28 2018
Aug 28

Content touchpoints are proliferating at a fast clip as consumers keep on marching towards vibrant and distinctive means of interacting with content. Internet of Things (IoT), conversational UI, digital signage and devices that are powered by machine learning algorithms among others are adapting to our characteristics to disseminate content accordingly. To cope up with such mushrooming milieu of consumer experience, API-First Drupal is well positioned for entire digital ecosystems.

An illustration showing a huge laptop and people working around it

Drupal can do almost anything to be the powerhouse of your digital business. But to leverage the benefits of technologies outside of the Drupal context, API-first approach could be a perfect choice.

Understanding API-first approach

So, what is meant by API-first? It refers to the interaction between a central web service and several other applications to enable the two systems to exchange information over a network. Not only is this exchange limited to websites but extends to mobile apps, Internet of Things devices, and wearables. Using API-first Drupal basically refers to the decoupling of the front end and utilising a different technology for the presentation and the theming layer.

Illustration showing a cloud shaped graphical icon and the word API First written below it

API-first approach is the interaction between a central web service and several other applications to enable the two systems to exchange information over a network.

In short, API-first Drupal allows:
  • Integrations that are not defined in Drupal/PHP code
  • Full decoupling
  • Progressive decoupling where Drupal serves overall page and certain parts of the page offer JS-driven interactions

The key advantages that Drupal has are that it is a free and open source from end to end unlike other API-first content-as-a-service options like Contentful. Thus, all layers constituting accessing and retrieving data, exposing and consuming that data through software development kits (SDKs) are free.

How does API-first approach work in Drupal?

So, how can someone go about getting data out of Drupal without using the theming layer? Such an arrangement is not new. Even though Drupal has worked as a services layer in several applications for years, evolving internet trends have put in a lot of emphasis on names such as headless, decoupled, and API-first. Developers have seen more use cases for Drupal as a web service for the mobile applications and JavaScript frameworks skyrocketed.

Flowchart explaining API-first Drupal workflow


Drupal as a backend is very tightly coupled to its presentation layer which means that taking that out of equation would mean a heavy loss. Everything including forms, control over layout, feature of previewing a content, and other great features of Drupal would be lost. Other challenges include introducing an extra point of failure, sacrificing the improved performance optimisation capabilities of Drupal 8, and loss of in-place and in-context editing. So, most importantly, organisations must know the benefits that outclass the losses by adopting decoupled Drupal approach.

Web services, as a developing technology, offer so many flavours but the one that stands out as the winner is the RESTful API. Representational State Transfer (REST) allows communication between devices like computers, phones, banking systems, televisions and IoT devices connected to a network by using the standard HTTP protocol. It is the leading API approach of choice for Web services because of its widespread acceptance across the web. Furthermore, Drupal is also enabled for non-RESTful approaches like GraphQL.

Various contributed modules allow you to add web services to a Drupal installation without the need for writing code. For instance, Developers can use Services module and the RESTful Web Services module to configure a server for enabling the Drupal installation to push or allow data that is to be pulled as needed with the help of REST API. No matter whether the action is push or pull, Drupal is the services layer. Using the content management platform of Drupal, it is possible to add content, user, and permission systems but the information is sent outside the context of Drupal.

Drupal 8 core has out-of-the-box REST API that allows operators to interact with content entities like taxonomy terms, nodes, users, and comments.

How is Drupal moving towards becoming more API-first?

With API-first Initiative at the forefront, Drupal 8.0 was shipped with a built-in REST API which spelt the beginning of Drupal’s transformation as an API-first platform. Since then, subsequent releases in Drupal 8 has introduced remarkable web service API improvement.

Drupal is perpetually moving towards offering a more robust API-first ecosystem.

Significant market trends paved the way for endorsing this strategy which comprised of incorporation of other technology solutions, increase in the adoption of JS frameworks, snowballing of new devices and digital channels among others.

Although Drupal 8 was launched with a basic REST API, Drupal community has been contributing with new REST API features in further releases of Drupal. For instance, Drupal community is working on shipping Drupal modules with web service APIs instead of depending on a central API module in the further releases of Drupal.

With JSON API becoming increasingly common in the JavaScript community, there has been a tremendous work going on for making JSON API Drupal module as part of the core in the upcoming releases.

Also, GraphQL module has been gathering steam in its adoption and is an important component of API-first Drupal. It is also being envisioned to be added in the Drupal core(not formally decided).

OAuth 2.0 module, which is helping developers in building more secure decoupled Drupal architectures, is gaining grounds to be included in the Drupal core.

Not only these, several modules are being developed with API-first approach such as Open API, Lightning API, Consumers, etc. Drupal is perpetually moving towards offering a more robust API-first ecosystem.

logo of contenta cms with a smile emoticon inside a box


Contenta, Drupal distribution, is a great example of incredible strides that Drupal has made in its pursuit of becoming more API-first. Contenta helps in offering modern API capabilities out-of-the-box with JSON API. It can feed content the JS-driven websites, mobile applications, TV and even mythical fridge application.

Whether it is single application development or multi-channel publishing, Contenta has it all to be a Create Once, Publish Everywhere CMS.

logo of reservoir with a cylindrical shape containing blue boxes

Reservoir, a minimalist distribution for decoupling Drupal, is doing great rounds. Being a flexible and simple tool for building content repositories for any application, it helps in modelling content, governing content, and interacting with that content through HTTP APIs.

Packed with API-first modules like JSON API module and OpenAPI, helps in accelerating decoupled Drupal implementations.

Drupal and its competitors

The biggest advantages that Drupal has over its headless competitors are that it can be:
  • a terrific CMS for content editors to give them control over the presentation of their content.
  • a rich headless CMS to allow developers build large content ecosystems in a single package.

Headless CMSes lag behind in the areas of in-context administration and in-place content editing. They are short of full-fledged editorial experience integrated into their front ends where they serve content. In-context governance and in-place editing are not possible if they do not expose a content editing interface linked to each front end which is why coupling is required.
Another significant focus lies in the display and layout manipulation to for the success of digital marketers. Drupal plays a vital role in controlling the appearance of content in a layout structure. In contrast, headless CMSes are not adept with the display an layout settings. Editorial tools, like in-place editing and in-context governance, that enable this need to be incorporated into the front end.

Moreover, content editors and digital marketers consider the state of published content. Especially for unpublished content, accessing end-to-end preview system is a must-have for editorial workflows. But in headless CMSes, to allow endless preview like setting up a new API endpoint would require developers to skip significant hoops.

These drawbacks can be handled in some use cases where the application requires less editorial interaction and is more developer-focussed. Keeping everything aside, headless CMSes do not have the toolkits for content authors. This is where Drupal sets the standard high.

Flowchart representing the difference between API-first Drupal and other headless CMSes


Don’t jump into any conclusions as these drawbacks does not mean to say that headless is unimportant. Both the headless and traditional way of content management is important which is what Drupal excels at. Drupal is awesome for both content editors and developers alike.

Drupal is awesome for both content editors and developers alike.

API-first Initiative has been an absolute wonder towards advancement of existing and new web services efforts. This has streamlined the use of Drupal as a content service and more optimal for developers. Drupal Community has been constantly working towards the improvement of great developer experience through web services like JSON API and GraphQL and also through tooling to accentuate headless application development similar to the Waterwheel ecosystem.

Drupal is awesome for both content editors and developers alike. In spite of this, there are some limitations. You must adopt a coupled Drupal front end for editing and manipulating the front end without having to involve a developer thereby focussing on editor or assembler experience. Also, if you do not need the involvement of editors, Drupal can still be relevant.

Adding decoupled applications and keeping Drupal as a coupled website is a huge advantage. Such an architecture where it is simultaneously coupled and decoupled make it a great platform for both content editors and application developers. That means, your content repository should be public-facing website with an astounding set of editorial capabilities and also a centralised point for collection of applications which makes it developer-friendly.

With Drupal perpetually powering more and more websites, it is also being extracted to its  full potential in order to serve content to other backend systems, native applications, single page applications, and even conversational interfaces simultaneously.

Digital transformation stories

API-first Drupal can work wonders for so many industries. Let’s go through some success stories.

Powers a swarm of devices

Let’s look at how API-first Drupal can power presentation devices on a major cruise line. Cruise ships look forward to make the experience of their passengers as best as possible. Passengers get to know the information about events, security and locations on the ship through daily newsletters.

For Princess Cruises, a major cruise line, the choice of digitising this newsletter was a perfect option for improving guest experience. It was using Drupal for its shipboard intranet due to its flexibility, dependability and an engaging open source community. Their IT team was already adept with Drupal. So, Drupal was an obvious choice for developing a newsletter app.

Homepage of Princess Cruises with a couple strolling around a ship


The daily newsletter was built as a full-fledged onboard passenger application that was customised for the interests of passengers. They could find event details, information on ports visited, current weather, menus, and stateroom account details. The application altered the ways passengers tried to find information on the ship thereby providing unique experience for the passengers.

Moreover, they realised that, with Drupal as services layer, they could do more with it as they did for the smartphone app. They used Drupal to power free video-on-demand service as well as digital signage sending content to hundreds of screens around the ship. The company implemented the system on other ships too and could deploy within a month’s time. With the response of passengers exceeding the expectations, they rolled it out half the fleet.

Progressively Decoupled Drupal

Weather.com needed a digital ecosystem to cope with unpredictability. Before the company moved to Drupal, its digital properties were relying on hundreds of origins servers powered by different data servers. They wanted a progressively decoupled Drupal and to architect a new Presentation Framework to produce interactive experiences on a page rendered by Drupal.

Homepage of The Weather Channel with the image of India Gate in New Delhi


Considerations revolved around accommodating diverse performance and caching requirements. On an average page,  there are several caching and time load needs across each of the content sections. With a strategy involving a progressively decoupled Drupal, the weather channel built a new presentation framework breaking pages into different sections. Each of the sections, as referred to as a component, lived in its own subdirectory. The metadata about component was declared by a JSON file to the Drupal.

These directories were ingested into panel panes by Drupal. These panes were exportable and reusable and could be developed by the frontend developers without much engagement from the backend. The weather channel, with progressively decoupled Drupal, could specify regional content, pushed uniform content, and personalised content that were not cacheable and needed to be rendered on the client side.

Hence, progressively decoupled Drupal strategy allowed the large weather company to address the diverse technical requirements and needs of their sites. JavaScript developers were able to keep working on JS and editorial teams focussed on creating pages without the need of extensive development involvement.

Conclusion

With Drupal as a services layer is a practice that fast approaching towards maturity and enabling unthinkable digital ecosystems. While there are diverse set of applications of API-first architectures, moving towards an API-first solution may seem intimidating. At Opensense Labs, we can assist you to tie the knot tightly and connect you with the Drupal experts who have years of experience in Drupal development.

Drupal is a very complete system that can handle almost anything you need done. Have a conversation with our panel of experts at [email protected] to make your vision of digital experience come true.

Aug 27 2018
Aug 27

Upgrading involves shifting lots of files and content from one site to another. Although there are a number of modules to help you migrate to and in Drupal, the process can turn out to be messy. 

an hourglass in a white background


Migration of content can have various meanings and the scope of file formats - JSON, CSV, spreadsheet or text files - is also important.

In this article, I am going to demonstrate the migration of taxonomy terms using CSV files to Drupal 8. Thanks to Drupal’s entity-based system, the process of migration is more or less similar for all kinds of entities. Once you master the migration process, you can easily migrate nodes, users, vocabularies and custom entity data.

You can use various modules for migration to Drupal 8

Drupal 8 core provides the Migrate and Migrate Drupal modules which are useful when migrating from Drupal 6/7 to Drupal 8. In other cases, we have to use contributed modules. Install Migrate Plus which provides a powerful API for data migration from CSV and spreadsheets and is one of the foremost dependencies.

We will take a sample use case of the States list where our taxonomy terms will be the States' list. Let's get started.

Read Upgrade to Drupal 8 | Complete Migration Guide

Installation

  • Download the Migrate Source CSV module and install it on your Drupal website. Use Composer to install all the required dependencies.
composer require ‘drupal/migrate_source_csv:^2.2’
  • Enable the module from Extend menu or Drush Command. 
$ drush en migrate_tools

$ drush en migrate_source_csv
  • In this example, I am going to migrate the USA States data. I have already created a vocabulary as ‘States’ with fields Name (Default Field in Taxonomy) and State Code (the abbreviation).
     
  • Prepare a CSV file with Headers containing Fields Name and also add an ID field which will act as a unique identifier and can also be later used in migration in case States vocabulary is used by a reference field. Here is the CSV which I have prepared:
     

    ID

    State

    Abbreviation

    1

    Alabama

    AL

    2

    Alaska

    AK

    3

    Arizona

    AZ

    4

    California

    CA

    5

    Colorado

    CO

    and so on.
     
  • Next and the most important step is to write a migration plugin which is a .yml file describing the mapping between data in CSV and Drupal Fields. 

    Here is the migration plugin which I wrote:

    id: state_data
    class: null
    field_plugin_method: null
    cck_plugin_method: null
    migration_tags:
      - 'USA States'
    migration_group: default
    label: 'State migration from CSV'
    source:
      plugin: csv
      path: 'public://USAStates.csv'
      header_row_count: 1
      keys:
        - id
      column_names:
        -
          id: id
        -
          title: state
        -
          abbreviation: abbreviation
    process:
      name: title
      field_abbreviation: abbreviation
    destination:
      plugin: 'entity:taxonomy_term'
      default_bundle: state
    migration_dependencies: null
    
    I have provided a Migration ‘id’, ‘class’, ‘field_plugin_method’, ‘cck_plugin_method’. ID acts as a unique identifier for the migration process. Rest of keys mentioned above aren’t needed in this migration.

    Other keys and their importance:
     

    • Migration Tags: These are displayed as a description in migration UI.
       
    • Migration Group: It is an important field in case you have various migration processes. I have used the default group for this migration.
       
    • Label: It is also a description field for the migration displayed in Migration UI.
       
    • Source: It is the important key and we provide type of plugin i.e CSV in our case, path of our CSV file, Header Row Count so that migration API is able to distinguish between Data and Labels, Key i.e the unique identifier in CSV file.

      Next, we have a mapping of columns in CSV with temporary identifiers which are used in process key. Process key defines mapping with Drupal field and a temporary identifier in format (Drupal Field: Temporary Identifier).
       

    • Destination: This key is used to provide the target entity and bundle if any. Since we are migrating terms data so I have used ‘taxonomy_term’ and bundle ‘state’.
       
  • Once you have created the plugin, it is time to inform the system about. Migration plugin can be imported via Single Config Import menu (/admin/config/development/configuration/single/import). Paste your plugin with config type ‘Migration’ and press import.single configuration, selecting migration as configuration type and code added in the next block
  • Once you have imported the migration plugin you can run the migration process via UI or drush command.

    UI: Go to /admin/structure/migrate and under the list migration menu, you can execute the migration process for the respective migration type.

    Drush: Enter the drush command ‘drush mi state_data’ where state_data is the unique ID of the state's migration.

  • Once the migration process is complete all the Terms are created and the abbreviation field is populated as well.

  • You can rollback, resume and stop migration from Migration UI as well in case something goes wrong or you have some extra data to migrate later on. 

  • In case you have to do any changes in Plugin after importing it, you will first have to export its config file from (admin/config/development/configuration/single/export) and then import it again. 
     

    list of migrated terms and the heading as states

    And it is done!

That is how you can migrate content from a CSV file to Drupal 8. Drop a comment below in case of a query. 

Aug 27 2018
Aug 27

When I first heard of Contenta (not aware of what it was), I was perplexed as to how could anyone use such a funny name for a tech product? Was it so good that it made people happy and content with it? 

What Is Contenta?  

With Drupal 8’s rise as the headless platform, one of the inferences of the DrupalCon Baltimore was to make the headless transition smoother. And this is how Contenta was born.

Contenta is an API-first Drupal distribution.


Decoupling is no more about the show-shaw it was till some years back. But keeping up with its popularity, two of the challenges still remain unresolved, not in the concept but in implementation.

Decoupling can be a herculean task, keeping in mind the steps involved and the complexity of handling two technologies. 

a mannequin holding a menu bar with Angular and react logo on it


Another challenge is, it works great only for those familiar with Drupal and have a sound understanding of how it works. 

This is what Contenta solves. How? Read ahead. 

The Transition from Traditional to the Modern CMS

A traditional website can be best explained as the one built on a CMS which covers both the front and the backend.

two purple triangle explaining traditional and headless cms


On a very basic level, traditional CMS are inflexible when it comes to implementing new delivery formats, created outside. 

Therefore the solution is to (figuratively speaking), chopping off the “head” to give the much-needed flexibility. 

The head here represents the presentation of the content or the front-end of the website, and whatever is left constitutes the backend. With this in mind, a headless CMS focuses on:

  • Facilitating the workflow and the collaboration between frontend and backend
  • Organizing content in the repository (semantic, collections, taxonomies)
  • Creation and presentation of content (including translations)

What headless CMS removes though, are web delivery layers, such as a templating system, management of the site structure and style, which determine how content will be delivered or presented to the front-end users. 

Difference Between the Decoupled and Headless

A Headless CMS literally translates to a CMS where the repository system i.e., the backend works independently of content delivery and presentation tools.

While a Decoupled CMS is a regular full stack of a content management, delivery, and presentation solution it allows for content storage and presentation within it to be leveraged by other systems.

In a Headless CMS, the front and backend are separated and an API is added to them. Also, the front end is operated more with a web app made maybe with React or Angular for improved UI. 

The Need For Contenta

As fancy and easy as the concept of headless sounds, the theory, and practical implementation are not even remotely close, making the process complicated and tenuous. 

Adding to the test is the way that there is an absence of imperative starting points, standards, and best practices. 

The issue isn't that there are numbers of contending approaches, instead it is the absence of one which serves as a starting point for non-drupalers whose purpose is only to configure some frontend technologies with Drupal and get better results. 

mission of contenta


This is important because assembling all the tools together can turn out to be an overwhelming task. Over that, once everything is set up you have to make sense of the intricate details of your front-end project. 

As the official website states “...Contenta CMS is the response of the community to build an API-First Drupal distribution”. In light of the challenges faced by the community, Contenta’s goal is to:

  • Ease the pain of using, or simply trying, decoupled Drupal
  • Provide a standard API platform which is ready along with the demo content.

Building Around with Contenta: How Far has the Community Moved Forward?

Although it has been only some time with Contenta, the tech geeks are deploying it to the best of their knowledge. Here are two of the interesting things built around Contenta. 

  1. Virtual Postcards

    Yes, postcards! The team of FourKitchens in DrupalCon Nashville 2018 presented a lot of interesting things around VR. And one such stuff was Virtual Postcards.

    Two iPads were used to scan visitors using itSeez3D, mobile 3D scanning application. Behind the scenes, the models were emailed to an endpoint which would receive the OBJ file, upload it to our Drupal 8 (through Contenta distribution) site and compose it into little virtual postcards. You can also check out the virtual postcard.a man in green t shirt standing against Nashville and bust

  2. Interactive Web Application - Imagine Canada Grant Connect

    Imagine Canada Grant Connect is a Canadian national charitable organization.

    imagine canada grant connect homepage with red and white background


    With Contenta you can also experience building a data-rich, and highly interactive web application like Grant Canada's.

    Working to modernize a robust, legacy product for a nationally recognized non-profit leader and social enterprise (Imagine Canada's Grant Connect) required careful consideration and an optimized approach. A dedicated and specialized customer base, a restrictive budget, and decades of highly complex data, all presented unique challenges to solve. 

    All of which Contenta helped solve. 

What Makes Contenta Ideal for a Headless Drupal Application?

It bundles the most important modules for creating Headless/Decoupled application. It saves time by providing important default functionalities and modules such as: 

  • JSON API at work

“The JSON API module is a fully compliant implementation of the JSON API Specification...you can increase productivity, take advantage of generalized tooling, and focus on what matters - your application.”

Contenta CMS not only provides JSON API but makes it a standard for exposing data over endpoints. 

Applications built around JSON API can take advantage of its features such as efficiently caching responses, sometimes eliminating network requests entirely. 

Thus, it helps developers build clients faster and encourage reuse of code.

JSON API focuses on exposing Drupal's biggest strength (entities/data modeling) in a coherent manner. Simple yet sufficiently powerful for most use cases. 

So instead of using core provided formats such as HAL-JSON, XML or CSV which have to be handled with care in client-side applications, developers can work on standard JSON format in much lesser cost and code. 

You can also check the official Drupal JSON API guide to understand the needs for your application. In short, if all your applications require Entity data go for JSON API.

  • JSON API Extras

Another useful module which allows you to have a greater control over your application and exposed data. JSON APIs Extra allows you to change the default output provided by JSON API module with disabling endpoints, changing data formats, JSON structure among others. You can also check out the official page for JSON API Extras
 

Headless / Decoupled CMS Comparison Matrix (Click for a larger version)

comparison table between contenta and other Decoupled Software & Services Comparison Matrix Source: Medium - Mark Krynsky Blog

JSON RPC helps in performing various Drupal actions such as clearing cache, putting the site to maintenance mode via REST API. Client-side application can send a particular request and then the respective operation is performed. This module can be extended to provide good administrative control of CMS via the client application.

  • Consumer Image Styles

Most of the times we serve images alongside the content. Since we have the flexibility of Image styles while using Drupal Consumer Image Styles makes sure that we get similar functionality in our Decoupled application. We can select a specific image style for each type of consumer and display it interactively without breaking the user interface. 

  •  Consumers

As per official documentation “Consumers allow users to register consumers in Drupal. It's allows decoupled Drupal set-ups to have variations based on the consumer making the request. All these options are gathered under a common umbrella so other projects can make use of them”.

Consumer is a very helpful module where we have various kinds of application, devices or endpoint consuming our data. It helps in distinguishing between them at the root level which is the time of a request. This gives the developers time to prepare an appropriate response. It can also be used to build annoying functionality like ‘This content is only available in our iOS/Android functionality.’ 

  •  Contenta JS

Contena JS allows super fast content endpoints connection which will act as a proxy for your Contenta CMS. It can be useful in case of large number of requests and frequent content updations.

It can help in cutting out the time taken by a request due to bootstrapping in Drupal, since all your request will be served via Node Server instead of actual CMS.

  • Decoupled Router

Since the client-side application is only interested in data from CMS and nothing else, it becomes difficult for site builders to manage navigation and page routes in the client site.

Decoupled Router helps in maintaining the structure by providing an endpoint which resolves the exact entity path by showing right data on that particular page. For example, home in the client application can be mapped with /node/1 and all the data of Node 1 can be shown on it.  

Although the contenta is built around JSON API and you will mostly hear developer's focusing on JSON, GraphQL is another important module involved. 

Yes, Contenta has the GraphQL module and the important PHP library webonyx/graphql-php. This module helps in exposing Drupal data over graphql schema and all the good things that come with it.  (Link internal article with it). 

Exploring Contenta: Four Reasons to Opt for It

  • Free to Use

Contenta is a fully Free Open Source Software, with a GPL v2.0 license. This means that you have no limitations. No more pricing plans or a maximum number of requests. anyone can use it. 

Since it is built on Drupal, Drupal community experts regularly work on the updates along the way. Organizations such as MediaCurrent and Lullabot are directly working with the community.

pricing model of contenta with standard, popular, premium, and supreme category
  • Lightweight

Contenta uses the best possible options for providing data to a headless application. Most the Drupal bootstrapping is bypassed in this process Request payload and response is also very less compared to Drupal’s REST API. Providing an integration with Contenta JS which is lightweight proxy server based Node JS, it can, therefore, handle applications with a lot of interactions with a CCMS.

  • Documentation Available

Example content to help you understand how all works. This can be removed all in one click. Many consumers in different technologies can show you how easy is to build a Contenta project. Contenta CMS is actively supported by an open community.

reasons to opt for contenta

Also as part of the installation process, Contenta will optionally install all the content types and content necessary to build the magazine application. Trying an API server without content is a real downer. 

Contenta is API first. This implies that integrating different technologies flawlessly together is an out-of-the-box functionality. The API first idea was born to standardise the process of development landscape involving different technologies and remove the chaos. 

Not just this, being API first implies the ability to have control over the content and presentation across different channels/mediums.

Therefore Contenta (and Drupal in the backend) has the capacity to control behind-the-scenes systems for languages like Python, PHP, Java React, Vue and Ember (to give some examples).

Content-as-a-Service

The content is flowing freely on the internet with the advent of third-party sites and connected devices. This demands for unrestricted flow of content between sites, apps, gadgets, and now connected devices. In simple words, content flexibility. 

"Drupal’s content-as-a-service approach opens the door to ultimate flexibility."

Drupal lets you separate content management from the presentation, enabling front-end developers to create not only powerful and engaging customer experiences but future proof content too.

A traditional CMS would try to do it all by itself. Managing content at the backend level and pushing it to the front end formats. But more often than not it leads to a static experience.  

With a flexible architecture, Drupal lets you decouple the back and front end where useful. This is how you can use content from your Drupal website in reusable chunks, free from presentation, ready for creative delivery to sites and apps.

Drupal makes it easy to ingest third-party content (from aggregators and syndicators), bringing content into your Drupal environment, then making it easy to push to any site, app or channel.

Reservoir Needs Justice (pun intended) 

Reservoir is another Drupal distribution which provides similar functionalities as Contenta. In fact, both Contenta and Reservoir are based on the same set of modules.

reservoir logoWhile Contenta brings with it extensive default content when installed (and which can be disabled later) Reservoir comes with a clean slate, giving you a different user interface (something that is possible when you disable content in Contenta).  

Contenta is planning to adopt part of Reservoir’s admin UI so we can both build the upon the same component (according to a document by contentacms.org). 

The reservoir is simple (but limited) and Contenta is powerful (but complex). Reservoir only supports Nodes, Node Types, Files & Users and that may be enough for you. If you need more, like Comments, Taxonomy, Paragraphs, etc. then Contenta is your choice.

The popularity of reservoir has taken a backseat with Contenta actively being involved. 

The future for Reservoir, therefore, is not certain. 

Let’s Conclude 

We are entering a new era of Drupal, where advances and experiments will be creating a resurgence of interest within the community. 

Although it has been only some time with Contenta, the community's excitement and exploration will definitely take it ahead. Keeping up with its goal to lower the barrier to entry for developing decoupled Drupal sites, it is pushing Drupal to be what it is. 

Decoupled is the future. 

And Contenta is definitely the way to go around it. 

Connect with us to build awesome decoupled projects. Drop a mail at [email protected].

Aug 24 2018
Aug 24

Ever felt so intrigued by the movie that you were watching in a cinema hall and were completely immersed in it? Not only sometimes it can make you reminisce about instances from your own life but let you identify yourself with the characters in the film. You can start feeling like you are part of the film only to realise in the end it was just a film after all. Immersive experiences can happen in a spectacularly made film. To take the immersive experience to the next level, virtual reality is the answer.

Illustration showing a man wearing virtual reality headset with graphical icons hovering over his head and virtual reality with at the top

“If they struggle with this because they are more visual learners, he asks them to put on their virtual-reality headsets for an excursion, say, to ancient Egypt.” - Washington Post

Virtual reality has seen a surge in the 2010s with 92% of the respondents surveyed in the United States in 2017 aware of this term. Another survey in 2017 reveals that 47% of the respondents love the feeling of entering into the new world through VR. Such is the growth of VR that wide array of possibilities have opened up in different fields for its implementation. Drupal, which keeps itself relevant to futuristic technologies, offers a superb content management platform for building virtual reality solutions.

Before we delve into Drupal’s greatness in VR-based futuristic solutions, let’s decode the term ‘virtual reality’.

Defining moment

You probably must have seen some wacky headsets using VR technology. So, what is a virtual reality? Gartner, research and advisory firm, states that “VR provides a computer-generated 3D environment that surrounds a user and responds to that individual’s actions in a natural way, usually through immersive head-mounted displays and head tracking”.

It further states that in the VR-based application, “gloves providing hand tracking and haptic (touch sensitive) feedback may be used as well. Room-based systems provide a 3D experience for multiple participants; however, they are more limited in their interaction capabilities”.

Entering a whole new world without ever setting a foot there is one of the stupendous merits of VR. But how did something like this burst onto the scene?

Tracing the trodden path

Evolution of virtual reality can be traced as far back as the 1800s. Charles Wheatstone’s vision of creating a three-dimensional effect led to the invention of Stereoscope whose methods sowed seeds for modern-day products.

Infographics showing the history of virtual reality with green and black background


It was in the 1960s when VR devices actually started to come into the picture through head-mounted displays (HMD). Discoveries like Sensorama and The Telesphere Mask paved way for first HMD in 1968 by Ivan Sutherland and his student Bob Sproull.

Co-founder of Visual-programming Lab (VPL), Jaron Lanier, is often credited to the coinage of the term Virtual Reality in 1987 which is also believed to be popularised in the same period.

Subsequent discoveries have led to the advancement of VR technology in the 21st century. VR has seen a rise in the commercial availability through products like Oculus Rift, Samsung Gear VR, Sony’s PlayStation VR, Google Cardboard, Microsoft HoloLens and HTC Vive.

Working Principle

Immersive experiences created by virtual reality can transport you to as far as the moon to as deep as the ocean. So, how does it work? Commonly, VR relies on headsets which are also known as the stereoscopic display for building immersive experiences using two small screens for each of the eyes. These headsets are referred to as head-mounted displays (HMDs).

Accelerometers and position sensors that are found within the HMD gives required inputs for making the experience responsive. Users can also wear VR gloves that help in tracking their hands and simulate textures and objects.

Binaural microphones are used for simulating 360° sound which is used to record the way refraction of sounds happen around human head and ear. These microphones are combined with ambisonic or 3D audio that responds on the basis of where a person is looking for making the experience even more realistic.

What is the difference between augmented reality and virtual reality?

Whether it’s the term ‘reality’ that tails these two technologies or the immersive experience that they offer, VR and AR do sound similar. The perennial question that haunts many web shenanigans is vis-à-vis the difference between them.

Virtual Reality Augmented Reality Creates an interactive 3D world effect where objects have a sense of spatial presence Altered form of reality where content superimposes real-world surroundings

Essentially, augmented reality, a precursor to a fully immersive VR experience, is an altered form of reality where content superimposes user’s real-world views. On the contrary, VR lets the user feel like they are in an entirely different world. So, whatever you see and experience in VR is different from what’s actually in your surrounding.

Applications of Virtual Reality

‘The Matrix’, 1999 science-fiction film, shows a VR simulator where human beings are placed within some sort of suspended animation. They are unknowingly trapped in a program called The Matrix.

Can something like that really happen? It’s debatable and let’s suffice to say that there are different possibilities that can bring a world of betterments in various sectors. Let’s look at some of them.

Healthcare

A study conducted by Duke University shows that paraplegic patients regained some control over their bodies by moving simulated limbs using VR. This was so helpful that many patients got upgraded from full paraplegics to partial paraplegics.

Tourism

Visit Wales created VR videos in 2017 to promote tourism in Wales and encourage travellers to visit the country. These videos included beautiful scenes of water bodies, dolphins, birds, and other wildlife that Wales has to offer. 85% of the people who watched these videos indicated that they would visit the location that was shown.

Marketing

Volvo’s EX90 experience helps users to go for a virtual ride in a car. This may not completely replace a test drive, but would definitely intrigue more people to visit the automobile store to see the car in person.

Journalism

From the New York Times VR films for VR journalism to the Guardian’s 6X9 project that explores solitary confinement, there is no end to the different ways it can be used.

Sports

NextVR has worked on the US Open tennis tournament and many boxing matches in addition to a live Coldplay gig.

Construction

Iris VR allows architects to take their clients on a VR tour of the building design before building them thereby enabling vital opportunities for feedback and changes.

Gaming

Yokey Pokey, A VR arcade, has 42 headsets including Oculus Rift, HTC Vive, Samsung Gear, and Playstation VR with about 30 gamers simultaneously able to play at peak times.

Drupal and Virtual reality: Use cases

There are future technologies like blockchain, augmented reality, Interplanetary File System etc. that are blowing horns in full volume letting us know that they are here to stay. Being one of the leading content management systems, Drupal leads by an example when it comes to innovating with technologies outside of its periphery. The Drupal community has been constantly engaging itself with experimentation using such technologies by leveraging Drupal’s astounding content management platform.

Well, for the starters, there is no end to the interest and the passion that web chefs in the Drupal Community show to the innovative technologies. They embrace them with open arms and that was pretty evident in the DrupalCon Los Angeles 2015.

[embedded content]


A 360° group photo in virtual reality was organised that made it possible to walk through the Conventions Center in LA and be a part of the community virtually.

There are many use cases that delineate amazing possibilities with Drupal and virtual reality.

Virtual Postcards

DrupalCon Nashville in 2018 had a plethora of exciting stuff to talk about. One of those things was the out-of-the-box use of VR to scan guests with 3D/VR postcards. Two iPads were used to scan visitors using itSeez3D, mobile 3D scanning application, who were interested to explore VR.

Illustration during a man with buildings the background and ‘Nashville and Bust’ written at the top


In the background, the models were delivered to an endpoint that would get the OBJ file. It would, in turn, upload it to a Drupal 8 site, powered by Drupal distribution Contenta CMS, and compose it into a small virtual postcard.

VR editor

DrupalCon NashVille 2018 also unveiled a VR editor built using Drupal as the backend and React as the frontend. This VR editor can be used to merge 360° photographs, sounds, and annotations into immersive experiences. These immersive experiences could be delivered in the browser on mobile devices using a VR-capable device and on desktops with VR hardware.

Logo of EditVR with shades of blue, green and pink in the background


A 360° VR tour of Carrol Etchen’s shop complex near Clear Lake, Iowa, was created using EditVR. It shows a collection of cars, trucks and tractors in a farm hall with icons depicting information about the objects and takes you to the next hall through arrow icons to explore more about the shop.

Two vehicles kept inside a car shop with icons denoting 'Antique collection’ and 'Back of shop’ overlaying themSource: Four Kitchens

WebVR

WebVR, a JavaScript API, uses VR headset like Google Daydream and a VR-capable device like Google Pixel for building immersive 3D experiences in the browser.

In a presentation given in Decoupled Developer Days in 2017, Drupal’s power in the content modelling in combination with virtual reality technologies was demonstrated. They exhibited an alpha Drupal-backed WebVR editorial studio through a model of a JSON-API compliant Drupal API. Waterwheel model and React were used to interface Drupal APIs and render dynamic experiences.

Flowchart showing a VR model consisting of 'Experience’, 'Scenes’ and 'Components’Flowchart depicting a VR model

The WebVR model consisted of information icons, ambient sounds, initial scene for VR tour, references to the scenes, coordinate system (X,Y,Z) etc. In this model, Drupal was, basically, used to consume data. So, entities like information icons and scenes were pulled from Drupal, rendered, and patched back to Drupal.

Drupal’s mastery in giving content editors the freedom of creativity and its greatness in content governance was on full display.

For instance, you can roam around the 360° visuals, look at the paintings on the wall with an information icon adjacent to it telling the user what that object is. You can drag and drop an information icon and place it over a different object. Or, click on an information icon hovering over an object and change the description of the object to make it relevant. Thus, Drupal’s mastery in giving content editors the freedom of creativity and its greatness in content governance was on full display.

A wooden shelf with some items and a whiteboard with an information icon describing an itemSource: Four Kitchens

For optimising performance, WebVR experiences should be focussing on reducing the discomfort for the people by maintaining a consistent and high frame rate. This can, otherwise, give them motion sickness.

And in case, users do not have a VR-capable device, use Progressive Enhancement. This means you must assume that the user is using a keyboard, mouse, touchscreen and other such traditional input without any access to a VR headset. Also, you should be adaptable to changes in input and headset availability at runtime.

VR tour of University 

One of the important aspects of content strategy for higher education websites is allowing the prospective students to take a digital tour of the university. Universities can use VR tour to build cross-channel experiences.

A Drupal agency developed a decoupled React VR application on top of Drupal 8. The Drupal site of Massachusetts State University (a fictional university) stored all the content and the media that will be featured in the VR tour. Media and position hotspots could be directly uploaded by the site administrators within the Drupal backend. The React frontend pulled in data from Drupal using JSON API.

[embedded content]


For instance, if a student would want to explore more about the university, he can take a virtual tour inside the 4 walls of his room. All he has to do is place his phone in a VR headset which would then allow him to wander the university campus, see the buildings, and view images, videos, program resources within the context of the tour.

How the future of virtual reality looks like?

Peter Rubin, Author of Future Presence: How Virtual Reality Is Changing Human Connection, Intimacy, and the Limits of Ordinary Life, said in an interview to The Verge in 2018 that for VR “to become a culturally accessible mainstream consumer technology, you’re looking well past 10 years. People are working on taste and smell, though those are probably the last pieces of the puzzle that will click into place. People working on brain-computer interfaces. People that are working on anything you can imagine”.

In a Bloomberg interview, Facebook founder Mark Zuckerberg resonated with similar thoughts saying that “VR is a good candidate to be the next major computing platform.” He thinks that it will take more time to get traction but is optimistic that VR could be a primary form of communication technology in the near future.

“Virtual reality is a good candidate to be the next major computing platform”- Mark Zuckerberg

Virtual reality is going to see a rapid shift in their adoption by the enterprises. By the year 2022, the market size of virtual reality and augmented reality is forecasted to increase by mammoth levels as can be seen in the graph.

Bar graph forecasting market size of virtual realitySource: Statista

By 2025, Gaming would be miles ahead as the leader of the market revenue through VR adoption followed by healthcare and engineering.

Illustration showing several icons denoting industries adopting Virtual Reality and 'Future of VR by 2025’ written at the topSource: Fullestop

Conclusion

Walking up from a dream may sometimes be the most upsetting thing when you realise that the world you were in just seconds ago is just a dream after all. It's everyone’s wish to escape from the reality and go into your own dream world. While you may not be able to go into the oblivion once and for all, virtual reality can let you enjoy dream world every now and then.

VR has a lot offer with a scope for implementation in a wide variety of sectors. Using the power and flexibility of Drupal for delivering content in combination with VR frameworks, possibilities of VR applications can be thrown wide open.

After all, who couldn't use a break from reality? Engage with our Drupal experts to know how we develop Drupal-based projects. Ping us at [email protected] to build futuristic solutions like VR.

Aug 24 2018
Aug 24

Knowledge and reasoning have enabled machines to beat even humans while bringing new power to the web.

Inspired by complex human autonomy, Artificial Intelligence (AI) is the perfect mix of science and art. The application of machine learning has advanced to an extent that it can read, understand, analyze and process the language. Siri, Cortana, Echo, and the Google Assistant are all great examples.

Natural Language Processing, another application of machine learning, is already taking the web by storm. Its ability to understand and process even the sentiments of the content has brought a new dimension to the web technology. Browsing is simplified, and it is now easier to classify the content, understand the user behavior, and protect the website (from attacks and spambots).

Widening The Horizon With Drupal

Although the prospect of artificial intelligence, coupled with web development is vast. We will touch the areas of Natural Language Processing in this piece. 

NLP has the potential to read, understand and improvise the content. 

Content Classification 

The first step is content extraction where different types of notable entities from documents, as context, are extracted and analyzed. 

When combined with Drupal the information can be evenly organized. The additional semantic entities in Drupal can be used to categorize the elements.

Taxonomy Proposer by IBM fits the bill just right. It analyzes and then groups similar documents together. Using custom clustering algorithm, it helps you create a taxonomy for your own content: the division of content into a categorized body of documents.

Descriptive image for taxonomy proposer by IBM Watson; Categorizing the documents(Source: IBM Knowledge Centre)

Next comes content classification, where the machine learns and then inspects the given text for known entities such as nouns, adjectives, or a verb to classify the content.


Content classification with Drupal
    
A 'node' can be linked with any (relevant) taxonomy term, but it can be presented to the users only after a 'view' is created for each node.     

In case the numbers are small, the editor can memorize them.   
  
Otherwise, the node can be passed to the NLP engine to memorize words. Once it is done, the content can be added to the 'tags' field.     

Similarly, NLP can also be used to prepare the content summary which can be used in Meta tags.

Tagging 

Organizations which are burdened with tagging and publishing a huge number of articles on a daily basis can utilize NLP. It can memorize the words and their respective categories, after which manual tagging is not necessary. 

It also improves the algorithm of the system. The system can be fed with words from various tags under the category of your choice. 

The machine learns. Identifies. And saves it in the memory. If needed, you may even alter it along with time.

Remember, you are only teaching the machine. The results will improve after some time.

Sentiment analysis

It examines the content (texts, images, and videos) and identifies the emotional outlook within the content, to identify and classify the writer's attitude as positive, negative, or neutral. 

Extracting sentiment from different types of content

(tweets, blogs or a video byte) can provide us with valuable insights into the author's emotions and point of view. It is important to ascertain if the tone is positive, neutral or negative, and whether the text is subjective (if it is reflecting the author's opinion) or objective (if it is expressing a fact).  

It serves its purpose truly when the quantity of content published is beyond human potential.

Given below is a demo on how NLP helps in sentiment analysis. The below-mentioned screenshots are taken from IBM Watson. 

The famous speech of Martin Luther King Jr. ‘I have a dream’ is added to the 'text' section. 

Descriptive image of Sentiment analysis by IBM Watson; Martin Luther King Jr popular speech entered in the text (Source: IBM Watson)


The overall sentiment of the speech as analyzed by the API

Sentiment analysis of 'I have a Dream' by Martin Luther King Jr; Overall sentiment score as 0.08 positive(Source: IBM Watson)

 

The overall emotion summary of the speech, as analyzed by the API 

Emotion analysis of Martin Luther King Jr. by IBM Watson; 0.12 anger detected; 0.53 sadness detected; 0.65 joy detected; (Source: IBM Watson)

Auto Summarizer 

It examines the content, keeping the basics of grammar for reference. After analyzing the tone and sentiments of the content it is easy for the machine to summarize the content. 

With auto summarizer, the machine can easily analyze and write the summary from the passage keeping in mind the keywords, sentiments, and the gist of the content. 

E-commerce 

In the era of the digital world, nothing beats the idea of personalization. As tantalizing as the concept may look, it is equally important as any other strategy for your business.   

Not only it helps boost the sales but it increases the time spent by customers too. By analyzing the browsing history and shopping preference the NLP can learn about the choices of the user better and personalize the suggested content in a better way. 

Amazon.com home page; An example of personalisation by Amazon(Source: Invespcro.com)

User information collected by statistic module (in Drupal) can be used to improve the NLP engine, which then would suggest related content to the user under “You may like” or “Related products” category. 

Inspired by behavioral psychology, reinforcement learning can be used to boost returns.

NLP can read, classify and group the products. When a user visits a category of product repeatedly, all the products from the collected information are shown as ‘suggestions’.  

Image Screening and Tagging 

For websites where people can share content through text, images, and videos, it is not possible to manually filter images that do not match the standards (are obscene). For this, image screening helps the system by identifying common shapes, objects, and concepts of images and returns a list of tags along with a score of how confident the system is about the result. This score can be used to maintain standards.

An example of this is given below in the screenshot where the object is identified, recognized and then tagged as ‘cat’.

Descriptive image of image tagging by filestack.com; Image of cat; Tags for cat on the right(Source: Filestack.com)


Another example shows how the system identifies, marks the confidence scores and then passes the result.  

Example of image tagging by Aylien.com; Tags and confidence score by the machine(Source: Aylien.com)

By a huge margin, this can ease the process of allowing graphics which meet the set standards without any form of manual verification.  

How Can NLP Boost Growth?

Manually classifying and categorizing the text sources is a time-taking procedure, especially for those who deal with a lot of content on a daily basis.

Social Media Presence

It can crawl and index thousands of stories which are live and trending on top with the help of keyword analysis, creating a live data set of analyzed and filtered data. You can also access real-time news and important stories of your interest. It can also monitor and measure the social media reactions on each post, and compose the next post accordingly.

Enhanced SEO

The discovery of NLP has shifted the focus from an explicit keyword-based search to context and intent-based content. This has changed the way SEO works. From what Google standards tell us, the SEO strategies should include on-page optimizations, like page titles, meta descriptions, and meta tags.

These are still effective parameters for bringing out a user-friendly content, particularly for long tail topics. NLP helps you find effective keywords and add them to your content to improve the relevancy as well as the ranking of the content.

Editorial and Publishing Solution

Even if you don’t publish content the way publishing agencies do, it is very important that your content delivers the value and goals of the agencies. NLP can create production-ready custom content in way lesser time. 

Solutions with semantic technology

With NLP one can review the unstructured data, too, and check large amounts of varied content (text, image, tweet). Not only it can add the meta information of a page, it can do so after analyzing the SEO trends around the topic and important keywords.

To Sum up

Machine learning has added a new dimension to Artificial Intelligence. It has the potential to revamp content marketing across all verticals and dramatically improve the user experience.

A crucial question here is, to what extent will AI change the web? What effects can it have on the web technologies and the relation between the web and the society? Can the advancement in AI bring another revolution to the web? The way it is seen, the way it works, and the way it is understood.
 

Aug 21 2018
Aug 21

The term ‘Migration’ accompanies itself with manifold thoughts into a person’s mind. A politics aficionado may talk about refugees who have migrated to another country for a new lease of life. On the flip side, a bird watcher would be keenly keeping track of migratory birds. In this digital age, a business analyst may think of challenges that come with the upgrade of the Drupal-powered website to a newer version.

Drupal.org website is powered by Drupal 7 and has not been upgraded to Drupal 8 yet! So, what’s the challenge?
a golden jumping from a transparent water pot to right to a bigger pot


For a website to be a high performing space, it is imperative to upgrade to the stable release of the content management system like Drupal. With Drupal 6 already having reached its End of Life in 2016, Drupal 7 and Drupal 8 have been the go-to versions for businesses. 

Drupal 8 would be supported by the community at large for a long time to come even after the Drupal 7 is no longer a community supported release on Drupal.org.

Therefore, upgrading to Drupal 8 would be a significantly important business decision with future in mind. But the trials and tribulations for a website in production have to be pondered over while migrating from Drupal 6 or Drupal 7 to Drupal 8.

What should you know before migrating to Drupal 8?

Ever since Drupal 8 was launched, it has been a commendable CMS with stupendous flexibility, enhanced scalability, and accentuated web performance. This has been the driving factor for the businesses wanting to migrate to this improved version of Drupal. Being built around newer technologies like Symfony and Twig, migration process from Drupal 6 or Drupal 7 to Drupal 8 can be attained successfully.

Upgrading to Drupal 8 would be a significantly important business decision with future in mind.
Illustration showing logo of Drupal 8 and the word ‘Drupal’ with numbers 5,6 and 7 floating aroundSource: Mobomo

Migration process is not a pushover with issues surrounding data migration and module shifts. It is, therefore, a good approach to be better prepared beforehand to reduce any sort of trouble later on after migration.

Complete theme revamping

After the migration, the site is going to look a lot more different in Drupal 8 than what it originally looked like in Drupal 6 and Drupal 7. This is because the themes and templates that are used in the older version are completely different. So, migration would lead to enormous amount of rework on themes.

Information architecture advancement

The efficacy in building more future-focussed applications would be facilitated by the move to migrate to an advanced architecture. It may seem like an astronomical task in the beginning but it is the perfect way for you to assess your existing information architecture. 

Updating the information architecture would not mean that the older version goes obsolete. Instead, it would spell the duplication of your older version into Drupal 8 and performing the fixes based on the new needs. For instance, it allows you to analyse the fields and modules that may not be in use for a while and improve the ones not performing well or even remove them completely.

More emphasis on native OOPS feature of PHP

Object-Oriented Programming (OOPS) concept has also been an integral part of Drupal integrated with the design system. Drupal 8 promotes OOPS features by putting more focus on its importance. Modules, themes, nodes and users are some of the Drupal components that fit the description of an ‘object’.

Increased focus on Drupal 8 core and mobile-first approach

Unlike contributed modules in Drupal 7, core functionalities have been emphasised in Drupal 8. Also, the user interface and the user experience in Drupal 8 are designed to meet mobile user’s needs for maintaining the mobile-friendliness.

Major Issues while upgrading from Drupal 6 or Drupal 7 to Drupal 8

Migrate, Drupal module, comes with the Drupal 8 core which gives a flexible framework for migrating content. But there are certain issues that creep in during migration that needs to be managed.

The trials and tribulations for a website in production has to be pondered over while migrating from Drupal 6 or Drupal 7 to Drupal 8.
Illustration showing a man standing and a lot of obstacles ahead of him


What are the major hurdles that have to be taken care of during migration? The primary considerations that have to be handled are listed below:

1. SEO migration

Site migration can lead to a temporary loss of traffic as the search engines would need time to update its index accordingly. Thus, even if some SEO tags or URLs are missing after migration, it can lead to negative impact on website’s SEO rankings. 

2. Content migration

Challenges may be faced during content migration. For instance, duplication of content might happen or you might notice some missing content. Moreover, in case, content is using some of the fields created using custom modules, field type will have to be created so that migration is successful.

3. View

One of the major issues that transpires while migrating is the unsuccessful translation of a Drupal core module called Views. It requires an upgrade path for any views that are defined in a Drupal 6 or 7 site and you need to manually create views in Drupal 8 after migration.

Views are entity-based in Drupal 8 and have an entirely different architecture. Most of the functionalities are same but there have been major improvements done related to cache and security.

4. Custom module

Custom modules would have to be rebuilt post migration.  Modules in Drupal 6 and Drupal 7 were based on APIs, hook and helper function provided by Drupal core but in Drupal 8 all the modules are based on Symfony. Most of the hooks and helper functions have been replaced with services and development is mostly based on OOPS principles. There isn’t any sort of backward compatibility in modules and that is why they have to be rebuilt in Drupal 8.

5. Contributed modules

In case, contributed modules provide an upgrade path, data stored by Drupal 7 version of that module is also migrated to Drupal 8. If the Drupal 8 port is not available, then a functionality has to be built or the module has to be ported to Drupal 8.

6. Themes

PHPTemplate has been replaced by Twig as the default templating engine in Drupal 8. So, themes would have to be rewritten after migration.

All the PHPTemplate files have to be replaced with the Twig files which means that developers can no longer write custom PHP code in templating files. Preprocess have to be written to modify the rendered output.

7. Node translation

Challenges can be faced during migration of a multilingual site to Drupal 8. Translations in Drupal 8 are stored in completely different way than in Drupal 7 and Drupal 6. Even the Drupal community is working actively on resolving issues in translation migration. To be on the safer side, one should be ready to migrate translation manually or add content again.

8. Specific websites factor

There will be issues with specific websites whose underlying built is not available for Drupal 8. For instance, ecommerce websites that are built on Drupal distribution Commerce Kickstart, which is not on Drupal 8, won’t be able to upgrade. On the contrary, a social intranet developed using Drupal distribution Open Social, which is available on Drupal 8, will be able to upgrade.

This is how we check Drupal 7 to Drupal 8 compatibility!
We have designed a Drupal 7 to Drupal 8 estimation tool that minimises manual audit effort to a great extent. All you need to do is to install our module called Drupal 8 upgrade estimate and get a quick report to better understand what you want.

Technical Issues

There are some more technical issues that are specific to Drupal 6 to Drupal 8 migration and Drupal 7 to Drupal 8 migration. What are they?

Migrating from Drupal 6 to Drupal 8

  • Aggregator categories would not be required to be migrated.
  • Changing the variable "filter_allowed_protocols" would require entering it into services.yml file.
  • Taxonomy term reference field settings have to be manually edited
  • Fields may not be visible on the edit form and the node view after the migration.
  • A web page may only load a few times which will seem like a broken theme
  • The menu_primary_links_source and menu_secondary_links_source variables are not migrated.
  • New modules and themes in addition to admin theme (if there is one set) must be enabled before proceeding with the migration.
  • Revisions of translated nodes are still not migrated.
  • Fields grouped by the Profile module in Drupal 6 won’t be grouped in Drupal 8.
  • The combination of selected user values and the current allowed values will comprise the “allowed values” setting of the resulting field in Drupal 8.
  • Drupal 8 core does not support PHP filter
  • A date could be interpreted differently due to time zones issue
  • URL aliases won’t work until language on new Drupal 8 site is enabled

Migrating from Drupal 7 to Drupal 8

  • Taxonomy term reference field settings have to be manually edited.
  • Migration of id column from Drupal 7’s ban_ip not successful
  • Issues with comment types can be seen.
  • Drupal 8 core does not support PHP filter
  • Issues with plain text fields can be observed

Case Studies

An actual Drupal upgrade case study would depict the challenges occurred and the measures taken to tackle them.

Drupal 6 to Drupal 8

The Anxiety and Depression Association of America (ADAA) is an international non-profit organisation. Their website was built on Drupal 6 which was in dire need of an upgrade.

The ADAA organisation wanted to incorporate a rich and modern user experience, better security and a brand image modernisation. So, in 2015, they opted for a brave decision as to choose Drupal 8, which was on the cusp of its official release, over Drupal 7.

Homepage of ADAA with a man standing in the mountainous area and a sun rising


The efficaciousness of Drupal

Drupal 8 was selected for its extensive support towards accessibility standards. It was more suited to meet their intricate requirements in comparison to other content management systems like WordPress and Joomla.

Project challenges and countermeasures

After the migration was performed, the new website encountered two issues for the word-go. First and foremost, the cornucopia of legacy content that was required to be imported and re-cast in the new, restructured format was a herculean task. 

Although the existing import module at the time worked for most of the content that it supported, some key areas created issues while manipulating media files. Thus, the module was extended with custom methods that allowed to enable the export process to be performed with an absolute efficacy.

Secondly, delivering an administrative interface, that could enable structured content to be edited logically, was a formidable task. This led to significant investment in new tools and difficulties in adapting to the new Drupal 8 framework. The hurdle was overcome successfully and new modern features could be delivered rapidly and effectively.

Drupal 7 to Drupal 8

SUNY Oneonta, member of the State University of New York, had public-facing site which was operated on the base of a Drupal 7 installation. The site did not adhere to best practices or standards in coding, theming or the architecture.

Interruptions in the services, downtimes, and the difficulties while migrating key pages into the responsive Drupal environment proved troublesome in the college’s recruitment efforts.

Homepage of SUNY Oneonta with a building and a tree in the background


Taking a plunge into Drupal

Previous website neither had a stable environment nor addressed the underlying architectural drawbacks. Being Drupal savvy, SUNY Oneonta were eager to migrate from their existing setup in Drupal 7 to Drupal 8.

Project objectives

The most important objective was to revamp their public-facing website and leverage the capabilities of Drupal 8.

  • Retain the existing Drupal 7 website design and upgrade to a functional responsive design
  • Retain most of the Drupal 7 navigation structure
  • Ensure that there is very less or no downtime in addition to flexibility for future enhancements
  • Betterments in the workflow, underlying architecture, user experience, translatability and accessibility
  • Launch the website at the stipulated time frame of 5 months

Project outcome

The results were staggering with faster performing site, on-point informative content and much better search results. In addition to this,

  • Adhered to the project budget with the retention of current brand and general site design.
  • Reduction in the count of content types from 21 to 10 in addition to the number of nodes from 3000 to less than 1100.
  • Usage of views and other such standard Drupal implementation methods for the listicles involving items and featured content.
  • Reduction in the redundancy of template file functionality
  • Enhanced flexibility for permitting future alterations to the website content and structure.
  • Test content and some published content purged
  • Site was built on the basis of accessibility standards set by Federal Section 508 Standards and New York State Policy NYS-P08- 005 in addition to being fully responsive across screens.

How will the upgrade from Drupal 8 to Drupal 9 happen?

Drupal community is working on the upgrade from Drupal 8 to Drupal 9. How will that transpire exactly? Old systems will be deprecated instead of being removed by encouraging the module maintainers to update to the new systems. That is, the modules and custom code will stay in working condition. More innovation will lead to more deprecated code in Drupal 8.

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

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

Conclusion

Upscaling the digital business involves continuous improvement of online presence. One of the significant business decisions comes with the upgrading of website from the existing content management platform to its latest and improved version.

Drupal 6 or Drupal 7 to Drupal 8 migration is a worthy choice. Nonetheless it is challenging and involves migration issues that would require a lot of developmental effort. Businesses looking for a great future can benefit a lot by this brave decision which may look troublesome at the start but is essentially meritorious.

We provide upgrade assistance and help in understanding whether or not to migrate a business site to Drupal 8 or not. Contact at [email protected] to migrate to Drupal 8.

Aug 20 2018
Aug 20

The internet is a wild place. You never know who’s on the hunt for vulnerabilities of your site. In fact, the moment you deploy your application on the web, you are inviting all sorts of requests on your server. Apart from genuine users, these could potentially be automated scripts, (mostly harmless) bots or crawlers, ethical/non-ethical hackers or some curious geeks (like me).

One of the key areas of interest for them is to exploit the authentication or login system of an application. Compromising the security of your users’ accounts can lead to severe consequences such as the leak of their personal information, misuse of their identity (or your platform), and can even cause financial losses. 

It is of utmost importance to ensure that healthy security standards are implemented. These include enforcing strong Password Policies, employing salted password hashing, adopting HTTPS, preventing brute force attacks, utilizing two-factor authentication and so on.

Securing a Drupal site is a vast topic in itself, but in this article, we will focus on understanding the default flood control mechanism and then later explore the usage of Login Security, a contributed module, to enhance the security.

Default Flood Control Mechanism of Drupal

In Drupal, User, a core module, is responsible for providing the features related to user account management such as authentication, logging in/out, password management, registration, roles, and permissions. It also does a basic yet effective prevention against brute force attacks using its flood control mechanism.

Flood Control of Drupal in ActionFlood Control of Drupal in Action

Whenever a user authentication fails, it is considered as a flood event and its entry is made in the “flood” schema storing the event type, user identifier, timestamp, and expiration of this flood event. There are two ways (flood event types) in which Drupal keeps a track of login failures – IP address based, and user account based. 

Flood database tableFlood database table

By default, an IP address gets blocked if there have been 50 login failures from that IP address within an hour. Also, the combination of the user account and the host IP address gets blocked if there have been 5 login failures for that user account from that IP address within a span of 6 hours.

read me file of login security module with default valuesread me file of login security module with default values for blocking the user

However, there are mainly two limitations of this default mechanism. 

  • There is no user interface for site administrators to configure the allowed number of login attempts and blocking time period.
  • There should be some way to alert the site admin or the user whose account is being exploited.

Now, let us explore how we can use Login Security to overcome these limitations.

Downloading and Installing Login Security Module

The only prerequisite of the module is the core Ban module. Once you’ve made sure, it is enabled, you may proceed with installation of the Login Security module using any of the below methods.

$ drush dl login_security && drush en -y login_security

or

$ drupal module:download login_security && drupal module:install login_security

or

$ composer require 'drupal/login_security:^1.5'

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

Enabling Login Security module using admin UIEnabling Login Security module using admin UI

How does the Login Security module work?

The module works by implementing hook_validate(), thereby overriding the default login form flow. It maintains its own schema, login_security_track, to keep a track of failed login attempts. It can detect an ongoing attack using the configured threshold value within a set time window and can also alert the site administrator through email or logs.

Login Security Track database tableLogin Security Track database table

It offers two types of protection against the attacks – Soft and Hard. The soft protection is similar to the default flood mechanism, that is, it temporarily blocks the user from submitting the login form. The hard protection, however, permanently bans the host IP address and changes the status of the user account to blocked. 


If needed, the site administrator can unban the IP addresses from the admin UI available at admin/config/people/ban and unblock the users from admin/people. Additionally, it can also be configured to display the last access and last login timestamp to the users to further comfort them of their security.

A Drupal message shows the last access and login timestamp to users after successful Login A Drupal message shows the last access and login timestamp to users after successful Login

Configuring Login Security

The module provides a configuration form under admin/config/people/login_security. So, navigate to Manage → Configuration → People → Login Security.

You may configure the following options as per your security needs and then hit “Save configuration” to apply the changes.

Configuring the Login Security moduleConfiguring the Login Security module

Configuration

Default Value

Description

Track time

1

The time window for which the login failures are considered. Soft protections expire after this time

User

0

Max. number of login failures after which a user account will be permanently blocked

Soft host

0

Max. number of login failures after which an IP address will be temporarily blocked from submitting the login form

Hard host

0

Max. number of login failures after which an IP address will be completely banned using the core ban module

Attack detection

0

Max. number of login failures after which an ongoing attack is detected and a warning is logged

Disable login failure error message

False

Display the core login error messages

Notify user about remaining login attempts

False

Display the number of attempts remaining before the user account will get temporarily blocked

Display last login timestamp

False

Display a Drupal message with the last login timestamp of the user

Display last access timestamp

False

Display a Drupal message with the last activity timestamp of the user

Along with these configurations, the text within the Drupal messages on the events (failed login attempt, hard/soft IP address ban, and blocking of the users), and the email fields (address, subject, and body) can also be configured. You may use the provided tokens to send a dynamic data in the alert/message.

Configuring the alert settings of the moduleConfiguring the alert settings of the module

Conclusion

The Login Security module adds another measure of security to a Drupal website. In particular, it allows greater control on dealing with a situation of a brute force attack. At the end of the day, however, ensuring security is not just limited to configuring the modules but also lies in the hands of people who administer and deploy the websites.

In case of any queries or suggestions, feel free to drop down a comment.

Aug 14 2018
Aug 14

Possibly the greatest ever digital signage advertising was created for British Airways which had it all. The advert, connecting to live flight information, displayed a child pointing up to the sky as an aeroplane flew above him. This was so cleverly done that the advert showed the flight number and its destination as well.

What a great blend of entertainment and education using the latest technologies!
A big screen shows a child pointing his fingers upwards while a plane flies in the skySource: British Airways

The digital signage system is scalable and its usefulness can be extracted to a great extent like digital menu boards for restaurants or the interactive digital movie posters for movie theatres. Drupal has the power to be a remarkably scalable digital signage solution for different sorts of organisations thereby reducing costs, speeding up time to market, and building engaging experiences for the people.

Digging Deeper Into The Terminology: Digital Signage

Digital signage refers to a centralised content dissemination platform for serving digital content on screens. It can be leveraged to display information through television programming, menus, advertising and other messages.

It can be seen in the form of digital signboards, billboards, and other such display devices for displaying visual information. It is connected by a content management system like Drupal that sends the digital content to be displayed. The information displayed can be anything ranging from static data and charts and graphs to images and video streaming.

Digital signage is a centralised content dissemination platform for serving digital content through television programming, menus or advertising on screens.

It can be commonly seen in outdoor marketing campaigns to display promotional content. Moreover, industries that rely on real-time information delivery to its employers or customer such as stock exchanges, airports, and sports stadiums can use digital signs to a great extent.

Digital Signage Can Be Used In Awesome Ways

Its uses can be seen through the eyes of organisations to understand the different ways it can be implemented. Some of the biggest brands have harnessed its immense potential.

Netflix, one of the largest over-the-top media service providers, carried a promotional campaign that relied on the humbled animated GIF. Instead of using a long video clip, they opted for reaction-based clips which were just a few seconds long. These videos were tied into the events that were actually happening around the globe.

[embedded content]


Swedish pharmacy Apotek Hjärtat developed a controversial billboard using a built-in smoke detector. Every time a smoker passed by, the billboard would cough loudly at them before displaying a series of products to help people stop smoking. Although it turned heads, questions were raised whether such an overt messaging is effective or not.

[embedded content]


Coca Cola’s Small World Machines Initiative had a grand ambition and offered a live link between India and Pakistan. Coke machines were placed in both the nations where people could interact with one another through the screen like touching hands, drawing peace, love, and happiness symbols together.

[embedded content]

A Trio Of Major Merits Through Digital Signs

Enormous possibilities of digital signs are pretty evident with so many big brands using them to a great effect. Using digital signs can prove beneficial in many ways.

  • Enhances customer engagement: People love colourful and moving images rather than static images which help in enhancing user engagement.
  • Makes a good impression: Content can be updated remotely within seconds. For instance, such quick updates can help retailers to form a good impression and adjust to customer demands without having to deploy employees or new signs printed.
  • Revs up revenue: Digital signs can help increase your sales and revenue. In 2014. Taco John deployed digital menu boards and witnessed a 12% increase in sales.

How Can Drupal Be The Perfect CMS For Digital Signage Solutions?

Well, it all boils down to the CMS that would be relaying digital content on to the screen to attract people. Drupal is one of the big players in the content management systems that can be the perfect fit for creating digital signs.

Content Creation

Your CMS should allow the content creation to be done intuitively and support all the common file types. Drupal comes with intuitive tools for content creation, workflow and publishing for streamlining content authoring.

Remote Access

With Drupal, on-the-go team members can assess, edit and approve content from mobile devices to keep content and promotional campaigns flowing on to the screens regardless of where they are and what device they are working on.

Content Revision

Drupal helps in enabling a swift and simple way to track all the alterations and revisions which is a must-have if you have multiple editors and need to handle a history of content changes.

Content Workflow

Drupal allows you to administer custom, editorial workflows for all the processes involved in the content production. It lets you view the stage your content is in - from creation to assessment to publication.

User Controls

Authentication and user permissions in Drupal helps in handling editorial workflows efficaciously and previews show how the content will look on screen before the content editors would finally approve and relay them on to the screens.

Content Scheduling

Drupal has the provisions for scheduling the content at your own convenience. It is possible to schedule a campaign to be published at a certain time. In case, a campaign is no longer required or outmoded, it can be unpublished as well.

Security

Drupal is one of the most secure CMS platforms among the leading players like Wordpress, Joomla and Magento. In a report published by Sucuri called Hacked Website Report, Drupal turned out to be the least vulnerable to security attacks in comparison to Wordpress.

Scalability

Your CMS should be able to grow with you and accommodate more screens. Drupal is a highly scalable solution with high traffic sites like Grammy, NBC Olympics, University of Oxford and many other renowned names performing astoundingly well even during the busiest of times.

Support And Maintenance

Drupal is an open source solution and you can rest assured that the Drupal community comprises of numerous vendors who are adept at providing round the clock support and maintenance.

At Opensense Labs, we have designed the Bucket and on-the-go models of support and maintenance services. We offer support in the day-to-day operations. Our support hours run parallelly with business hours but are extendable as per your needs.

Use Cases

The University of Iowa, which is powered by Drupal, kicked off a Drupal Digital Signage Service to offer new digital capabilities inside the campus.

Drupal’s flexibility in content management and delivery in combination with Intel Compute Sticks, mini-computers that serve each screen or sign, proved rewarding. This helped in offering wireless connectivity to the Drupal-based content as it is relayed on to the screens in real-time.

Three girls looking at a screen showing building architectureSource: University of Iowa

The digital signs provided key information for students like the time at which a bus would arrive or leave, emergency alerts, advertisements for student groups, computer lab availability, university news, and events etc.

The University reported rapid adoption of the service as many colleges and divisions within the University used the free and user-friendly solution on several screens. Stakeholders used templates and drag and drop tools and widgets for customising and governing the screen content.

The University’s move to expand the use of Drupal to digital signs proved beneficial in many ways. An IOWA NOW news story stated that “the backend is incredibly user-friendly. It’s the same system our websites run on, and so very intuitive. The web-based platform allows us to update information and slides from anywhere and anytime”.

Being an open source software, Drupal incurred no licensing fees. Hardware costs were lower too. Thanks to the project team’s discovery that the digital signs could be run on small, energy-efficient compute sticks. Moreover, wireless connectivity eliminated the expense of data ports and cabling.

People standing at the sides of the screen showing the pillars and the word IOWASource: University of Iowa

The Drupal Digital Signage system, rather than using a webpage, used a specialised software application. This made the displaying of content as simple as plugging the URL of a sign into a browser. Users were granted access permissions for specific signs and by utilising templates and a drag-and-drop interface, they could display the content or widgets in numerous regions of the screens. That content, displayed on the screen, could also be shared with other units.

Furthermore, the digital signs, being accessible to all screen-reading technologies, saved staff time. Being easy to learn, training time got reduced.

Content editors only needed to enter news or events into a familiar interface. The content would go to both their websites and digital signs simultaneously without having to perform double entry.

Another example can be seen through Metropolitan Transportation Authority (MTA) which plays a huge role as the largest public transit system in the United States of America. It had benefitted tremendously by using Drupal and Amazon’s Internet of Things (IoT) service from Amazon Web Services (AWS). With Drupal, the MTA was able to leverage the same CMS that powers its website to serve content and data to thousands of digital signs in hundreds of stations in New York City. By utilising the power of digital signage into station countdown clocks, MTA has been able to disseminate a great customer experience.

A digital signage screen in New York railway station reading station name and time of arrivalSource: Acquia

The content can be built inside Drupal and data is pulled from external feeds in order to supply the countdown clocks with data. Data can be pulled from transit information, weather and message provider as Drupal is equipped with provider APIs. Once data is given context via Drupal content model, it is pushed to the digital signs with the help of a data pipeline that was implemented to leverage IoT service from AWS. Using progressively decoupled Drupal approach, a front end experience was developed using ReactJS for displaying the data. As data flows, React governs all the important on-screen presentation and utilises the data that is received to inform the display on the countdown clock.

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.

    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