Jul 05 2019
Jul 05

"The digital voice assistant market is projected to experience continued expansion in the coming years, with number of voice assistants in use increasing from 3.25 billion in 2019 to around 8 billion by 2023" - Statistia

“Read out the headlines on the front page of today’s edition of The New York Times newspaper”. Say something like this to Google Home or Amazon Echo and you will get to listen to a voice reading out the news. Forget swiping, scrolling and typing, just talk to a voice assistant and hear what you want. Voice interfaces are all the rage in recent times.

A pile of books, a voice interface device, a pen and an apple kept close to each other


Not only is it helpful for your personal use, but organisations from different industries can find it meritorious. When it comes to new publishing opportunities, voice interfaces are right up there alongside artificial intelligence, augmented reality and blockchain. This world is not a part of a fairy tale and voice interface do pose a few challenges. Before we see how publishing companies make a great use of voice assistants, let’s explore voice interfaces a bit.

What exactly are voice interfaces?

Voice user interfaces (VUIs) enable the user to communicate with a system through voice or speech commands. Amazon Alexa, Echo dot, Google Home, Google Mini, Siri, Cortana and the Google Assistant some of the great examples of VUI.  The primary advantage of a VUI is that it enables you to interact with a product hands-free, eyes-free.

The primary advantage of a VUI is that it enables you to interact with a product hands-free, eyes-free.

Applying the same design guidelines to VUIs as to Graphical User Interfaces (GUI) is impossible. There are no visual affordances in a VUI. That means when you are looking at a GUI, you have no apparent indications of what the interface can do or what are the options available. When designing VUI actions, it is of paramount significance that the system clearly lays down possible interaction options, lets the user know what functionality is he/she is using and limit the amount of information to an amount that the user can remember.

Now, why are they important? It’s growing at an alarming pace and Gartner, a research firm, says that it is a trend, no discussion. You can see ‘Virtual Assistant’ in the graphical representation of emerging technologies below.

raphical representation showing parabolic line and blue dots and yellow triangles on it to show the Gartner's hype cycle for emerging technologiesSource: Gartner

VUI is getting better and better. In just an year, the betterment is apparently visible. Whether it is Google Home or Siri, advancements are impeccable as can be seen in the following graph.

Bar graph showing a light and dark green vertical bars to depict the improvement in voice assistants

Things that publishers need to know

There is a land grab to own skills and in the arena of VUI, skills can be split into two categories.

First is the branded skills that are connected to your brand and could not be owned by any other organisation. Skills like TED’s ‘play the latest TED Talk’ action and the Wall Street Journal’s ‘What’s News?’ come into this category.

Another category is the one that encompasses more generic skills like “Alexa, give me the headlines on sports” or “Okay Google, give me the stock market news”. Ownership of such generic skills would give you the sole authority over all the categories from the creation of first-mover advantage in the market as brands race to the capturing skills before they are gone.

This can make things tougher for brands who are looking to extract market-specific skills in both the generic and branded categories. And like most things, it is all about finding the right target.

Consumer Intelligence Research Partners stated in a study that Amazon Echo customer spend 66% more than average Amazon customers. This goes to say that Amazon can now afford to sell Echo devices at a lesser price than originally planned. They can even occasionally take a loss on devices for gaining a greater share of consumer spending. The inference that we get from this for the publishers is that optimising for voice search could result in a revenue boost.

Benefits of voice assistants for publishers

Emphasising on Customer Experience

Fabrice Rousseau, Amazon’s general manager of Alexa skills, emphasised on reinventing customer experience with the help of voice technology in his keynote address at the CMO Digital Insight Summit. He said, “When we moved from desktop to mobile we didn’t bring the desktop experience to mobile, we invented a very specific mobile experience”. He further stated, “When you move from mobile to voice don’t bring your mobile experience. Just invent an experience that is unique to voice.”

Fabrice Rousseau, Amazon’s general manager of Alexa skills, standing on the stage and several people sitting and listening to him.

One of the greatest examples of the importance of customer experience through voice technology can be seen through Amazon Audible. If you are a fan of audiobooks, the odds are that Amazon is your preferred place to shop. Of all the ways Amazon has been able to prove its hegemony in the book market, its share of audiobook sales probably represents its most formidable dominance.

Branding with skills

It is of utmost importance to note that, as far as most of the publishers are concerned, although the VUIs have been storming the market, there’s still plenitude of advancements in the pipeline. In spite of early triumphs with branded skills and flash briefings, VUIs still operate at a fairly low level such as following the commands to play music or read out your appointment dates. With that being said, many publishers are already working on plans for expansion. With the land grab to own skills still underway, the ones who make the first move will taste the success in the future.

What are the major challenges?

Dearth of personality

Voice assistants’ dearth of personality is one of the foremost concerns of publishers. Chris Gathercole, the head of FTLabs at the Financial Times, and his team used Amazon Polly for converting existing text articles into audio that is then delivered by ‘Artificial Amy’. What they observed was that ‘Amy’ was quick to learn and was also cost-effective but her lack of human-like characteristics was irksome and killed the humour or nuance of a piece.

Banal and disturbing

Automated voices are often either of banal nature or straight up disturbing which can put users off. An amalgamation of artificial and human voices could temper the issue with a voice actor reading parts of the text and a computerised voice contributing further snippets.

Automated voices are often either of banal nature or straight up disturbing

Privacy concerns

There are privacy concerns hovering around the ownership of devices that are essentially perpetually eavesdropping on your home. Consumer Watchdog, a customer advocacy group, stated in a study. “These patents show that smart devices target moments in between screen time to monitor sleep habits, listen in on dinner conversations, and track when users shower. Access to this data can flesh out Google and Amazon’s profiles of their users in order to help them more accurately server targeted ads”.

Conclusion

Conversations will evolve into an integral element of digital experiences. Interfaces that enable people to use natural language - from chatbots based on typing and reading to voice interfaces that are based on speaking and listening - are highly popular but also very immature.

However, with more devices without screens being connected, more consumers will look to voice for controlling their efforts and to perform more intricate tasks. Enterprises including publishing companies need guidance from Customer Experience (CX) pros so that their efforts at building conversational interfaces help customers instead of driving them away.

Looking for CX pro? Look no further than OpenSense Labs as we strongly believe in offering a wonderful digital experience through a suite of services.

Contact us at [email protected] to know more about the benefits of voice interface for a publishing company.

This block is broken or missing. You may be missing content or you might need to enable the original module.

Jun 21 2019
Jun 21

"There are hundreds of startups with a lot of brains and money working on various alternatives to traditional banking" - Jamie Dimon, CEO, JPMorgan Chase

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

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


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

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

A portmanteau of financial technology

[embedded content]


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

The lines between technology and the financial services are blurring

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

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

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

Origins of FinTech

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

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

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

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

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

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

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

Merits of FinTech

Bar graph showing statistics on different areas of FinTech


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

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

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

Bar graph showing statistics on personal financeSource: Statista

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

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

Bar graph showing statistics on Insurtech industrySource: Statista

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

How is Drupal powering FinTech?

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

The launch of TPG Capital

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


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

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

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

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

The launch of Tech Coast Angels

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


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

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

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

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

Market trends

Bar graph showing global investments activity in FinTech companies


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

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

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

Conclusion

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

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

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

Jun 21 2019
Jun 21

"Information is a source of learning. But unless it is organized, processed, and available to the right people in a format for decision making, it is a burden, not a benefit." - C. William Pollard, Chairman, Fairwyn Investment Company

Have you always secretly wanted to spend your evenings writing symphonies, learning about filmography or assessing climate change? Studying niche subjects have traditionally been for niche students. But e-learning platforms have changed all that with the provision for learning almost any subject online.

A student in the front and two behind him sitting on their chairs with a paper and a pen in their hands


Corporate e-learning has witnessed a stupendous 900% growth in the last decade or so. With more and more e-learning platforms flourishing, organisations are striving to be the best to stand apart from the rest. Drupal has been a great asset in powering education and e-learning with its powerful capabilities that can help enterprises offer a wonderful digital experience. Let’s trace the roots of e-learning before diving deep into the ocean of possibilities with Drupal for building an amazing e-learning platform.

Before the internet era

Infographic with ten rows, icons and text showing the timeline of e-learningSource: eFront

A brief history of e-learning can be traced through the compilation made by eFront. Even before the internet existed, distance education was being offered. In 1840, Isaac Pitman taught shorthand via correspondence where completed assignments were sent to him via mail and he would, then, send his students more work.

Fast forward to the 20th century, the first testing machine was invented in 1924 that enabled students to test themselves. The teaching machine was invented in 1954 by a Harvard professor for allowing schools to administer programmed instruction to students. In 1960, the first computer-based training program (CBT program) called Programmed Logic for Automated Teaching Operation (PLATO).

At a CBT systems seminar in 1999, the term ‘e-learning’ was first utilised. Eventually, with internet and computers becoming the core of businesses, the 2000s saw the adoption of e-learning by organisations to train employees. Today, a plenitude of e-learning solutions are available in the form of MOOCs (Massive Open Online Courses), Social platforms and Learning Management System among others.

E-learning: Learn anywhere, anytime

In essence, e-learning refers to the computer-based educational tool or system that allows you to learn anywhere and at any time. It is the online method of building skills and knowledge across the complete workforce and with customers and partners. It comes with numerous formats like the self-paced courses, virtual live classrooms or informal learning.

E-learning refers to the computer-based educational tool or system that allows you to learn anywhere and at any time

Technological advancements have diminished the geographical gap with the use of tools that can make you feel as if you are inside the classroom. E-learning provides the ability to share material in all sorts of formats such as videos, slideshows, and PDFs. It is possible to conduct webinars (live online classes) and communicate with professors via chat and message forums.

There is a superabundance of different e-learning systems (otherwise known as Learning Management Systems or LMS) and methods which enable the courses to be delivered. With the right kind of tools, several processes can be automated like the marking of tests or the creation of engrossing content. E-learning offers the learners with the ability to fit learning around their lifestyles thereby enabling even the busiest of persons to further a career and gain new qualifications.

Merits and Demerits

Some of the major benefits are outlined below:

  • No restrictions: E-learning facilitates learning without having to organise when and where everyone, who is interested in learning a course, can be present.
  • Interactive and fun: Designing a course to make it interactive and fun with the use of multimedia or gamification enhances engagement and the relative lifetime of the course.
  • Affordable: E-learning is cost-effective. For instance, while textbooks can become obsolete, the need to perpetually acquire new editions by paying exorbitant amounts of money is not present in e-learning.

Some of the concerns that are needed to be taken care of:

  • Practical skills: It is considered tougher to pick up skills like building a wooden table, pottery, and car engineering from online resources as these require hands-on experience.
  • Secludedness: Although e-learning enables a person to remotely access a classroom in his or her own time, learners may feel a sense of isolation. Tools such as video conferencing, social media and discussion forums can allow them to actively engage with professors or other students.
  • Health concerns: With the mandatory need of a computer or mobile devices, health-related issues like eyestrain, bad posture, and other physical problems may be troublesome. However, sending out proper guidelines beforehand to the learner like correct sitting posture, desk height, and recommendations for regular breaks can be done.

Building Yardstick LMS with Drupal

OpenSense Labs built Yardstick LMS, a learning management system, for Yardstick Educational Initiatives which caters to the students of various schools of Dubai.

Homepage of Yardstick LMS with logos of schools containing leaves, candle, open books, and firestickYardstick LMS Homepage

The architecture of the project involved a lot of custom development:

1. Yardstick Core

This is the core module of the Yardstick LMS where the process of creating, updating and deleting the nodes take place.

2. Yardstick Quiz

We built this custom module for the whole functionality of the quiz component. It generates a quiz, quiz palette and quiz report after quiz completion based upon the validation of the visibility of the report.

Quiz report of Yardstick LMS with table consisting of columns showing the list of schools, students and grades.


We could generate three kinds of reports: 

  • An individual-level quiz where one’s performance is evaluated
  • A sectional-level report where performance for each section is evaluated
  • Grade-level report where performance for all the sections is compared and evaluated.

For the quiz, we had different sub-components like questions, options, marks, the average time to answer, learning objective, skill level score, and concept. The same question could be used for different quiz thereby minimising the redundancy of the data. Also, image, video or text could be added for questions.

Subcomponents of yardstick LMS with a tabular column for assessing the learning objective and two of the metrics coloured yellow and red.


3. Yardstick Bulk User Import

This module was built to assist the administrators in creating users all at once by importing a CSV file. Also, there is an option to send invitation mail to all the users with login credentials.

Message box for importing users with a blank box and a submit button


4. Yardstick Custom Login

We provided a custom login feature where same login credentials could be used to log into the Yardstick system. That is, we provided an endpoint for verifying the login credentials and upon success, users were logged in.

5. Yardstick Validation

This module offers all the validation across the site whether it is related to access permission or some time validation.

6. Yardstick Challenge

It offers the user an option to submit a task which is assigned to them where they are provided with text area and file upload widget.

Yardstick LMS has an intricate structure

On the end user side, there is a seamless flow but as we go deeper, it becomes challenging. Yardstick LMS has an intricate structure.

We had two kinds of login:

  • Normal login using Yardstick credentials
  • And the other for school-specific login like the Delhi Public School (DPS) users.
Flowchart with rectangles and circles of different colours explaining Yardstick LMS custom loginYardstick LMS custom login for DPS users

For DPS users, we used the same login form but a different functionality for validating credentials. DPS school gave us an endpoint where we sent a POST request with username and password. If the username and password were correct, then that endpoint returned the user information.

If the username was received, we checked on our Yardstick system if the username exists. If it does not exist, then we programmatically created a new user with the information that we received from the endpoint and created a user session. And if does exist, then we updated the password on our system.

Yardstick LMS is designed to govern multiple schools at the same time

We designed Yardstick LMS in such a way that multiple schools can be governed at the same time. All the students of various schools will be learning the same content thereby building uniformity.

The core part of our system dwells in the modules. The module is a content type that can store numerous information like components, concept, description, objective, syllabus among others. 

Several different components can be added like Task, Quiz, Video task, Extension, Feedback, Inspiration, pdf lesson plan, Real life application, and Scientific principles.

Yardstick LMS real-life application component page with an image showing animated human figures and atomic theory written above themYardstick LMS Real life application component page

Schools could opt for different modules for different grades. When a module was subscribed by a school, a clone module of the master module was created and the school copy was visible only to the school. School version could be modified by the school admin as per their needs and preferences. Master module remained the same. While creating a subscription, administrator had to provide the date so that the components were accessible to the students. School admin could set different dates to different components and only the components with past date were accessible.

Flow chart showing rectangles, squares and elliptical circle of different colours to explain module subscription to school in yardstick LMSFlow Diagram of module subscription to school

Also, we provided an option to create a dynamic feedback form for the modules for analysis. Yardstick Admin had the option to design and create a feedback form as per their requirement and could assign it to a particular module. Different types of elements could be utilised for designing the form like rating, captcha, email, range slider, text field, checkboxes, radio buttons and so on.

Message box showing star icons, a blank box and a submit button


Students and teachers need to submit their feedback for each of the modules. On the basis of this, Yardstick team try to improve the content of the system.

Session evaluation page of yardstick LMS with a set of questions on the left and different options on the right and a blank box at the bottom


Also, various roles were defined for users such as Yardstick Administrator, School Administrator, Teacher, and Student.

1. Yardstick Admin

Yardstick Admin can perform all the operations. He or she can create new users, grant permissions and revoke them as well.

2. School Admin

It has the provision for handling all the operation which are only related to their school. School Admin handles the modules and their components and can import user for their school. All school reports and task submissions are visible to School Admins.

3. Teachers

Teachers can view modules and components assigned to their classes and provide remarks to the students for multiple components and they can view all kinds of reports.

4. Students

They can attempt quiz, submit tasks, view components and view their own reports.

What’s the future of e-learning?

According to a report on Research and Markets, the e-learning market is anticipated to generate revenue of $65.41 billion by 2023 with a growth rate of 7.07% during the forecast period.

The report goes on to state that with the advent of cloud infrastructure, peer-to-peer problem solving and open content creation, more business opportunities would pop up for service providers in the global e-learning market. The introduction of cloud-based learning and AR/VR mobile-based learning will be a major factor in driving the growth of e-learning.

The growth of the e-learning market is due to the learning process enhancements in the academic sector

According to Technavio, the growth of the market is due to the learning process enhancements in the academic sector.

Infographic showing statistics on e-learning market with icons representing bar graph, speedometer, horizontal lines, and a bulbGlobal self-paced e-learning market 2019-2023 | Source: Technavio

Following are major trends to look forward to:

  • Microlearning, which emphasises on the design of microlearning activities through micro-steps in digital media environments, will be on the rise.
  • Gamification, which is the use of game thinking and game mechanics in a non-game context to keep the users engrossed and help them solve more problems, will see increased adoption rates.
  • Personalised learning, which is the tailoring of pedagogy, curriculum and learning environments to meet the demands of learners, can be a driving force.
  • Automatic learning, like the one shown in the movie The Matrix where a person is strapped onto a high-tech chair and a series of martial arts training programs are downloaded into his brain, can be a possibility.

Conclusion

It’s a world which is replete with possibilities. As one of the most intelligent species to walk on this earth, we perpetually innovate with the way we want to lead a better lifestyle. We learn new things to gain more knowledge. And in the process, we find ways of improving our learning experience. E-learning is one such tech marvel that promises to be a force to reckon with. It is not a disrupting technology but something that is going to get bigger and bigger in the years to come.

As a content management framework, Drupal offers a magnificent platform to build a robust e-learning system. With years of experience in Drupal Development, OpenSense Labs can help in providing an amazing digital experience. 

Contact us at [email protected] to build an e-learning system using Drupal and transform the educational experience.

Jun 14 2019
Jun 14

A lot of buzz around “Decoupled Drupal” is taking place and it has quickly become ubiquitous in the industry. Drupal has won hearts by embracing the newest of technology and presenting the best of possibilities. The full separation of the structure from the content has aided the content management systems with appropriate means to accelerate the pace of innovation. 

In this blog, we will address some loaded questions of what, why and when of Decoupled Drupal for you. 

A headless robot

Decoupled Drupal Is For You

Rendering a separate framework for front-end and back-end content management experience, Decoupled Drupal provides for a content presentation that is completely devoid of the content management. It is also known as ‘Headless Drupal’, where the head refers to the front-end rendering or the presentation of the content and the ‘body’ attributes to the backend storage. 

Addressing the 3 Ws: Why, What, When 

In this section, we will take one head at a time and examine the core functionalities of Decoupled (Headless) Drupal. 

Why Decoupled?

Being a flexible framework for developing websites, web/native apps and similar digital products, Decoupled Drupal allows for designers and front-end developers to build without limitations. As an organisation you can leverage a decoupled approach for progressive web apps, and native apps. Decoupled Drupal has created a noise in the community with its divide and conquer development strategy.

What’s your Intention?

Your intentions always determine the outcome, i.e., how your product will be built with the Decoupled Drupal. For the developers working on it, here are a few scenarios and their outcomes: 

  • In case of standalone websites/applications, decoupled Drupal might not be a wise choice. 
  • For multiple web applications and websites, decoupled Drupal can be leveraged in two different ways. 
  • When building non-web native apps, you can employ decoupled Drupal to attain a content repository without its own public-facing front end.
flow chartSource: Dri.es

Once the intentions are clear, the next step is to see if it can be executed given a proper apparatus. Here are a few questions that should influence your decision to choose decoupled Drupal: 

  • Is it right for your project and your team?
  • Do you have a strong grasp on your data needs?
  • Evaluate if your current hosting provider can support this architecture
  • Are you prepared to handle the complexity of serving content to multiple clients?
  • Do the URL alias values have a unique identifier that makes API requests easy?
  • Can your metadata logic power meta tags, JSON-LD, analytics to be generated with standardised rules?
  • Where are menus created, ordered, and managed? 
  • Do you have an architecture that supports combining multiple redirect rules into a single redirect?

When to Decouple

By now we have established enough facts that Decoupled Drupal is a package full of advantages. It’s time to delve deeper and seek the accuracy of circumstances in which it can be put into effect: 

Decoupled Drupal allows for designers and front-end developers to build without limitations

Resources 

Progressively decoupling the Drupal requires a separate development of the backend and front-end and thus, separate resources are a mandate. Two individually capable teams that can collaborate and support makes for a successful decoupled Drupal. 

Multiple Channels

 The faculty of publishing content and data across platforms and products can affect the way you become headless.

Applicable Content

 Decouple is a great fit if you already have an interactive data. Visualisations, animations, and complex user flows pushes for frameworks like Ember, React, Vue JS or Angular.

Drupal Interface

Sometimes, a rich interface and built-in features can hinder the work. Even Drupal’s flexible content model to store content requires a different interface for adding and managing that content in some cases. 

When Not to Decouple

Inversely, it is equally important to know what situations might not be healthy for a decoupled Drupal to thrive. Gauge these possibilities to rule out situations/project:

  • Drupal has the advantage to leverage a huge pile of free modules from the open source community. But with the decoupled Drupal, the ability to easily “turn-on” the front-end functionality goes out of the window. The separate content management system eliminates this likelihood of managing your website front-end directly. 
  • Drupal’s front-end proficiency should align with your front-end requirement. Absence of a systematic match can land your decoupled dream in doubts.  

Conclusion

There’s no confusion about the abilities of Decoupled Drupal. It’s your business requirements that should fit in like a puzzle with the headless architecture. With necessary technical leadership skills and expertise in this web infrastructure, you can sail your decoupling aspirations to the other end. 

We’d love to hear your feedback on our social media platforms: Twitter, Facebook and LinkedIn

And do not forget to share more ideas at [email protected]

Jun 10 2019
Jun 10

The audience revels in the magnificent performances of the actors, picturesque visuals, breathtaking action sequences, alluring background score, thoughtful dialogues, and emotions attached to the narrative. To bring them all out in the best possible way on to the screen, there goes an exceptional direction and screenplay behind-the-scenes in addition to a massive swathe of people who are involved in different parts of the film. Apparently, a film works wonders when both the onscreen elements and the off-screen elements strike the right chord.

Interior of cinema hall with red chairs


A similar theory is of paramount significance in the case of web development. The rapid evolution of diverse end-user clients and applications have resulted in a plethora of digital channels to support. Monolithic architecture-powered websites leverage web content management solutions for disseminating content via a templating solution tightly coupled with the content management system on the backend. Propelled by the need to distribute content-rich digital interactions, application development and delivery (AD&D) professionals, who are supporting content management systems (CMS), are showing an inclination towards an API-first approach.
 
Headless CMSes have been leading the way forward to provide a spectacular digital experience and Drupal, being API-first, is a quintessential solution to implement a headless architecture. Before we move forward, let’s briefly look at how significant is content for your online presence and how the headless CMS is fulfilling the needs of organisations.

Content: Linchpin of ambitious digital experience

It is difficult to envisage a digital screen without content as every single moment that we spend on a smartphone, laptop, tablet, or a smartwatch is enriched with digital content like images, text, video, product reviews and so on. Even when we talk to a voice assistant and inquire about something, its answers constitute words, links, pictures, maps etc. (again, it’s all content). The relevance quotient of that content should be top-of-the-line as it is the medium that enables users to experience their digital interactions. This makes content the linchpin of ambitious digital experiences.

The relevance quotient of content should be top-of-the-line as it is the medium that enables users to experience their digital interactions

Several content repositories are struggling to meet today’s digital requirements. When the world was just web and email, governance of dynamic content dissemination worked perfectly fine using a web CMS. A web CMS has been an astronomical solution for offering unique designs, WYSIWYG authoring, a workflow for approvals and translation, fantastic marketing capabilities and internet-scale delivery.

Forrester’s The rise of the headless content management system report states that web CMSes has led to a cluster of content with markup and metadata. Moreover, if you optimise your content repository for HTML templates, it would require you to undo all the optimisations in order to use the content elsewhere in a non-HTML format. Also, tightly coupled approaches did not need APIs (Application Programming Interfaces) connecting the repository to the delivery tier or the content editing and workflow tools. And, selling the content repository and delivery environment together is great for web-only scenarios but reusing the content on the mobile application or in email marketing would still require you to run the entire web CMS stack.

There is where the need for headless CMS kicks in. It uses modern storage, stateless interfaces and cloud infrastructure for the efficacious delivery of Internet-scale content experiences on any device.

Uncloaking headless CMS

Illustration having traingles and rhombus consisting of icons representing shopping cart, Source: Forrester

Headless CMS is a content component in a digital experience architecture that interacts with other components comprising of authoring, delivery front ends, analytics tools through loosely coupled APIs. It does not do any rendering of content and the rendering is decoupled from the management interface which is why terms ‘headless’ and ‘decoupled’ are used interchangeably.

Headless CMS stores the content, offers a user interface for the creation and management of content, and provides a mechanism for accessing the content through REST APIs as JSON

While ‘head’ refers to the frontend rendering or the presentation of the content, the ‘body’ refers to the backend storage and the governance of the content.

Headless CMS stores the content and offers a user interface for the creation and management of content. It provides a mechanism for accessing the content through REST APIs as JSON. So, it is also referred to as API-first CMS.

Content can be delivered to and integrated with the third party system like e-commerce tool. Or, it can be delivered to and exhibited using front end technology in the browser, mobile app or syndication service. Headless CMS is a wonderful content-as-a-service solution.

Flowchart containing rectangles to explain headless CMS and Traditional CMSSource: Contentstack

A traditional CMS confronts with the processes of creation of content, its dissemination and its display. It has a backend where the users can enter content which is stored in a database, retrieved, rendered into HTML on the server which is then delivered as fully rendered pages to the browser.

In contrast, headless CMS decouples the rendering and presentation system thereby enabling you to replace it with frontend or other technologies of your choice. The CMS will be a content store and web application for the content producers and the content is delivered to the frontend or another system through an API.

With the stupendous rise of headless architectures, a portion of the web is turning server-centric for data and client-centric for the presentation. This has given momentum to the ascension of JavaScript frameworks and on the server side it has led to the growth of JSON:API and GraphQL for better serving the JavaScript applications with content and data. Among the different web services implementations like REST, JSON:API and GraphQL, when we consider request efficiency, JSON:API is the better option as a single request is usually sufficient for most needs. JSON:API also is great in operational simplicity and is perfect while writing data.

Headless CMS decouples the rendering and presentation system thereby enabling you to replace it with frontend or other technologies of your choice

Headless CMS is advantageous for the following reasons:

  • You can instantly start with headless with no hurdles.
  • It does not require you to alter your existing delivery tier as it seamlessly fits into the existing architecture
  • It is perfect for building web and mobile applications as it allows practically any application- be it web, mobile, IoT(Internet of Things), smart TV or touchscreens- to pull and push content.
  • Frontend developers, backend developers, marketing and content editors can get started quickly and work autonomously.
  • You can give more power to the front-end developers as they simply work content APIs and do not have to learn inner functionalities of CMS or its templating system.
  • It follows the approach of ‘Create Once, Publish Everywhere’ thereby allowing you to reuse content for different channels.
  • It works tremendously well in a microservices environment and enables cross-functional teams to work via agile processes and get tasks done swiftly.

Going the Drupal way

Call it headless or decoupled, leveraging Drupal, as the central content service, is a magnificent solution to power your complete application and device ecosystem. Decoupled Drupal has the provision for omnichannel delivery of content that is quintessential for marketers and publishers.

Decoupled Drupal has the provision for omnichannel delivery of content that is quintessential for marketers and publishers

It enables the developer to leverage any technology for rendering the frontend experience instead of theming and presentation layers in Drupal. The Drupal backend exposes content to native applications, JavaScript application, IoT devices and other such systems. In addition to the modules for web service implementations like REST, GraphQL and JSON:API, Decoupled Drupal ecosystem also offers several other alternative modules that can be of huge help.

Flowchart consisting of rectangular boxes and arrows to explain types of decoupled Drupal Source: Dries Buytaert’s blog

There are different approaches to decouple Drupal:

Coupled Drupal

In traditional Drupal, also referred to as coupled Drupal, monolithic implementation is done in which Drupal has the authority over all frontend and backend side of your web application setup. Coupled Drupal is fantastic for content creators, especially when you are in dire need of achieving fast time to market without relying too much on front-end developers. Developers, who love Drupal 8 and want it to own the entire stack, still find it a great way of building a web application.

Progressively decoupled Drupal

Another way to utilise the power of Drupal is the progressively decoupled approach. It is a compelling approach for developing Drupal’s frontend where the governance of contiguous experiences is handled by content editors, site assemblers and the front-end developers. While content authors and the site assemblers get the benefits of contextualised interfaces, content workflow, site preview etc. to remain usable and incorporated with Drupal as a whole, a portion of the page to a JavaScript framework is dedicated for front-end developers to let them work autonomously. Progressive decoupling helps in utilising Drupal’s rendering system while simultaneously using a JavaScript framework for powering the client-side interactivity.

Fully decoupled Drupal

In fully decoupled Drupal, there is a complete separation between Drupal’s frontend and the backend. The Twig theme layer is replaced with a different frontend entirely. Native mobile or desktop applications, JavaScript single-page applications or IoT applications are some of the examples. RESTful API is leveraged by these applications to communicate with Drupal. RESTful API, which acts as a middle layer between frontend and backend, exposes resources as JSON or XML that can be queried or modified with the help of HTTP methods like GET, POST etc. Even though integral features like in-place editing and layout management are not available, the fully decoupled approach is preferred by developers as it offers ultimate authority over the frontend and is superb for those who are already experienced with the development of applications in frameworks like React, Vue etc.

Increasing intricacy of JavaScript development has given birth to JAMstack (JavaScript, APIs, Markup) which has, in turn, resulted in another very much favoured approach called fully decoupled static sites. Enhanced performance, security and reduced complication for developers have made static sites a favourite option among many developers. For instance, Gatsby, a static site generator, can retrieve content from Drupal, generate a static site, and deploy it to a content delivery network (CDN) via specialised cloud provider like Netlify.

Meritorious features of decoupled Drupal

Following are some of the major benefits of decoupled Drupal:

  • Syndication of content: Whether it is a coupled approach or a decoupled approach, Drupal remains the hub while developing experience ecosystems with all of them ingesting content from one source of truth.
  • Full separation: Even though monolithic and progressively decoupled approaches in Drupal has implicit separation of concerns and mostly couldn’t be seen by the user, fully decoupled architecture gives you an explicit separation between structured content that is governed by Drupal and its presentation which is managed by consumer applications.
  • User experience: Decoupled architecture offers an amazing user-centred experience. For instance, a JavaScript framework can be more suited to the task when it comes to an interactive application which is in dire need of frequent re-renderings of content.
  • Work in parallel: Decoupling also brings efficacy to a pipelined development process which involves teams working in parallel. A team of front-end developers can develop applications against a dummy web service API that is utilised only for the purpose of testing but not actually completed whereas the team of backend developers can administer the backend that exposes the API and the underlying processes yielding it.

Challenges of Decoupled Drupal

Some of the major hurdles while decoupling Drupal are mentioned below:

  • Editing and governance: Drupal 8’s wonderful features like in-place editing, configuration menus constituting certain page components, and some modules that include contextualised tools for Drupal governance won’t be available.
  • Security: Although JavaScript and application frameworks have the provision for defending cross-site scripting attacks, fully decoupled and progressively decoupled approaches put the obligation of carefully scrutinising the security implications.
  • Point of failure: Fully decoupled architecture require the use of stacks like MERN (MongoDB, Express, React, NodeJS) or MEAN (Angular instead of React) or other solutions that may imperative for native mobile or IoT applications. That means, it can be challenging to introduce an additional hosting stack into your firm’s infrastructure and can lead to an additional point of failure.
  • Layout management: Having to remove modules like Panels and Display Suite can be an issue for the developers causing obstacles to the marketing teams who do not have the access to developers who can help in implementing layout changes.
  • Previews: It can be challenging if your editorial team wants a previewable content workflow as it is used to working with coupled CMS.
  • Notifications: In a fully decoupled architecture, Drupal system messages, that are frequently highlighted at the top of rendered pages, are not accessible. Moreover, providing these messages in a progressively decoupled setup is not much of an issue.
  • Performance: BigPipe module works tremendously well in enhancing the web performance in Drupal that can match the page load performance of JavaScript applications. Fully decoupled architecture is devoid of this feature but progressively decoupled setup can give you the option of leveraging the feature.
  • Accessibility: Drupal won’t be providing the readymade frontend code or a roster of core interface components and interaction that can be relied upon which calls for front-end developers to build a suitable UX and ensure accessibility without the assistance of Drupal.

Strategies employed while choosing decoupled Drupal

Assessment of the organisational needs is instrumental to the decision-making process. Being abreast of the business requirements pertaining to building a robust digital presence helps you in forming an immaculate strategy while choosing decoupled Drupal.

For instance, selecting decoupled Drupal might or might not be an astounding option for developing a single standalone website. It depends upon the functionalities that are deemed as “really necessary” by your developers and content editors. In case, you are developing multiple web experiences, decoupled Drupal instance can either be leveraged as a content repository which is devoid of its public-facing frontend or simply as a traditional site that can act concurrently as a content repository. It, again, depends upon how dynamic you want your web application to be that would ultimately help in deciding a JavaScript of choice or even a static site generator.

Developing native mobile or IoT applications may require you to adopt a decoupled approach where you can expose web service APIs and consume that Drupal site as a central content service which is bereft of its own public-facing frontend.

The significant thing to take a note here is the stupendous capabilities of Drupal for supporting almost any given use case as it streamlines the process of developing decoupled Drupal. 

Case studies

Some of the biggest names in different industries have chosen decoupled Drupal to power their digital presence.

The Economist

Established in 1843, The Economist, which set out to take part in “a severe contest between intelligence, which presses forward, and an unworthy, timid ignorance obstructing our progress”, has seen staggering growth over the years and has earned great recognition in the world of media. It chose decoupled architecture for building a Drupal backend for the native iOS and Android Espresso applications with the help of a digital agency.

Screengrab of The Economist Espresso application showing the logo in red and black strips on top left corner


Drupal turned out to be an astronomical solution for the Economist editorial team. They could iteratively design and had a spectacular content creation and publishing workflow that met their requirements. It helped in incorporating features like automatic issue creation, approval of content, the look and feel of interfaces among others.

The customisation of Drupal content creation interface was done in a way that would avoid errors while formatting and enables content authors to emphasise on content. Editorial teams had the provision for a dashboard that could help in swiftly and efficaciously creating and publishing new issues. It also offered visual indicators of approval status, countdown timers for each region and quick links for all the articles.

Produce Market Guide

The website of Produce Market Guide (PMG), a resource for produce commodity information, fresh trends and data analysis, was rebuilt by OpenSense Labs. It involved interpolation of a JavaScript framework into the Drupal frontend using progressively decoupled Drupal that helped in creating a balance between the workflows of developers and content editors. The rebuilding process comprised of majorly progressively decoupled approach, React, Elasticsearch Connector module among others.

Homepage of Produce Market Guide with red strip on top and images showing people on right


The process of mapping and indexing on Elastic Server required ElasticSearch Connector and Search API modules. Elastic backend architecture building process was followed by the development of faceted search application with React and the integration of the app in Drupal as block or template page. The project structure for the search was designed and built in the sandbox with modern tools like Babel and Webpack and third-party libraries like Searchkit.
 
Moreover, Logstash and Kibana, that are based on Elasticsearch, were incorporated on the Elastic Server thereby helping in collecting, parsing, storing and visualising the data. The app in the Sandbox was developed for the production and all the CSS/JS was incorporated inside Drupal as a block to make it a progressively decoupled feature. Following the principles of Agile and Scrum helped in building a user-friendly site for PMG with a search application that could load the search results rapidly.

Princess Cruises

As one of the premiere cruise lines in the world, Princess Cruises innovatively metamorphosed their marketing landscape with the integration of decoupled Drupal. They went on to fundamentally change the way their guest accessed information while onboard their ships.

Princess Cruises webpage showing a mobile phone over a bluish background


The guests on their ships relied upon their smartphones to swiftly access information, purchase items and inform the management about anything. This led to the development of [email protected] with the objective of transforming Princess experience. It is a mobile application that is specifically designed for allowing guests to plan their day, assess the ship’s itinerary, scan through restaurant menus and book shore excursions on-the-go.

When the ships are sailing different parts of the world, the digital experience had to be reliable which called for a centralised way of administering content across several channels and touchpoints. This would enable them to offer a uniform experience on mobile and digital signage onboard the ship. Decoupled Drupal was chosen to serve content across multiple touchpoints and channels. Princess Cruises could create content once and publish everywhere thereby connecting every passenger to [email protected], hence Drupal.

NASA

NASA, an independent agency of the executive branch of the federal government of the United States, went for the decoupled setup for the redressal of their site with the help of an agency. Drupal and Amazon Web Services (AWS) turned out to be a wonderful 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 showing images of planets in space


The deployment of NASA’s website is done in numerous AWS availability zones and manages almost 500 content editors updating over 2000 content every day. On an average, it receives nearly a million page views a day and has even gone onto handle peak load of approximately 40,000,000 page views in a single day with groundbreaking feat of 2,000,000+ simultaneous users during NASA’s 2017 Total Solar Eclipse coverage.

Conclusion

Application development and delivery teams have already started exploring headless CMS tools along with numerous other sets of API-first microservices for building innovative solutions. These digital natives are adopting a do-it-yourself approach to digital experience architectures and dragging their organisations into the digital-first age.

Headless throws open interesting possibilities and challenges traditional ways of doing things. For a lot of organisations, it is no longer a question of whether they should go for headless or not but more of a contemplation of headless to assess where does the headless fit in their organisational setup. Moreover, the growth of microservices architecture will continue to give that extra push to headless or decoupled approaches.

Decoupled Drupal is an outstanding solution for implementing headless architecture. It acts as a central hub, processing and curating content and data from other tools and services while simultaneously sharing its own content and data via APIs. With the stupendous flexibility, scalability and content authoring capabilities of headless approaches, digital firms can enjoy seamless creativity and innovation as they build their digital architectures.

We have been perpetually working towards the provision for great digital experiences with our suite of services.

Contact us at [email protected] to get the best out of decoupled Drupal and ingrain your digital presence with its superb capabilities.

May 31 2019
May 31

Open source communities are more about sharing ultimate value rather than just building something. They love to contribute and impact people all across the globe. Open source culture is more than just reusing free code on GitHub to get products to market faster.

The open source culture embraces an approach to software development which totally lays emphasis on all round collaboration and helpful nature, the teams tend to focus more on increased competencies instead of core infrastructure and cross channel implementation.  The culture embraces an approach to software development that emphasises internal and external collaboration, an increasing focus on core competencies instead of core infrastructure, and implementation of DevOps processes commonly associated with microservices and cloud native technologies. 

What are the key traits of an open source community and culture?

A responsibility to contribute 

Open source involves a broad range of technologies and a diverse set of people who bring some or the other expertise to the table. Often people are more inclined towards contributing the best of their individual abilities. They feel the responsibility to contribute and make sure they are often involved in the betterment of multiple projects and are they are often people are members of multiple projects, involving a broad range of technologies. Frequently, member recognition isn’t set by how much they’re paid or what titles they’re called. It’s how much of a headache is solved or endured for others. 

 All round responsibility and accountability

Accountability between members begins when they know each other as people and professionals. It’s especially important to have consistent written contact, ad hoc and scheduled video conferencing, and meeting in person at least once a year to build personal bonds.

Seamless and undeterred Collaboration

Collaboration for an open source organisation culture stretches across multiple areas. Well into domains like organisation goals, cultural fit, and more.

Team members who define together what a cultural fit is demonstrates what's important to the organisation. Just as, a united group of passionate hackers and designers who take part in the joys of community sharing, they want to hire those having like interests and similar ideals.

More inclination towards automation

Automating tasks within an organisational culture is about respecting people’s effort while not wanting them to be distracted from getting the right thing done when needed. 

Organisational members focus ultimately should be on what’s important to them and, in turn, the organisation.

Consistency in everything 

The consistency of people, processes, and management thereof is the glue of an open source organisation culture. Without consistency of action, principles and guidelines flounder despite the best of intentions.

Streamlined Processes

It's extremely hard work to develop fundamentals when shortcuts and hacks so often seem to provide great short-term benefits. However, consistency is the key to positive long-term results.  

For example; there needs to be a detailed and consistent process in hiring for fit, not skills, and for the long-term. Beyond these two key criteria, the candidates should also be demonstrably capable, driven, and passionate for the role to be filled.  

An underlying passion 

The underlying spirit to do good work is hard to find, it comes to you upon due search. And it is more powerful than any other driving force in the professional landscape. You will strive harder and harder for the things which mean something to you and the Drupal community makes you feel connected to their growth, you grow as they grow, which ultimately helps you feel the need to deliver sheer excellence. 

Shared Responsibility

At an organisation, culture becomes the way you work. Through culture, there’s a shared responsibility for good communication and positive results. In communicating with clients and one another, it needs to be timely, considerate, and accurate. 

Drupal: For great community and culture

Drupal has a predefined set of values and principles

Drupal, since its inception was built around a foundational set of values and principles. The agenda was to gather a community of like minded individuals and bring them on the same page about the vision and mission of the product and its roadmap.

Drupal values and principles Source: Dries Buytaert’s Blog 

Drupal’s code of conduct and CWG 

Drupal community's Community Working Group comprises of independent volunteers who strive hard to protect and promote the health of the entire Drupal community, they also help and maintain and keep on track the Drupal Code of Conduct and also act as the escalation body to help mediate conflict between community members. 

What should make you want to contribute to Drupal?

Can you imagine hundreds of thousands of people relying on your code or waiting to get some feedback from you? Their business’s growth is dependent on the advancements you make in your contribution. The more you contribute the better your worth and stance in the community, what is better than people believing, listening and relying on you for some advancements in the community? 

Final word 

Open Source is here to stay and develop software that has a huge impact upon individuals and businesses. People continue to make efforts because of their underlying passion for building great things and open source communities are an example of that. 

May 31 2019
May 31

Open source software has been receiving some serious criticism and some serious applauds from the tech community all across the world. People beg to differ on a lot of ideas about it, it has led to some serious publicity over these years. But hold on a second, with publicity comes myth and with myth comes some serious thoughts and people get mislead. Which at the end of the day hampers people’s thought process. Some think source software is totally free to use and some question its security quotient.

Open source technology has made it nearly possible to do so much in literally no time.

Let’s get into some myths about open source technology about back them with actual facts.

Myth #1: Open Source is free

Many people get more inclined towards open source software because they are misled into thinking that open source software is free to use and there will be hardly any software run costs in the future. On the correct note, this is not true, open source means open source code and that you can easily  access the source code of any system if you are enrolled in any given community.

To break it into a more understandable concept:

An Open Source Content Management System vendor can charge you for the services being provided around the open source software, And by far there is no link between the software license and the what you have to pay to get out of it.

Take Drupal for example, it's free to download and use for personal purposes but the advancements have gone so far that you will need to seek expert services for utilising the software to it's very best potential.

What's the free part?

You are free to access the source code behind the functionality and alter it for your own use case but provided that you abide by the terms and conditions in the license agreement.

Myth #2 - All open source software is Linux based

This myth is one of the most common and it’s fair enough for people to believe, especially when they are new to the open source landscape or just starting off their careers. When OSS came into the picture, this was the most commonly When people mentioned OSS, the quick and common assumption about it is that OSS only runs on the Linux operating system. It is a quick and easy assumption to make as many open source programs are made with Linux availability as a prime motivator.

MYTH #3: Contribution to OpenSource is only for startups

In the government sector, open source contribution is strong and they have the deploy teams to be able to handle and make the best use out of the open source software. Hence they end up making more and more contributions in the process.

On the other hand, the developers in the public sector do contribute to the code base but they have to expect some benefit out of it, either in the financial aspects or on the career trajectory aspect.  Some state and federal agencies like code.ca.gov and code.gov are using code sharing and collaboration to help the government in cutting down the duplicacy costs.

Drupal as an open source software is great for giving startups a heads up for showcasing their expertise and content. On the other hand, it is also one of the best solutions when it comes to enterprise requirements. You can custom build your content management systems which serve for a large scale content repository.

Myth 4 : OSS is less secure than proprietary software

So, is open source software inherently more secure? Of course not. Before going for any open source solution, you should look into its security thoroughly.

You can always review its version history and the frequency of security updates provided by the supporting community, you should also look for the amount of work being poured into its security segment and what is the word of mouth like?

Maybe you’ll even find an independent agency vouching for a product’s security, or certificates proving its reliability, or a respected colleague who can assure you that it's the best option on the market.

Additionally, you can see what tools your competitors, partners, and established companies in the industry are using. For instance, Ruby on Rails is used by 500px and Airbnb, and that alone is a great indicator that this framework is reliable enough for startups.

Drupal is considered one of the most secure content management systems across the world. Why? Because of its dedicated security team and the frequent security releases which make the system more and more robust over time.

Myth 5 - OSS is not scalable

Open source software is never designed to fit in everyone's shoe, the entire agenda of open source software is to make sure people can make it fit in their shoes with the help of respective expertise and their organisational requirements.

Take Drupal for example, It is designed to be scalable and adaptable in comparison to its commercial competitors. It is supposed to be evolved by the community and hence meet enterprise expectations. Developers have been able to adapt projects to small  and enterprise size requirements.

Myth 6 - Open Source is not maintainable

It is a strong assumption that open source software is harder to maintain and it can lead to possible confusion among the user crowd. There is always a sense of responsibility and motivation to improve the code and better the software overall, not for monetary gain, not for any gain other than a feeling of social responsibility.

Open Source softwares generally track all the upgrades, improvements and maintenance measures using paid tools to help maintain a record of the versioning and who was the code contributed by. See? The community has already got the maintenance concern or issue covered before it even gets started.

One more strong foothold about open source is that it can be managed and the work can be overtaken by other technology service providers, in case your technical team decides to move on. So, you should now be sold on the idea that open source is maintained like a premier software.

Myth 7 - OSS doesn’t have a support system in place

Since there is no one to hold accountable openly, people think open source software is less cared about or not supported so well in the industry.

But things are the absolute opposite, the amount of care and support put in by the community support teams is enthralling and it can completely change your mindset about it. Companies which run on the software bring in their brightest minds to help provide support for their software so that they don't get shut down at the end of the day due to lack of sincerity in support and care.

Final word

There might be a ton of myths and rumors circulating within and outside the communities but one should always think and work this out before making any harsh assumptions. Myths often keep us from adopting or trying out a technology and this has to come to an end sooner or later because the technology and the community speak for themselves.

May 31 2019
May 31

With Drupal 9 on the verge of release in June 2020, the Drupal community has about 18 months to map out a transition plan. The latest versions of Drupal in recent times saw a major breakthrough from the past versions. As the philosophy of development has changed, Drupal 9 is said to be built in Drupal 8 and the migration will be super easy this time.

Released in 2011, Dries announced the end-of-life (EOL) for Drupal 7 to be due in November 2021 after serving for more than 8 years. However, many people are still on Drupal 7 given the compatibility issues in the two versions which caused major disruption and migration became a task for developers. However, the new philosophy makes it easier to plan and anticipate any unforeseen obstacles that you may encounter. Are you prepared for it?

Planning for Drupal 9?

Launching with the objective to modernise the dependencies such as Twigs and Symfony and to remove support of deprecated APIs, Drupal 9 is making its way into the Drupal community soon.

Every new information being released about the update and new features is gearing us up for the big leap. The first and foremost action to be taken in consideration is to plan and upgrade no later than the summer of 2019. Experts believe, as long as your modules are updated with minor releases like Drupal 8.7 and the upcoming Drupal 8.9 in December 2019, there won’t be much to worry during the main release of Drupal 9. Being upto date with Drupal 8 is a crucial step for adaptability and easier usability in the future.  

Dries Buytaert wrote recently in a blog:

‘’Instead of working on Drupal 9 in a separate codebase, we are building Drupal 9 in Drupal 8. This means that we are adding new functionality as backwards-compatible code and experimental features. Once the code becomes stable, we deprecate any old functionality.’’
Timeline of Drupal versions

What’s New in Drupal 9?

With a lot of buzz around the new features to be delivered, let’s understand few important reasons for the strategic release of Drupal 9:

  • The innovative model of Drupal 8 had new releases every six months which led to adding of new features and enabling improved ways of problem solving. However, Drupal 9 will deprecate the codes which are needed for backward compatibility. In the process, it will provide an opportunity to remove the codes and anything else that is no longer needed.
  • As of now, Drupal needs to adhere to the vendor support life cycles and integrates with common PHP projects like Twig and Symfony. But the third-party dependencies will reduce with Drupal 9 and we’ll have supported versions of software for a long time such as Twig 2 and Symfony 4/5.

Why upgrade Drupal 8 when Drupal 9 is coming?

Drupal 9 is not being built on a new core and its functionalities will not look alien to Drupal 8 users. Instead, they will be added to D8 as backward-compatible code. Only with time and familiarity, as the new features will hold a stable position and mark their success, the older counterparts will be deprecated. As a result, D9 will be stripped of all deprecated code and only the complete collection of stable features will be termed as Drupal 9.

For example, in Drupal 8.0.0, the Drupal::l($text, $url) was deprecated. Instead of using \Drupal::l(), you can use Link::fromTextAndUrl($text, $url). The \Drupal::l() function was marked for removal as part of some clean-up work.

What does it Mean…

With no new paradigms of development and yet being a big leap, how will Drupal 9 change the workings?

For Core Contributors:

Your tasks will get limited in Drupal 9 even before the release. Making the quality robust and release more predictable, new features will remove deprecated functionality and lead to Drupal's dependencies to a minimum.    

For contributed module authors

Similarly, authors can also start working on the compatibility issues before the release as their Drupal 8 know-how will still remains relevant in Drupal 9 with no dramatic changes in the core.

For Drupal site owners

The release of Drupal 9 will make the upgradation much easier for site owners. It will be the same as Drupal 8, only with its deprecated codes removed. According to the experts, keeping your modules and themes stay up-to-date with the latest Drupal 8 APIs will do and a 12- to 18-month upgrade period will be sufficient.

What happens to module, profile and theme maintainers?

Though existing Drupal 8 sites have a year and a half to upgrade to Drupal 9, the technology in Drupal 9 would be already battle-tested in Drupal 8. The set of tasks for module and theme maintainers involve getting updated with the new and better APIs. It would be a mandate to check if your code is compatible with Drupal 9 as it may hold invalid when sites migrate. However, do not wait till the release of Drupal 8.8 which is expected at the end of 2019. As six months will be a limited time to upgrade to Drupal 9 for complex codes, it’s advisable to start assessing now.

How to Prepare for Drupal 9

The big catch in this whole drill of migration is to make sure that you no longer use the deprecated codes. Following are few ways suggested by Acquia:

  • Be updated with Drupal 8 features and modules
  • Create a report for deprecation using Drupal Check.
  • Check for your active modules which might be deprecated at api.drupal.org
  • Address a consolidated list of errors that can occur and need upgradation to Drupal 9 by generating a ‘’readiness assessment’’.
  • Use the latest versions of dependencies in line with Drupal 9.
Drupal 9 loading

Wrapping it up

As Drupal 9 will emerge as a phoenix from the ashes of Drupal 8, Buytaert sums it up best, “The big deal about Drupal 9 is that…it should not be a big deal.”

Excited? Have questions about how Drupal 9 will impact your site? Want to chalk out a plan for upgradation? We are here to help. Drop a line to our experts at [email protected].

May 31 2019
May 31

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

Implementing Performance Optimisation

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.

Upgrading the server hardware

Server scaling is of paramount importance in order to optimise the website. And to do so, you can either upgrade the server hardware by scaling vertically or by scaling horizontally. When you scale vertically, more resources are thrown at the same server and is considered the simplest approach of scaling the hardware. And when you scale horizontally, more servers are added to separate the load. This approach, when executed well, can minimise the load that any single server receives. In case, you have multiple app servers for Drupal, you will need a method of deploying code to each server concurrently. For example, plartform.sh and pantheon.io can manage the entire hosting setup for you but if you are handling it by yourself, you would require rsync setup or git push to each of your servers etc.

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

May 26 2019
May 26

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.

May 26 2019
May 26

World Economic Forum, an International Organisation for Public/Private Cooperation, has its digital presence not only in English language but other prominently spoken languages like Spanish, Chinese, French and Japanese as well. Rio Olympics 2016, which is also known for the infamous haul of 9 golds by Usain Bolt, had its online presence in both English and French. Oxfam, an international confederation of 19 organisations that has the objective of mobilising the power of people against poverty, has its website in Spanish and French languages other than English. What is common between all of them? Their websites are powered by Drupal which is one of the leaders in the open source content management system (CMS) market.

Illutration showing people in the background and different coloured leaves containing the word Hello in different languages


Built and maintained by an international community of developers, Drupal has been a marvellous solution for organisations around the globe that are in need of swiftly launching their websites that is tailored to a variety of language needs. As a matter of fact, Drupal 8, the latest version, was created keeping multilingual use in mind. But why should an organisation consider building a multilingual site in the first place? Let’s understand its significance before taking a plunge in exploring Drupal’s capabilities in building a localised site.

Significance of multilingual sites

A bar graph showing percentage of online users of different languages


English is certainly the most widely spoken language in the world and dominates the internet space. But it would be wrong to consider it is as the most preferred language. Chinese, Spanish, Arabic and many others, as you can see in the graph above, are spoken by millions of online users. So, optimising your site and going multilingual gives you a huge advantage.

Some of the major benefits of having a multilingual website are:

Illustration showing horizontal bars to explain benefits of multilingual websiteSource: DayTranslations

One of the most important benefits of going multilingual is that you can enhance communication as even though English has its preeminence over the online space. That doesn’t mean that everyone wants to buy from English language websites. Research from CSA Research says that people prefer to make purchases while browsing in their own native language as more than half of the people who were surveyed bought from sites that were available in their own language. Another important benefit is that you can expand your reach and cover a wider audience. Localised websites also result in increased client satisfaction. Multilingual SEO is of paramount importance too and localising your website into different languages helps improve your SERP (Search Engine Results Page) ranking locally across the globe.

Moreover, website localisation is efficacious and gives you a competitive advantage. In a survey by Content Marketing World, 60% of participating marketers agreed that there is a dearth of multilingual content marketing strategies. Therefore, not capitalising on the immense amount of opportunities that website localisation presents can prove detrimental to your business pursuits. You may lose out to a local business that is well known and also fare badly against another foreign company that is localising better. Also, not only you get to touch a wider demographic of the audience, you get the opportunity to increase your audience as you will be noticed by a massive pool of potential buyers for your product and services. And you do not get penalised for duplicated content on translated sites. Localising your website also bring about higher conversions and skyrocketed return on investment. Even if you cannot please everyone, you can please the majority of them when you make your site multilingual.

Considerations for turning your site multilingual

In order to develop a great multilingual site, there are some considerations that should be kept in mind.

Building a site in any language needs a clearly thought-out plan for content and needs a detailed picture of your business objectives and vision. For instance, you should know who the ideal customer for your products and services is and where does he or she live. And you should know which language will have a wider reach amongst your potential customers.

You would, then, require a wisely laid-out strategy. You can register top-level domains like .mx for Mexico or .fr for France. You must know that photographs, artwork, fonts, and colour choices carry different meanings across different cultures. Visitors should find it easy to navigate and find their native language microsite. Different languages should be used appropriately and nothing should come across as offensive or insensitive to the different cultures.

Most importantly, you need to determine the best technological solution for creating your localised site. A robust CMS like Drupal can be a remarkable option that can dovetail with your multilingual strategy.

Drupal in the mix

If you are in the need of quickly creating customised sites in any language of your choice or an intricate multilingual web application with dynamic, language-based displays, Drupal is a wonderful option. Without the need for any additional components, Drupal 8 can be installed in over 90+ languages. Drupal’s out-of-the-box support for language handling assists you in delivering localised digital experiences and saves time and money. Drupal 8 core comes with four core modules for localising content on the website.

Administering Language

Language handling module


The Language handling module lets you pick your choice from 94 languages.
 
Language configuration has been streamlined. Assign a language to everything from taxonomy terms to administration language. You can even delete the English language. Each user can also select his or her own language for the admin interface.
 
The detection of browser language can be easily configured with external language codes. There is also a built-in transliteration for the machine names.

Translating Interface

Interface translation module

Interface translation module provides a central directory to manage interface. It has built-in translation UI for simplifying content editing. By allowing automatic downloads and updates, it lets users use any translation interface available in the Drupal community in any language supported by Drupal 8.
 
English language interface can be customized. You do not have to use English as your default language.

Translating Content

Content translation module

Content translation module is applicable to all of your content. It lets you translate everything from the pages to the taxonomy terms. It allows you to configure custom fields of a web content.
 
Like interface translation, the default language of your content can be flexibly configured. You can even hide or display the position of language selector.

Managing Configuration

Configuration translation module

Everything that comes with the configuration of your website can be translated using this module. Things like views, blocks, panels, field panels or text formats can be easily translated with its built-in responsive translation interface.
 
Moreover, there is a provision of an overview screen to help you in the process.

Case studies

Homepage of Sevilla FC website with three people holding the team jersey on left and the football team posing for the camera on right


Sevilla FC, founded in 1890, is one of the oldest football teams in Spain. A digital agency helped it to implement a series of quality and qantitative enhancement in its digital services via web, mobile and social media channels. Drupal turned out to be a fantastic option in their pursuit of improving the digital experience. Drupal’s in-built multilingual capabilities, top-of-the-line open source security, tremendous scalability, great content workflow tools and the support for agile project delivery were the major factors that made it the right choice for this project. With a continuous increase in the number of international fanbases of Sevilla FC, it was important to create a multilingual site. The multilingual capability of Drupal 8 streamlined the process of localising their website into multiple languages.

What if your native language is not available to choose from 90+ languages that the Drupal offers? OpenSense Labs leveraged Drupal 8 to provide a clean architecture and design for the betterment of digital presence of the Ministry of Finance in Somalia.

Homepage of Ministry of Finance of Somalia with an image of a multi floor building


The remodelling of the website needed new content types with user-friendly navigation and the addition of a custom type of publication to publish annual reports. Agile development methodology helped the project to be completed within six weeks. And, as Somali isn’t available in the list of languages provided by Drupal 8’s out of the box solution, the flexible multilingual infrastructure of Drupal aided in adding it easily.

Conclusion

While English language internet users have been the primary source of the target of every business. There has been an unprecedented growth in the non-English language online users as well. Reaching them out is beneficial for widening your customer base and establishing their business in newer markets. Your content determines the website traffic, customer retention, and conversion rates. CMS is the warehouse of your web content. It is significant to choose the right CMS before even making your first move towards making your site multilingual.

Drupal 8 has made tremendous improvements to include the built-in multilingual feature. It delivers multilingual websites right out of the box. Its 4 key modules for language, interface, content, and configuration of your website helps in efficaciously building a multilingual site.

Drupal development is our forte and we are committed towards the provision for great digital experiences. To tap into newer markets with multilingual Drupal websites, reach us out at [email protected].

May 22 2019
May 22

More and more users want the content to be available via a host of different devices. Various new interfaces and devices are thronging the technology landscape and are touted to bring about sweeping changes. There are even talks of website-less future. Smart wearables, Internet of Things, conversational user interface etc. have been gaining traction and are changing the way we experience the internet. New web-enabled devices need the content that the websites do but in a different format which creates complications in the way we develop. Disseminating content can have different needs from one setup to another.

Two coffee mugs placed diagonally opposite to each other and coffee beans scattered around one of the mugs


The content management system (CMS) is rife with labels such as ‘decoupled’ and ‘hybrid’ which requires to be dissected for a better understanding of their benefits. Decoupling the backend of a content management system (CMS) from the frontend can be a remarkable solution for a lot of issues that are caused when you move away from standard website-only deliveries. Decoupling the CMS streamlines the process of republishing the content across numerous channels ranging from websites to applications. Decoupled CMS is not new, but as the digital arena observes changes, it gets more and more important.

The Drupal Connect

Flowchart with boxes explaining decoupled DrupalSource: Dries Buytaert’s blog

As one of the leaders in the CMS market, Drupal’s content as a service approach enables you to get out of the page-based mentality. It gives you the flexibility to separate the content management from the content display and allows you the front-end developers to build engrossing customer experiences.

Decoupled Drupal implementations are becoming ubiquitous due to its immense capability in giving a push to digital innovation

Decoupled Drupal implementations, which involves a full separation of concerns between the structure of your content and its presentation, are becoming ubiquitous due to Drupal’s immense capability in giving a push to digital innovation and being a great solution in adopting novel approaches.

Drupal Community has been working on a plenitude of API-first architectures by utilising its core REST, JSON:API and GraphQL features. But there are alternative solutions, too, available in decoupled Drupal ecosystem that can be of great significance. Let’s explore them:

RESTful Web Services and others

While RESTful Web services module helps in exposing entities and other resources as RESTful web API and is one of the most important modules when it comes to decoupled Drupal implementation, there are several others that can come handy as well.

Implementing the Apache CouchDB specification and focussing upon content staging use cases as part of the Drupal Deploy ecosystem, RELAXed Web Services module can be of immense help. The CouchDB helps in storing data within JSON documents that are exposed via a RESTful API and unlike Drupal’s core REST API, it enables not just GET, POST, DELETE but also PUT and COPY.

There’s a REST UI module that offers a user interface (UI) for the configuration of Drupal 8’s REST module. You can utilise Webform REST module that helps in retrieving and submitting webforms via REST. For protracting core’s REST Export views display in order to automatically converting any JSON string field to JSON in the output, REST Export Nested module can be useful. By offering a REST endpoint, REST menu items module can be helpful in retrieving menu items on the basis of menu name. And when you need to use REST for resetting the password, REST Password Request module can be helpful. It is worth noting that Webform REST, REST Export Nested and REST Password Request are not covered by Drupal’s security advisory policy but are really valuable.

JSON:API and others

JSON: API module is an essential tool when you are considering to format your JSON responses and is one of the most sought after options in decoupled Drupal implementations. But there is, again, plenty of options for availing more features and functionalities. 

When in need of overriding the defaults that are preconfigured upon the installation of JSON: API module, you can leverage JSON: API Extras. By offering interfaces to override default settings and registering new ones that the resultant API need to follow, JSON: API Extras can be hugely advantageous in aliasing resource names and paths, modifying field output via field enhancers, aliasing field names and so on. There is JSON API File module that enables enhanced files integration for JSON: API module. And for the websites that expose consumer-facing APIs through REST, JSON: API or something similar, Key auth module offers simple key-based authentication to every user.

For streamlined ingestion of content by other applications, Lightning API module gives you a standard API with authentication and authorisation and utilises JSON: API and OAuth2 standards through JSON API and Simple Oauth modules.

GraphQL and others

GraphQL module is great for exposing Drupal entities to your GraphQL client applications. There are some more useful modules based on GraphQL. To enable integration between GraphQL and Search API modules, there is a GraphQL Search API module. Injecting data into Twig templates by just adding a GraphQL query can be done with GraphQL Twig module. To expose Drupal content entity definitions through GraphQL via GraphQL Drupal module and develop forms or views for entities via front-end automatically, you have GraphQL Entity Definitions module.

OpenAPI and related modules

OpenAPI describes RESTful web services on the basis of the schema. There is OpenAPI module in Drupal, which is not covered by Drupal’s security advisory policies but can integrate well with both core REST and JSON: API for documentation of available entity routes in those services. And for implementing an API to display OpenAPI specifications inside a Drupal website, you get OpenAPI UI module. And ReDoc for OpenAPI UI module offers the ReDoc library, which is an Open API/ Swagger-generated API reference documentation, for displaying Open API specifications inside Drupal website. Then there is Swagger UI for OpenAPI UI module that gives you Swagger UI library in order to display OpenAPI specifications inside Drupal site. You can also utilise Schemata module that provides schemas for facilitating generated documentation and generated code.

Contentajs and related modules

The need for a Nodes.js proxy that acts as middleware between Drupal content API layer and Javascript application can be addressed with the help of Contenta.js.  For Contenta.js to function properly, Contenta JS Drupal module is needed. This module is part of the Contenta CMS Drupal distribution. The Node.js proxy is essential for decoupled Drupal because of data aggregation, server-side rendering and caching. Contenta.js constitutes multithreaded Node.js server, a Subrequests server for the facilitation of request aggregation, a Redis integration and simple approach to CORS (Cross-origin resource sharing).

There are several effective modules that are part of the Contenta CMS decoupled distribution and integrates perfectly with Contenta.js. You have Subrequest module that tells the system to execute multiple requests in a single bootstrap and then return everything. JSON-RPC module offers a lightweight protocol for remote procedure calls and serves as a canonical foundation for Drupal administrative actions that are relied upon more than just REST. To resolve path aliases, Decoupled Router module gives you an endpoint and redirects for entity relates routes.

In order to enable decoupled Drupal implementations to have variations on the basis of consumer who is making the request, you can use Consumers module. You can use Consumer Image Styles that integrates well with JSON: API for giving image styles to your images in the decoupled Drupal project. And there is Simple OAuth module for implementing OAuth 2.0 Authorisation Framework RFC.

Of relating to JavaScript frameworks

Decoupled Blocks module is great for progressive decoupling and enables front-end developers to write custom blocks in whatever javascript framework that they prefer to work on. If you want to implement using Vue.js, you can use Decoupled Blocks: Vuejs. It should be noted that both of these are not covered by Drupal’s security advisory policies.

React Comments comes as a drop-in replacement for the Drupal core comment module frontend.

Also, there is a jDrupal module, which is a JavaScript library and API for Drupal REST and can be leveraged for Drupal 8 application development.

Conclusion

With Drupal as the decoupled web content management, developers can get to use a plentitude of technologies to render the front end experience.

RESTful web services, GraphQL and JSON: API are not the only resources that you get in the decoupled Drupal ecosystem. In fact, there are plenty of other alternatives that can be of paramount importance.

Drupal development is our forte and bringing stupendous digital experience to our partners has been our prime objective. Contact us at [email protected] and let us know how you want us to be a part of your digital transformation goals.

May 14 2019
May 14

Long awaited and much needed in the pipeline, the Layout Builder was finally launched in May 2019. With an ambition to create a content tool that can provide more power and flexibility than comparable systems, the Drupal community had been working on a super progressive visual tool for more than a year. Earlier, the digital marketers had restricted templates to work with and were not satisfied with clunky design experiences. However, in the recent launch of Drupal 8.7.0, Dries Buytaert stated that the new layout builder will be able to manipulate different types of content and unleash unique and trend setting features. The feature of layouts for templated and customised content is crucial for websites with large amounts of content. 

For websites with heavy content, the Layout Builder has enhanced Drupal’s ability to handle “structured content” now. 

A man climbing a ladder in the sky


Originally introduced as an experimental module in Drupal 8.5, the primary focus of the layout builder was to develop a drag and drop WYSIWYG tool. Relying on a third-party software was getting painstaking for many and Drupal became one of the first CMS to take this risk. This layout builder offers full compatibility with revisions, workflows, and in-context previews. It is a single, powerful and visual design tool that creates layout templates that can speed up the development process for the site builders. The accessible, mobile-friendly page building tool allows content authors to easily customise individual pages with unique layouts too.

With 123 individuals and 68 organisations contributing, the Drupal 8.7 comes with this promising layout builder.

Advantages of Layout Builder

The shifting focus in the website development has lead to Layout Builder emerging as the most exciting CMS visual design tool. Let’s explore its reasons: 

  • You can create layout templates for a specific content type, such as blog posts, products pages, landing pages, etc. 
  • Layout builder empowers to customise the template layouts and override them on a case-by-case basis. 
  • It enables you to create custom landing pages that are not tied to a content type or structured content. 
  • The tool passes Drupal’s accessibility gate(Level AA conformance with WCAG and ATAG) with a stable state for production. 
  • The updated version in Drupal 8.7 allows streamlining mass-production while supporting unique creation.
  • The drag-and-drop management of your content blocks is now possible with the new layout builder 
  • Additionally, it supports keyboard controls and toggling the content preview on and off to give the content editor complete control of their experience while building their layouts.

With 123 individuals and 68 organisations contributing, the Drupal 8.7 comes with this promising layout builder. Moreover, 40 above individual contributors volunteered for the success of this release. 

Improved Layout Builder in Drupal 8.7

Translation Support

As the layout builder has improved features for translation, there are two approaches that can be taken here:

  • Synchronised approach translation: For multilingual sites that have the same layout, all the content and fields are automated. In other words, any text entered with layout builder is translated automatically for you. 
  • Independent approach translation: On the other hand, if you want different layouts for two different languages or take a localisation approach to the site, you can have independent and individual translations for them too.

Usability 

From Drupal 8.6 to Drupal 8.7, the usability has drastically improved:

  • You can now narrow down the list of block available and add several tweaks to it. 
  • Contextual links are used to add shortcuts. The Drupal community is re-evaluating the usage as it is essential from the UI point of view. 
  • Except for minor alterations, the layout builder now gives real-time updates based on changes made in sidebar.

Accessibility 

The usability is always inter-connected with accessibility. If it isn’t accessible, it is not usable for obvious reasons. The revamped version has features like:  

  • Improved usage of Drupal announce and ARIA attributes.
  • Now you can easily access the keyboard to action commands like save, discard, or revert from anywhere on the page. 
  • The tabledrag can get confusing for many. You can create a tabledrag-based UI to make all changes at once in the layout builder with Drupal 8.7. 

New Media Library

A new, stylish and with a handy user interface, Drupal 8.7 introduces us with numerous improvements in the Media Library:

  • The highlighted design and accessibility of the user interface makes way for inline media creation in the library itself. 
  • The process of searching the media items in the library, from bulk uploading them to the selection of media items and embedding them into the content is also a smooth run with the new version.
  • The Media module also allows reuse of images, documents, efficiently managed drag-and-drop function and provides a more flexible grid and table views. 
  • The media module in sync and stable with this media library and will further improve with the upcoming Drupal 8.8 release.
Screenshot of how to add new media in Layout Builder

Revisions in Custom menu links & Taxonomy

The following revisions in the 8.7.0 release aim to enhance the overall performance of the Layout Builder:

  • It allows the Custom menu links and taxonomy terms to fully participate in the editorial workflows. 
  • They have been revised for improved integration and core support for the Workspaces module with a new Update API for help in conversion of further entity types. 
  • The schema of any content entity type can now be converted between non-revisionable or non-translatable and revisionable or translatable. 

Automatic Entity 

Among many additions, there has been few subtractions as well: 

  • The support for automatic entity updates was removed due to data integrity issues and its conflicts. 
  • The drush entity:updates (drush entup) command stands nullified and the entity changes will now be performed using standard update procedures.

Internet Explorer 9 and 10

The workaround that still existed in D8.5 and D8.6 also gets removed as the *.7.0 release says goodbye to Internet Explorer 9 and 10. The workaround used to allow the inclusion of 32+ stylesheets. 

Check out Buytaert’s demo video showing the Layout Builder in action with Drupal 8.7.0.  

[embedded content]

On the way to Drupal 9

The major release of Drupal 9 planned for June 2020 will open new doors for the layout builder. It will update dependencies primarily on Symfony as the optional support for Symfony 4 is expected to complete by 8.8 version. Further, a better feedback on the compatibility can be obtained as we testing Drupal with updated third-party dependencies in this version. Drupal 8.7.0 also includes an optional support for Twig 2 (for sites that can patch their Composer configuration). 

Conclusion

New improvements in terms of keyboard navigation accessibility, precise permissions, layout overrides, and column width selection has given a stable outlook to the Layout Builder and it is ready to work on live sites. The process of constructing pages “brick by brick” with a combination of elements, configuration of blocks, and drag-and-dropping feature is an easy and enjoyable one. 

Check out the new Drupal 8.7.0 version and share your views with us in the comments! We’d also like to hear from you at [email protected].

 

Apr 28 2019
Apr 28

One of the most significant terms used on this planet is ‘Security’. You get to read about nutrition security in reports like the UN’s State of Food Security and Nutrition in the World in 2017 that laid out pointers to bring in nutrition policy reform. Or, you get to hear about cybersecurity which needs to be integrated into every aspect of policy and planning in this age of digitisation. Often, you also get to see the emphasis being put on national security, an integral part of every country, and surveillance becomes important to ensure the safety of citizens.

A house lock put up on a green coloured structure


Security also plays a key role in the web development arena. Website security is one of the most significant aspects that every business considers to thrive on and dominate the internet space. Vulnerabilities in your sites can give hackers the upper hand in finding a key to the safety vault. Drupal 8 stands out as the most secure Content Management System (CMS) which comes bundled with a plenitude of advantages over other leading content management frameworks.

Security Features

With a proven track record of being the most secure CMS, Drupal has been performing much better than its competitors in the CMS market. It has stood resilient to critical internet vulnerabilities. Thanks to Drupal Security Team for actively validating and responding to security issues.

Drupal Security Team is a force to reckon with when it comes to finding out anomalies and fixing them. The goals of the Security Team are to resolve reported issues in a Security Advisory. They provide help for contributed module maintainers. They document these identifications and modifications to make sure that developers don’t find themselves tied in knots. They assist the infrastructure team to keep the Drupal.org infrastructure secure.
 
Moreover, you can allow safe 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 enforces strong password policies. Furthermore, it offers essential security modules, industry-standard authentication practices, session limits and single sign-on systems. And, by providing granular user access control, Drupal gives administrators full authority over who gets to see and who gets to modify different parts of a site.
 
Database encryption can be done efficaciously with the help of Drupal. It is configurable to encrypt your complete website or just a part of it like content types, nodes, and taxonomy terms.
 
Further, Drupal’s Form API assists in validating data in order to avoid XSS, CSRF and other malicious data entry. It also limits the number of times login attempts are made from a single IP address over a predefined period of time which enables you to brute-force password attacks.

The multi-layered cache architecture helps in minimising Denial of Service (DoS) attacks and makes it the most preferred CMS for some of the world’s highest traffic websites; thus proving its immense scalability.
 
As a not-for-profit charitable organization, OWASP (Open Web Application Security Project) focuses on improving the security of software. Drupal conforms to the OWASP standards and its community is committed towards prevention of safety hazards.

A heading and bullet points below it to explain security constraints of Open Web application security project


Major Technical Improvements

Drupal 8 has closed down many glitches and bugs reported in Drupal 7.

Ever since Drupal 8 came into the scene, it has emerged as the most technically improved CMS in terms of security. Some of the most important modifications that have taken shape in Drupal 8:
 
Removing the PHP input format in the core is probably the most important advancement which has removed code execution vulnerability. That means administrator login does not have to be executed with arbitrary PHP code or shell commands anymore.
 
Twig templates, which is used for HTML generation, is considered one of the most important improvements. This has resulted in better validation of 3rd party themes.
 
Twig auto-escaping has also prevented most frequently found Cross-site scripting (XSS) vulnerabilities in the custom site themes and custom and contributed modules.
 
Tracking configuration in code has been streamlined with an auditable history of changes through Configuration Management Initiative. Also, it helps in avoiding mistakes that creep in during manual configuration. Configuration changes in the production server can be completely blocked.
 
Use of filtered HTML format for content entry has prevented the execution of XSS attacks on other site users.
 
User session and session ID management has also been fortified in Drupal 8.

Statistics are on Drupal's side

Statistically, Drupal performs much better than leading CMS platforms for preventing safety hazards.

Sucuri, security platform for websites, compiled the ‘Hacked Website report’. It analyzed more than 34,000 infected websites. Among the statistics that it shared, one of the parameters was to compare the affected open-source CMS applications.

Wordpress, Joomla, and Magento suffered the most. The infection crept in due to improper deployment, configuration, and the maintenance.

Bar graph showing infected websites platform in 2017Source: Sucuri

The infection rate of major content management frameworks had a varied change. While Wordpress had a significant increase from 74 percent in 2016 Q3 to 84 percent in 2017, Magento had a slight rise from 6 percent in 2016 Q3 to 6.5 percent in 2017.

Joomla had a considerable drop from 17 percent in 2016 Q3 to 13.1 percent in 2017. Drupal bettered its rate from 2 percent in 2016 Q3 to 1.6 percent in 2017.

Bar graph showing CMS infection comparison in 2017Source: Sucuri

MDPI, which pioneers in open access publishing, prepared a report called ‘A Comparative Study of Web Content Management Systems’. They used Acunetix software for auditing the website. They compared Drupal and Joomla in terms of most commonly occurring vulnerabilities - SQL injection and XSS. Drupal came out as the clear winner.

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

A table with rows and columns to explain Drupal securitySource: Alert Logic

Summary

Website security is the most important constraint to survive without any existential threats. Drupal has been the frontrunner when it comes to choosing the security focussed CMS.
 
Being an open source platform and Drupal Security Team’s efforts in providing essential features and timely updates in Drupal 8 has helped in making it the most reliable and secure CMS.
 
The transition from Drupal 7 to Drupal 8 has seen a tremendous advancement in blocking the vulnerabilities.
 
Statistically proven, Drupal is the best CMS in terms of security among the major CMS platforms.

Contact us at [email protected] to get the best out of Drupal 8 and its security features.

Apr 18 2019
Apr 18

Advancements in artificial intelligence (AI) are opening up a plenitude of possibilities in different industries. Efforts like Robotics at Google, for instance, are showing the world the way forward. Google is working on machines that may not be as eye-catching as humanoid robots but will have subtly more advanced technology inside them. The idea is to let them learn skills on their own and sort through a bin of unfamiliar objects or navigate a warehouse that is filled with unexpected obstacles. And in the healthcare sector, while the doctors are already using AI for diagnosing and treating medical conditions, Dr. Eric Topol, in his book called Deep Medicine, says that AI can do much more than that. AI can save doctors from performing tasks like jotting down notes and reading scans and allow them to spend more time connecting with their patients. The AI’s influence in different fields will make for an endless list.

A robot playing piano


It is true that AI is growing at a fast clip. But, currently, it is still dependable on human intelligence. Nevertheless, AI is here to stay and will only get better with time.

In the web landscape, too, AI has the provision for a superabundance of use cases. Drupal, as one of the leading content management frameworks, has been a pioneer when it comes to giving a push to digital innovation. Drupal, replete with modules for implementing AI, can lay the groundwork for a more AI-centric future for your digital business.

Unwrapping artificial intelligence

The term ‘Artificial Intelligence’ was coined by Dartmouth professor John McCarthy in the summer of 1956 when he invited a small group to spend some weeks musing on how to enable machines to do things like use language. He pinned high hopes on the breakthrough of human-level machines. Since then, artificial intelligence has come a long way and will undergo a lot of research and development in the coming years.

AI can emulate human performance by learning from it.

Gartner states that “AI applies advanced analysis and logic-based techniques, including machine learning, to interpret events, support and automate decisions, and take actions”. Commonly, definitions of AI emphasise on automation. But AI can emulate human performance by learning from it. This can come very handy as it gives a plethora of opportunities to IT and business leaders.

Adopting AI in businesses

When it comes to adoption of AI in the business workflow, organisations need a well-planned strategy to measure their firm against the AI maturity model, states Gartner.

Graphical representation with a blue line superimposed over a set of columns to explain artificial intelligence (AI) maturity modelSource: Gartner

AI maturity model can help in identifying where your firm is on the potential growth curve and decide what steps should be taken by discussing it with the management. Some organisations can be doing conversations about AI and are in an Awareness stage. There can be firms in the Active stage who may be including AI in proofs of concept and pilot projects. Organisations can be termed to be in the Operational stage when at least one of their AI projects has moved to production. Business organisations can be said to be in the Systematic stage when they, at least, start considering AI for all of their new digital projects. Once you figure out what stage you are in, you can aim for reaching the Transformational stage and make AI a part of your DNA with the help of top-notch, adaptive strategy and by giving more room for experimentation.
 
As you start implementing AI in your business, it is important to identify the right use cases i.e. the key business hurdles that can be resolved by the capabilities of AI. And there is no dearth of what AI has to offer as can be seen in the figure below.

Different coloured hexagons containing icons like truck, car, people, human brain, and computer joined together


A combo of AI and Drupal

AI has made its foray into different industries and has opened up new opportunities for improving business workflow. Web development is one of the areas where artificial intelligence can be leveraged to a great extent. Some of the examples of how Drupal can be of great use to leverage artificial intelligence are:

Chatbots

Artificial intelligence can be of great help in imbibing cognitive computing abilities, that simulates human thought processes in a computerised model, in a website. This can be done in the form of chatbots. Drupal’s Chatbot API module can offer fantastic conversational experiences. Chatbot API gives you a common flexible additional layer that comes in between Drupal, your Natural Language Processing (NLP) and your several chatbots and personal assistants thereby making your website chatbot-friendly. This assists in avoiding the need for writing new code whenever you have to translate conversational experience from one interface to another.

Web personalisation

Personalisation of the web content is done on the basis of a person’s digital persona. Content can be recommended to the users based on their profile or past activities. For instance, if they are searching for a blue shirt, something like this would work - “Here are more blue shirts”. Or, if a user is reading about futuristic technologies, then something like this may work - “Read more articles like this”. Artificial intelligence can improve even further.

[embedded content]


A session at DrupalCon Baltimore 2017 talked about personalising web content using machine learning (a subset of AI). They demonstrated Deep Feeling, a proof-of-concept project, that leverages machine learning techniques to enhance content recommendations to the users. They utilised Instagram API for accessing a user’s stream-of-consciousness and filtered their feeds via a computer vision API. This was, then, used to detect and learn subtle themes about the user’s predilections. On getting a notion about the sort of experiences the user thinks are worth sharing, user’s characteristics were matched against their own databases. The proof-of-concept involved Acquia lift service and Drupal 8.

Multilingual platform

“In keeping with our deep integrations to Web Content Management, Content Management Systems, and Marketing Automation platforms, our Drupal 8 connector is the latest example of Cloudwords building integrations that speed and scale a company’s global marketing engagements with personalized experiences in any language”, said Richard Harpham, former CEO at Cloudwords Inc.
 
Cloudwords for Multilingual Drupal module offers a superfast and efficacious way of governing the process of making your site multilingual. On installing this module, your content can be served in multiple languages to the market. Its powerful workflow automation and project management capabilities enable you to choose the content that you want to localise and the rest of the process is taken care of by Cloudwords. Its CAT tool utilises artificial intelligence and machine learning for enhancing productivity.

Deriving insights from your images

Google’s artificial intelligence capabilities can be applied for solving the obstacles of content management at scale. A session held at Badcamp 2018 exhibited how can content editors keep up with reviews during a continuous stream of content submissions.

[embedded content]


For this, Google Cloud Vision API was utilised. Google Vision API offers image labelling as it detects an object automatically and even provides data about objects such as its position within the image. It can also detect text within the images. It can assess your image and identify if it contains adult content, violence and so on. Google Cloud Vision API can be configured with Drupal via the Drupal module. This enables you to automatically add metadata to uploaded media and allow explicit content detection on image fields.

Conclusion

We can do so much with artificial intelligence just as there is much that we have done with the wheel. But to consider AI as an outright replacement for human intelligence is not the right thing to do. AI can improve our lives and it is important to figure how to leverage it for our betterment.
 
Drupal, a catalyst giving importance to digital innovation and emerging technologies, can be used in combination with AI to build futuristic solutions.
 
We have been working towards the provision of better digital experience and offer a suite of services. Let us know at [email protected] how you want us to be part of your digital transformation endeavours.

Mar 31 2019
Mar 31

Progressive web apps (PWA) have made great inroads and one of the greatest examples of that can be seen through Twitter. As one of the most popular platforms to know what’s happening around the world and with millions of active users around the globe who consume, create and share data, Twitter has been a force to reckon with and has leveraged the power of PWA. In order to enhance their mobile web experience and make it faster, more reliable and more engrossing, it has built the Twitter Lite Progressive Web App. This extracts the best of the modern web and native features to offer instant loading, improved user engagement, and lower data consumption.

a mobile phone with the screen showing twitter app


Big names like Twitter are traversing the path of PWA. And that’s been the success story of PWA. By taking advantage of major advances in modern web browsers, web APIs and front-end frameworks, progressive web apps deliver stupendous app experiences to mobile and desktop users. Drupal, as a leading content management system, offers a wonderful platform for creating a progressive web app. Let’s take a brief look at PWA before moving on to Drupal’s capability.

Understanding Progressive Web App

It was the year 2007 when the iPhone came into the picture. That’s when the history of progressive web apps starts, states Venn.  This was, also, when Web 2.0 started moulding itself and the HTML5 standard was still being defined. Web pages started becoming more dynamic that altered the way we used the web and desktop devices. A number of PWA’s features are continuations in the development of those integral technologies.

Three screenshots from a mobile phone showing instagram appSource: freeCodeCamp

What are progressive web apps? You might have seen an ‘Add to Home Screen banner while browsing a website as depicted in the picture above. On clicking this button, the application installs itself in the background. Once the download is complete, this application sits in your app drawer. What you now have is a mobile application, a PWA, that did not require the services of an app store and was downloaded from the web application. Thus, a PWA enables you to install from the browser window itself and is available on phone like a native application and even works offline.

"Progressive web apps use modern web APIs along with traditional progressive enhancement strategy to create cross-platform web applications. These apps work everywhere and provide several features that give them the same user experience advantages as native apps." - MDN web docs

Coined by Alex Russel and Frances Berriman, PWA is a set of best practices for making a web application function in the same way as a desktop or mobile application would work. The idea is to have an experience that is uniform and boundless and the user is unable to differentiate between a progressive web app and a native mobile app.

Why build a Progressive Web App?

Eight hexagons containing icons resembling mobile phones, folder, arrows and desktopSource: Lambda Test

Progressive web apps come with progressive enhancement as a core tenet. So, it works for all the users no matter what their browser choice is. It is, also, fully responsive and works across platforms. Moreover, Web App Manifests enables your PWA to deliver the look and feel people expect and lets you specify an icon, app name and splash screen colour. It lets users install PWA on their device and have it appear alongside native apps.

Powered by service workers, PWA is connectivity independent thereby allowing it to be leveraged offline and low-quality networks. It also enables background data syncing. Service worker update process also keeps it up-to-date always. Because of W3C manifest and service worker registration scope, PWA is identifiable as an application and enables search engines to find it.

PWAs is also faster to load and install as is depicted in the image below.

Bar graph with green and blue coloured bars to represent progressive web apps usageSource: App Institute

The app shell model’s provision for separation of application functionality from application content makes PWA feel like a native app. PWAs offer top-notch security as they are served via HTTPS for negating snooping and making sure that the content is tamper-proof.

Progressive web app comes with push notification capabilities. The application can also be easily shared through an URL without the need for any intricate installation.

PWAs take less storage space as can be seen in the illustration below.

Illustration showing a mobile phone with drawers protruding out of it to explain progressive web appsSource: App Institute

Progressive web app with Drupal

Development of PWA can be done with front end frameworks like Angular, React, Polymer, Ionic etc. How can it be made possible with Drupal? Integration of Progressive web app with Drupal can be done with Progressive Web App module. Designed to work out of the box, this module enables you to add basic PWA functionality to your website. There are countless ways to customise the experience by writing your own service worker. But for basic offline functionality, this module is great and does not involve too much intricacy.

It leverages service worker and manifest.json for offering a more app-like experience on mobile devices. It requires the website to have a valid HTTPS to function well. It is part of the W3 specification that services workers only function on HTTPS.

The module helps in triggering ‘add to homescreen’ prompt automatically whenever a user visits your site. It, also, has a good Lighthouse audit score as well.

You can install this module by downloading and enabling the PWA module and the admin configuration have to be saved at least once before the visitors can start revelling in the merits of your new PWA.

Prompt pop up of progressive web apps Drupal module configuration showing message boxes and drop down options


What lies ahead?

Comscore states in its research study that 51% of users do not download any app in a month. There is a plethora of dead weight in the app store and developing brand new apps for Android, iOS and the web are not cost-effective and is also time-intensive.

Are progressive web apps the future of apps? With big names like Twitter and Forbes showing an inclination towards PWA, there is a definite rise of PWA to be seen in the coming years. In fact, Gartner predicts that progressive web apps will replace 50% of general-purpose, consumer-facing mobile applications by 2020.

A report of SBWire states that PWA market will grow at a Compound Annual Growth Rate (CAGR) of +10% between 2017 and 2025. Advancement in IT, the emergence of smart devices, enhanced awareness of updated technology among the people is touted to be factors in its growth.

Conclusion

Progressive Web App is a great way of offering an app-like experience to your website. Drupal can be a stupendous option of enhancing your site with a PWA.

We have been committed towards provision for ambitious digital experience through a suite of services. Talk to our Drupal experts at [email protected] and let us know how do you want us to be a part of your digital transformation journey.

Mar 31 2019
Mar 31

You may get involved in a coffee mishap on the way out of the door leaving a stain on your shirt. This is among the numerous stains that Tide’s Stain Remover, an Alexa skill, can help you remove.

Amazon Echo powered by Alexa, a plant pot, and a polaroid land camera placed close to each other


Voice assistants like Alexa are beginning to play a colossal part in our everyday lives. That is exactly why Tide, one of the largest producers of laundry products, has plunged in to utilise Alexa as a Stain removal expert. With the growing popularity of Amazon Alexa, organisations can consider the best ways to extend their omnichannel content strategy for including dissemination of content on voice and chat platforms. Integrating Alexa with Drupal, one of the leading content management systems in the market, can be great for allowing content to be accessed both via web and voice assistants.

Alexa: A quintessential voice assistant

As Amazon’s cloud-based voice service, Alexa is available on a plethora of devices from Amazon like Echo and third-party device manufacturers. It was named after the Library of Alexandria which attempted to collect all of the world’s knowledge. It lets you tell your wishes, at least the simple ones like playing music tracks and finding food recipes and fulfils them.

“With Alexa, you can build natural voice experiences that offer customers a more intuitive way to interact with the technology they use every day.” - Amazon Alexa

[embedded content]


Its collection of tools, APIs, reference solutions and documentation lets anyone build with Alexa. Creating cloud-based skills helps in disseminating content and reach customers via millions of Alexa-enabled devices. Alexa Skills Kit lets you build engrossing voice-first experiences. Moreover, Alexa Voice Service lets you develop voice-forward products through the incorporation of Alexa into your devices or controlling your devices with Alexa. You can even leverage it for your businesses by making it easy for users to access your services by voice.

Gartner predicts that because of the staggering advancements in emotion artificial intelligence (AI) systems, the personal devices will know more about an individual's emotional state. So, Alexa will get to know us more and more in the future and can even be able to detect and assess how we are feeling with the tone of our voice.

Alexa, also, leads in the market share of smart speakers as can be seen below.

Graphical representation showing 11 different blue and green coloured squares and rectangles arranged inside a big square explaining statistics on smart speakers


Amalgamation of Alexa and Drupal

A tweet by Dries Buytaert on Alexa and Drupal with the image of Dries on top left


Integration of Amazon Alexa and Drupal can be done with the help of Alexa Drupal module. For this, the Drupal website should be available online and using HTTPS. You can start by installing and enabling the Alexa module on the Drupal site. Then, a new Alexa skill can be created in Alexa Skills Kit. This is followed by the processes of copying the Application ID that is provided by the Amazon in ‘Skill information’ and submitting it to the Drupal site’s configuration. You can, then, move on to configuring Alexa skill in Alexa Skills Kit and creating a customised handler module for managing custom Alexa skills.

To demonstrate how this works, a digital agency used a sample supermarket chain called Gourmet Market and connected Alexa to its Drupal-powered site using Alexa module. A list of intents, that refers to the commands you want the users to run which is similar to Drupal’s routes, is specified. This is followed by the process of specifying a list of utterances that is basically the sentences that you want the Echo to react to. After the execution of the command, a webhook callback is received by the Drupal site and the Alexa module validates the request.

[embedded content]


Suppose if you ask Alexa about the fruits that are on sale, Alexa would make a call to the Gourmet Market Drupal site and come up with the relevant information. Certain items can also be tagged as ‘On Sale’ by the store manager and the same changes are automatically and swiftly reflected by Alexa’s voice responses. And the best part is that the marketing manager won’t require any programming skills as the Alexa forms its voice responses by talking to Drupal 8 via web service APIs.

The site could also deliver smart notifications. When posing a question enquiring about an item that is not on sale, the site can automatically notify the user through text once the store manager puts the tag of ‘On Sale’ on it.

The digital agency showed another example of a combination of Alexa and Drupal through a fictional grocery store called Freshland Market. Here, a user chooses a food recipe from Freshland Market’s Drupal site and collects all the ingredients to go ahead with the cooking process. The food recipe asked by the user is for 8 people but the site has the same for 4 people. The Freshland Market Alexa skill, by itself, adjusts the number of ingredients for 8 people. So, amidst a series of questions and the relevant ingredients and cooking steps, the user is easily able to prepare the food without having to look at the laptop or mobile phone.

[embedded content]


Conclusion

Coming together of Alexa and Drupal can be a great solution for removing friction from user experiences. With Drupal as a stupendous content store and Alexa as a quintessential voice assistant, you can bring about a world of difference.
 
We believe in open source innovation and are committed to offering great digital experiences with our expertise in Drupal development. Talk to our Drupal experts at [email protected] and let us know how do you want us to be a part of your digital transformation endeavours.

Mar 15 2019
Mar 15

Adam stood in the middle of the garden, enveloped in exquisite beauty. The world was there to delight him, succulent fruit, dignified trees, green meadows, sprinkling pool and species of all kinds. Yet he stood contemplating the nature, he felt certain loneliness and thus the Lord said 

It is not good that man is alone. I shall make him a compatible helper.

With the creation of other species, both male and female sprang up the same time. If the beginning of the entire universe was chosen to be this way, how can business be any good without clients and a strong relationship with them, Right? 

 Image of two hands where the upper one is offering an apple to the lower one


The productivity and enduring relationship not only provides value to clients that are consistent but also constructs a healthy connection in every business venture. 

Though there are times when you get stuck in a rut with clients and the relationship starts to rot. 

So, how do you change it? 

Maybe with some strategies or maybe with the help of some plan. Well, whatever it may be here are some of the approaches which you can adapt to sweet up that sour relationship and add more productivity to a particular project.  

But how can perfect client relationship get ruined?

Under perfect circumstances, organizations and big enterprises treat their clients right. However, there might be times when they are under pressure to sell more or retain those paying customers, chances are that they might deviate from their standards. Resulting in sorrowful client satisfaction. 

With this context here are some of the actions which can kill a perfect build client relationship:

Saying yes to a client when you should not 

There is no shame in accepting the fact that your organization can meet only a level of expectations and not beyond it. Taking up those clients who are not a good match is foolishness.  If a particular organization knows that they going to hate dealing with a client or they might fail to meet their quality standards, the money is not worth the inevitable breakdown.  

Overpromising 

When there is a wide gap between expectations and reality - it results in disappointment. If you are selling software or a product for that matter, don’t promise the integration which will take a week or so and won’t work perfectly. Give those commitments that you know are humanly and technically feasible. Overpromising results in fears. 

Not addressing the key details 

When you are serving a client, it is necessary to include each and every detail about the project. You leaving details out by omission is one thing. If you leave out details intentionally, you will screw up relationships. Thus, address to each and every key detail. 

Being unauthentic 

If you are focusing only on yourself, what works for you and whatever you do then spending your time considering what's best for your team, company, or business partnership is a waste. Adopt an all-or-nothing attitude, acting however is needed to win favor, seal a deal, or make a sale, even if it means lying or misrepresenting your position is a call for a sour relationship. 

Image showing a handset in red color with text as “The Customer”. There are arrows that are connected to it and many doodles depicting important factors

Taking These Few Important Steps for an Enduring Relationship 

We all know that a huge amount of time and effort is employed on acquiring clients, yet very few businesses spend the same energy nurturing the relationship. Here are some of the tips that would help you endure your client relationship.  

Communication is the key 

Clients depend on you to keep them informed. Having constant communication with them should be the top priorities. This includes updating them on various projects, as well as making them understand about any kind of bumps that you may encounter in the product delivering journey.

Information distribution

Don’t delay to share knowledge that might be useful to the clients, whether or not it benefits your organization in a way. The more value you present, the more a client attains to depend on you. There should not be a hesitation to share important and crucial data. 

Integrity 

If you are not honest to your client and vice-versa, no long term relationship survives. In addition to producing a product or service, your client requires you to show a chief responsibility towards all the dealings. Nowadays clients are really intelligent, they understand when they are being deceived or misled. Speaking a “ white lie” about why you failed can ruin your reputation. And without a reputation in terms of integrity, you can fail to cultivate the kind of long-term relationships that your business stands on.

Encourage multi-player team involvement 

The success of any project depends on the contribution of every member of the team.  Encouraging multi-player team with the involvement of the dev team can bring laurels to your project. This way the team members have a sense of ownership in a group project and they believe that their contributions are valued. They feel motivated to share their best work.

Goals 

There might be times when you would feel that you and your client are not on the same page. You have your own objective and your client has there's.  The solution to this common issue is to set mutual goals. 

And as soon as you start your new project and get engaged and committed to the deadlines, you help the client with vital product or services that might not be available in time to meet his or her needs. Set mutual goals from the very beginning to avoid any kind of friction later in the future.

Work for a strong partnership 

If you are building a relationship in all the appropriate ways and of course providing the products and services to your client needs, you can operate on developing a partnership with the client, something that is ahead of the project development. 

A client who determines that the organization that is serving them is in it for the long haul and that it motivates to help them succeed soon starts to view them as more than just a vendor or supplier. You become a partner in their enterprise and someone they grow to value today, tomorrow and in the years to come

Looking into the performance 

Re-examine the cost 

If you have been working with a particular customer for a long time, re-examine what it really costs you to do so. It would not be feasible to cut your price if it becomes cheaper to serve them.

Perceiving the Product 

Instead of thinking about what it is or what it does, you should infuse how it makes them feel. Even if you sell software, your software may relieve the stressful feeling of trying to get work done in a limited amount of time. It may make them feel confident in doing the job right.

Modify the strategy of budget 

Modify what you sell from a capital cost into an expense if your customer’s CEO won’t approve your product. Often, capital spending is prohibited but monthly expenses continue to be budgeted.

Finding an efficient distributor 

Sell your wares through a distributor if customers start to need smaller quantities or more service. Perhaps your service has declined as you pursued larger customers. If so, get a third party to sell and service your customer properly. You sure don’t need to make as much if you are doing less.

Selling your Service 

If they won’t buy your service by the unit, sell it by the hour or the result. So many times buyers are told to cut costs by cutting inventory.

Grant with a warranty if your product is at fault 

If your product or service was deficient, offer some kind of insurance to assure your customer it won’t be a problem next time.

Managing the departments 

The reasons customers buy your from you can change over time. A purchasing department can make decisions until its company has legal or customer problems, at which time their finance or marketing departments may now have the final say.

Managing projects with the help of various methods 

  • Waterfall: One of the more traditional project management methodologies, Waterfall is a linear, sequential design approach where progress flows downwards in one direction like a waterfall.
     
  • Agile development:  Agile is best suited for projects that are iterative and incremental. It’s a type of process where demands and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customers
     
  • Scrum: Scrum is comprised of five values: commitment, courage, focus, openness, and respect. Its goal is to develop, deliver, and sustain complex products through collaboration, accountability, and iterative progress. 
     
  • Kanban: Kanban is another popular Agile framework that, similar to Scrum, focuses on early releases with collaborative and self-managing teams.
     
  • Six Sigma: It aims to improve quality by reducing the number of errors in a process by identifying what is not working and then removing it from the process.

Case Studies 

Ivey Business Journal 

A three-year cross-industry study by Ivey business journal explained how poor business strategy, inappropriate communication or damaged working relationships between partners account for 94 percent of all broken and failed alliances. On their own, poor or damaged working relationships account for 52 percent of all broken alliances. 

There are several reasons due to which an alliance is broken. Issues like impersonal problems, failure of team members communicating, high attrition rates, and most importantly the failure to reach a milestone.

When an alliance is recognized as broken, there are many critical tasks to perform and many separate decisions to be made. Partners require to diagnose why the alliance has broken down, examine and interpret the existing obstacles, disputes or tensions, and create a specific procedure to master these problems. They must furnish themselves to uphold a long-term relationship.

To relaunch your relationship with your client a three-step process can be followed:

  • Audit the relationship diagnosing the root causes
  • The partnership can succeed only if both organizations are fully persuaded that the alliance is the most effective means to meet their goals.
  • Conduct relationship planning build a joint contract and deal understanding
Image of a pie chart where 52% is red in color, 37% is blue in color and 11% is green in color. The pie chart shows the causes of partnership failure


OEM Profitability and Supplier Relations 

OEM Profitability and Supplier Relations - which is based in part on data gathered over the past 13 years from the annual Working Relations Index Study published by consultancy Planning Perspectives - found the better the relationship an automotive manufacturer has with its suppliers, the greater its profits are.

It explained the relationship “quantifies the economic value of suppliers’. This includes a supplier sharing new technology, providing the best team to support to the manufacturer, and providing support that goes beyond the supplier's contractual obligation.
 
The report added the research “establishes the fact that the economic value of the suppliers’ non-price benefits can greatly exceed the economic benefit realized from suppliers’ price concessions”. On average, this can be up to four to five times greater, according to the research.

Conclusion 

To get customer loyalty in today’s rapidly changing competitive world, companies need to rethink.

  • How do they engage customers?
  • Do they have the appetite required to build loyal relationships?
  • Is it even the right strategy for them in the first place?

Determine what your business and shareholders need first. If it’s short-term financial gains, then customer loyalty should not be a stated goal. Client seeks relationships, with their vendor. They want a place to be heard, a place to be appreciated and a place to connect. 

At Opensense Labs, we use social technologies and services that allow us to take relationships with customers to higher levels. Connecting with customers’ personal values helps in placing ahead of the competition in winning the hearts and minds of your customers.

Ping us now at [email protected] now. 

Mar 14 2019
Mar 14

There have been a lot of people that are very much interested in the “DevOps” concept and when I sat down with some of these, the direction of the conversation went down to many interesting paths. 

They started talking about deployment best practices, rollbacks, hot deployment etc. 

Two blue screws placed vertically where the middle text has dev in one and ops in other


But, when there were some mentions about “Blue-Green Deployment” - complete silence. 

Therefore, this gave me an idea to tell the rest of the world that with all the microservices, native cloud and what not technology, blue-green deployment is not a silver bullet, but it is an element to usefulness.

How?

Well, you got to read ahead. 

What do we understand by blue-green deployment?

A blue-green deployment is a management approach for releasing software code. 

Two identical hardware environments are configured in the exact same way in Blue-green deployments, which is also known as A/B deployments 

Only one of the environments is live at a single time, where the live environment serves all the production traffic. For example, if blue is currently live then green would be idle and vice-versa.

Blue-green deployments are usually utilized for consumer-facing applications and the applications which have critical uptime requirements. The new code is delivered to the inactive environment, where it is completely tested. 

How it reduces the risk?

Achieving automation and continuous delivery at any level of production is a holy grail, and avoiding downtimes and risks are high up on the list of priorities. Blue-green deployment provides you with simple ways of achieving these goals by eliminating risks that are witnessed in the deployment. 

  • You will never encounter surprise errors

When you fill a particular form online, what all credentials do you fill? Your name, phone number, address, street and probably your bank details if you are making an online purchase. Right?

You press the “pay now” button and check on the “receive spam emails” but unfortunately, your order wasn’t able to get processed as you desired. If you are lucky enough you get an error message equivalent to “application is offline for maintenance” all your efforts and time goes in vain. But with blue-green deployment, you never have to worry about this maintenance screen. 

There is a list of item’s upon one click and upon next click, you are eligible to see the new menu that you add. This would keep furious emails about error screen from flooding your inbox. 

  • Testing the production environment 

Ensuring that your pre-production environment is as close to your production environment as possible is not only important but essential too. With the help of blue-green deployment, this task is easily achievable. The user can test any application while it is disconnected from the main traffic. The team has the eligibility to even load the test if they desire too. 

  • Makes sure that the traffic is seamless 

Customer needs and desires are more global than ever and there is no longer an essential good time to do deployment, especially if you work in an enterprise where the business needs to be running around the clock. If you have a customer facing application then there are chances that they might switch their platform to some other website, if they don’t find what they desire. This means a decrease in sale and business. 

Blue-green deployment assures that your traffic never stops. That customer can place their order just fine without disruption. Which means that the employees overseas continue to do their job without any interruption, saving companies money. 

  • Easy Recovery 

You might witness times where you would get introduced to bugs and viruses. We can either spend a lot of money on its fix or we can inevitably find them and recover them. With the help of blue-green deployment, we have our older and more stable version of our applications to come back online at a moment’s notice by evading the pain to roll back a deployment.

Image of an object that is connected to a yellow object that says router which is connected to a chart that is divided into three halves.Source: Martin Fowler

How does this process work?

As we know that blue-green deployment technique involves running two identical production environments where they are configured in the same way, therefore, let us assume that the current deployment is in the green environment in 2.3 release. The next deployment which would take place would be in a blue environment that would be in 2.4 release.  

The environment would then be tested and evaluated until it is confirmed to be stable and responding. Once it is in production the server would be redirected, thus becoming the new production environment that the users are routed to.

The entire design is used to provide fast rollbacks in a case a deployment fails or does not pass a QA. When deployment fails or critical bugs are identified, a rollback to the green environment will be initiated. Once the bugs are fixed the version is re-deployed to the blue environment and the traffic is rerouted back the moment it is stable. 

While deploying the preceding version i.e version 2.5, the deployment would switch to the green environment and would be extensively be tested and evaluated. Traffic would be rerouted to the green zone once it passes the quality assessment.

This way both green and blue environment are regularly cycled between live versions and staging to the next version. 

Image of five blue-green boxes that are placed horizontally which are pointing to the blue-green boxes on the other sidesSource: Medium 

Blue-Green Deployment helping your Drupal websites

Let us imagine that you constructed a website with the help of Drupal, now you are getting high traffic in it. Normally for developing, updating and testing a website (without risking the live integrity), you follow these steps:

Development: The development process starts with developers working on new features, bug fixes, theming and configuration in the local environment. It makes it possible to easily roll back to the previous stage of development.
 
Testing: Typically this environment is not available for client viewing and it is intended for testing developmental work against a lateral host. 

Staging: This stage is used for presenting the changes to the client for approval. QA (quality assurance) and UAT (user acceptance testing) are most often carried out on the staging stage. 

Production: This is the live site on the web available visitors. It contains new features that have been proven safe to go live. 

As you can see that this process can be long and time-consuming, maintaining and constructing site can be irritating therefore blue-green deployment rescues you at times like these. 

It would provide near to zero downtime and would present easy rollbacks capabilities. The fundamental idea behind blue/green deployment is to shift traffic between two identical environments that running differently in different applications. 

 Image of a blue and green square in two different images. The first one shows request in the blue box and the second pictures show the sameSource: NewGenapps

Some of the implementations for Your Drupal Website 

Blue-Green Deployment for Drupal websites with Docker 

Drupal Deployments are hard. The user has to make sure that that the code is deployed, composer dependencies are pulled, schema updates are pulled, scheme updates are performed and all the caches are cleared. 

All with keeping the website up and responsive to the users. But if anything goes wrong and you wish to rollback? Do you stop the deployment? Well, no blue-green deployment is the answer to it. 

Docker makes it easy to build, shift and run applications. On the EC2 instance, there are always two raised docker containers of “blue” and “green”, and ngnix works as a reverse proxy on the same instance. The user can build a Drupal site that is running parallelly in the “blue” and “green” environment and serve both from MySQL database. we install Apache, PHP, and Drupal in baseimage-docker.

 Image of a square box that says nginxconnected to blue-green boxes. These boxes are connected to MySQL boxSource: Nulab

Drupal with Blue-Green Deployment in AWS Beanstalk 

Within the help of ECS, the user can create task definitions, which are very similar to a docker-compose.yml file. 

A task definition is a collection of the container, each of which has a name, the Docker image runs, and have the option to override the image’s entry point and command. The container definition is also where the user can define environment variables, port mappings, volumes to mount, memory and CPU allocation, and whether or not the specific container should be considered essential, which is how ECS knows whether the task is healthy or needs to be restarted.

The Amazon web service solution allows the user to quickly and easily manage the deployment and scalability of web platforms. The deployment helps in configuring a high-availability environment that seamlessly runs a Drupal website. Running a DB instance that is external to Elastic beanstalk decouples the database from the lifecycle of the environment, and lets the user connect to the same database from multiple environments, swap out one database from another and perform a blue-green deployment without affecting the database.

The below image shows how green-blue deployment work in AWS environment. 

An image divided into two halves where both have a cloud at the top connected to a security group which in turn is connected to the EC2 security group. Source: CloudNative

Some of the best practices for smooth release 

Now that we understand how blue-green deployment works, let’s cover some of the best practices that are related to it:

Load Balancing

Load balancing helps you to automatically set a new server without depending on any other mechanism, without depending on the DNS mechanism. The DNS record will always point to the Load Balancer and the user would only modify the servers behind it. This way they can be absolutely sure that all traffic comes to the new production environment instead of the old one.

Rolling Update

To avoid downtime the user can execute rolling update which means instead of switching from all blue server to all green server in a single cut-off you are eligible to work with an integrated environment. This indicates that rather than switching from all blue servers to all green servers in a single cut-off, the user can control with an integrated environment

Monitoring the environment 

Monitoring the productive as well as the non-productive environment is important. Since the same environment can play both as production and as non-production, all you would need is to toggle the alerting between the two states. 

Automate

The user can script as many actions as possible in the witch process, instead of doing a manual set of actions. This brings huge benefits. The process becomes quicker, easier, safer and enables self-service.

Deployment in cloud

If your servers run in the cloud, there is an interesting variation of the Blue-Green method in which instead of going back and forth between two static environments, you can just create the next environment from scratch.

This process is also valuable for avoiding the danger of servers becoming snowflakes, which are servers that have a unique configuration set that isn’t documented anywhere.  Once these snowflakes get erased for some reason, you have no easy way to properly recreate them. Whatever may be the choice it is important to keep the newest test and release technology to ensure that the release is smooth.

Conclusion 

Deployments are one of the most important parts of the software development lifecycle, therefore all the activities involved should thoroughly be researched and tested to ensure that they are a perfect fit for your system architecture and business. 

At OpenSense Labs, we have a pool of Drupal developers and experts that work on technologies that use these tools and services. Contact us now at [email protected], our experts would guide you with the queries and questions that are related to this topic. 

Mar 09 2019
Mar 09

When I say that a decade ago, the web wasn’t the same as it is today, would you agree?

Yes, you might, or you might not.

But when we examine the statistics a conclusion can be made: Web is changing all the time and testing has accompanied the change with it. 

Image of five stick figures working on the letter that says com which is hanging via crane wire

Testing is one of the critical processes in application development. The success or the failure of the application entirely depends on it. 

Cypress is one such framework which helps you conquer any type of web testing and is the best option for your website. 

Yeah, you must be wondering that why out of all the testing software in the market I enlighted Cypress. 

Well, let’s find out why. 

Why Cypress?

Cypress is a javascript based end to end testing framework that does not use selenium at all. 

Now, What is selenium?

Well, Selenium automates browsers. What the user does with that power is entirely up to them. Primarily, it is used for automating web applications for testing purposes. It is the core technology in countless other browser automation tools, APIs and frameworks.

So coming back to Cypress, the testing tool is a modular, integrated document assembly and delivery system that improves the management, accessibility, and distribution of content throughout an enterprise. This system can swiftly deploy and it requires little or no user training.

Cypress comes with many handy advantages which would make you choose the software at one go. 

  • Automatic waiting: Cypress has the ability to automatically wait for the DOM (document object model) to load, make the elements visible, allow the animation to be completed, and much more. 
     
  • Real-time Reloads: Cypress is smart enough to understand that after saving a test file the user is going to run it again, so it automatically triggers the run next to the browser as soon as the user presses to save the file. 
     
  • Debuggability: The testing framework provides the user with the ability to directly debug a particular app under test from chrome Dev-tools. It presents a straightforward error message and recommends the user on how they should approach it.
     
  • Architecture: There are many testing tools which work by running outside of the browser and it executes remote commands across the network, but Cypress is the exact opposite. This testing tool is executed in the same run loop as the application.
     
  • Works on the network layer: Cypress runs at the network layer by reading and changing web traffic. This allows the testing tool to not only change everything that is coming in and out of the browser but also allows to change the code that may interfere with its ability to automate the browser. 
     
  • It is a new kind of testing: Cypress has ultimate control over the applications, the network traffic, and native access to each host object that unlocks a new way of testing ( this has never been possible before)
     
Image of cypress logo where the letter cy is in a black circle and press is outside the circle


How is Cypress different from Selenium?

  Cypress Selenium Installation No configuration is needed. All the dependencies and drivers are automatically installed with .exe Installation of  the language binding and configuring of the drivers is required Running Against Browser Cypress only supports chrome 
You can run your text against any browser  Architecture Runs inside the browser and executes in the same loop Runs outside the browser and executes remote commands  Speed Test code runs alongside application code. Therefore generates an extremely fast test. Automation scripts are slow in selenium Wait for the Elements Cypress runs in the browser and knows what is happening. Thus you don’t have to wait when you are using Cypress In order to do effective automation waiting for an element, it is an important task Documentation The team of Cypress has invested a lot of time in documentation hence it is seamless and complete.   The documentation is not complete and difficult to understand.

Limitations and challenges faced in Cypress 

While Cypress does a really great job of giving developers and QA engineers the thing they want in an automation tool, it does have some limitations.

  • Since the structure is very different from selenium end to end tool, the user first needs to understand the structure and then find the best way to create the scripts.
     
  • As the testing framework is comparatively new, the community is small. It becomes really challenging to find the answers to the problems. 
     
  • No file upload is supported by this software and Cypress does not support cross-browser testing also. Nobody knows that when these things would be covered, and for what big projects, these features are really important. 
     
  • Cypress follows the approach that is related to the Page Object Model and this has been proven with time. 
     
  • The entire framework is only available for one client and i.e javascript. Thus, to work with it, it is important for the user to know the framework.

Can end to end testing deliver quality benefits?

Yes, end-to-end testing is really important it helps ensure accurate functioning of the application by testing it at every layer, right from the front end. Several other benefits of choosing and performing end-to-end testing can be because:

  • It ensures complete correctness as well as the health of an application: In end-to-end testing, the application is tested and validated at all the layers. The layers include-data layer, business layer, integration layer and presentation layer which guarantees the well-being of an application.  
     
  • It increases the reliance of an application: End-to-end testing increases the reliance and the performance of an application before its releases as the application is tested across different endpoints from different devices.
     
  • Decreases the future risks that might accompany the process: End-to-end testing presents the user with rigorous iteration and sprint. Thus, there are lesser chances of risks and failures that may come in the near future. 
     
  • It decreases the repetitive effort: The application is tested thoroughly, thus there is no looking back. The testing reduces the chances of frequent breakdowns and repetitive testing efforts 

End to end testing with Drupal

Cypress makes it easy to add new tests to the website as the user iterates the codes. Here are some of the few concepts that can help you with your Drupal Website. Let’s start the concept with: 

Setting up 

With the help of the standard installation profile and Drupal 8 distribution, the installation can take place along with JSON API. Drupal 8 comes with RESTful Web services which can serve many purposes and facilitates things such as querying nodes by field. 

There are few options for installing Cypress, out of which one of the preferred option is through NPM pacakage.json. The first step is to create your own file in the root of the project. Once the file has been placed, install it by running npm i from the project route. 

The first Test 

After installing cypress with the help of NPM pacakage.json installed, it is the time to test if it is working properly or not.

The test does two things:

  • It visits any website’s root address (that are configured by NPM script)
     
  • It verifies that the page has an element with “Cypress Testing” in it.

Creating the account 

The next step is to create user accounts. Depending on the environment, some option is more feasible than any other. Therefore, in order to do things, it is important to create Drupal entities. It is also important to access to an administrator account. You can do it manually create them in the database and pass the account credentials to Cypress through an environment variable, or you can let cypress create the account every time it runs the tests. This would reduce the chances of risks and issues that might occur during the procedure. 

The command that is there in cypress i.e cy.exec() provides the user with the access that is there in the system commands (Especially in Drush). The credentials are then decided for the test user. An object is added with the key values that are passed to the test as environmental variables.  Now add username and password to create the user admin account. Now that the credentials are available, it is possible to use them to create the user. 

Logging in 

To test any restricted or authentic users, it is important to log in first. The most obvious way to do this is the same way a user would log in, through the UI. In fact, the user should ensure that logging in through UI is possible. 

After each and every test, Cypress leaves the browser in a state it was in when it finished running the test. It is useful because it leaves a great position to discover the next steps. For this particular case, Cypress will come back to the browser with admin user logged in.
 
To keep tests independent from each other, Cypress removes the browser cookies before east of the test is operated. This prevents the side effects between tests, but it also means that the user needs to log in each time a test operates that needs authentication.
 
Now that the login codes have been placed, we need to write it. The user can reuse logs via UI test code, but if the same codes have to be operated before every test, there wouldn’t be much point in having the test, to begin with. Most important, logging in through the UI is slow. If the user has to log in before every test they run, a lot of time will be wasted on logging in. Drupal logs in simply by posting form data to the login URL. 

Seed the data 

It is important to look at how JSON API is used to seed the data which has to be tested and understand that API authenticates the requests. By default (for unsafe and non-read requests) JSON and the standard REST module requires a token request header to be presented. The tokens can then be used to create and delete data by posting the endpoints that are exposed by JSON API module. 

Note that Cypress presents an after hook. It is fascinating to delete the test nodes in the after hook since, at that point, the user has to access to the test node’s id and could delete the test content without having to query by the title. 

However, the approach can be troublesome in the event that needs a test runner to quit or refresh before running the after block. In this case, the test content would never get cleaned up since the user wouldn’t have access to the node’s id in future test runs. Once the test articles are seeded, the “displays published articles” test will visit the node’s page and confirm that the fields
 
Debugging using DevTools

As we can see that Cypress has grown out to be an excellent Test Runner that helps the user to understand what is happening in an application and in the tests, there’s simply no substituting all the amazing work that the browser has done on their built-in development tools.

Your Cypress test code runs in the same run loop as your application. This means you have access to the code running on the page, as well as the things the browser makes available to you, like document, window, and, of course, debugger

Running Cypress in continuous integration

If you want that automated testing and continuous integration should work together then it is important to have some sort of CI/CD server. These are the hosted servers, and for implementing it with Drupal 8 these tools must work together.

It is important to note that developers must ensure that all tests are passed on the local workstation. The Drupal configuration is exported where the system spins up a fresh installation

Conclusion

End-to-end testing shouldn’t be hard. Cypress makes integration testing pleasing and enjoyable. You can write the end to end tests without worrying about browsers, Selenium, and other scary stuff.

You would agree on the fact that the framework is so nice that planning to use nothing but Cypress for integration testing would be fruitful. Plus, the documentation is pure gold: Cypress Docs are filled up with best practices and examples.

At OpenSense Labs, we have quality Drupal experts who try to enable digital transformation to the enterprise with the services and assistance.  Contact us now at [email protected] 

Mar 06 2019
Mar 06

Imagine a pizza box ( Yeah, I know its really tempting, but just picture it). You can serve the pizza in different ways: On a tray, in a box, on a plate, in pieces or even as a platter. 

Whatever may be the situation, the taste of the pizza and the material in it remains the same, but it is served to the customers in different ways. This is done to get a wider base of customers and develop a situation where they consume it. 

 Image of a pizza cut in five halves and placed beside a pizza box

Similarly, a publication can be served to the customer in different ways. People look for information in different places because they look for different methods to receive that information.  

It is important to publish the content to several channels to let the user access it as quickly as possible. 

So how can this be done? 

Let’s find out!

Multichannel Publishing has endless possibilities

Brian Solis describes Digital Darwinism as the phenomenon in which technology and society evolve faster than an organization can adapt. Yet the society accepts these changes and adapts to the concept of digital communication (The main avenue for customer experience). All of this confusion has buzzed out a name in terms of business necessity i.e Multi-Channel Publishing.

The idea is to get similar or related content onto multiple platforms in order to reach more people. In other words, Multichannel Publishing helps the user to publish the content to different channels. 

Your article will reach the audience on your website, on your app, and in the social media accounts with the help of multi-channel publishing. These channels don't have to be physical, like your website or social media accounts, but can also refer to different types of audiences or users. The possibilities are endless.

It helps in finding your audience on multiple channels and increases your “findability” by boosting your SEO with targeted content

  • Multiple platforms provide with opportunities to promote your content just like the way your audience wants it. Your content should be visually appealing, easy to share, and should attract a new audience.
  • Once the audience is attracted to your website, the content encourages deeper interaction with your organization. It presents a constant content on a regular basis, concentrates on education and encourages further action by the reader.
  • The conversion rules are most likely to be the content and platform working together that enables a reader to become a member or follower. 
 Image of different media widgets that are placed in a bundle with different colors

One system for Whole Channel 

What is the Content hub? What role does DC-X play in it?

The digital collection or the digital environment in a publishing background brings a different set of features and characteristics to the publishing process. It benefits in creating a final formatted version of the title that is suitable for many display devices. Thus, giving rise to the term “Content Hub”

A content hub is a collection of digital assets that are housed on an organization’s website or externally. It is a centralized target point for a brand’s ‘best in show’ digital assets. The organization can learn from the target audiences and prove their chops as authorities in the industry.

One of the biggest examples of the content hub is the DC-X and Drupal Europe Germany talked explicitly about DC-X content hub. The session offers up a plethora of cases and solutions to help users with their digital asset integration.

Well, it is a cross-editorial and cross-national depository for all Ringier content. It is used to manage all sorts of text, image, video and audio files within one central Content Hub.

Some of the features provided by DC-x Content hub are:

  • Semantic search
  • Right management
  • Content Sharing
  • Workflow Management
Image of a laptop, phone, tablet and a newspaper in a line where several media icon are made at the top. Both of them are connected with arrows. In between the arrows, there is an image of DCX content hubSource: digital collections

One of the biggest advantages of DC-X is that it is connected via APIs to third-party editorial and also connected to the content management systems for print and online activities.

Suppose an editor wishes to publish an article with any Drupal based channel. He would assign it to the channel and Drupal would then get triggered and seize the article using the DC-X JSON API. 

The stored XML and the extra metadata are handled to let Drupal determine how and where the article is operating to be published. The interface Drupal - DCX works bidirectionally. If the article is getting updated in DCX or in Drupal, both systems get synchronized in real time. 

Legacy building online memories with Drupal 

Legacy.com is the global leader of online memorial content. With the help of product ownership of two organizations, Legacy was launched on Drupal. The platform provided excellent authoring workflow and editorial layout control with multi-channel publishing of content across its global obituary network of over 1,400 branded site.

After choosing a RESTful API, which is essential for the Drupal setup, REST service module was brought forward. With an object-oriented architecture, full control of the API and performance was witnessed. Not only this but the enterprise also created a single API resource to redirect URL paths (alongside granular caching, metatags, panels integration, and more) This helped them to leverage strong SEO tools and functional value. 

Screenshot of the home screen of legacy.com


Imagine Canada Grant Connect 

Imagine Canada has been providing plans and resources to all the Canadian charities for a while now. It has been ensuring the sectoral growth, aid, and progress with 50-year legacy with Imagine Canada. They are now a functional and a scalable web-based solution that is known for seeking and managing the fundraising pipeline.

The website is constructed on Drupal as it presents them with an unparalleled ability to model complex content relationships and user structures in a method that can easily be maintained. 

Drupal provides them with the core support for developing RESTful services, handles authentication and regularly presents decoupled and multi-channel publishing. Apart from this the CMS also grants them with Contenta Decoupled distribution with an unbelievable contributor toolkit for out-of-the-box services and best-in-class technology.

When it comes to challenges and iteration - Rapid development in MVP helps the organization conquer them. All they ever wanted was to deliver a modern and extremely usable end-user experience with the flexibility to evolve at any time. With the back-end fully taken care by Drupal 8, the task is easily achieved.

Image of a laptop and a mobile phone showing imagine connect data and schedule

Conclusion  

At the end of the day, either it is a large organization or a small enterprise, customers and a good user experience is what they thrive for. Your customers want to find you and your content in a number of ways through print, on the web, via social media and on their smartphones and tablets. So, when you create content, it’s important that it adapts quickly and efficiently to those output channels.

At OpenSense Labs, we help you achieve such endeavors. We can collaborate with you to develop and experience the best content management services and solutions and help you find the right functionalities 

Ping us at [email protected] today. 

Mar 06 2019
Mar 06

We all have heard about Didier Claude Deschamps, right?

He is a French retired footballer who has been the manager of the France national team since 2012. He played as a defensive midfielder for several clubs such as Marseille, Juventus, Chelsea, Valencia, Nantes, and Bordeaux. 

Why was he famous? Well, mainly because he was a silent performer who did the best for his team and created a special place in the minds of his fans and the supporters. 

His biggest USP: being unique in a way that it was relevant and appealing for everyone around. 

An image divided into 2 parts. The right side has Didier Claude Deschamps in a blue jersey . In the left side he is wearing a black suit.


The role played by Didier Claude Deschamps as a coach and as a team member was exquisite. He not only served as a striking ray of hope by bagging exciting titles but also became an overnight hero.

And Drupal is just like Didier Claude Deschamps for large organizations. Powerful, all-rounder and robust. 

With roughly 1.2 million websites using Drupal across the world, it is clearly a strong content management system capable of supporting large organizations. 

Let’s take a look at technical and business reasons as to why large organizations rely on Drupal to achieve their goals. 

Open Source Has its Own Perks

Open source has presented users with open source codes. The source code enables access to the common public for their use and modifications in the original design. 

Open-source code is expected to be a collaborative effort, where the programmers fix or change the source code and share it within the community. 

Social and political views have been influenced by the growing concept of open source. There is a much larger impact of the open-source movement and the extent of its role in the development of new information sharing procedures.

The open-source movement has not only enhanced transparency in the biotechnology but the research methodologies have also benefited from the applications of open-source principles.

One of the main advantages of using open source is that it is not limited. Any organization can build a secure and safe online presence with the help of its capabilities.  Some of the major functionalities provided by the open source are:

  • Since open source provides with open code its quality can be easily and greatly improved when it is passed around, tested, and fixed.
  • Open Source provides with a valuable learning opportunity for programmers. They can apply skills to the most popular programs available today.
  • Open Source is more secure than any other proprietary software because bugs are identified and fixed quickly.
  • Since it is in the public domain, and constantly subject to updates, there is little chance it can become unavailable or quickly outmoded—an important plus for long-term projects.
A circular graph in shape of a flower whose background is yellow and the petals have all the open source practices in it

Presenting Drupal for Large Enterprises

Large or big organizations understand that their website is the foundation for the online presence. It is the structure on which their business (or marketing) is based on. 

These organizations require a seamless and fully functional website. They opt for that CMS which provides them various features and functionalities. 

Drupal is one of those open source CMSes which is suitable for any type of digital presence, with a strong focus on personalization, community building, and social tools. 

Drupal provides enterprises with:

Excellent Security

The ability of Drupal to limit security vulnerabilities is one of the most important features of the CMS, and one of the principal reasons why large websites work with the platform. 

Due to the excellent protection of the sensitive data, Drupal is chosen instead of other available CMS. Drupal also meets the Open Web Application Security Project (OWASP) security standards and addresses critical security risks. The platform has a dedicated security team who presents information to project maintainers, train the Drupal community on security topics and make improvements related to security in a core and contributed projects.

CMS which is flexible and scalable

When building a professional website, the main thing to take into consideration is the flexibility and scalability of the software that runs the website. And yes, Drupal is one of the most flexible and scalable CMSes for constructing any kind of website. 

Whether the user is thinking to create news, government platforms, higher education, enterprise or NGO website, Drupal creatively combines the correct modules and custom code to construct a truly different experience for the visitors. 

Highly customized websites that need scalability and serve with a huge amount of data are going to find Drupal absolutely capable of handling the workflow.

Provides easy content authoring 

Drupal presents an intuitive tool for creating content, maintaining workflow and secure publishing for each and every online content. 

The CMS provides easy authoring of the data to the website administrators, marketers and content managers. The website administrators can grant permission to other staff members to perform administrative tasks. 

Has a dedicated community 

Drupal community is one of the largest and most important assets. 

Being one of the largest open source online communities, more than 1 million strong developers, designers, trainers, strategists, coordinators, editors, and sponsors run together towards accomplishing one goal: making the web a better place for everyone.

Cost efficiency

Drupal is one of those platforms that is free and is written in PHP which is distributed under GNU (General Public License). The installation of the Drupal core can provide a simple website, an internet forum, a single-user or multi-user blog or a community-based website.

Image of the Drupal logo in between with six sub-pictures of its features around it

Is Drupal Right for My Sector?

Having this question in mind?

It is really normal. Trusting a CMS that coincides with your needs and requirements is something every large organization in every sector wants.

Whether it is a government or a public administrator sector or healthcare and medicine, Drupal is the platform which is suitable for every sector. 

A horizontal bar graph of 10 different sectors in which Drupal clients operateSource: Drupal.org

According to the Drupal business survey conducted in 2018, Drupal enterprise has clients in diverse industries. Half of the respondents (nearly 59.3 %) stated having Drupal clients in Charities and Non-Profit organizations. 

Among other industries, there were Government and Public Administration (about 54.8 %), Arts & Culture (41.5 %), Healthcare & Medicine (47.4 %) and IT (40.7 %). 

The result of the survey reveals that the businesses of Media and Banking and Insurance have had the highest drop as compared to last year survey, while Healthcare and Medicine and Consulting industry have developed the most and learned from the first survey.

Decision-Making Model for Large Organizations 

One of the sessions in Drupal Europe, which was on Compelling USPs for Drupal in large organizations (conducted by Digitalization and Innovation Specialist, Mr. Rouven Volk) was about how large enterprises values are defined by an increase in revenue and a decrease in cost and risks. These enterprises look for CMS solutions that involve:

  • Responsive and SEO based platform 
  • The CMS which consists of Marketing Integration
  • It involves a flexible solution
  • It has the necessary modules and additional features
  • It is proven in terms of scalability and flexibility
  • It should give excellent user experiences
  • The cost should be minimized
  • Multitenancy
 Image of the values in a triangle showing revenue, cost, and risk with an image if cms, suite, and framework connecting a bulb that has a logoSource: Drupal Europe

Some of the Challenges that Might Occur and Their Solutions 

As the organizations continue to embrace digital transformation, they are finding that digital business is not as simple as buying the latest technology, it requires significant changes to both culture and systems. To sustain the digital transformation, an organization has to understand technology and data. 

This also includes understanding your customers and unifying the information which helps in easy interaction. As customers resume to sit in the driver’s seat and choose where they desire to go, how they need to get there, and what the purpose will be, large enterprises also continue to follow that journey which delivers the right customer experience. 

Once you develop your USP and outline your Customer Journey it’s time to give your strategy a voice. This is done by mapping how you will communicate your USP through educational content that creates awareness, education, trust building, and easy conversions.

A CMS that offers multi-site management functionality can help you manage these content properties and social communication with ease. For example, You have 50 brands in 20 regions. Separate websites would require 1000 teams for managing, not a practical solution. 

Drupal has a feature which enables separate, independent sites to be served from a single codebase. Each site has its own database, configuration, files and base domain or URL. The main reason to use a multisite Drupal setup is to conserve time. The single code base helps a large enterprise manage multiple sites in one go. Even if there are 1000 websites. 

To achieve that quality user experience you might think of transitioning to responsive web design where your current content simply won’t integrate well with the other devices. So what do you do? You think of migrating it. Although it might be challenging.

Yes, migration can be time-consuming and a costly affair. One of the biggest difficulties with site migrations is that success will largely depend on the quantity and quality of pages that have been migrated. Conventional monolithic applications attempt to resolve all the challenges in one system, which put large companies into a complex migration path. Typical pitfalls include security, scaling, management, and compliance.

Drupal is one such CMS that helps in importing data from a variety of sources seamlessly. It provides a holistic data lifecycle management, especially in regards to sensible or confidential data. And with the help of Microservices in Drupal, the development has presented us with a lifecycle that provided with faster testing, greater quality, and more releases. Selecting a microservice architecture for Drupal-based websites is pleasant and is extremely productive.   

Drupal here also helps you to survive an ever-changing industry.  

  • It is open for anything
  • Continuous in nature and provides scheduled releases 

The ability to grow and innovate is bound to the ability to standardize, automate and integrate. Drupal, as one of the pioneering Content Management Systems (CMS), empowers digital innovation. It helps enterprises in their endeavors for digital transformation. The new Drupal 8 provides APIs for creating solutions. Also, it is not limited to only being a website platform. 

Concluding with a broader view 

As we come to an end, we now know that Drupal is like a strong backbone to all the enterprises (big or small). Benefits like:

  • Freedom to innovate 
  • Ease of integration
  • Time to market 
  • Future proofing solutions 
  • Building an innovative culture

OpenSense Labs is a Drupal agency which treats every organization like our own and the services provided by us follow all the USPs of Drupal CMS. Contact us now at [email protected]

Mar 03 2019
Mar 03

Consistency is a key element in two things, success and web development and both go hand in hand when working on developing a website, either from scratch or revamping an existing one. What aids this consistency is the ability to recognise a pattern that is often repeated in the process and then followed for achieving a common result.

Raindrops on a patterned fence


Ensuring a consistent and easy to maintain website is one of the biggest headaches faced by large organisations. This is the exact gap where the suggestion of creating a pattern library as the solution can come into the picture.

But what are pattern libraries? And how can they be put to use? Let’s find out! 

Pattern libraries aid in using easy elements and styles in a project in order to document the visual language of a site, promote consistency, provide user control and reduce cognitive load.

What is a Pattern Library?

The primary attraction of a pattern library is that the time taking process of building new features and pages is reduced to a minimum

The importance of Pattern libraries gained attention in the tech space when developers started understanding the benefits of having readymade components for projects. In this era of wanting quick and easy fixes, the primary attraction of a pattern library is that the time taking process of building new features and pages is reduced to a minimum. Thus, the main purpose is to help create consistent websites that are easy to maintain and become a solid part of the design and development process. A pattern library works in a way that it documents all ‘patterns’ (also known as modules) to defines what they look like and how they behave and code.

Style Guides, Pattern Libraries, Design Systems

Style guides, pattern libraries and design systems may hold similar implication for designers and developers, but they exist as individual entities. Also, style guides and pattern libraries( also known as component libraries) may co-exist together to form complete and coherent design systems for a product. Let’s explore the difference between them in detail. 

Typically encompassing a company’s branding guidelines, including components like logo usage, designated color palettes, and editorial tone, a Style Guide is a collection of pre-designed elements to be followed to ensure consistency and a cohesive experience at the end. It is often wrapped as a whole by the company as a deliverable to work with vendors in partnerships. They can directly influence the look and feel of a Pattern Library with the basic difference being that Style Guides can have a standing without data, while Pattern Libraries do rely on some data to function.

On the other side, a Pattern Library often confine static UI elements, being a storage for your components  like articles, headers, galleries, dropdown menu, accordion, and even common web page layouts, like grids. Though style guides do not always worry about context and relationships with data, UI elements and their application in the overall user experience depend largely on context and the interplay with content. Thus, Pattern Libraries focus on interface design, and would not include rules that apply globally to print or other mediums.

This brings us to the Design system joining the dots between a style guide and a pattern library to define the principles relating to the way in which components should exert together. It defines how a layout should work being a form of product documentation which contains everything that helps with delivering the outcome.
 
Often influenced by a style guide, a pattern library usually includes HTML snippets or living documentation for website components which are well-documented and responsive. For instance, pattern libraries can include –

  • Buttons
  • Images
  • Hero 
  • Elements
  • Sliders
  • Galleries
  • Navigation
  • Articles

Why do you need a pattern library?

We have reached an understanding that pattern libraries escalate productivity, but how and in what ways it makes it possible on the ground level? Following are the three-fold benefits of pattern libraries:

Consistency

Development of big sites happens over a prolonged period by a group of developers working on it and requires to be revised regularly. This leads to a fragmented user interface unless everything is in place to ensure consistency.

From Navigation shifts position to form elements, everything has a different format and approach. A pattern library offers a straightforward way to duplicate existing design and functionality on any page of the site for a steady user interface in a fixed frame.

Reusability

If multiple web teams work on multiple sites of different departments in a company, they might end up reinventing the same styles at a considerable cost.

In such cases, a central pattern library can be formulated for reuse functionality and design. A pattern for a particular requirement in the area of responsibility can then be shared with the whole group and also be available for future projects.

This makes a new site or subsection becomes a mere matter of combining these patterns, in much the same way you build something out of Lego bricks.

Easy Maintenance

Having a consistent pattern library that everybody pools from makes the maintenance work easier as seeing all of the pieces in one place makes the task effortless. 

Having coded elements in the same way from the very beginning makes it much elementary for a developer to work on somebody else’s code. Also, for a new developer, work efficiency can speed up by looking at the existing pattern library in use and build the site based primarily on it.

Who is it For?

End User:

From the user’s perspective, websites and products that are familiar and consistent provide a smooth experience along with reducing cognitive load on the user.

Development Team:

For teams to focus on the bigger picture without worrying about pushing pixels, pattern libraries help ship products faster to ensure greater efficiency in internal processes and allowing engineers to re-use existing codes.

Organization:

Providing longevity to big sites which are developed by different people over a prolonged period and revised regularly, Pattern Libraries proves to increase the productivity of the organisation at large.

One of the more popular Pattern Libraries, a static site generator called Pattern Lab, is based on Brad Frost’s Atomic Design concept. There are many others to choose from, but this blog will focus on Pattern Lab being a dynamic prototyping and organization tool.

Pattern Lab is available for download on GitHub and can be used as part of your existing or new projects.

Pattern Lab + Drupal 8 = Emulsify

Logo of Pattern Lab and Drupal = ‘Emulsify’ on a blue background


Emulsify is a component-driven prototyping tool that uses atomic design principle and modern frontend practice to develop a living style guide. It can be easily implemented into any CMS to render twig files as it adopts the methodology where the smallest components are atoms, which are assembled into molecules, organisms, templates, and finally pages.

With the shift for templating in Drupal 8 to Twig, a whole new range of tools are now available for theming.

Emulsify authorises you to assemble and manage components in a way that enhance your workflow by integrating Pattern Lab. The Emulsify based project works with custom template names that are specific to the project, developers, and clients. This segregates category-wise patterns(modules) and increases the proficiency of the process.

Emulsify authorises you to assemble and manage components in a way that enhance your workflow by integrating Pattern Lab

When the templates are all set for production, Emulsify connects them to Drupal in a non-complex way as a Twig function (include, extends, or embed) and connects the Drupal templates to the component files.

Emulsify swears by a "living style guide" approach where the style guide components are the same ones in use on the live site. One doesn’t have to worry about the components becoming obsolete or looking unusual than the style guide.

Also, the components constructed with Emulsify are used on any project, with or without Drupal. In simpler terms, it can be used with any CMS that renders content with Twig, including WordPress. This provides an opportunity to work with any frontend expert in a development team as they will be only working with familiar technologies. However, if your project doesn't use Twig, Emulsify can still be used by designers and front-end developers to build a style guide and then be carried forward by backend developers.

In Conclusion

Though building a pattern library demands a lot of work, but once set, it eases the process for all future projects. You can always take baby steps and start small, with just a lightweight overview of the main patterns and modules, without any detailed documentation. Later, you can always progressively refactor and upgrade the pattern library over time by adding features according to the team need.

Aiming for a full-proof pattern library that solves all problems at once might take a year-long project’s time without immediate, tangible benefits to extract from. 

We at OpenSense Labs provide best of Drupal services in enhancing your development in respect to industry standards. Mail us at [email protected] to connect and know more.

Mar 01 2019
Mar 01

Do you remember Scrooge McDuck? He was the uncle to the most famous and beloved character - Donald Duck. Most notable for his piles of shiny, golden coins stacked in his cartoon mansion. 
 
His favorite pastimes: Pinching pennies, counting gold and swimming around in his mountains of money. 
 
While we can’t all have Scrooge McDuck’s limitless riches, we’re still like him in a few important ways. Among which guarding his riches in every sort of manner is one.

Image of McDuck with donal duck and his two grandsons measuring the room full of gold coins


New technologies and approaches are creating massive changes that have forever altered the way consumers and businesses interact. Adding to these technological changes, our e-mail accounts and other social media handlings play a similar role as Scrooge McDuck’s riches. And having to log in to these treasures one by one is something we dodge to do.

Right?

Thus, here is one of the most trustworthy applications for your software systems. 

Presenting Single Sign-On (SSO) 

Single sign-on (SSO) is a session and user authentication service that allows a user to use a single set of login credentials (like a name and password) to enter multiple applications. In the SSO system, a third party service offers the identification and authorization mechanism and is responsible for informing the user identity. 

This identification and authorization are handled with the help of Federated Identity. 

Federated Identity refers to the standards, tools, and use-cases that enable the users to access multiple applications using the same access credentials. 

Image of a laptop, being touched by a finger. There is an image of a yellow key connected with six images different social platforms


So now the question is - how is the authorized data exchanged?

Well, Federated Identity comes with OASIS security assertion markup language (SAML) specification (It may involve open source technologies also). This specification helps in standard exchange of data between the security domain, having the main focus on providing support for:

SAML 2.0 as an Identity Provider: is the system or the domain that supports the user authentication and has associated attributes. In SAML, Identity Providers are also called SAML authorities and Asserting Parties

SAML 2.0 as a Service Provider: is the system or administrative domain that relies on information or the data supplied by the Identity Provider. 

Chart showing SAML process. At the top is a circle saying user which is connected with 2 squares saying service provider and identity providerSource: blog.imaginea

Security and Privacy in SAML 2.0

This protocol brings no security by itself and highly relies on secure communications (SSL and TLS) or some pre-existed trust relationship which also typically relies on     PKI or asymmetric cryptography.   

It represents a wide variety of security mechanisms to identify and guard the data against attacks. The relying party and asserting party should have a pre-existing trust relationship which typically depends on a Public Key Infrastructure (PKI). 

When a party demands an assertion from another party, a bi-lateral authentication is needed. Among which SSL or TLS are the two that are recommended with the management of mutual authentication or authentication via digital signatures.
 
In terms of privacy, SAML 2.0 also promotes the establishment of pseudonyms between an identity provider and a service provider. The authentication context mechanisms enable  a  user to  be  authenticated  at  a sufficient and assured level ( appropriate to the resource that is attempting to access at the service provider)

Flow chart showing the security process in SAML 2.0 on the left side is a user diverging to two part. One part has identity provider the other has service providerSource: Medium

SimpleSAMLphp for Implementing the standards of SAML 2.0

What is SimpleSAMLphp?

It is an application that is written in PHP which helps in implementing SAML 2.0. SimpleSAMLphp is a really easy way of integrating all the web-based PHP application into a federation. 

SimpleSAMLphp maintains all the non-PHP scenarios by using the Auth Memcookie approach (a special cookie is added in Memcache that the Apache module Auth MemCookie understands).

It offers support to the two scenarios:

  • SimpleSAMLphp as a Service Provider 
  • SimpleSAMLphp as an Identity Provider 

Service Provider Scenario 

It is important for the user to know that the Service Provider API presents with basic functionality.

  • Verifying if the user is genuine or not
  • Whether they need any authentication or not
  • Login and Logout
  • Preparing the user attributes
  • Preparing the URLs for login and log out. 

For authentication, SimpleSAMLphp connects to an identity provider (which is easily defined by configurated files). This is done so that the Service Provider easily configures to connect to other Identity Providers without having to modify anything in the web application.

In the web application, if the user wants to implement SimpleSAMLphp as a Service Provider, they need to add classes by using the API. Once the authentication is complete, they can easily access the user’s attributes.

Identity Provider  Scenario

The identity provider in simpleSAMLphp is configured to validate the user against various origins - it may be static, LDAP, SQL, Radius, OpenID, Facebook, and Twitter. 

For setting up the Identity Provider, configuration files are required to be changed so that the authentication module can be used and specified ( with additional information and the list of Service Providers). When several Services Providers utilize the same Identity Provider to verify the user, the user needs to log in only once. This is done because the session information is stored by the Identity Provider. 

The Identity Provider also requires a certificate so that identification is proven to the Service Provider.

Flow chart with three sections. Fisrt section has a blue heading and says service provider, the second block is in green color which says user and the third say identity provider in red colorSource: JulianZhu

How are Sessions in SimpleSAMLphp?

SimpleSAMLphp consists of an abstraction layer for session management. That indicates it is possible to select between different kind of session stores, as well as write new session store plugins.
There are five ways in which the user can store their sessions in SAML. The five ways are:

PHP: If the user wants to use the PHP session handler, then they need to set the store.type configuration option in config.php. But they have to keep one thing in mind that the PHP does not allow two sessions to be open at the same time. 
This indicates that if they are using PHP sessions, both the application as well as the SimpleSAMLphp at the same time, then they need to have different names.

SQL: To store session to a SQL database, set the store.type option to SQL. SimpleSAMLphp uses PDO (PHP objects) when entering the database server, so the database source is configured with the help of  DSN (Data source name). The expected tables are generated automatically. If the user wants to store the data from multiple but a separate SimpleSAMLphp installation in the same database, then they can do the same by using the store.sql.prefix option to prevent conflicts.

Memcache: To store the Memcache session handler, the user needs to set the store.type parameter in config.php. memcache that enables them to store many redundant copies of sessions on various Memcache servers. Every server group is an array of the servers. The data or the information items are load-balanced between all types of servers in each and every server group.

Redis:  To save sessions in Redis, the user need to set the store.type option to redis. By default, SimpleSAMLphp will strive to combine Redis on the localhost at the port 6379. It is, then, configured with the help of store.redis.host and store.redis.port options.

Writing your own plugin: In SimpleSAMLphp there is an excellent open source community, and every type of users are welcome to join. The forums are open for everyone to ask questions and queries, provide answers, inquire improvements or offer with code or plugins of their own.

Drupal in the picture 

DrupalCamp 2018 talked about Drupal 8 module, simpleSAMLphp. The session was all about installing and configuring SimpleSAMLphp as IDP and SP. It also talked about integrating SimpleSAMLphp into Drupal 8 and create an SSO network.

[embedded content]


Drupal SimpleSAMLphp module is one of the most robust and strong modules. It provides a comprehensive and complete implementation of SAML in PHP. 

This module not only made it possible for Drupal to communicate with SAML or identity providers (IdP) to authenticate users but it also resulted in the Drupal site to act effectively as a SAML or Shibboleth service provider (SP). Some of the features provided by it are:

  • The module provides with in-time provisioning to the accounts of the Drupal user which are based on SAML attributes.
  • It provides with automatic role assignment that is based on SAML attributes
  • The dual mode in the module guides the users with traditional Drupal accounts and SAML-authenticated accounts at the same time.
  • It supports multiple authentication protocols like OpenID (e.g., Google, Yahoo), Facebook, OAuth (e.g., Twitter), Radius etc

Conclusion 

SimpleSAMLphp is very valuable and important for executing an SSO mechanism in web applications. It is developed in a native PHP and maintains integration to any  SAML providers.

Yes, the library is very flexible and it comes with many authentication modules and furthermore, they can easily be adapted to third-party applications. 

The technology has become very popular especially with the rise of concepts like Web 2.0 and the continuous development of social networks websites like Facebook, MySpace, and others. 

At OpenSense Labs, we believe that security is the number one concern of any organization and we try to provide them with services that help them in a longer run. Ping us now at [email protected], our professionals would provide you with suitable answers to all your queries and questions.  

Feb 28 2019
Feb 28

Change is the only constant. That’s the lesson we need to adopt when it comes to embracing Drupal 8 and migrating from Drupal 7. Since the launch of Drupal 8 in 2015, many new challenges have emerged among developers and one of them includes forking Drupal.

Three forks and their shadows falling on a green background


Quoting Dries' opinion on embracing change:

“The reason Drupal has been successful is because we always made big, forward-looking changes. It’s a cliché, but change has always been the only constant in Drupal. The result is that Drupal has stayed relevant, unlike nearly every other Open Source CMS over the years. The biggest risk for our project is that we don't embrace change.”

What is Backdrop CMS?

Backdrop CMS logo with the word ‘backdrop’ written on left and black and white coloured square on right

Backdrop is a Content Management System (CMS) which can be put to use when designing a wide variety of websites from a single administrator's personal blog site to an intricate, multi-role business e-commerce site. It is the perfect fit for comprehensive non-profit, educational, corporate, or government websites.

Being a tool for structuring websites, the core Backdrop CMS package aims to include many useful features, but only those that are necessary for the majority of sites using it. Backdrop can be extended with the addition of modules, themes, and layouts which are easy in nature.

In a way, it allows non-technical users to manage a wide variety of content. It is feature-compatible with Drupal 8 (containing things like Configuration Management Initiative(CMI), WYSIWYG & Views in core), but is built on APIs more similar to those found in Drupal 7.

Evolution of Backdrop CMS

Backdrop CMS started its existence as an offshoot of Drupal. Although Backdrop originates from a common codebase with Drupal, its philosophy and organisation are distinct. Backdrop follows a policy of concentrated releases that account feedback from the community. 

Essentially, for the small to medium sized businesses, non-profits, educational institutions, or any other organisations, who are in need of a comprehensive website on a budget, Backdrop CMS is easy to build and extend. 

Advantages of Backdrop CMS

Both, Backdrop and Drupal projects have different end goals, but emerging from the same original code base, there are areas in which collaboration can benefit both projects. 

  • Along with easier updates, Backdrop is backwards compatible. Backdrop attempts to keep API change to a minimum in order for contributed code to be maintained easily, and for existing sites to be updated affordably.
  • Being simple in its structure, backdrop lets you write code for the majority. It aims to be easy to learn and build upon, even for those with a minimal amount of technical knowledge. Direct implementations are chosen over abstraction, and how things work can be immediately clear and easily documentable.
  • The focus is to include features for the majority. Backdrop core only includes features and tools that benefit the majority of sites that are running it. Also, Backdrop aims to include opinions from individuals who attend trainings, meetups, and camps as well as real-world engagements with consumers.
  • Backdrop can be extended. Backdrop aims to provide a powerful core that can be readily extended through custom or publicly available contributed modules. These additional modules provide desired features that are not incorporated in core due to their complexity or use cases that are too specific.
  • Rendering great performance, Backdrop has low system requirements. Backdrop runs on affordable hosting with very basic requirements. This means not chasing popular trends in technology, but instead adopting common, proven, and learnable systems.
  • Backdrop lets you plan and schedule releases. Each release contains a planned set of features, and is released on time. If a feature is not ready in time for a specific release, the feature gets postponed, but the release is delivered on time. 
  • It gives the freedom to remain free and open source. All codes included with Backdrop are under an Open Source license that allows anyone to use it for free, regardless of their beliefs or intentions.

Why fork Drupal?

There are lots of reasons why Drupal was forked to create Backdrop. These are the most notable ones:

Technical Gap

Though many features in Drupal 8 are identical to those in Drupal 7, the code underneath has little to share resemblance with the Drupal of yesteryear. Developers value maintaining the code that has a proven success rate rather than drifting from the track record of the success.

Coding Principles

The Backdrop community may vary from the Drupal community on some issues that they regard higher, and vice versa. As the principles diverge, so does the code. This justifies the existence of Backdrop.

Niche Audience

Backdrop CMS is dedicatedly targeted at small to medium-sized businesses, non-profits, and education. It best serves the kinds of organisations that need complex functionality, but on a budget.

Graphical representation with blue and green coloured regions to show Drupal evolution from Drupal 6 to Drupal 8 and emergence of Backdrop after Drupal 8Source: Quora

Case Studies

The NorCal Hunter Jumper Association is a not-for-profit recreational sports organization that was looking for a better viewing website experience for the membership, mainly on tablets and mobile devices. The new site also needed to be easy for the board and administrators to update and manage. Further, they planned to move board membership nominations, voting, general surveys, and other forms onto the website in the future, including forms that may need credit card processing. Thus, Backdrop was chosen as the medium to integrate all these requirements and following were the results:

  • A finer viewing experience for the members on tablets and mobile devices.
  • Easier updates and management for the board and administrators.
  • Flexible in adding features as the needs of the organization grows.
  • Easy to integrate with other web services.
  • Affordable maintenance and long-term development costs.
A picture of a woman sitting on a horse in the middle of a group of people with tabs on the top of the homepage of NorCal Hunter’s website


BGP Site Solutions is a group of business sites showcasing web publishing experience.

Founded in 2003, BGP Site Solutions has managed nearly 100 web properties with vast experience in performance-based online marketing (Cost per Lead, Cost per Acquisition, Cost per Click), white-hat organic search engine optimization, and web publishing in the marketing verticals of post-secondary education, home services, insurance (auto/health), wine, diet/weight loss/health, financial services, dating, and eldercare/senior services. 

On the other hand, formed in 2011, Authority Media is a leading publisher of career training web properties. The AM goal was to be the most authoritative source of information in each post-secondary education category in which they operate.  

These sites were formerly separate WordPress sites and were hacked multiple times. Thus, security of the website was the need of the hour. 

Since these are both fairly small sites, combining them into a single codebase site offered savings in terms of hosting and maintenance costs. And the multi-site feature offered by Backdrop CMS seemed like the perfect fit.

Two types of services described in two columns below the three hands picking the red coloured screw fittings on the BGP Site Solutions’ website’s homepage


Final Thoughts

Drupal 8 is a huge departure from anything the Drupal community has released in the past and it’s a move towards the enterprise.

Backdrop is not about users but about developers facing challenges in adapting and investing their time to further improve the Drupal platform. That’s where Backdrop aims to fill the gap left and attempting to maintain connectivity and cohesiveness with the larger Drupal community.

Thus, both Drupal 8 and Backdrop are trying to address the problem, in fundamentally different ways.

Still confused? OpenSense Labs provides steadfast solutions and services to empower digital innovation for all enterprises.
Ping us at [email protected] and let us know how we can help you achieve your digital goals.

Feb 25 2019
Feb 25

We all have learned in our biology classes that genes are made up of DNA which gives instructions to the body to grow, develop and live. In other words, it is like a blueprint or like a recipe which guides an individual to do a particular task. 

Just like DNA is important to impact a human body, Drupal distributions are necessary to build and create a social impact platform for your projects and website. 

Image of a DNA with binary numbers on its string placed on a black background


Social impact is and must be the primary goal and measure for every social initiative. Measuring social impacts urges organizations not to only focus on the economic or financial factor, but to access their influence across the environmental and social dimensions. 

How Building a Social Impact Platform With Drupal Distributions Do Well to a Project?

A distribution packages a set of contributed and custom modules together with Drupal core to optimize Drupal for a specific use and industry. Drupal distribution has evolved from an expensive lead generation tool to something which offers a service at a large scale. Some of the Drupal distributions like:

OpenSocial 

OpenSocial is a free Drupal distribution for constructing private social networks and an out of the box solution for online communities. Open Social is a distribution that is built in Drupal 8 to construct social communities and intranets. It is built in Drupal 8, and it wraps in itself in an array of possibilities leveraging the features of Drupal 8.

In the Drupal community, Open Social is placed as a successor of Drupal Commons. Drupal Commons is a Drupal 7 distribution that is an out of the box community collaboration website.
 

Image of a flower where open social is written below it with purple, orange and red background

 

  • A case study on Pachamama  

Pachamama approves the inherent people of the Amazon rainforest to protect their lands, culture, educate and inspire people everywhere to bring forth a growing and sustainable world. Drupal was chosen for its flexibility and customizable features.

Drupal was appointed for its versatility and customizable features. For example, Pachamama grants an on- and offline ‘Awakening the Dreamer’ course. In the course module, the user can walk through a step-by-step course program and finish with video, text or an opportunity to keep track of the development and progress. To make this possible within the Pachamama Alliance platform integration of a course module into the Open Social platform was done.
 

Image of a laptop where the homepage of Pachamama Alliance is placed


Lightning 

A distribution developed and maintained by Acquia. This distribution provides a framework or starting point of Drupal 8 projects that require more advanced layouts.

The developers have been provided with hundreds of embedded automated tests that allow them to implement continual integrations pipelines. It controls major functionality, essentially granting a safe environment to innovate with their own custom code additions to Lightning.

Image of the Drupal logo. With a blue background in the drop where a lightning sign is inside

 

  • A case study on Higgidy 

Higgidy is a thriving business, offering incredible high-quality food that is sold in supermarkets. Drupal 8 was chosen for this project based on numerous factors.

The potential for future upgrades to make commerce into the platform was also an engaging benefit, enabling the user to assure that they don’t end up with a fragmented tech stack divided across many platforms. 

Being mobile-driven was a core concern of the platform selection, and Drupal 8 presented with a seamless content experience every time.

One of the primary and most important decisions was to make use of the Lightning. This gave a great head start for a site of this nature, right out of the box, presenting some very important components and assuring that they are able to get going. The site was essentially powered by Views coupled with some custom serialization.
 

Image of the homepage of Higgidy website


Opigno 

This is an Open source e-learning platform based on Drupal that enables the user to accomplish online training, skills of students and employees. Opigno is an open source e-learning platform that is based on Drupal. It allows the user to control online training, and efficiently guarantee that student, employee and partner skills remain up to date.

Opigno LMS is intended for Companies, Corporations, and Universities, looking for an e-learning solution that is flexible and is easily scalable.
 

Drupal Commerce 

Drupal Commerce is an open-source eCommerce software that augments the content management system Drupal. It helps in managing eCommerce websites and applications of all the sizes. 
This distribution also helps in enforcing strict development standards and leveraging the greatest features of Drupal 7 and major modules like Views and Rules for maximum flexibility.
 

Image of a cart with a blue Drupal logo in it. Where the text is beside it written as Drupal Commerce

 

  • Drupal Commerce helping the community: A case study on Sosense

Sosense supports entrepreneurs who address some of the most challenging social and environmental problems. Drupal was selected for this project because it was one of the most relevant frameworks that build a scalable platform. 

Sosense demand was to rebrand and redevelop their first, custom-developed, platform to develop technical scalability, usability, and interaction design. The project work was simple yet appreciatively challenging. One side it drew from our expertise in creating community- and fundraising solutions. On the other side, Sosense was one of the first complex sites to apply Drupal 7 where many important modules were still in dev status. 

Testing and debugging modules like Organic Groups, Drupal Commerce and i18n, required many unexpected hours of work. The agile project management approach allowed us to tackle some of the unexpected issues with frequent releases and constant client interaction. The project was delivered on time and to the full satisfaction of our client.
 

Screenshot of the homepage of Sosense website


OpenChurch 

This is the distribution which is for churches and ministries.  A flexible platform with common features of the church helping them streamline development of the website. Some of the features of this distribution are:

  • Blog - It includes a list page and archive page, the blog content type is very easy and this does not use the core blog module.
  • Bulletin - Includes block for downloading latest bulletin, also a list page and content type.
  • Events - Includes an event content, filtered by the ministry and responsive calendar.
  • Gallery - Integrates with ministry content and is an easy way to manage galleries.
  • Giving - Includes list display for featured charities
  • Homepage Rotator - a very nice way to feature content on the homepage in a slideshow which is a very common feature on sites today.
  • Ministry - this represents a church's core ministries (Missions, Youth, etc.) and integrates with other content on the site.
  • Podcast - An out of the box sermon podcast page. Also includes a block for showing the most recent podcast. It is called labeled 'Sermons' but can be used for any kind of podcast.
  • Social - Social integration with Twitter, Facebook, Google+ and more! Enable visitors to share content with their social networks.
  • Staff - Includes staff page and integration with well with ministries.
  • Video - Add 3rd party video from Youtube and Vimeo

Presto

Presto includes pre-configured and ready to use right out-of-the-box functionalities. It consists of an article content type with some pre-configured fields and a basic page content type with a paragraphs-based body field. Some pre-configured paragraph types in this distribution are:

  • Textbox
  • Image
  • Promo bar
  • Divider
  • Carousel

Not only this but it also consists of a block which allows the embedding of Drupal blocks. This distribution has an article listing page which displays a paginated listing of articles, sorted by publish date.

Conclusion  

The advantages of working with a Drupal distribution continue well till date. Maintenance is also a breeze. When you create a website born out of distribution, all modules and features are integrated and tested together. When updates are required, it is a single update, as opposed to hundreds. Thus Drupal distribution for your social impact platform is what you need.

At opensense Labs we purely follow all the functionalities that come with the Drupal distribution. Contact us on [email protected] for more information on the same. Our services would guide you with all the instruction and information, that you require for the same. 

Feb 25 2019
Feb 25

Click, tap, like, hit, post, tweet, retweet, repost, share, tag, comment - I am sure that you are known to all these terms, use them daily and even promote your business with it. 

We live in a world where the boundaries of work and office space are changing. A new era of transformation has opened up where collaboration and communication within the company is modified into a “Digital System” 

The heart of all this meaningful connection and real-time communication (Which is integral for modern business) is the social intranet.

 Image of an iPad where a hand touches the screen and different dialogue clouds are coming out of it with different pictures


And nothing beats the performance of OpenSocial, a Drupal distribution that is used for building social communities and intranet. 

OpenSocial is bringing power and the essence of pervasive social capabilities to the web.

You ask how?

Well, Let’s find out

Understand OpenSocial 

OpenSocial is an out-of-the-box solution for the online community. It is used for creating social communities, intranets, portals and any other social project. It appears with a collection of features and functionalities that are useful in constructing a social framework. 

In the Drupal community, Open Social is placed as an heir of Drupal Commons (Drupal Commons is a Drupal 7 distribution that is an out of the box community collaboration website) 

 Image of a white flower in an orange and purple background where open social is written at the bottom of it


OpenSocial and its out-of-the-box feature 

  • Content types and structure

The user is offered with two content types: events and topics. The architecture lets OpenSocial be lightweight software that can easily be installed and can be used seamlessly by users. Blogs, News etc. are all identical content type as a topic but have separate taxonomy.

  • Media Management 

With the help of Media management, the user can efficiently arrange, resize and add images wherever they want to on a particular website. File System, Images Styles and all other media configurations that are needed to add, resize and adjust images are inbuilt.

  • Responsive and Multi-Lingual Support 

Open Social follows with Drupal 8 “mobile-first” theory and it is responsive “by default”. Not only this but it also consists of “Translation Module” that is used for Multilingual support.

  • SEO Optimization

The SEO strategy is based on a consultative approach. Adverbs, SEO, Social media and conversion optimization is used to generate the traffic. The out-of-the-box feature in OpenSocial helps the user to optimize their website in a way that more people visit it. 

OpenSocial Foundation and W3C Social Web Activity

“Social standards are part of the application foundations for the Open Web Platform” 
-Jeff Jaffe 

In other words, they will be used everywhere, in diverse applications that operate on phones, cars, televisions, and e-readers. In terms of OpenSocial, the W3C standard is defined as:

The social web working group which determines the technical standards and API facilitates access to social functionalities as part of Open web platform.
The social interest group coordinates messaging around social at the W3C strategy that enables social business. 

Open source project at Apache Foundation

The Apache Software Foundation hosts two active and ongoing projects in addition to the many commercial enterprise platforms that practice on OpenSocial, it serves as reference implementations for OpenSocial technology:

Apache Shindig: It is the reference implementation of OpenSocial API specifications, versions 1.0.x and 2.0.x. It is the standard set of Social Network APIs that constitutes profiles, relationships, activities etc

Apache Rave: It is a lightweight and open-standards-based extensible platform for managing, combining and hosting OpenSocial and W3C Widget related features, technologies, and services. 

How is OpenSocial contributing to society?

The Developers 

Social platforms are interactive and exercise notifications that are provided with the alerts. Making numerous social software to control social experience takes a lot of time and effort. Building a distribution is the answer to all of it. It allows the developers to build the best things, re-use it, expand and even improve on that. 

Site Owner and Business 

If you are using Opensource Saas offerings, you have the ability to use site codes and data anytime. Social media changed modern society and communications, especially in our private lives. The decentralized nature of social software is a huge opportunity for organizations to reinvent the way they communicate and collaborate

End Users 

End users obsess over user-centered design. Without engaged end users, no projects wouldn’t go anywhere. Thus providing the users with tools that are appealing and easy to use are a must for great user experience.

Why choose OpenSocial over any other software?

Freedom for the clients. If they need to download their SaaS platform and run or extend it as they want, then they can easily do it. 

Getting to this point from scratch takes longer and the core modules give you the functionality you need from the ground up.

The above points clearly say it is better software. With the Drupal community putting extra eyes on the code, making suggestions for design and development improvements, hopefully adding new features word-of-mouth marketing, and possibly some clients.
It provides easy customization options.

OpenSocial giving tough competition to other community software in the market

The pace of digitization is steadily increasing, leaving a lot of old processes behind in the dust. The same applies to traditional methods of innovation. The internet has not just become a hub to share knowledge, but also to create knowledge together through crowd innovation.

Some of the other community software in the market like lithium is being beaten hard by OpenSocial.

How?

Let’s find out 

  Lithium OpenSocial Who uses it? Businesses of all sizes looking to attract new visitors A better way of connecting with your members, volunteers, employees, and customers Free Trail Not Provided  Provided  Free Version Not Provided  Provided  Starting Price $235.00/month It is free Entry Level set up Not Provided  Provided 

What does Drupal Community Gain From Open Social?

Without Drupal distributions, we won't be able to successfully compete with commercial vendors. Drupal distributions have great potential.
-Dries Buytaert

With the help of Open Social distribution, the Drupal community has been provided with a platform for their social projects. A more sustainable and adopted way of development. OpenSocial is better with Drupal because:

Users can use Open Social for their own projects and clients.
They can give back to the open-source community.
If the user is a Drupal freelancer or professional then they can improve the Drupal.org standing.

Case Study on Youth4Peace 

The UN Security Council acknowledges the positive role played by all young women and men in preserving international security. The task force for Youth, Peace, and Security proposed an updated and expanded Youth4Peace platform. This was done in order to give inspired parties and partners a path to enable consistent and timely information.

The UNDP was already familiar with the features and functionalities of Drupal as the previous site was built on the same. The organization supports open-source mainly because of the reusability feature of modules. 

Moreover, the Drupal 8 community distribution, Open Social equals several goals of the project. Goals like: innovation and the use of technology. The distribution already included most of the needed features for the project, including blogs, events, profiles, information streams, a discussion engine, and moderation tools for community managers.

Therefore, The Youth4Peace portal was developed. It was constructed using an Agile method and mainly focused on:

  • A curated Knowledge Resource Library
  • Moderated e-Discussions & e-Consultations
  • Experts’ Profiles
  • News & Events and their overviews with filters

By being able to produce content for non-community members, the community was able to reach the global platform even at a bigger pace.
 

Image of 7 colorful hands in circle position where the text is written “progress study on youth, peace, and security


In The End 

Now we know that OpenSocial has the right blend of features that are needed to build a social community. The distribution proves to be an appropriate platform to start building a community or intranet with immense features.

Opensense Labs understands how important it is for every organization to stay connected with the world. Therefore, we are here to leverage all those facilities and services. Ping us at [email protected] now.

Feb 24 2019
Feb 24

Education is just like planting a seed. A seed that has different stages with significant and important roles. If any stage is missed in the entire scenario, it destroys the life cycle of the plant. 

It is not what is poured into a student that counts, but what is planted
-Linda Conway  

There is no secret to the fact that education has the power to change lives. For a successful career, every student needs to go through the learning stage of knowledge, confidence, academics and technical skills so that they can grow efficiently. A college education is one such element that contributes highly to these steps of learning. 

Therefore, to achieve these steps of knowledge, campus management software has been introduced. 

picture of a laptop which hjas book shelf in it. A degree in lying at the corner of the keyboard. A globe is lying beside the laptop.


OpenSource Campus Management solution is one such management software which has made lives easy for students, teachers, authorities and other people that follow down the chain. Such a system has brought standardization and steadiness within the organization. 

But what exactly is OpenCampus?

OpenCampus is a technical model that contributes highly to the outlook and the network of the universities. It was developed with the first open adoption solution of campus management in Drupal. 

OpenCampus is designed to cover the life cycle of students.

In Germany and Austria, more than 30 universities are using this software and it is highly contributing to their needs and requirements. 

Image that says OpenCampus in blue text with a circle logo that is on the left side of the text

With the help of OpenCampus software, you can manage everything. Starting from all the courses till recording achievements, the application does everything and is considered among the most versatile applications. It allows mapping of complex procedure which includes the allocation of the student into smaller classes in medical or dentistry programs. 

The Framework

The framework of OpenSource is based on the open source technology, Drupal, and it lets their customers create their own applications with a smooth integration of third-party products such as a moodle. 

Image of a blue platform where the text is OpenCampus framework on which threads are placed with social media logos

Features provided by OpenCampus
 

Features Benefits Application and Admissions
  • Transparent and multi-staging application process.
  • Dynamic list of view.
  • Automatic e-mail notification
  • Smart forms
Course and Event Management
  • Parallel small groups.
  • Automation of complex course sequence 
  • Uploading of documents, term papers, and personal calendar
Exam Management and validation
  • Exam questions 
  • Written tests and online evaluation
  • Seating plans
Records of Achievements
  • Easy modifications following revision of the examination.
  • Automatic generation of course certificate
  • List of synopsis 
Evaluation
  • Evaluation via app
  • Flexible configuration
  • Automatic evaluation report 
Mobile apps and Platforms
  • Integration of students and faculty 
  • Forums and online discussions
  • Attendance


Application and Admission

The process involving applications as well as admissions have been made really simple with the help of OpenCampus. The software presents the applicants with a simple tool that uploads and manages all the necessary information in one single place. 

Course and Event Management 

OpenCampus software is one of the most powerful and flexible of its kind. The module handles simple seminars with the location, automates complex courses, appointment, and lecturer. It also supports multilevel architectures with multi-language pages and directs the budget control. 

Exam management

The software is an innovative web-based solution that grants users with extensive functionalities for creating a multi-level architecture of any exam. All the aspects of exam preparation are managed seamlessly with OpenCampus ( starting from an online mock test to the seating arrangement)

Records of Achievements 

OpenCampus performance management tells the whole study achievements of the students in a clear view. The data of the other modules such as "OpenCampus Exams" and "OpenCampus event management" are also stored in this location. Easy modifications in the revision of the examination, automatically generating course certificate and the listing of synopsis are some of the features that are offered under OpenCampus

Evaluation

Continuous and seamless evaluation is the key to ensure the quality of teaching and offers that are present by a university. The user can evaluate standardized courses and receive qualitative as well as quantitative feedback on different areas of teaching. The user can benefit from simple creation option of questionaries or reports as full integration of course management is done in the system. 

Mobile Application 

The OpenCampus software has special support which is "Room Management". The users can manage their booking of event and laboratory rooms and their equipment. As the software is mobile responsive, it makes it even more efficient and handy. 

OpenCampus logo which has a two concentric circle that has a blue background and there are 14 corresponding pictures around it


The reason why customers choose OpenCampus 

Higher education institutes are bound with various responsibilities and data information that has to be managed accurately and in complete synchronization. OpenCampus here bags all the trophies by providing them with the administration of the students and faculty. There are also many reasons why OpenCampus is chosen by universities. Some of the reasons are:

  • It presents with unique processing mapping: OpenCampus is the only software that manages complex processes of the universities. 
  • It comes with comprehensive feature sets: OpenCampus software offers extensive functionalities and features to its customers. 
  • Open Adaptive System: OpenCampus is an adaptive system that has additional modules that can easily be added anytime on the openSource platform.
  • Established and Experienced: More than 25 universities are using OpenCampus that have at least 3,000 students. 

OpenCampus for Research Data Management System For Clinical Studies

Research institutes need to manage multiple studies with individual data sets, processing rules and different type of permissions. But there are no “official” or “standard” technology that presents an easy to use the environment to construct database and user interface for the clinical trials or the research studies. Thus, many software solutions were being used which were explicitly made for a specific study, to cost-intensive commercial Clinical Trial Management Systems (CTMS)

With OpenCampus Research, Open adoption software (OAS) solution provided the users with a standard environment for state-of-the-art research database management at a very low cost.

The architecture of the open adoption software (OAS) allows the user after a brief instruction to develop their own web-based data management system.

The implementation provided with the following features:

  • Basic Architecture

OpenCampus is basically three types: forms, trees, and containers. Any type of research project or clinical trial can always be mapped with this model and are fully configurable through the graphical user interface 
 

Image of a flow chart stating user, processes, trees, containers, and nodesSource: National Center for Biotechnology Information

 

  • Interoperability

There are many taxonomies that allow the user to classify content with terms gathered within the vocabularies. With the help of taxonomies, the field contents are able to store not just as text, but also as a reference that is linked to the predefined value.

  • Multicenter 

The approach of OpenCampus software works really well under this section. There is one single study administrator that assigns permissions to center coordinators. Center coordinators then independently distribute access and permissions to the data managers that are responsible for entering the data.

The multicenter concept can be extended with various additional features such as node state levels or individual data processing guidelines that ensure that certain quality management actions are executed during data processing

  • Meta-analysis

One core element of this data storage approach in the OpenCampus OAS concept is that it allows the nodes to get connected to each other. The link between these nodes is called entity reference. With the help of entity references, the data from many studies can be combined (merged), enabling meta-analysis to be executed just by creating a new output view.

  • Data Security  

The two major solution in terms of security is that the customer can fill online form or the information can be submitted on premises along with the confidentiality of doctor-patient.

Thus, with the help of OpenCampus system, a steady environment was provided to the research center and the people working in it alongside with database design and pattern design. 

Conclusion

OpenCampus is not only that software which is used for the small clerical task, but it is also beyond that as it offers three-way interactive platform for students, teachers, and parents. It not only saves the time of the administrative staff and their pupils, but it also allows them to pay fees online and makes them attentive about important information around the university. 

Opensense Labs believes that the contemporary system of education will spread a new level of superiority in the education sector. Ping us at [email protected] to know more about OpenSource campus management. The services provided by our organization would help you solve all your queries.

Feb 23 2019
Feb 23

The story of a historical character acquires a plethora of accretions over the centuries. So, we have numerous incidents and episodes in his or her life but not the complete picture. So, representing historical characters on stage could lead to a fractured narrative. There has to be synchronisation with the pre-recorded dialogue and it should not distract the actors from emoting.

blacka and white image of people acting in a play


The synchronisation is also of great significance in the digital scene. Content publishing in Drupal is of utmost importance with the expanding possibilities of content creation itself. It is even more crucial when it has to be synchronised between Drupal sites. Why is content synchronisation needed in Drupal?

Need for Content Synchronisation

Drupal 8 offers numerous tools for streamlining content creation and moderation. For instance, the Content Moderation module lets you expand on Drupal’s ‘unpublished’ and ‘published’ states for content and enables you to have a published version that is live and have a different working copy that is undergoing assessment before it is published.

In case, you need to share content or media across multiple sites, different solutions are available in Drupal that comes with content synchronisation capabilities to assist you to keep the development, staging and production in superb sync by automating the safe provisioning of content, code, templates and digital assets between them. Multiple synchronisation tasks can be created and scheduled for automating their occurrence in the future targeting different destinations servers and sites. Or, synchronisation tasks can be manually performed via the user interface.

Following are some of the major modules that are worth considering for content synchronisation necessities:

Deploy - Content Staging

Logo od Drupal deploy module with icon resembling cloud


The Deploy module enables users to easily stage content from one Drupal site to another and automatically governs dependencies between entities like node references. Its rich API is extensible that helps in different content staging situations. It is great for performing cross-site content staging. Using Deploy with RELAXed Web Services helps in staging content between different Drupal websites. It, also, works with Workspace module for offering workspace preview system for single site content staging. And the API offered by RELAXed Web Services is spectacular for building fully decoupled site. With Multiversion, all content entities can be revisioned. Workbench Moderation ensures that when you moderate a workspace, content is replicated automatically when approved.

Entity Share

Logo of entity share drupal module with three drop shaped logos of drupal


Entity Sync module enables you to share entities like node, field collection, taxonomy, media etc. between Drupal instances. It lets you share entities with the help of JSON API and offers a user interface for leveraging endpoints provided by JSON API module.

CMS Content Sync

logo of content sync drupal module with the word content sync written in blue and black


CMS Content Sync module offers content synchronisation functionalities between Drupal sites with the help of a NodeJS based Sync Core. The synchronisation of an enormous amount of data consisting of content and media assets is possible with the help of this module that can’t be managed by Drupal itself. It is wonderful for content staging as it enables you to test code updates with your content and publish code and content concurrently. It manages the publishing so that you can have a complete focus on the creation of content. It also offers content syndication functionalities and your entire content can be updated and deleted centrally. Moreover, it allows you to connect any of your sites to a Content Pool that lets you push your content and media items and the remote sites can be allowed to import that content easily.

Content Synchronisation

Exporting single content item or a number of content items from an environment to another efficaciously is possible with the help of Content Synchronisation module. That means you can export and import full site content. Or, you can export and import a single content item. The difference between site content and the one in YAML files can be viewed. Also, entities can be imported with a parent/child relationship.

Acquia Content Hub

drop shaped logo of acquia content hub drupal module


The distribution and discovery of content from any source in order to a fantastic multi-channel digital experiences can be done using Acquia Content Hub module. It enables you to connect Drupal sites to the Acquia Content Hub service. Acquia Content Hub, which is cloud-based, centralised content dissemination and syndication solution, lets you share and enrich content throughout a network of content sources using extensible, open APIs.

Conclusion

These are some of the most significant solutions available in the enormous list of Drupal modules that are specifically built for enhancing synchronisation of content between Drupal sites.

We have been constantly working towards the provisioning of marvellous digital experiences with our expertise in Drupal development.

Let us know at [email protected] how you want us to help you build innovative solutions using Drupal.

Feb 23 2019
Feb 23

A scientist can be rewarded a Nobel prize for some amazing scientific breakthrough made in his or her research. Most often than not, the leading scientist is backstopped in the research by a team of hugely talented assistants.

Lemur sitting near a wood


Talking about backstopping, you do need something as a backstop even in the digital landscape. When you make an alteration to your website, you have to be sure if it is devoid of unintended side effects. This is where BackstopJS comes into light. As an intuitive tool, it enables swift configuration and helps you get up and rolling quickly.  Before we look at how it can be leveraged with Drupal, let’s dive deeper into visual regression testing and BackstopJS.

Traversing visual regression testing and BackstopJS

Visual regression testing emphasises on identifying visual alterations between iterations or version of a site. In this, reference images are created for every component as they are created which enables a comparison over time for monitoring alterations. Developers can run this test on his or her local development environment after the alterations are performed to make sure that no regressions issues transpire because of the changes.

Visual regression testing emphasises on identifying visual alterations between iterations or version of a site.

Visual regression testing is hugely beneficial in enabling the developers to get a test coverage that is more than what they could do manually thereby ensuring that alterations do not cause regression impact on other components. It has the provision for enhanced detail comparison than what you would get while reviewing the site manually. Even without a full understanding of the project, developers know what the website should look like before the alterations.

Logo of BackstopJS with graphical image of lemur and backstopjs written below


BackstopJS, an open source project, is a great tool for performing visual regression testing. It is leveraged for running visual tests with the help of headless browsers to capture screenshots. It was created by Garris Shipon and was originally ran with the help of PhantomJS or SlimerJS headless browser libraries. It supports screen rendering with Chrome-headless and you can add your own interactions using Puppeteer and ChromyJS scripting.

BackstopJS is leveraged for running visual tests with the help of headless browsers to capture screenshots

It offers an excellent comparison tool for identifying and highlighting differences and lets you set up several breakpoints for testing responsive sites. Moreover, it utilises simple CSS selectors for identifying what to capture. It provides in-browser reporting user interface like a customisable layout, scenario display filtering, etc.  Furthermore, it comes with integrated Docker rendering and works superbly with continuous integration and source control. Also, it gives you CLI and JUnit reports.

Workflow and installation

It’s pretty easy to install and configure BackstopJS which involves:

Installation (global): npm install -g backstopjs
Installation (local): npm install --save-dev backstopjs
Configuration: backstop init (creates backstop.json template)

Following is the workflow of BackstopJS:

  • backstop init: A new BackstopJS instance is set up by specifying URLs, cookies, screen sizes, DOM selectors, interactions among others
  • backstop test: By creating a set of test screengrabs and comparing them with your reference screengrabs, you can check the alterations that show up in a visual report.
  • backstop approve: If all looks fine after the test, you can approve it

BackstopJS with Drupal

A Drupal Community event in 2018 talked about a Drupal 8 module called Backstop Generator for creating backstop.json configuration files on the basis of site’s unique content.

[embedded content]


This Drupal 8 module exposes an administrative configuration form to create a BackstopJS visual testing profile on the basis of Drupal website’s content. It assists you in creating backstop scenarios from Drupal pages and defining random pages for including as scenarios. You can toggle on and off viewport sizes. It results in a backstop.json file that requires you to place that into a backstop directory and the existing backstop.json file is replaced. It requires the services of Serialisation, HAL and REST modules. It is worth noting that this module is not covered by Drupal’s security advisory policy.

Backstop Generator can do a lot more. You can contribute towards building more interesting features and join the issue queue on Drupal.org to submit a patch or report a bug.

Conclusion

Deploying frontend alterations can be troublesome. Visual regression testing software like BackstopJS ensures that our changes are accurate and contained and can be great for Drupal sites.

We have been offering a suite of services to help digital firms fulfil their dreams of digital transformation.

Contact us at [email protected] and let us know how you want us to be part of your digital transformation plans.
 

Feb 23 2019
Feb 23

R programming can be an astronomical solution for foretelling re-booking rates by leveraging previous guest ratings and, thereby, automating guest/host matching. That’s exactly what analysts at Airbnb, an online marketplace and hospitality service provider, has done with it. It has leveraged R for driving numerous company initiatives with the help of an internal R package called Rbnb.

Letter R written on a wall


As a growing organisation, Airbnb’s inclination towards R for enhancing its business operations speaks volumes of this programming language. It offers powerful analytics, statistics and visualisations. In combination with Drupal, R programming language can be a spectacular option for an innovative solution. Let’s take a look at the origins of R and its significance before heading over to the integration of Drupal and R programming.

A sip of history

Microsoft delineates that strolling along history of R would take us back to ‘90s when it was implemented by Robert Gentleman and Ross Ihaka (faculty members at the University of Auckland). It was commenced as an open source project in 1995. R Core Group handled this project from 1997. The first version was released in the year 2000. It was closely modelled on the S language for Statistical Computing.

R programming: An exploration

Logo of R programming language with the letter R and a grey circle overlapping it.


R, as an open source programming language and software environment, is magnificent for statistical computing and graphics. Prominently, it is used by data scientists and statisticians alike. It has the support of R Foundation for Statistical Computing and a huge community of open community developers. Those who are accustomed to using GUI focussed programs like Statistical Package for Social Sciences (SPSS) and Statistical Analysis System (SAS) can find it difficult in the nascent stages of using R as it leverages a command line interface. In this case, RStudio can be meritorious.

R is a language and environment for statistical computing and graphics. - r-project.org

R offers a wide array of statistical techniques like linear and non-linear modelling, classical statistical tests, time-series analysis, classification, clustering among others. In addition to this, it also provides graphical techniques and is very extensible.

R has had a remarkable growth which can be seen through the following figure.

graphical representation with several dots to explain growth of R programmingSource: Stack Overflow

Even the Redmonk programming language rankings, that compared languages’ appearances on Github (usage) and StackOverflow (support), R maintains its position near the top.

A straight line graph with several dots to explain popularity of R programming


Academics, healthcare and government segments maintain the preeminence when it comes to the industries that visit the R questions the most in U.S. and U.K.

Bar graph with horizontal bars in orange colour to explain different industries using R programmingSource: Stack Overflow

The Burtch Works survey shows that R is a second choice for data scientists and its flexibility makes it great for predictive analytics. Research practitioners, who want to do both sorts of analysis and concurrently implement machine learning to their marketing research processes in future, will find R as a great option.

Pie charts with green and blue regions and Bar graph with green and blue bars to explain R programmingSource: Nebu

Why choose R?

Following are some of the pivotal reasons that state the importance of R:

Documentation

Online resources for R like message boards are superbly supported and well documented.

Analysis

R helps in performing data acquisition, cleaning and analysis all in one place.

Data Visualisation

R has fantastic tools for data visualisation, analysis and representation.

graphical representation showing greyish region formed by uneven line to explain R programmingFigure: A ggplot2 result | Source: IBM

This is a good example of data visualisation provided by R package ggplot2. In this, it displays the intricate relationship between yards per game and touchdowns as well as first downs.

Easy to learn

You can quickly get to speed as R has an easy learning curve. For instance, with the simplicity of the language, you can easily create three samples and create a bar graph of that data.

Bar graph with blue, green , orange, red and yellow bars to explain R programmingFigure: Three random samples | Source: IBM

Machine learning

It makes machine learning a lot more easy and approachable with a superabundance of R packages for machine learning like MICE (for taking care of missing values), CARET (for classification and regression training) among others.

Drupal in the picture

A digital agency integrated Drupal with R for an insurance company that envisions itself offering a highly personalised matching service to assist people for selecting the right insurance program. The company leveraged R for building an algorithm that can calculate the compatibility score. The main notion was to be able to efficaciously match prospective customers to the insurance carrier based on customer’s needs and preferences.

The company leveraged R for building an algorithm that can calculate the compatibility score to be able to efficaciously match prospective customers to the insurance carrier based on customer’s needs.

The intricacies involved during the calculation of the compatibility score that is a function of elements like user persona, price sensitivity among others. So, numerous unique customer personas were found in the process like demographic factors (gender, age, education etc.) and car ownership details (car type, mileage etc.). Once a prospect is found to be a particular persona, it is, then, mapped to each of the insurance providers on the basis of a score and customer satisfaction survey ratings.
 
Moreover, different scores are calculated for tracking sensitivity of the customer to price, customer service levels, etc. This is done through a web service that links to the insurance carriers’ information and offers a quote for the customer on the basis of numerous information points provided by him. Finally, consolidation of all these scores into two different parameters give a final score that helps the prospect to select the right insurance carrier.

An insurance portal was built in Drupal which was the customer persona questionnaire that prospects can fill to be able to search the best carrier for their spending styles and other preferences. Once the information is entered by the prospect, it is passed from Drupal to R in the JSON format. R ensures that a plethora of customer data already exist and are also leveraged by the algorithm developed. Quotes pulled from multiple carriers are processed via web service. On the basis of the algorithm, R processes all the data and sends back the best carrier match options for the prospect who can, then, select the carrier on the basis of his preferences.

Conclusion

R, along with Drupal, is a marvellous option for the data experts to do everything ranging from the mapping of social and marketing trends online to building financial and climate models for giving that extra push to our economies and communities.
 
We have been offering a suite of services for fulfilling the digital transformation endeavours of our partners.
 
Let us know at [email protected] how you want us to be a part of your digital innovation plans.
 

Feb 23 2019
Feb 23

iRobot, a leading global consumer robot company, had a spectacular debut on Amazon Prime Day as it sold thousands of its Roomba robotic vacuums. Eventually, with the greater focus on its central value proposition vis-à-vis offering leading-edge robots to relieve customers from humdrum chores and the increasing number of connected customers, iRobot decided to move its mission-critical platform to the Amazon Web Services (AWS) Cloud. By leveraging the powerful tools and integrations of AWS, they were able to use a serverless architecture that offered an efficacious combination of scalability, global availability and breadth of services.

a humanoid standing on a rocky surface while the sun sets in the distance


Why is such a big organisation like iRobot opting for serverless computing? Using a serverless architecture powered by AWS IoT and AWS Lambda was beneficial to keep the cost of the cloud platform low, negate the need for subscription services and handle the solution with fewer people. Also, the need to maintain physical infrastructure and systems software vanishes. Drupal, as a leading player in the open source content management framework market, has been a humongous option for building innovative solutions. Drupal can be a great solution for implementing a serverless architecture. Before diving right into it, let’s traverse the road that delineates how the concept of serverless came into existence.

The emergence of serverless computing

To look at how serverless came into existence, freeCodeCamp has compiled an interesting story that takes us to the 1950s. This was the time period when the computing paradigm called mainframes burst onto the scene. Eventually, the mid-2000s witnessed the advent of a new paradigm called cloud computing.

Flowchart with arrows pointing different words to explain history of serverless computingSource: ResearchGate

It was in the 2010s when the concept of serverless architecture popped up. Serverless is more: From PaaS to present cloud computing report has an interesting compilation that distinguishes six main dimensions, as seen in the figure above, of critical breakthroughs that paved the way for the emergence of serverless.

Serverless: In-depth

Flowchart showing icons representing servers, cloud, Microsoft Office 365 logo, AWS Lambda to explain serverless computingSource: freeCodeCamp

What is Serverless Computing? It enables you to write and deploy code without having any sort of obstruction while handling the underlying infrastructure. Here, the cloud-based servers, infrastructure and operating systems are relied upon by the developers. Although it is referred to as serverless, there is still an involvement of servers. Being a fully managed service, the setup, capacity planning and server management are managed by the cloud provider.

Serverless architectures are application designs that incorporate third-party “Backend as a Service” (BaaS) services, and/or that include custom code run in managed, ephemeral containers on a “Functions as a Service” (FaaS) platform. By using these ideas, and related ones like single-page applications, such architectures remove much of the need for a traditional always-on server component.- Martin Fowler

Martin Fowler states that there is no clear view of defining Serverless. On one side, it was first used to describe applications that involve the incorporation of third-party, cloud-hosted applications and services for handling server-side logic and state called (Mobile) Backend as a Service (BaaS). On the other side, it can also mean applications in which the server side logic is written by the developer and run in stateless compute containers that are fully managed by a third party called Functions as a Service (FaaS).

Benefits of Serverless

Bar graph with blue-coloured horizontal bars to explain benefits of serverless computing


Following are some of the merits of Serverless stated by AWS:

  • Governance: There is no need for governing any servers. To add to this, no software or runtime to install, maintain or administer is needed.
  • Scalability: Automatically, your application can be scaled. It can also be flexibly scaled by adjusting its capacity which is done by toggling the units of consumption (such as throughput or memory) in lieu of units of separate servers.
  • Cost: You can pay for consistent throughput or execution duration instead of making payment by server unit.
  • Availability: It offers built-in availability and fault tolerance

Implementation

Flowchart showing logos of Amazon Aurora, CloudFront, S3, EFS to explain implementation of serverless computing with Drupal


A combination of Amazon CloudFront, a web service that quickens the process of distribution of static and dynamic web content; [email protected], that extends serverless compute feature to the CloudFront network; and Drupal as a powerful headless CMS can be fantastic for building a serverless architecture. The seamless integration between CloudFront, [email protected] and headless Drupal delivers the lowest latency and personalised experience to the users.

The seamless integration between CloudFront, [email protected] and headless Drupal delivers the lowest latency and personalised experience to the users.

AWS has delineated how to accelerate the Drupal content with Amazon CloudFront. It showed how to deploy CloudFront to cache and accelerate your Drupal content with the help of a globally distributed set of CloudFront nodes. In this, every CloudFront distribution consisted of one or more origin locations. An origin is where Drupal content resides. By running the supplied Amazon CloudFormation stacks, Drupal 8 was deployed. Amazon Elastic Compute Cloud (EC2), Amazon Elastic File System (EFS), Amazon Relational Database Service (RDS) and Amazon Aurora came in handy as well. It was all wrapped up in a highly available design using several Availability Zones and its configuration was done in such a way that it was able to auto scale using Amazon EC2 Auto Scaling groups.
 
Path module, available in Drupal 8, helped in creating URL aliases for the content. ‘Aggregate CSS Files’ and ‘Aggregate JavaScript Files’ were enabled by default within the Drupal 8 administration. This led to the reduction of bandwidth requirements between the Origin AWS infrastructure and CloudFront Edge nodes. Internal Drupal caching was disabled by default that controlled the maximum amount of time a page could be cached by browsers and proxies. Drupal’s CDN module was also suggested to be enabled that could alter file URLs so that CSS, JavaScript, images, audio and videos could be easily cached within CloudFront. This was followed by the creation of CloudFront distribution by using CloudFront console which involved configurations on Origin, default cache behaviour settings, and distribution settings.

What lies ahead?

A report by Markets and Markets estimates that the market size of serverless architecture was estimated at USD 4.25 billion in 2018. This is expected to grow at a Compound Annual Growth Rate (CAGR) of 28.6% to reach USD 14.93 billion by 2023. Elimination of the need to administer servers for minimising infrastructure costs and streamlining deployment, governance and execution, shift from DevOps to serverless computing, and the burgeoning state of microservices architecture have been contributing towards its growth.

Bar graph showing blue, green, indigo, maroon coloured vertical bars to explain serverless computing market shareSource: Grand View Research

A report by Grand View Research states that automation and integration services segment play a crucial role in establishing a serverless architecture. While the monitoring services segment is expected to see the highest CAGR of 28.8%, the small and medium enterprises (SME) segment will grow with CAGR of 28.6% between the forecast period of 2015 and 2025. The banking, financial services and insurance (BFSI) segment to anticipated to retain its dominance in this market share. Moreover, North America, with the powerful presence of U.S., is growing at a great pace. Asia-pacific is also expected to witness a growth of CAGR of 26% in the forecast period.
 
Research and Markets, in a report, states that serverless computing does come with certain challenges during its deployment. As Cloud Service Providers (CSP) control the underlying infrastructure, users are unable to customise or optimise the infrastructure. Further, the organisation has no authority over the infrastructure that raises the risk factor involved with adding several customers on the same platform. Also, consumers do not have control over penetrations tests and vulnerability scanning on infrastructure that increases the requirement for compliance concerns adopters and acts as restraints to the market growth.

Conclusion

The Chief Technology Officer (CTO) of Amazon, Werner Vogels, said in his 2016 keynote, “Before, your servers were like pets. If they became ill you had to nurture them back to health. Then, with cloud, they were cattle, you put them out to pasture and got yourself a new one. In serverless, there is no cattle, only your application. You don't even have to think about nurturing back to health or getting new ones, all the execution is taken care of.”
 
Serverless Computing can be a great solution in combination with Drupal. The serverless platform enables you to globally distribute your web application for running dozens of data centres across the globe with the customers being served from the one that is nearest to them.
 
Be mindful of the fact that serverless is not the right approach for all the problems and consider your business requirements before taking a plunge.
 
We have been on a constant pursuit of offering a magnificent digital presence to our partners using our expertise in Drupal development.
 
To decide if serverless is the right fit for your business, let us know at [email protected] so that we can help you scale your digital business.

Feb 20 2019
Feb 20

You don’t want people to treat your website as an outcast. You don’t want to be the ugly duckling in this sharp, serious and extremely competitive world. 

Correct?

Thus, owning a professional looking website becomes an important platform for all sorts of business. It doesn’t really matter whether you are planning to make money or not, treating your website just like your employees is a must.

Why?

Well, because it creates an impression of your business, a place where people come to see who you are and what you want. Whether it is a big e-commerce site or a one-pager - a good website would always bring values to you and your company.  

An image of a hand which is holding a tray on which there is an image of a laptop, PC, touchpad and phone


As important as the website is for you, the themes contributes highly to the user experience and functionality of a particular site.

Your theme is the overall look, feel and styling of your website and the very first thing which the audience witnesses. And nothing can beat Drupal in this area.  

Beginning with the Zurb Foundation 

So here is Zurb foundation for you.

Zurb Foundation is the prototype theme that is used to prototype in the browser. It allows you to rapidly create a website or application while leveraging mobile and responsive technology that is well tested. 

The front end framework is the collection of HTML, CSS, and Javascript containing design patterns. These design patterns help the user in persevering time by helping them to dodge boring, boilerplate codes. The sites that are built on this foundation works great when there are multiple screens which include laptops, mobile phone, PC, iPad. The reason is that Zurb foundation has a responsive framework that uses CSS media queries and a mobile-first approach. 

Image of the Zurb foundation logo which has a white yeti holding a phone and a laptop


Different versions of Zurb 
 

 Infographic of different versions of Zurb in a linear form


Zurb Foundation 3

If the primary goal for your website is rapid prototyping then Zurb foundation 3 is for you.  This theme is developed in Sass, which is a powerful CSS pre-processor that helps you to write, clean and organize CSS which can be maintained easily over time. 

One of the biggest advantages of using Zurb Foundation 3 was the shift of development of the framework to Sass and compass rather than pure CSS. 

Sass grants the user with variables, functions and powerful mixin that speeds up the development of framework as well as made the code more coincide. 

Image of number 3 which is drawn in ice shape with horns. Around the digit is image of a phone and an Ipad on left and PC on right.


Zurb Foundation 4 

This version of Zurb foundation brought many new functionalities and changes in its framework. Started from being a mobile-friendly theme, Zurb foundation 4 supported some complex layouts, grids, and media queries. 

This version brought about flexible and powerful built-in tools with the advantage of it being accessible to different screen size (new, simpler syntax that better reflects how the grid works)

Apart from this, Zurb foundation 4 is all about semantics.  Users were granted with the power of removing and writing all the presentational classes from the markup with built-in sass mixins and extensions. 

Zurb Foundation 4 also presented the users with some splendid plugins that worked well with AJAX. 

Image of a white yeti with specks holding a mobile phone that is of the same height with blue background


Zurb Foundation 5

Fast, strong and a better foundation, Zurb foundation 5 is great for designers and developers that are using it in their workflow. The foundation specifically focused on smart coding that introduced the users with better coding practices. And if it is a team then this would give them an idea to start from a common point. The advantage: It helped them to put together all interactions and workflow in a shorter period of time. 

 Image of the white yeti wearing an astronaut suit with a mobile phone

Zurb Foundation 6

Foundation of site 6 has been designed to give the users with production efficiency in their project. It includes a wide range of modular and flexible components that are not only lightweight but easy to maintain as well. 

Foundation 6 is also half the size of foundation 5, in other words, there was a reduction of 50 % code. All these codes have come with ARIA attributes and roles alongside instructions. 

The base style in foundation 6 act as a coded framework, which makes the work of the user even more easy and flexible. Simpler CSS styles allow the user to easily modify them and fit it according to their needs. 

Image of a white yeti wearing an astronaut suit holding a laptop in a sleeping position. It has a background image of stars and a rocket


Zurb Foundation or Bootstrap?

If talking about Zurb and its different version, bootstrap tends to make its way between all this. 

How?

Well, because Bootstrap and Zurb are the major participants when it comes to web designing methods.  Often designers and developers seem to get lost in the mist while battling and choosing between one. 

  Zurb Foundation Bootstrap Community The community here is smaller as compared to bootstrap but it is growing with decent technical support.  The community here is smaller as compared to bootstrap but it is growing with decent technical support.  CSS Preprocessor Foundation supports SASS Bootstrap also supports SASS but it is a less camp. Customization Minimalist approach to its pre-built UI components giving room to the designers to create new things. Bootstrap consist of basic GUI customizer which most of the time doesn’t allow the users to create something new.  Browser Support Supports Chrome, Mozilla Firefox, Safari, opera, android  Supports Chrome, Mozilla Firefox, Safari, opera, android, and IE8 Grid System Foundation was the first one to go mobile friendly and adapt to the grid system. Bootstrap has ample of time to bridge the gap in terms of features and functionalities.  Advanced Feature Elements Zurb foundation   of X-y grid, responsive tab, off-canvas etc It is customizable with a variety of designs. Releases Zurb has more releases w.r.t the development requirement. It has 6 releases and the 7th one is yet to come. Bootstrap has 4 release. The  4th  release was on August 19, 2011

Why choose Drupal for Zurb foundation?

When building a website what is the very first thing which the user sees?

Content? Functionalities? Information? Or Layout?

Selecting the theme and functionalities of a website is one of the most primary decisions that a website owner has to make and Drupal is the CMS that can help you achieve this task. It has about 1,316 themes where each theme has a variety of strengths

Out of which Zurb Foundation theme is grid-based, mobile first CSS. When used with Drupal, Zurb provides efficiency to the front end developer. It is a platform-specific method that helps you achieve various functionalities. 

  • The foundation XY grid (in timeless condition) allows the user to easily create and layout Drupal content.
  • The top bar of the foundation is combined with Drupal’s menu navigation and works well with submenus.
  • The off-campus region in the Zurb foundation are available as Drupal blocks and the menu bar that is placed in this region are automatically themed. 

Creating Sub Themes 

It is imperative that the user creates a sub-themes that allow Zurb foundation to apply on any website. 

There are two ways of creating a sub-theme:

Drush: Drush is basically a command line access to common Drupal administrative tasks and configuration. The user can change the directory with the help of Drush.  

Manually: The user can also create sub-themes manually. They can complete the task by expanding the theme folder and then replacing it with starter files. 

Contributed Drupal modules that can be used with Zurb

The Zurb foundation aims to do theming without the help of any dependencies but there are many modules that help in theming better. 

Modules like panels, block class, display suite, special menu items. 

Panels: Panels module allow a site administrator to create customized layouts for one or more users. It provides an API that allows the configuration and placement of
blocks into regions. 

Block Class: Block class allows the user to add classes to any block through the block’s configuration interface. 

Display Suite: Display suite allows the users to take control over content fully using drag and drop interface. 

Menu Items: This module allows the user to create dropdown divider and all sort of headers in the navigation menu. 

Case Study on MIT Press CogNet 

MIT Press CogNet is an essential online resource for all the students and scholars that are into cognitive sciences. 

The objective of this project was to provide a completely responsive design in all devices for the users. An organization worked closely with the CogNet team. With the CogNet team, they developed a basic wireframe. custom Drupal theme based on the zurb foundation was built.

Zurb foundation theme and sass for CSS preprocessing were used to rework the already existing theme. To guarantee a seamless experience on any type of screen the developers used jQuery to construct slick navigation, scrolling, and content exploration. 

The results were eye-catching. From being a desktop-only website, MIT Press CogNet was modified into an accessible one where the users were able to view it in any device. The biggest achievement of the whole procedure was that it was done under the budget provided by the organization.  

Future of Zurb Foundation

Zurb is yet to launch another version of the architecture (ITCSS+SMACSS). 

Zurb Foundation 7 separates the view layer from the logic layer to make it easy and reliable. 

It would dramatically improve your freedom to shift between JavaScript frameworks with a super-powerful pluggable JavaScript architecture. In short, there are two major changes that would take place in Zurb Foundation 7 

The first one as mentioned would dramatically let user shift between javascript frameworks with javascript architecture. UI framework today tends to either go in one framework or have different and independent ports for different JS framework.

And yes, the second major change in the foundation is the ITCSS based architecture with the usage of SMACSS. This would make it easier to build and maintain scalable sites and themes. 

Conclusion 

Remember that themes are connected to the protagonist's internal journey. It is not just the visuals but it is also the journey of the user experience that they would have while going through your website.

At OpenSense labs, we understand how important it is to create a website that matches your goals and objectives. Ping us at [email protected] so that we can arrange services to make your website what you have always hoped for. 

Feb 17 2019
Feb 17

A metalsmith sees potential where others might see trash. In his vision, a plastic bag can become a ring, the zipper can turn into a bracelet and brass platters can be metamorphosed into a striking hollow vessel. In the digital spectrum, there’s another Metalsmith which can shape a great web presence for your organisation with its amazing web development capabilities.

A metalsmith working in a room full of metal objects


A combination of Metalsmith and Drupal even more fruitful with Drupal’s spectacular backend that can be used to feed data to all sorts of clients and Metalsmith’s exceptional capabilities as a static site generator.

Forging an understanding

Flowchart showing boxes to explain metalsmith's working principle as a static site generatorSource: Werner Glinka | Twin Cities Drupal Camp 2018

Metalsmith is not aimed at particular project types such as blogs. It supports a wide array of templates and data format options. It offers a simple plug-in architecture and is easy to get started. It uses a modular structure. Its lightweight nature and fewer dependencies make its a magnificent solution.

Metalsmith is an extremely simple, pluggable static site generator - Metalsmith.io

Static site generators create HTML code locally on the developer’s computer and all the required components are stored in a well-structured directory characterised by the strict separation of layout and content. That means a static site generator produces static build files for their deployment to a web server wherein the files are developed from source files. This is exactly the reasoning on which Metalsmith was built. Metalsmith is more than just a static site generator as everything is a plugin and Metalsmith core is an abstraction for manipulation of the file directory. It can be used for building a plethora of use cases like a project scaffolder, or an ebook generator, or even the technical docs.
 
Its working principle is simple. It takes the information from the source files of a source directory and it, then, writes the manipulated information to the files into a destination directory. The manipulations can be the translation of templates, replacement of variables, grouping files, moving files among others.
 
All the manipulations are done by plugins. Only thing Metalsmith has to take care of in its core is to offer an underlying logic of how the manipulations are confronted with and for a defined interface for the plugins. Moreover, source files are, in the nascent stage itself, converted into JavaScript objects so that plugins only do the modifications to the JavaScript objects. Moreover, Metalsmith is divided into a core and several plugins that minimises the intricacy by giving the user complete authority to use only those plugins that are needed and disseminating the task of maintaining the Metalsmith core to the Metalsmith community. Being programmed in Javascript, the need for another language like Python or Ruby is eliminated and it also has a simple plugin-interface thereby offering a simple workflow.

Metalsmith with Drupal

Twin Cities Drupal Camp 2018 had a session that demonstrated how a headless Drupal 8 installation serves content to a local Metalsmith-based static website build process. Drupal 8 turned out to be a fantastic backend CMS for serving data to all kinds of clients. Here, simply put, the local environment is the Metalsmith process uploading anything onto the Github. Once uploaded, Netlify loads it into its own process and publishes it.

Cat-shaped icon at top, green coloured square icon at right, glass with straw at bottom, and a droplet icon containing number 8 Source: Werner Glinka | Twin Cities Drupal Camp 2018

Server data are leveraged for building pages dynamically at build time with the assistance of Metalsmith as the static site generator and the Nunjucks template engine. As a result, the merits of a static website as well as the magnificent backend data governance of Drupal is obtained. Drupal is only utilised for governing content in the backend and is then used to serve the content to the build process through an API.

Conclusion

Metalsmith, along with Drupal's great prowess in content governance, can be a great solution for building static sites.
 
We believe in empowering the digital firms and making their digital transformation dreams come true with our suite of services.
 
Let us know how do you want us to help you build an astounding web presence at [email protected]

Feb 14 2019
Feb 14

Communication is the heart of all human interactions and the media is like the blood pumping all the necessary ideas and expressions. 

Media provides the essential link between the individual and the demands of the technological society.
-Jacques Ellul

We as individuals view hundreds of advertisement each day. Digging through that phone and eyes glued to those tabs. People like us have produced a substantial rise in marketing tactics. 

Marketing tactics such as social media, videos, search engine optimization, mobile paid media, and marketing of the emails have simulated the need for good quality content. What our minds’ decide to pay attention to depends on the interest and how compelling the advertisement or piece of content is.

Image of a blue cloud that says content under which 28 lego humans are standing and rain is showering upon them through that cloud

It is necessary for organizations to realize their target persona, and serve up content that will bust through the clutter and hit homes with their customer.

Drupal Media can serve up this task beautifully and can do almost anything by gracefully blending digital assets in it.  

You ask how?

I say - let’s find out!

The Evolution of Media Management in Drupal 8 

Drupal 8 Versions When was it introduced? What was offered? Drupal 8.2 5th October 2006  Basic out-of-the-box media handling  Drupal 8.3 6th April 2017 This brought enhanced media handling in Drupal 8. Migrating Drupal 7 File Entities to Drupal 8 Media Entities Drupal 8.4 4th October 2017 Introduction of a new Media API to the core. For site builders, Drupal 8.4 ships with the new media module i.e base media entity Drupal 8.5 7th March 2018  Supported remote video using the oEmbed format. Drupal 8.6 7th November 2018  For the content creator, richer image and media integration and digital asset management.

Media Type and Best Solutions to Handle Them

Media type as we know has been generally categorized with the data content such as an application, audio content, image text message, a video stream and so on. Media type conveys the applications that in return tell them what type of application is needed for the process. Media Types like Pictures, graphics, icons, video are handled beautifully with the help of Drupal modules. 

Media types can be handled with the help of some practices :

  • Media Module Maintenance 

Modules maintenance in Drupal can be achieved with the help of distinct features and functionalities. Status report screen (which checks a variety of issues), cron (that automates the task of a website in “N” hour), caching and deployment, are some of the pieces to the whole module maintenance picture.

Media module provides a “base” entity for assets. This allows users to standardize Drupal site interactions with media resources. Local files, images, youtube video, tweets can be treated with the help of a media module. 

  • Building Distributions 

If you are setting up a Drupal site then it would typically mean being involved in downloading and configuring various contributed modules (media and non-media). To make the whole process easier there are a variety of “Pre-configured” versions of Drupal that can be downloaded and used for a specific site. These pre-configured versions of Drupal are called distributions. With these “full-featured” distributions you can easily and quickly set up a site for the specialized purpose.  

  • Site Building 

Drupal 8 comes with the most popular text editor modules and image uploader modules. These both provide the users with basic HTML controls and the power to edit the content. Text editor modules like paragraphs grant the user with a cleaner data structure. The scope of making mistakes is next to null due to the module known as the environmental indicator that helps in correcting mistakes. 

  • Custom Development 

Drupal is a collection of modules and distribution. With more and more organizations looking to build an engaging digital experience for their stakeholders, the Drupal CMS has made custom developments in its platform. The version brings significant changes in modules that help in better user experience and efficiency of the website. 

Media expectations as a content author and Site Builders  

State of Drupal 2016 survey which 2,900 people attended and participated in got the top two most requested features in terms of content creator persona.

The top two features which were adequately demanded were

  • Richer media 
  • Media integration

Thus, “media initiative” for Drupal 8 was introduced that provided with extensible base functionalities. For the media handling in the core the support of the reusable assets, media browsing, remote video with the extensible cleanliness of contributed modules were made. 

In Drupal 7 the media module was jam-packed with many functionalities. Now in Drupal 8 it has been recreated and introduced into separate modules. The three major modules which beautifully handles the media entities are named as:

Media Entity 

To store media assets, media entity modules were introduced. This module provides a base entity for the media, a very basic entity which refers to all kinds of media objects. Media entity also presented a relation between Drupal and media resource.  

Entity Embed

WYSIWYG embed support(within the text area) is allowed by the entity embed module in Drupal 8. The core consists of an editor and a filter module. This module allows a site builder to construct a button which leads an editor with the text area, hence the name “entity embed”.

Entity Browser

The entity browser module provides flexible and generic entity browsing and selection tools. It can be used in any context where one needs to select a number of entities and do something with them. The inline entity also provided with the integration of the media.

Site builders want that every type of media usage should be easily tracked and be presented to them. These three modules help them in achieving this task.

Third Party integrations for media solutions 

DAM (Digital Asset Media)

A digital asset is any text or media that is formatted into a binary source and includes the right to use it. All the digital files that do not include this right are not considered digital assets. Digital assets are categorized into images and multimedia, called media assets, and textual content and the management of these types of assets is known as Digital Asset Management. Modules like Acquia DAM, Bynder, integration module, EMBridge, S3 file sync, Q bank, Asset Bank, Media Valet, Elvis contribute to the integration of DAM and Drupal media. 

Image of a laptop with a chart picture on the screen and five sub-images are connected around it via dots

CDN (content delivery network)

CDN is a globally distributed network of proxy servers. It integrates offload static assets like images, videos, CSS and JS.

CDN like Cloudflare offers image compression and is great for content delivery network services. CDN provides several advantages over serving the traffic directly:

  1. Assets can be cached in a proxy which is geographically closer to the end users that usually leads to high download speed.
  2. Each page response is shared with the origin server and the CDN.
  3. Some of the CDN’s provides with page optimization service which further enhances the performance and also the user experience. 

To make the integration easier Drupal has a CDN module that would help in speeding up the process and make it more agile. 

Image of the cloud saying CDN, where it has three parts on the left side of the cloud-connected with dots and same is on the right side too


External Storage 

It is not uncommon for large files and folders to get into the way of website speed. Large files are not usually cached resulting in every request to load the website slow. Drupal modules like the S3 file system, storage API, AmazonS3 contributes highly to integrate external storage. These modules manage the storage and the files in its API by providing an additional file system to your Drupal sites. 

Image of a silver tube that is indicated by two back and forth arrow pointing files sign

Infrastructure 

One of the most prominent examples of integrating infrastructure is Cloudflare. It is one of the biggest networks operating on the Internet. People use Cloudflare services for the purposes of increasing the security and performance of their websites. 

A number of various solutions implemented at customers' facilities are rather large today. Often the subsystems of seemingly unified IT landscape are either loosely connected to each other or the interaction between them is ensured by file and data transfer via e-mail or from hand to hand.

When content becomes media 

Content on your website would start acting like media because let’s face it the content repository or the content that is stored in the database of the digital content is an association set of data management, search and access method allowing accessing of content. It includes

Content Pooling 

Content pooling involves the storing of the learning material in form of objects, meta-data as well as the relation which is there between them. It is the grouping up of the resources together (assets, resources etc) of the purpose of maximizing profit and minimizing risks, content pooling is done. 

Content Syndication 

Content Syndication is the building up of a suite of Drupal site that needs a way to consume content from a central Drupal source. The CMS provides a number of splendid tools to simplify content creation and moderation. The users can create content once and make it available everywhere. Push content and media items at any sites to publish them on any targeted remote site. 

Deploy

This module of Drupal 8 allows the user to easily stage and preview content on all Drupal sites. It automatically manages dependencies between entities and is specially designed for rich API which can easily be extended. 

Contenta CMS 

The main agenda of Contenta CMS was to make the content happy. It is a community-driven API first distribution for Drupal 8 which provides users with a standard platform alongside the content. Contenta CMS is all about easing the pain of its users. It builds decoupled applications and websites. 

Beyond version 8 

Drupal 8 was launched without the support of the media library. Thus, the addition of the media library is planned to be launched in Drupal 8. The developers have been currently working on adding a media library to Drupal 8 so that the content authors can select pre-existing media from a library and easily embed them in their posts. Once the media library becomes stable, the content authors can deprecate the use of the old file upload functionality and make the new media library the default experience.

Instead of working on Drupal 9 as a separate code base, it is planned to be launched in Drupal 8 which means that new functionalities are being added on the backward compatibility code along with the experimental features. For contributed module authors, Drupal 9 is working on compatibilities (Before the release of Drupal 9 the users are allowed to update their media module for the new media library) 

Image of a line showing 2019, 2020 and 2021 that has a pointing arrow at the starting. The version are written at the top of a line with a blue background Source: Dries Buytaert's blog

Conclusion

As the world is getting more and more involved in the act of media, the need for handling it has become really important. 

Media is important because it allows the people to transmit information to a larger audience, over a greater length of time. The importance of the media today is immense. Never before in mankind's history have the media had such an influence. 

Yes, Drupal has come a long way in this sector. Contact us on [email protected] to know more about the media handling in your Drupal sites and the services which are provided by us.

Feb 11 2019
Feb 11
Wisdom doesn’t automatically come with old age. Nothing does - except wrinkles. It’s true that some wines improve by age but only if the grapes were good in the first place. 
-Abigail Van Buren

A reflection of the life experiences adds generously to the whole box of one’s wisdom because let’s face it, being wise and savvy can come from anyone and anywhere. So yes, famous quote “Age is just a number” has done justice to the whole scenario of erudition. 

Just like natural misconception “ bigger the better” proved right by small agencies handling bigger projects. Gone are the days where large enterprises use to rule in the market kingdom bagging all the big projects. Today, small agencies are winning big-name accounts and cool projects far more often. And the trend is forecast to continue.

Two fish bowls, one small and one big with water where a fish is jumping from small bowl to the bigger bowl


For the Drupal agency with big aspirations deciding on the projects to opt for can be a bit of a task sometimes, but attaining the trust from CxOs of big organizations that is even bigger than the projects itself. 

Thereby, solving this issue of handling and winning - here are some of the ways which would help you to seize those big projects in your vanity. 

First things First - How to meet big clients?

Just because you are a small agency or organization, it would not mean your clients to have to be small. Landing on the large organization not only boosts up the small business revenue but also increases efficiency among your team members and organization.

  • Use client reference to introduce your process

Big companies may seem like a grand entity, but you should not forget that they are constituted of hundreds and thousands of individuals who have the power to make the decisions.

So it is really important for your research to be up notch and accurate that tells you who to contact within the company you've targeted. Some of the sources or references may help with this. Apart from this some companies also present details of at least one of the senior employees on their websites.

But you need to be really creative to figure out exactly who the right person is. Look out for out some of the company’s publications or newspapers mentions seeing whose name comes up.
Not only this but you can also tag along with people who would introduce you to big tech giants.

  • Indulge in cold calling

Telemarketing and cold calling continues to be an essential discipline that is really useful for the sales role. In many business sales organizations, the old school “door knocking” might not be that productive, and when it comes to big organizations especially with large territory assignments, cold calling becomes the hero for everyone. Prospecting via phone calls continues to be a great compliment to your overall employment setting and lead generation projects.

  • Be an expert and then try to be a solution to their needs. 

If you want the big giants to trust you with the projects then a sense of “What the work means to you”must be established with a clearer vision for the future. In fact, according to the Employee Job Satisfaction and Engagement survey, nearly 77% of employees said it was important to their job satisfaction and engagement to have a clear understanding of their organization’s vision and mission.

Start with your team 

Now that you have big names in your vanity start by developing strong team hold and skills. Starting from:

  • A team of Generalists 

Generalists are the people who have a particular skill but are flexible enough to mold themselves in any situations and are ready to learn a new skill. In the case of Drupal websites, a generalist should be able to handle both backends as well as frontend. 

In other words, having a person as a generalist would be beneficial for your organization. He/She would be able to effectively handle many tasks. 

 Image of 5 people. The middle guy is magnified with the help of magnifying glass which is held by a hand
  • Services are important 

Focus on the set of services and assistance which you would be providing to the vendor. Your team would become a specialist with time and experience. Treat a big enterprise like royalty. 

The big giant enterprise is like the customer for you who are always expecting great services and will not put up with the waiting for the poor responses from their representatives. 

Be honest with your projects and their goals. If your customers find that you are dishonest with your services, they will lose faith in you and may even spread negative feedback about your business.  

  • Categorizing your projects

To ensure that the complexity of the project is achieved, categorize the project into the following:

Small projects: These can easily be tracked just by getting updates A project is classified as small when the relationships between tasks are basic and detailed planning or organization is not required.

Charter required projects: These are projects that require some level of approval other than the first line manager, but do not include significant financial investment. A summary of major deliverables is usually enough for management approval.

Large projects: The project network is broad and complicated. There are many task interdependencies. With these projects, simplification where possible is everything. 

  • Planning 

Planning a project helps in achieving objectives and deadlines on time. It pushes the team members to keep working hard until the goal are conquered. Planning also helps in creating a network of right directions to the organization.

Increases efficiency: Planning helps in maximum utilization of all the available resources that you would be using. It supports to reduce the wastage of precious resources and dodges their duplication. It also aims to give the greatest returns at the lowest possible cost. 

Reduces risks: With having such large projects there are many risks associated with it. Planning serves to forecast these risks. It also serves to take the necessary precautions to avoid these risks.
 
Facilitates coordination: Often, the plans of all departments of an organization are well coordinated with each other. Similarly, the short-term, medium-term and long-term plans of an organization should be coordinated with each other. 
 
Aids in Organizing: Organizing intends to bring together all possible resources, Organizing is not possible without planning. It is so, since, planning tells us the number of resources needed and when are they needed. It suggests that planning aids in organizing in an effective way.
 
Keeps good control: The actual administration of an employee is compared with the plans, and deviations (if any) are found out and corrected. It is impossible to achieve such control without the right planning. Therefore, planning becomes necessary to keep good control.

 Image of text saying plan in red color with two robotic hands

 

  • The scope of the Project 

Perhaps the most difficult part of managing a large project with a small team is the difference between a task and an actual project. In order for small project teams to be successful with large projects, the manager should always know the status of the project and the scope at which it is being achieved. 

  • Excellent Relationship with the vendor

The most important part of managing big projects with small teams is to establish a meaningful relationship across the organization.

A solid relationship is a path that may lead to the difference between a project that becomes actualized and one that remains in the conceptual area. If the business doesn't concentrate on a product or the service that is important to reach your clientele, you require a vendor that does it. 

Next comes the Methodologies 

Large organizations usually handle classical methodologies which involve a lot of unnecessary documentation. Thus, for small agencies, some methodologies help largely in handling large projects 

Agile was developed for projects that require both speed and flexibility. The method is split down into sprints- short cycles for producing certain features. 

Agile is highly interactive, allowing for fast adjustments throughout a project. It is mostly applied in software development projects in large part because it makes it simpler to identify issues quickly 

Agile is essential because it allows making changes early in the development process, rather than having to wait until testing is complete.

A circular infographic with six parts that says test, evaluate, meet, plan, design and develop

It is a variation of an agile framework which is iterative in nature which relies on scrum sessions for evaluating priorities. “The Scrum assemblies” or “30-day sprints” are utilized to limit prioritized tasks.

Small teams may be gathered to concentrate on a particular task independently and then coincide with the scrum master to assess progress or results and reprioritize backlogged tasks.

Image of a circular infographic with five parts saying commitment, focus,openness, respect, and courage

 

  • Waterfall 

This is a basic, sequential methodology from which Agile and similar concepts evolved. It is commonly practiced in many industries, especially in software projects.

Waterfall has been an excellent project management methodology for years now and used by most of the project managers. This methodology is sequential in nature and is used by many industries, mostly used in software development. It consists of static phases ( analysis, design, testing, implementation, and maintenance) that are produced in a specific order. 

  • Critical Path Method 

CPM is an orderly, systematic method that breaks down project development into specific but related actions. 

This methodology can be used to build the preference for a project’s activities to assess risks and allocate resources accordingly. This method encourages teams to identify milestones, assignment dependencies, and deadlines with efficiency. 

A Critical Path introduces to a sequence of critical projects (dependent or floating) in a project that tells the extended succession of tasks that have to be made on time in order for the project to meet the deadlines.

Culture is Fundamental to Succeed

How do you explain to your client that the team won’t work this week for DrupalCon, DrupalCamp or any other events happening around?

You can only explain it by being clear with your thoughts and ideas. The community here plays a vital role in everything. 

Explain to your team members that it is beneficial for them to improve Drupal as a platform and introduce them with the team culture. Help your team member create pages in drupal.org and give credits to them of their creation on patches and modules. 

Closing the project 

Yes, it is possible that project closing might look like an insignificant and unimportant task in your project management journey, but, in fact, it is a critical part of producing a successful project. To help you get this step right, here are 4 things you need to know about how to close a project effectively.

Trace Project Deliverables: It is an effective closure means that you have completed all the deliverables to the satisfaction of the project’s sponsor

Reward Team Members: As your project comes to a close, always make sure to acknowledge, recognize and appreciate the contribution of your team members

Closeout Reports: A detailed close-out report should contain details about the process used during the project, the mistakes, the lessons learned, and how successful the project was in achieving the initial goals

Finance: Big clients are usually slow in payment, try to indulge in an agile budget for large projects. 

Turning From Technical provider to strategic solution partner 

As with any investment portfolio, an organization’s investment in Run, Optimise and Innovate initiatives must be balanced and aligned with the organization’s risk tolerance and the role expected of IT. If an organization considers itself to be more conservative, it is expected to see a higher ratio of Run to Optimise and Innovate spending. More progressive organizations will have more Optimise spending, and “leading edge” organizations will have more Innovate spending.

Conclusion 

Yes, Goliath, the Gittite, is and would always be the well-known giant in the Bible. He is described as 'a champion out of the camp of the Philistines, whose height was six cubits and a span. 

Befriending with the Goliath not only gave the sense of power to anyone with him but was also granted with security. 

Hunching on to large enterprises with big projects is like the very first step to success. Right steps and maintenance would to that success anytime soon. 

Opensense labs development methodologies work specifically on the approaches that involve Drupal development, enhancing efficiency, and increasing project delivery. 

Contact us on [email protected] to accomplish those large projects which you always desired off. 

Feb 10 2019
Feb 10

The night watchman can get a new image as an alert guard if he senses correctly that something does not look right. Imagine a man dressed like a stockbroker and carrying a soft leather briefcase and a valise. His walking style is sort of tentative and squirrelish which is not the way a stockbroker walks. On being asked for an ID by the watchman, he scurries off towards the entry gate of a building and drops his valise on to the floor before being finally captured by the watchman who later finds out that he was trying to rob someone from the building.

A security guard posing for the camera in a broad daylight


Much like the night watchman and his brilliance in judgement that makes sure that the building is kept safe from any such robbers, there is another solution in the digital landscape that helps in writing browser tests easily and safely. NightwatchJS is an exceptional option to run browser tests and its inclusion in the Drupal core has only made things easier for the Drupalists.

Understanding NightwatchJS

Logo of nightwatchjs with an icon representing an owl


NightwatchJS is an automated testing framework for web applications and websites. It is written on NodeJS and uses the W3C WebDriverAPI (formerly known as Selenium WebDriver) for performing commands and assertions on DOM elements.

Nightwatch.js is an integrated, easy to use End-to-End testing solution for browser-based apps and websites, written on Node.js. - Nightwatchjs.org

As a complete browser (end-to-end) testing solution, NightwatchJS has the objective of streamlining the process of setting up continuous integration and writing automated tests. It can also be utilised for writing NodeJS unit tests. It has a clean syntax that helps in writing testing rapidly with the help of NodeJS and CSS or Xpath selectors. Its out-of-the-box command line test runner propels sequential or parallel test runs simultaneously by group, tags or single. It, also, has the support for Mocha runner out-of-the-box.

NightwatchJS has its own cloud testing platform called NightCloud.io in addition to the support for other cloud testing providers like SauceLabs and BrowserStack. It governs Selenium and WebDriver services automatically in a different child process and has great support for working with Page Object Model. Moreover, with its out-of-the-box JUnit XML reporting, it is possible to incorporate your tests in the build process with systems like Jenkins. 

NightwatchJS in Drupal

JavaScript Modernisation Initiative paved the way for the addition of NightwatchJS to the Drupal core (in version 8.6) as the new standard framework for unit and functional testing of JavaScript. It makes sure that alterations made to the system do not break expected functionality in addition to the provision for writing tests for your contributed modules and themes. It can be included in the build process for ensuring that regressions hardly creep into production.

You can try NightwatchJS in Drupal 8.6 by adhering to the instructions given on GitHub. It exhibits how to test core functionality. It also instructs on how to use it for testing your existing sites, modules, and themes by giving your own custom commands, assertions and tests. It is worth considering to check out Nightwatch API documentation and the developer guide of NightwatchJS for creating custom commands and assertions.

NightwatchJS tests will be run by Drupal CI and are viewable in test log for core developers and module authors. And for your own projects, tests can be run easily in, for instance, CircleCI, that can provide you access to artefacts like screenshots and console logs.

Conclusion

While Drupal 8 has extensive back-end test coverage, NightwatchJS offers a more modern platform that will make Drupal more familiar to PHP and JavaScript developers. 

Offering amazing digital experience has been our biggest objective and we have been doing that with a suite of services.

Contact us at [email protected] and let us know how can we help you achieve your digital transformation dreams.

Feb 10 2019
Feb 10

Virtual private servers are fantastic for running your own cloud applications and gives you the authority over your private data. Potentially, your private data may be leaked when you communicate via services like text messaging. One way to ensure greater privacy is by hosting your own messaging system. This is where Rocket.Chat comes into picture.

person typing on laptop computer


Rocket.Chat has the provision for an actual open source implementation of an HTTP chat solution that provides convenience and gives greater freedom at the same time. It can be a marvellous solution for remote communications, especially for open source communities.

Rocket Chat: A close look

[embedded content]


The official site of Rocket.Chat states that it’s an open source team communication software which offers an alternative to remote communications by replacing the likes of email, HipChat and Slack. It aids in improving productivity via efficacious team communication and team collaboration. It helps in sharing files with the team, real-time chatting or even leveraging audio or video conference calls with screen sharing. Being an open source solution, It gives you the option of customising, extending or adding new functionality to meet your expectations.

Rocket.Chat is an open source team communication software which offers an alternative to remote communications by replacing the likes of email, HipChat and Slack

 

Logo of rocketchat with an icon representing rocket


With Rocket.Chat, you can do away with cc/bcc and make use of Rocket.Chat channels and private groups thereby bringing in more transparency in the team communication. By utilising @username, you can include relevant participants in order to apprise them swiftly. When you need to inform about an important matter to all the members of a group, @all can be used. Participants can join or leave anytime using the full chat history. Moreover, Rocket.Chat offers a secure workspace with restrictions on username and greater transparency for admin. You can be a part of leading blockchain propellants like Hyperledger, Brave, Aragon among others in migrating from Slack and Atlassian to Rocket.Chat.

Essential features

Following are some of the major features of Rocket.Chat:

  • Unlimited: Rocket.Chat has the provision for unlimited users, channels, searches, messages, guests and file uploads.
  • Authentication mechanism: It offers different authentication mechanisms like LDAP Group Sync, 2-factor authentication, end-to-end encryption, single sign-on and dozens of OAuth providers.
  • Real-time Chat: Its Live Chat feature allows you to add real-time chat widgets to any site or mobile applications. This brings more efficacy in team communication and also ensures top-notch customer service.
  • Message translation: It utilises machine learning for automatically translating messages in real-time.
  • Use across platforms: It can be leveraged for all the platforms with its web, desktop and mobile applications, LiveChat clients, and SDK( Software Development Kit).
  • Marvellous customisation: You can alter it to meet your requirements. Incoming and outgoing WebHook integrations can be added to it. The personalisation of user interface can be performed by overriding any of the built-in styles. You get to extract the benefits of its REST API, LiveChat API or Real-time API.

Rocket.Chat in Drupal

The Rocket.Chat module, available for both Drupal 7 and Drupal 8, helps a Drupal site to integrate Rocket.Chat. It constitutes a base module that holds the configuration and the LiveChat module that includes a block for enabling LiveChat widget on a page which can be controlled as a block.
 
The maintainers of this module recommend running Drupal and Rocket.Chat behind a TLS (Transport Layer Security) proxy or web server that has TLS capabilities. Also, HTTPS and HTTP crossovers should be taken care of. Moreover, enabling the LiveChat on Rocket.Chat instance allows you to use LiveChat feature.

Conclusion

One of the quintessential aspects of open source communities is remote communication. Rocket.Chat offers a great alternative to the likes of Slack and gives you the plugin to enable in it in Drupal.
 
We have a strong inclination towards the provision of digital innovation and have been doing that with our expertise in Drupal development.

Contact us at [email protected] to understand more on Rocket.Chat and transform your team communication and collaboration.

Feb 09 2019
Feb 09

Ever attended an art gallery and witnessed how modern artists use canvas to speak their thoughts?

By looking at the art and paying attention to their creation a lot of “Ohhs” and “Ahhs” and expressions of awe with wonder tells us whether it has sufficiently aroused the engagement or not.

But at the core of this practice, the whole idea of thinking an endless number of ways in which visitors attend an art gallery always sustain in the mind of an owner. 

More visitors means more conversions, which results in better progression. 

Customer experience and engagement - 2 things thrived by every art gallery owner.

Right?

Image of 7 people in an art gallery looking at the painting in front of them


Today most marketing teams are structured to drive traffic towards websites that seek to generate traffic and hopefully even more profit. 

Yes, it might be an oversimplification of the trend, but that’s the standard marketing playbook. That’s where Conversion Rate Optimization (CRO) comes in. 

But, What exactly is CRO?

Let's discover. 

Everything about CRO

In internet marketing, conversion optimization, or conversion rate optimization is a system for increasing the percentage of visitors to a website that converts into customers, or more generally, takes any desired action on a webpage. The whole process involves understanding how users move through a particular website, what actions they are taking, and what's stopping them from completing their goals. 
 

images of ROI, targeting, usability, A/B testing, multivariate, credibility & landing pages in the middle there is conversion rate optimization


Importance of CRO 

  • Pay per click

The general idea of pay per click advertisement was that it targeted the audience fast by selecting options of what they could see. And you would agree on the fact that nowadays “pay per click” (Google Adwords) prices have hiked up to an extent where it is evident that it is directly affecting the conversions. Also with the increase in digital devices and people getting indulged in technology more businesses have become digital. 

  • Enhancing online competition 

Now that more people are becoming tech-savvy, competition among retailers has increased a lot. Some of them are simply eating away small retailers. That means if you want to convert your visitors into customers, you need to have a website that should be easy to use and easily customizable.  

You can take the help of Drupal as your website platform. It is one such CMS that allows you to set up your website easily and customize it as desired. 

Conversion Optimization has the benefit of allowing you to stay ahead of the curve in terms of competition, by providing you with insights on what's going on with the competitor's website.
  • Combating the rising cost of digital marketing

Let’s face it pay-per-click isn’t just the only thing which is rising in the market. Digital marketing in this area is giving good competition to any sort of “traffic source” ever known. 

The whole point of marketing is to direct the users towards your website.  But how would you make sure that most of them actually make a purchase?

This is where CRO comes to the rescue.

By increasing the number of page visitors who make purchases, CRO helps in improving the conversion rates by simply compacting the cost of digital marketing
  • Streamlining the business 

A website that is continuously being optimized looks more legitimate than the ones which are not doing that job. 

Why?

Well maybe due to the fact that the ones which are not being optimized are not providing a clearer path to the landing pages. Clear landing pages for an online retailer means having an inventory that can easily search or getting a clearer view of the categories. 

  • Saving a large amount of money 

So how can spending a large amount of money on your website result in saving money? 

You’ll find that spending less money on each customer would actually produce more money. Maybe you are not necessarily saving a lot, but you are definitely making a lot more. 

Which eventually balance out both. 

  • Improving the efficiency and layouts 

If you are working with an affiliate organization or the marketers, you would find out that many online retailers find CRO to be a good way to get news out about their products, through a platform that already has an engaged audience, CRO makes your website more valuable to your affiliates, and to any other marketing platforms.
When a higher number of users who click-through to your webpage actually makes a purchase, your affiliates, pay per click advertisers, social media marketing campaigns, etc., make more because you are making more.  

Common misconceptions related to CRO 

There are some businesses that see CRO be an unnecessary expense, an expense that doesn’t really move their business ahead.

Whereas most of them see it as a golden bolt for their marketing woes, a key for high traffic and more leads. 

Using it or not usually it is better than having misconceptions that lead to misguiding and wasting of resource and time. Among which some of them are:

  • CRO is a single skill 

One of the biggest misconceptions among business is an entrenched belief that CRO is a single skill set. In other words, CRO is a broad practice that encompasses a wide range of skills. To be effective at conversion rate optimization, you require three skill sets:

Copywriting: Whether you can write a persuasive copy or not would have a great impact on conversion rates.

Design: Starting from UI/UX to its choice in graphics depends highly on the rate of conversions.

Analytics: It is important to have someone with special and necessary skills to analyze your result. 

  • It is all about best practices

Running or stumbling upon blog posts and articles that tell you the best practices on boosting up your conversion rate has become standard now. 

And going ahead and implementing those practices as written on the write-ups is conventional. But do these tricks really work?

The truth is that there are no particular one-size-fit best practices that can lead you to the path of better conversions. Your focus should always be on removing barriers that hinder with the flow of conversions.  

  • Making small changes that lead to big and better rewards
     
Image of two poster having a girl divided inside a square. The first is having short content with 102.5% green up arrow and the other is having big text with 22.7% red down arrow

 

The above pictures clearly describe that how changing the content length affected the conversions and resulted in 90% more clicks. 

Going by this case study, you might be tempted to find the silver bolt where making a minor change reaped into great news. 

In truth case studies like these are entirely misleading and provides you with only partial information. They don’t tell you that:

How long the tests were done?

Whether the traffic remained constant throughout the testing period?

What all changes were made on the website?

  • It is all about split testing 

Most people think that CRO is all about split testing site elements. 

The truth is that CRO is all about measuring your customer's actions and remove the convention barriers. 

To do this start by basic user needs and understanding the psychology of the customers. This model would help you to focus on the things that should be worked on:

A pyramid with five sections where the text is written as functional, accessible, usable, intuitive and persuasive

 

  • Focusing on CRO alone builds a successful business 

Due to the immense love showered on CRO and per digital marketing, it is believed by the companies that they are winning the game of online business. 

True, that CRO might increase your conversion from 1% to 2%, which yes has a great impact on sales, but to reach those heights of success you need to take a closer look on traffic, brand, and customers. 

So What is the Structured Process in CRO?

  • Defining your conversion actions 

The conversion actions can be defined based on the business goals and then they can be implemented on web analytics. Promoting and producing content in one of the actions which should be implemented as soon as possible. The content technique would require you to do be indulged in practices like:

  1. Targeting email marketing
  2. Marketing automation 
  3. Producing demo
  4. Live events
  5. Case studies

The content at this stage revolves around customer-relationship management through segmentation. When you segment your audience based on age, gender, geographical position, professional role, etc., you are better equipped to offer them targeted content that interests them

  • Understand the prospects

A better understanding of the prospects helps in better converting of offers. This is the stage where you look for indirect customers acquisition and brand awareness.  Begin by mapping out the current situations and forming a clearer idea on your target audience, objectives, market, KPI’s and the current result. Knowing in advance that where you stand and what you want to achieve provides you with more context.

  • Research and Analytics

Once you have the insights into your current situation and objectives, it is the time for you to analyze them. In the analysis phase, you would want to employ web analytics and the other sources of information to form a hypothesis that can then be tested. It could include the heatmaps, tests, insights etc.

This would make sure that your insights are based on the actual behavior of the users and not on the basis of superstitions.

  • Implementing a challenger and Testing the hypothesis 

For implementing a good challenger you need to choose a suitable testing method and then run a test. It involves the turning up of backlogs and matrix into a measurement plan. This is one of the most crucial parts of CRO. 

Examining the hypothesis on basis of multiple tests results in a good number of visitors and websites. 

  • Validating 

After setting up and running the tests, you analyze the results. This generates insights that you then subsequently test. CRO is a continuous process of learning and refining. After setting up and running the test, you analyze the result. This then generates insights that can have a subsequent test. 

Testing for CRO 

Conversion Rate Optimization Test are the ones that refer to the various types of testing methodologies. They are used to identify the best possible version of a certain site that brings in the most valuable traffic.

  • Principles of CRO 

Speed

Back in 2009, Google conducted experiments which described that slowing down the search results page by under half a second resulted in 0.2% to 0.6% fewer searches.

These results now might not sound like big numbers, but for Google (which processed roughly 40,000 searches every second ) the number resulted in 14,400 fewer searches every minute and according to Google itself, people have become more impatient. Thus making speed an important factor
 
Singularity 
 
A single take away “Less is more” is just about right mantra which should be followed by every website owner. 
Many landing pages contain multiple offers.
 
They shouldn’t.
 
Why?
 
Having just one and improved campaign clicks help in increasing the conversion rates

Identification

Identifying your audience and their aspirations/desires mean high conversions. In other words - what they want, what matters to them, and what sources of frictions are for them all comes under the section of identification.  

To identify the people you must know them. After all the reason how sales and marketing would see those conversions is only when you identify your own customers. 

Landing Pages

Take an advise and do not clutter your pages or emails to “what if” moments. 

What if the user is to like my page?

What if more audience like the information that is being served on the page? 

What if they want to read my testimonials and case studies? 

If the goal of creating a particular page is to get likes and visitors to subscribe it, then all you should do it is focus on it. Thus, your landing pages should be as precise and simple as they could be. This gives a clearer idea to the audience and your customers on what you are selling. 

  • Testing Methods 

A/B testing

Businesses want visitors to take an action (conversion) on the website and the rate at which a website is able to drive, this is called its "conversion rate."

A/B testing is the practice of showing 2 variants of the same webpage to different segments of website visitors at the same time and comparing which variation drives more conversions. 
 
The one that gives higher conversions wins!
 
The metrics of conversion is different for every site. For commerce, it might be a sale product whereas for B2B it might generate qualified leads. A well planned, data-driven A/B testing makes your marketing plan more profitable by just narrowing it down to its most important elements by testing them and also by combining them. 

Note that every element on your website should influence visitor behavior and conversion rate should be A/B tested. 

\Image of two laptops where one is A having a 23% reb bar sign on the screen and the other is having 37% green bar sign on the screen


Multivariate Tests 

In a multivariate test, you identify a few key areas/sections of a page and then create variations for those sections specifically (as opposed to creating variations of the whole page in an A/B split test). So for example, in a multivariate test, you choose to create different variations for 2 different sections: headline and image. A multivariate testing software will combine all these section specific variations to generate unique versions of the page to be tested and then simply split traffic amongst those versions.

Multivariate testing looks to provide the solution. You can change a title and an image at the same time. With multivariate tests, you test a hypothesis for which several variables are modified and determine which combination from among all possible solutions performed the best. If you create 3 different versions of 2 specific variables, you then have nine combinations in total (number of variants of the first variable X number of variants of the second). 

Flow chart of multivariate test. Starting from buying now & then getting divided into two parts, one part says original other says variation

 

  • Some Testing tools 

Now we know that Conversion Rate Optimization (CRO) focuses on simple tests that allow you to compare and contrast layouts, call to action, a design feature, content and even personalized marketing feature to nudge your conversion rate into new.   

Therefore here are some wicked yet sweet CRO tools that would help you with the testing.

Optimizely: Optimizely tool requires a single line of lightweight code that can be added to any website. The user would then have the power to change any on-page elements on the website.

Google Analytics: Most of the website has this tool in-built on the platform. It is one of the most popular testing tools. Google Analytics tool would help you to split your traffic into two pages that you have developed and would let you know which version is best for testing. 
  
Visual web optimizer: This tool specifically helps in figuring out how your testing windows will be after you plug in a few variables. Visual web optimizer is great for the company project and client work. 

Adobe Target: Adobe target is a popular enterprise tool that combines the taste of targeting testing and personalization. It walks you through three step workflow where you first create a variant, then target a variant base and lastly customize your goals 

Appitmize: It is the testing tool that focuses entirely on mobile optimization and is a perfect choice for mobiles and business. It offers full control over the visual editor and rapidly creates new variants and targets. 

Conclusions 

Now we know that the most important goal for an organization is to create conversions. Creating conversions is the reason how you can measure your progress and growth. 

Opensense Labs is aware of the fact that how important it is to apprehend the visitor’s preferences and their interests. Therefore our services on Drupal personalization and CRO bundles us together to our clients and helps in accelerating the conversions.

Ping us on [email protected] and let us take that road to handle in your success and hurdles. 

Feb 08 2019
Feb 08

Today, our interactions with the digital world have surpassed the human interactions so much that the need for the user interface to be appealing and friendly plays an important role in terms of progression. 

Government websites are no different.

The first connection which they have with their citizens is more likely to be an engaging website. One of the most essential tools for meeting the needs of your people or citizens. 

So, it has to be the best. Right?

Image of a .gov text where the dot is red in color and the text is blue in color


Creating a functional website with easy navigation not only help officials do better in connecting with their constitutes but also ensures that the public stays well informed all the time. 

Drupal is one such platform which helps you achieve all of this in one go. 

How is Drupal in Government sector performing?  

Drupal is gaining popularity in government sector all over the world. The solidity and flexibility of the platform is the primary reason why the government is moving its online portals to Drupal. Government websites like the white house, Federal IT Spending Dashboard, Data govt. has specifically chosen Drupal for its efficiency. The reason why most of the govt. Websites are choosing Drupal over any other platform is also due to the facts that it is:

Drupal has an excellent track record when it comes to solving and maintaining security issues. The security team (Drupal Community) that works together with other councils watches and ensures that its users are getting the best security practices

The fact that The White House entrusts Drupal as its platform is enough to prove that it is highly secure CMS. There are several security modules that make it a highly reliable platform. Modules like:

Login Security: Drupal sites that are available in both, HTTP and HTTPs provides the user with a lockdown in the login page, and submits the other forms securely via HTTPS. Hence, it prevents passwords and other sensitive user data from being transmitted.

Password Policy: This module forces a user to forcefully create a strong and powerful password. 

Captcha: It is the response test which is specifically constructed for determining the user. To check whether the process is being done by a human and not by a robot.

Security Kit: It provides Drupal users with various security hardening options. This doesn’t let the website compromise the data and information to the hackers and other foreign users. Security Kit presents particular mitigation for cross-site request forgery, cross-site scripting, and clickjacking, among other issues.

Two-factor verification: The two-step verification is a procedure that implicates the two-step authentication method, which is performed one after another to verify the requesting access. 

Image of a lock, shield, monitor and a cloud placed on a blue background. The text on the image is Drupal 8, A secure way for web development
  • Accessible

Government websites are those kinds which are used by everyone, and by everyone, I mean the visually impaired too. Each citizen should be able to access the government website quickly and seamlessly and according to WACG 2.0 (web content accessibility guidelines), every website should provide equal standards to all the people.
Drupal is one such platform which adheres to each and every WACG guidelines with its different modules and provides accessibility to everyone. 

Alt text: This is one of the most important modules when it comes to providing accessibility to a website. With this module, the search engine understands the text of an image or a page and screen readers read it loudly to the user.

Content accessibility: This module checks all the type of fields where the user can enter formatting. Below the content section of the accessibility page, the user is provided with the option to turn the tests on or off using the tab that would appear below the page. 

Accessibility in WYSIWYG: This type of module integrates the accessibility configuration with the WYSIWYG or CKEditor modules, which provide the user with a new button while they are editing the content that checks the work for accessibility issue. 
 

Image of the blue Drupal drop which has stick images of a person on a wheelchair and a person spreading its arms

 

  • Economical

The government budget for software developments cannot be compared to the budget of large enterprises for the same purpose. The government needs to opt for a high-quality solution that does not cost a fortune. High development and maintenance costs may be considered as an obstacle to finding high-quality website solutions.

Thus, Drupal meets these and many other requirements are the reason why the government chose it as there CMS. The Drupal development price is relatively low when it is compared with other CMS in the market. 

Another great feature of Drupal8 is its perfect scalability. The CMS is suitable for both small survey website as well as the content-rich websites with gigabyte information. 

At the same time, Drupal is capable of handling high traffic issues and problems. Web solution built on this tool is available even when the traffic volume jumps sky high. A great example of the same is UNESCO and CERN web channels. These Drupal-based websites offer a great user experience and thousands of people use it on daily basis. 

  • Easily Customized

When we say government websites we automatically imagine something grey, black, white or something really boring. But one has to remember that these website services both political and non- political purposes. Thus, user interaction and engagement then here becomes a crucial aspect. 

Better user engagement is made possible with Drupal and its modules. The administrator can add blogs, articles, write-ups that contributes highly opportunities and solutions. Not only this but Drupal also gives its user the power to personalize their website according to their needs and requirement, making it a flexible and reliable CMS. 

  • Has superb integration capabilities 

A powerful web solution should integrate seamlessly with third-party applications. Publishing tools, data repository, and other features belong to the list of necessary interactions. 

The integration capabilities offered by Drupal is enormous. It provides numerous options so that the user is able to integrate any type of third party service. 

Drupal Distribution: DeGov to the rescue 

DeGov is the first Drupal 8 open source distribution focussing entirely on the needs of the governmental organizations. It is intended to provide a comprehensive set of functionalities that are commonly used only of the applications that are related to government. 

What DeGov is not?

The DeGov distribution is not a commercial CMS ( developed as well as owned by a single company, and the users usually need to buy a license) and it is not a finalized product. Meaning, DeGov is not a ready solution. The reason is that there are a lot of functionalities and ideas in backlog and hence it is a daily work off process. 

DeGov is an idea to realize the benefits in the public sector with the idea of open source. 
 
Image of the logo of Degov in form of a circle where the text is DeGov in the middle

Use case related to DeGov

DeGov has 6 use cases and extends its valuable functions to meet certain scenarios. 

  • Publishes information for all the websites that are government based organizations of all level.
  • Service-oriented E-government portals, that closes the gaps between the users/ citizens and administrator.
  • Citizen engagement portals to decline and discuss online.
  • Open311 portal for civic issue tracking.
  • Open Data portal for publishing and creating communities data

Intranet and Extranet of government employees.

An infographic with 6 parts describing the use case of DeGov.

Beneath the Canopy of DeGov

DeGov is the sub-profile of the lightning distribution. 

Lightning allows you to create sub-profiles that are entirely based on default lightening distribution profile. Creating a sub-profile enables you to customize the installation process to meet specific needs and requirements. 

By combining DeGov and lightening distribution, it delivers configuration that is specialized to start new projects. Building on top of Lightning, DeGov leverages in a true open source manner that allows focussing on functionalities for the public sector. 

Which problems does DeGov solve?

Editor 

DeGov solves the issues that are all related to complex backends, missing workflow, multi-language as a pain, missing modernity etc. It allows the editors with highest design flexibility in the maintenance of the website as well as simple editing of the content. 

With the help of “Drag and Drop” function, you can easily structure your page even without the help of programming. Predefined page type helps in easy maintenance. In the central media library, all types of media are managed no matter what form or type it is (pictures, PDFs, videos, posts)

DeGov distribution also helps in easy integrating of the social media. Likewise, you can allow the users to easily share the content in form of articles, blogs, and other write-ups. DeGov uses the privacy- compliant integration of social media share buttons. 

Customers and clients 

DeGov solves the issues that are related to the features and high ownership with old and propriety technologies.  It a user-friendly web front with attractive designs. It is responsive and thus adapts to any device and its size.  The use of HTML/CSS makes a website accessible. Likewise, the page can be made translated into several languages. A language switcher and an automatic screen reader translate the workflow easily. 

DeGov websites receive a powerful search function for the website content as well as the documents. This is particularly convenient for the authorities: The administrator search engine and NRW  that is connected to the service so that users can also search the content outside their area of responsibility. 

Companies and developers 

It solves the issue related to high-cost updates and the functionalities that are related to it. The distribution is based on opensource software, as a result, you pay neither for the license nor you purchase it.

Drupal is used in numerous projects thus the basic functions and the functionalities are constantly updated and expanded from time to time. This fixes all the bugs and vulnerabilities quickly. 

Implementations with DeGov

Websites

The DeGov distribution has the ability to release, federal and state portals, as well as internet sites for ministries, authorities, districts, and municipalities. The web pages and the target group-specific portals (or topic pages) can be created easily by DeGov. 

Participation Portals

With participation portals to let the citizens participate in decisions and proposed measures, DeGov distribution has opened doors in terms of communication. Here you can notify, discuss with users, gather valuable suggestions or create polls. From participatory budgeting through bills to constructing methods - portals obtained by DeGov give citizens as a voice.
 
E-Government Portals

DeGov distribution is a great way to implement entire eGovernment portals. Less stress is laid on the editorial content than whole specialist procedures. In this way, DeGov allows the digital processing of administrative processes. The project Gewerbe.NRW was implemented with the help of DeGov distribution.

Why DeGov with Drupal 8?

DeGov modules are Drupal modules which are carefully fit together. This means that the whole system benefits largely with its functionalities. The reasons why Drupal 8 should be with DeGov is because:

  • It is based on Symfony and it uses composers.
  • It is Git accessible for config files.
  • It is cloud-ready and runs like a modern PHP solution 

Better projects with DeGov

Image of a table having the list of all media types

A case study on Gewerbe-Service-Portal.NRW

The new "Gewerbe-Service-Portal.NRW" has been providing citizen friendly services by allowing company founder in German federal state North Rhine-Westphalia (NRW) to electorally register a business from home. Its main aim was to provide aid of a clearly arranged online form, commercial registration and that can be transmitted to responsible citizens.

In addition to the business registration, the portal provided with information to the topic “foundation of an enterprise”. Furthermost all the users had access to Einheitliche Ansprechpartner NRW. Also, the online service supported specialized staff in taking up a service occupation.

The portal was developed on the basis of the content management Drupal-based system DeGov and nrwGOV. They chose Drupal because of that fact that it was cost-effective and new technologies could be adapted to the Drupal community. Apart from this Drupal provided with:

  • Higher safety and better quality
  • Independence
  • Comprehensive option
  • Accessibility

The portal aimed at providing more flexibility to the entrepreneur that is eligible to start there own business by saving time through digitization. The electronic forwarding and processing of the application by authorities ensured effective processing within applications. The result was effective and user-friendly communication between the citizens and authorities. Whereas in the near future the Gewerbe-Service-Portal.NRW will develop a comprehensive service platform so that the administrative process could be carried out at home.

In the Nutshell 

So how important is the government website to you?

The answer might have been crystal clear by now. 

As important as it is to have a website, maintaining it a whole different task. Yes, Drupal is making it easy for you by its functionality and distribution.  But the definite art of maintaining it is as important as creating it. 

Ping us on [email protected] our services would not only get the best out of Drupal but would also but would also help in enhancing your development and industrial standards.  

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