Upgrade Your Drupal Skills

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

See Advanced Courses NAH, I know Enough
May 27 2020
May 27

In the era of Information overload, data can talk and communicate powerful stories. Here is  what we did while building an Aid Transparency portal for a large Non Profit, communicating using data made the portal “Come Alive” and  present to the users the impact of the work done by the organization.The approaches implemented include:

  1. Use of Data Highlights
  2. Intuitive Search Interface
  3. Data Visualization
  4. Use of Animation in Design

Aid Transparency is about presenting data around donors, funds received, fund utilization/expenses, areas of impact in  a transparent manner. The first step was a study of the customer’s domain and the work carried forward by the customer organization. Understanding the donors, the impact areas, the funds received, funds utilized, regions in which they work. Mapping all the key parameters of the underlying data, their meta information and their inter-relationships.

A sitemap was defined to communicate the different perspectives of the data like: pages on fund utilization, pages that were contribution/donor specific, pages that detailed the resource utilization, etc. The best graphical visualization was identified for these pages. Yet some of this graphical information could be overwhelming for  visitors who do not relate to the representation and numbers.  To further simplify this, a layer of Data Highlights was introduced.  The Data Highlights  represented a one line story around the data that was presented and was much easier for a lay user to understand. These Data highlights were presented on the homepage and across the site.


Above is a sample Data Highlight that leads to a page that allows you to see the utilization of funds, based on the area of impact, region and year.

Intuitive Search Index 

A very important feature on a data-intensive site are the Search Interfaces. To make them intuitive, Narrative based Search Interfaces were implemented.

On the homepage a Natural Language form was used to identify the type of the audience and understand the area of interest of the user to direct the user to the exact section in the site that would meet his needs.


In scenarios where distribution of data needs to be presented across locations or location is one of the key attributes, using Maps to present the data helps the user to drill down to the location of choice. 

Data Visualization

Effective use of Bar-charts, Doughnut charts, Sankey Flow diagrams, Maps were used to present data. The Visualization of data makes it easier for the user to understand the data and each of them represents a particular Data Story.


  • Bar charts are used to compare categorical data. They are oriented vertically instead of horizontally. The main advantage of bar charts is that it is better with many categories, especially on a small screen, as the height can be adjusted to show all categories. 
  • Donut charts are the same as a pie chart, but by only displaying an area along the outer edge of the pie, it becomes easier to compare the elements to each other. These are used to present the data as a percentage of sum total as 100%. In Donut charts, the space in the middle could also be used to communicate additional information.. 
  • A Sankey diagram is a type of flow diagram, in which the width of the link between two nodes is shown proportionally to the flow quantity. Here this is used to depict the flow of Funds from Donors to area utilization or to type of supplies used.
  • Map Charts are used when we need to show distribution across geographies. In this case both impact and fund utilization across geographies is presented using maps.  Additionally Map also serves as a navigation tool to zoom in to identify the destination the user is looking for to get more specific information.

Use of Animation in Design

The home page used a video in the background to tell the story about the organization. Simple Animations on the page helps to bring the page alive. In the Data Visualization some of the popular Animations used were timeline animations, growing bar charts, rotating pie charts. These animations helped amplify the Data Story put forth by the visualizations.


This Site has been built using Drupal Solr and Highcharts.

May 12 2020
May 12

Do you want to serve personalized experiences to your users? Are you managing a large amount of data, served from disparate systems? Is your IT team unable to support you with fast changes to your marketing platform? Are you worried about data ethics and how your technology is geared to ensure standardization? Are you looking to quickly prototype your marketing platform and test it out for your specific use case?  Drupal 9 is here to solve many of your content problems of the 20s

Drupal 9 is scheduled to be released on June 3rd 2020.  Drupal’s next major release coming with features aligned towards a future-proof offering. Here are 9 things to watch out for in Drupal 9.


1. User Experiences for First time Users

You never get a second chance to make a first impression. First-time users, beginners, evaluator experience with Drupal is this context would facilitate overall increased adoption of Drupal.
In Drupal 9 there is going to be an improved User experience for First-time users. Some of the specific features in the road map include installation profiles for common use cases, separation of journeys by roles and an upgraded ‘Try Drupal’ experience which helps users familiarize themselves with the platform.  Installation profiles means a ready to use bundle of Drupal that solves for specific use cases like profile for conferences, profile for a government project, profile for setting up a multilingual project, etc. This will make it easier for the first time user to not only try Drupal, but try Drupal in a context that is relevant to them. Separation of journeys by roles is a concept where what the user can experience based on his/her role is different. Today this is limited to an anonymous user and an admin role. ‘Try Drupal’ is a quick, free build out of Drupal in the cloud by popular Drupal cloud hosting providers.


2. Decouple CMS Capabilities

Tomorrow’s content can flow to the Digital screens in conferences, the kiosks and other marketing channels from a central content repository. Decoupled/Headless CMS capabilities are a prerequisite for this “cross-platform publishing”. 

Drupal 9 brings enhanced Decoupled CMS capabilities. Some of the key enhancements in this area include auto-generated API documentation, JSON API explorer to quickly generate APIs and optimized performance. The JSON API explorer is an interactive web application that makes building JSON queries simple. The performance optimizations are much-needed in the context of the large scale applications that are powered by a Decoupled CMS design.

Native Dam
2. Native DAM

Enterprises have a large volume of content. Digital Asset Management (DAM) brings this content to a central location, making this content accessible and contextually available to serve the end-user the content they need. This is important for the marketers whose objective is to engage with their users/customers. AI and analytics of content are tightly coupled with DAMs.

Drupal 9 roadmap includes building out a DAM solution.

 Integration Framework

3. Integration Framework

Today’s Marketing solutions are a mash up of different tools, cloud services and content publishing channels that provide specialized capabilities.  Some of these interactions include social integrations, integrations with bots, integrations with CRM solutions, Marketing automation solutions and such.

Drupal 9 continues  to act as an Integration framework. Based on the popular needs this layer is normally plugged in by the Contributed  modules. To ensure you have access to these modules, it is important you stay up to date.

Editor Tools

4. Improvement to Editor Tools

Editors are one of the main stakeholders who use Drupal. They are constantly using Drupal to churn out fresh content to the world wide web. Drupal has consistently prioritized improvements to the Content Editor tools.

These tools enable marketers and content teams to work independent of technology teams and enable publishing content with faster time-to-market.

Admin UI Claro theme brings a modern look improving the visual appeal, focused on accessibility and mobile compatibility in Drupal 9.

Rich media content like images, videos, tweets are an integral  part of today’s digital content. Managing these Rich media content in a centralized repository delivering them to the various devices, channels or various experiences further enhances the speed with which the editors can publish. 

Drupal 9 brings with it the Media module as part of core. Media will assist in organizing the multi-media assets in a manner that renders easy reusability. These are augmented by the existing capabilities to manage responsible images, integrations with streaming services or external video hosting services.

Structured Data

5. Structured Data

Structured data is simply data that is organized based on specific data models. The  information around a particular content is captured, stored and displayed based on the meaning the particular piece of data provides to the content as a whole. Also Structured data helps to build relationships.

As we move into an era of personalization and individualized experiences with a forecast of increased data in the coming years, structured data becomes extremely important.  Structured data is also important in the context of Search Engine Optimization.
Some new features in consideration in Drupal 9 include support for GraphQL that allows to manage large amounts of structured data.

 Web standards

6. Open Web Standards

“Open Web Standards” define a set of best practices to follow while publishing on the World Wide Web. With increase in data privacy challenges, capabilities of certain organizations/browsers to take control of user data there has been an increased focus on “Open Web Standards” that help to preserve the “Open Web”. 

Aspects of “Open Web standard” that will remain a priority in Drupal 9 include GDPR, Accessibility, Privacy, Fast by default, Webmentions and Semantic. 

GDPR stands for General Data Protection Regulation. It's the core of Europe's digital privacy legislation. Accessibility is something Drupal has been. Web accessibility means ensuring Drupal is designed and developed so that people with disabilities can use them. Drupal has been adhering to WCAG Accessibility guidelines since Drupal 8. Webmention is a (now) standardized protocol that enables one website address (URL) to notify another website address that the former contains a reference to the latter. 

7. Simple Upgrade Process

Ease of software maintenance, lowers the cost maintenance for the end user.

Maintenance of Drupal is easier with a simple upgrade process in Drupal 9. Tightly integrated Composer initiative facilitates updates of 3rd party tools will continue to remain a key focus area in Drupal 9. Further in the roadmap is Automatic upgrades which further enhance this process.

Application changes

8. Managing Application Changes

Agile development is the norm of the day. Customers want to be in a mode where product is developed iteratively, quickly testing their ideas. Key to this is a technical process that ensures tools that facilitate deploying changes to applications easily. 

Continued emphasis to support automated deployment using Devops tools like Jenkins or Kubernetes and improved configuration management systems make this possible. 

Community Centric

9. Community Centric Approach

Drupal, with its strong community-centric approach, is poised to deliver cutting edge, innovative tools for Marketers, Content editors, Site builders and all its different stakeholders.

What’s unique to the Drupal 9 release is that the upgrade process is really simple. Just need 4 steps to upgrade your Drupal 8 site. Even if you are still in Drupal 7, there is no need to fret as there is an upgrade path directly to 9 as well. Many of the most complex sites go beyond just the Drupal core and today well ahead of the Drupal 9 launch we also have close to  1500 contrib modules fully compatible and  3400+ other modules that are near completion. 

Are you evaluating migrating to Drupal 9?  Write to us to get a Free Audit & Approach note for your site.

Related resources:

Jan 13 2020
Jan 13

[embedded content]

My journey with Drupal contributions started in Oct 2019 and I started by understanding basic issues and reviewing  patches created by the experienced contributors.  

As we start a New year, I am proud that my contribution has played an important part in moving Unimity to Page one of the Service Providers list. I wish to share in this blog my learnings and I hope that this will inspire organizations and developers to contribute in the new year! 

Five aspects I have learnt through my contributions are:

  1. Understanding of  how Drupal software is built

  2. Connecting  with core contributors

  3. Improving my Technical knowledge

  4. Staying up to date with Drupal

  5. Mentoring  others

Understanding of  how Drupal software is built:-

Drupal is built from community contributions from all over the world. Lot of hard work by core contributors results with the successful implementation of this open source software. Other aspects about Drupal and the issue queues include:

  1. Understanding the  issue workflow from how an issue starts from active to needs work, needs work to needs review and needs review to reviewed & tested by community, RTBC to fixed.
  2. The different ingredients of this software include: modules/components, issue queues, core contributors, patches, tags, version control, credits, commits
  3. Understanding Drupal’s roadmap and the features mapped to each of the releases
  4. Initiative leads & initiative meetings

Connecting  with core contributors:- 

Had the privilege of interacting with top 10 core contributors:  Kjamlaluno, Jrockowitz, RajabNatshah, VolkswagenchickBojanz, Alonaoneill, Thalles, Wim Leers, Webchick, Lauri, Jhodgdon, Xjm and few others.

It was a truly wonderful experience to get appreciated by core Drupal maintainers for my work .

Recognized by Alexpott


Recognized by Webchick


Improving my Technical knowledge:-

Drupal Contributions also helped me in gaining the technical knowledge in many areas such as :

  1. Drupal’s folder structure
  2. Concepts such as Layout Builder, View modes, JSON API, Help topics
  3. Front end CSS, JS and TWIG implementations
  4. Writing Test Cases
  5. Documentations

Staying Up to date with Drupal:-

Drupal Contributions introduced me to Drupal roadmap. Following the roadmap helped me to stay updated with  new features. When Drupal 8.8 was rolled out, I knew about the New Administration Theme Claro and Media Library. I also follow core maintainers on twitter and have recently started working on the new Olivero Theme that Dries spoke at length during his session at DrupalCon Amsterdam.

Mentoring  others:-

Contributions improved my role as Drupal Trainer at Unimity. I started being a mentor to all those willing to contribute and give back to Drupal. 

It has been an exciting journey and I thank Unimity for sponsoring the time to contribute. I also want to share few other members at Unimity who have Contributed to Drupal in 2019 are:

  1. Gayathri: Contributed in various areas as :- Help Topics , Media Library Documentation, Umami Profile 
  2. Madhura: Contributed in areas such as :- Migration, Help_topics
  3. Vinodhini:- Contributed in Claro new Admin Theme, Deprecated code
  4. Gnanagowthaman:- 
  5. Tarun: Contributed in Olivero New Front end theme
  6. Iyyappan:- Contributed in Migration
  7. Punam:- Contributed in Migration 

Together Unimity contributed: 13 core patches, 3 olivero patches, 1 Claro patches, 38 contributed patches.
I welcome more users from the Drupal community to join and benefit from the contributions.

Are you looking for help to climb the Drupal Contribution ladder? Just reach out to  me "Shimpy" on drupal_ contribute slack channel! Happy to help :) 

Nov 21 2018
Nov 21

Drupalcon is always special! Back from DrupalCon, left feeling happy, proud to be part of a caring Board, a passionate DA team and last but not least the wonderful Drupal community.

Drupal Board Retreat

Was in Dublin Friday evening 23rd September. Saturday and Sunday was the Board retreat at The Gibson hotel.

The Board meetings at the conferences are day-long sessions where the 12 Board members along with Megan the Executive Director of the Drupal association work together on a strategy for the Drupal Association. The 12-Member Board includes 1 Founder Member (Dries Buytaert), 9 Class Directors bringing various expertise and 2 At Large Directors elected by the community. We have a very interesting mix for our 9 Class Directors - Tiffany, Vessa and Jeff all run successfully large Drupal shops, Rob who earlier worked with NBC & now part of Acquia, Mike who works with Pfizer, Danese brings with her the best of Open Source Strategies from her various open source associations, Sameer from the education background - brings a good external perspective, Donna brings in her expertise from having organized large open source events, a great community person, Steve comes from a technical background, the COO of Docker project, involved or been a part of multiple open sources technologies - again brings a good external perspective and experience from similar communities. Addi & I are the community elected At Large Directors on the board.

To know more about us checkout https://assoc.drupal.org/node/1589DrupalCon1-1_0_1.jpg



Drupal association is a non profit to support initiatives that in turn benefit the Drupal project and community. The Drupal association operates with the Mission that - Drupal powers the best of the Web. The Drupal Association unites a global open source community to build and promote Drupal. The key initiatives that Drupal association has been sustainably maintaining drupal.org and running Drupalcons. The Board worked with Megan in defining the strategic direction and the boundaries in which the association should operate to ensure Sustainability. The Board also actively involved in the implementation through Task Force that jointly represent the community, Board and the association.

Megan presented us the work of the Drupal association and this was followed by a strategic planning session that was facilitated by Adam. Adam plays the most important role to make sure we work towards structured outcomes that then provide direction to Megan and the Drupal Association staff. Key objective of the retreat being:

  • Reach a shared understanding of issues and opportunities for the Drupal Association in 12 - 24 month duration.
  • Pick the top three opportunities and strategic focus areas
  • Discuss to provide guidance and help identify resources, Task Force to support the same

Day 1 had the Executive update and Financial update from Megan, followed by a session to Discuss and select Strategy Questions to address. Day 2 was spent on more elaborate discussions on the selected Strategic focus areas. Watch out for the Public board meetings at DrupalCons where the DA presents the work that they have done and the Board and DA jointly take questions from the Community. Below is the video of the Public boarding.

[embedded content]

My Next Steps

I am proud to represent the vibrant Drupal Community as a Board member. Besides being involved in the strategic planning want to spend my next few months speaking to more members of the community - Drupal developers, Core Developers, Drupal Community Champions, Shop owner and more. Do reach out to me for any clarifications or support. Best way to connect with me is by dropping a mail to [email protected]

Watch out for my next blog on the Board Staff Mixer!

DrupalCon Nashville Key Takeaways

Apr 16 2018
Apr 16

Drupal 8 as an Enterprise Web Content Management System

Feb 24 2017
Feb 24

Cheering the Drupal Association Staff as they start 2017 with a bang!

Feb 12 2017
Feb 12

UniMity in 2016

Dec 30 2016
Dec 30

Unimity’s Journey with Drupal in 2016 - Part 2

Dec 28 2016
Dec 28
Dec 28 2016
Dec 28

Recollecting 2016, here’s a blog on our exciting and most amazing journey with Drupal. Drupal Cons, Drupal Camps, Drupal Trainings, Drupal Code Sprints and much more…


Shyamala Rajaram Elected to Drupal Association Board

Proud moment for Unimity Solutions in 2016 was to have Shyamala Rajaram Elected to the Drupal Board of Drupal Association.

She has been an active contributing member of the Drupal Community for over 10+ years. Involved in different contributions - starting with Drupal Forums, Drupal Code, QA, Project Management, Community building and more. For the elections, Shyamala competed against 22 other candidates across the world for this post and won!

DrupalCon Dublin

The First board meeting was in DrupalCon Dublin (September 2016). At Dublin the Board worked with Megan, the Executive director in defining the strategic direction and the boundaries in which the Drupal Association should operate to ensure Sustainability. For a quick preview into her experience at the board meeting read the post, My DrupalCon Dublin Board Retreat!

Shyamala also had a chance to meet Drupal Association Staff Members. Cheer the work of the Drupal Association staff, understand what they do from the post “Drupal Board Staff Mixer”.

Drupal Con Asia

DrupalCons are always vibrant & flagship initiative of Drupal Community. A chance to meet our mentors, maintainers of our favorite modules, core developer who commit our patches, system admins who keep drupal.org running smoothly and many such key stakeholders of Drupal under a single roof. DrupalCon Asia - February 2016, was a much awaited and very first DrupalCon in India.

Unimity Solutions sponsored, contributed and participated in DrupalCon Asia held in February 2016 in Mumbai. It’s a fascinating experience to all of us, who attended DrupalCon Asia to meet Dries and Drupalists from all over the world to learn & cherish Drupal 8. Key Highlights for Unimity in DrupalCon Asia:

Keynote at Drupalcamp Delhi

Drupal Camp Delhi is one of the largest and oldest camps in India. The Camp bring together Drupalists from across India. This years Camp, Keynote was by Shyamala on Global Opportunities with Drupal and Drupal - Enterprise Adoption swaying the audience completely with her prolific ideas and opinions.

The young energetic organizers of the Delhi community need a special clap of hands for the efficiency with which they organize these camps year on year!

Presenting at Drupalcamp Delhi

Anish Nirmal, Mobile App Developer & Drupal Themer from Unimity, delivered a session on Headless Drupal cordova app using Drupal services for angular and ionic. This Session brought to the audience his experiences and knowledge in having built Hybrid Apps in the context of Drupal, the Challenges faced and Approaches to mitigate these Challenges.

Session on Building Headless Drupal Cordova App by Anish Nirmal at DCD 2016

Our Journey with Drupal in 2016 is not over yet. Checkout our second blog!


Building Chat Bots on Drupal

Dec 22 2016
Dec 22
Dec 02 2016
Dec 02

This is again an excerpt from my talk at #DCD2016. The second part of my talk was on Drupal Enterprise Adoption. Starting with Whitehouse, walked the audience through the recent Nasdaq implementation, the Majento Acquia tie up and Pfizer & Drupal.

Whitehouse & Drupal

White house is one of the early adopters of Drupal, still remember Dries blog on “U.S. government, Whitehouse.gov, just relaunched on Drupal” in 2009, 7 years back.

Today President connects to the citizens using multiple channels - the white house receives, phone calls, letters, messages, the more recent channel is through a Facebook bot! White house says: “We have introduced the Facebook bot, furthering our mission to “meet the public where they are.” Millions of people contact their friends and family using Facebook Messenger. Why shouldn’t they be able to contact the White House, too?”


Checkout the announcement at: https://www.whitehouse.gov/blog/2016/10/13/removing-barriers-constituent-conversations

They have open sourced the Drupal module, a boiler plate code with steps to use to help any Drupal 8 developers to quickly launch a Facebook Messenger bot. This module will allow non-developers to create bot interactions (with customized language and workflows), and empower other governments and agencies who already use Drupal to power their digital experiences!! They also get the community to enhance this tool that they are using!

The mygov.in is an indian Governement portal running on Drupal. It is powered by the Central Government of India and over 2 million Citizens use the same!!

NASDAQ & Drupal

[embedded content]

Drupal 8 to power Nasdaq’s Investor Relationship Portals. IR portals are subject to strict security compliance standards, and reliability is very important. Nasdaq's use of Drupal 8 is a fantastic testament for Drupal and Open Source. It will raise awareness about Drupal across financial institutions worldwide.

“Drupal Serves the evolving technology space & facilitates innovation!”

Enterprise don’t use Drupal because it is cheaper, but, come to Drupal for it’s value. Drupal brings with it Best of Skills, Latest features, Content Management interfaces, Better Integrations, Mobile friendly Responsive UI, Omni Channel support, Easier Hosting, Cloud support and most importantly Adapts to the needs of the end users!

Ecommerce & Content with Drupal

Global Opportunities - Enterprise Adoption


mage Credits & reference to: http://buytaert.net/content-and-commerce-a-big-opportunity-for-drupal

Acquia has announced partnership with Magento!

Today’s E-commerce needs have moved and there is a need for better customer experience, a need to present different digital assets through the shopping journey of the buyer. Direct selling and Personalized experience are also evolving. Other Competitors in the Web Content management space do not have an evolved ecommerce solution, the competing ecommerce providers do not have the niche content management capabilities. Drupal has a special role to play in these scenarios, to leverage its Digital content capabilities with its Ecommerce capabilities to deliver unique Ecommerce Experiences.

Pfizer & Drupal

Mike Lamb is one of the Board Members of the Drupal Association and he represents a User organization on the board. Mike is a very active and passionate board member and has a very high regard for the Drupal Indian community. Here is a snippet of his talk at Durpalcon Dublin and shows how Pfizer launches one new site every day! Isn’t that amazing!

[embedded content]


Original Video: Keynote by EmerColeman at DrupalCon Dublin

Drupal is increasingly getting popular in the Enterprise space for it’s capabilities and the wonderful community!

Nov 23 2016
Nov 23

Why Drupal & Alfresco?

Organizations are using Enterprise Content Management (ECM) to manage their digital content. ECM is used to manage traditional documents like: word, excel, ppt and pdfs that are created with complex workflows. ECM is popular in the Financial Services, Medical Services, Manufacturing, Government and Publishing. ECM brings with it storage, versioning, workflows and highly customizable metadata models. Some of the popular ECMs include: DocuShare, OnBase by Hyland, Laserfiche, SpringCM Contract Management, Seismic, Lexmark Enterprise Software, Nuxeo, Oracle WebCenter Content, IBM FileNet Content Manager, Alfresco . Amongst these Alfresco is available as an Open Source Solution.

Today the content has evolved, over and above the traditional form of content - words, excels, pdf and presentations, we generate a large no of Dynamic HTML content, VIDEOS, PODCASTS, INFOGRAPHICS, etc. Also content no longer stands alone, the end-users/customers can interact with the content using features like commenting, rating, sharing tools, etc. Today the content is Multimedia and Collaborative. To provide for this new content, Organizations will need a Web Content Management System (WCM) like Drupal.

Drupal with it’s Web Content Management capabilities and Integration Capabilities, helps both WCM and ECM to coexist. Integrating Drupal with Alfresco would help Companies to leverage the best aspects of WCM and ECM, to build a robust unified Content Management System. Drupal also brings with it enhanced, responsive user interface capabilities.

Some of the key Benefits of using Drupal are:

  1. Speed to Market - Faster Publishing of content
  2. Customer Experience Improvements by bringing a Uniform, Consistent Experience across the Different Channels - Responsive design & Omni channel publishing
  3. Personalization Capabilities, Targeted Marketing and Marketing Automation
  4. Operational Efficiencies by bringing technologies that would assist in facilitating content publishing with minimal or zero support from technical team - eg. Content Management Tools & Experience for Editors with In Context Editing & WYSIWYG Capabilities, Layout Management & more.
  5. Process Improvement by bringing in workflows and version control for Business approvals/compliance
  6. Integration Capabilities - RESTful APIs Support
  7. Social Media Tools & Search Engine Optimization
  8. Support for Analytics tools include Google Analytics
  9. Use of single code base to manage multiple platforms to simplify management of code base
  10. Multi Lingual Capabilities
  11. E Commerce Capabilities

About Alfresco

Alfresco is an architecture that combines ECM (Enterprise Content Management) and BPM (Business Process Management) solutions on cloud. Alfresco is a powerful open platform that is easy to extend, customize and integrate with existing applications. The ECM tools provides easy mobile access to content, delivers a simple but rich collaboration user experience. The BPM tools of Alfresco allow organizations to manage a wide range of critical business processes. In short, Alfresco reduces the complexity of document handling, improving time and process efficiency and enhancing user productivity. It is developed on Java framework.

Users of Alfresco

Alfresco is used in industries like

Financial Services - DAB Bank, MSIG Insurance

Health Care - Imperial College, Liverpool Women's NHS Foundation Trust

Government - NASA Langley Research Center, Denver - The Mile High City

Manufacturing - CISCO, Estrella Galicia

Publishing - Oxford University Press, Taylor & Francis

Education - Royal Australasian College of Physicians, The (RACP), Macquarie University

Drawbacks of Alfresco

  1. Content Publishing between systems needs Manual Intervention
  2. Web Content managed interfaces lack inline editing or WYSIWYG capabilities
  3. Missing Taxonomy/Categorization tools
  4. Lacking several support resources including FAQs and live chat
  5. Standardized document templates
  6. Limited Customization of User Interface

How to Integrate Drupal & Alfresco?

Drupal can be integrated with Alfresco using the CMIS API project. The CMIS API Project aims to provide a generic API for integrating with CMIS compliant Enterprise CMS (ECM) systems.

What is CMIS - Content Management interoperability Service ?

Content Management Interoperability Services (CMIS) is an open standard that allows different Content Management Systems to inter-operate over the Internet. Specifically, CMIS defines an abstraction layer for controlling diverse document management systems and repositories using web protocols.

Authenticating using CMIS standard

Authenticating CMIS doesn’t actually dictate how authentication happens other than to say it is up to the underlying protocol to handle the authentication. In Alfresco, you have a couple of options: pass a ticket as an argument or use basic authentication

Option 1: Pass a ticket You can do a GET against the login URL (non-CMIS) and Alfresco will return a ticket. You’ll need to include the ticket in subsequent calls against the server.

Option 2: Basic Authentication The second option is to take advantage of HTTP Basic Authentication and curl knows how to do that. To use this option, just pass the username and password as an argument to curl.

Drupal CMIS Module

“The CMIS API package of modules provide an API for connecting to any CMIS compliant systems to bi-directionally synchronize content between the CMIS ECM system and Drupal. In addition to the API, this package provides a range of basic functionality for creating, updating, browsing and searching content in the CMIS ECM system via the Drupal interface. The overall goal of the modules is to provide an easy-to-use, WCM front-end in Drupal for ECM systems that are often unfamiliar to web content managers.”

The module provides basic interfaces and functionality out of the box. The module also provides hooks and functions that could be used to extend for advanced integrations.

Drupal would help provide web content managers an interface to easily add documents to sites, while continuing to use the advanced workflow or security provided by Alfresco for document management. The Below image summarizes the functionality provided by Drupal CMIS module.

SSO between Drupal and Alfresco

CMIS Headerswing Settings - The CMIS Header swing module provides a mechanism for relaying (or "swinging") HTTP header data from Drupal to the CMIS repository. This is particularly useful for passing user authentication information from Drupal to the CMIS repository, providing Single Sign-On (SSO), when authentication is managed by a third party component that populates $_SERVER vars with credentials, such as HTTP Basic or NTLM.

Re requisites - PHP cURL

Steps for Repository Configuration

Enable `cmis`, `cmis_common`, `cmis_browser` and `cmis_query` modules. Add the following code in Drupal settings file. 

$conf['cmis_repositories'] = array(

  'default' => array(

    'user' => '<cmis_user_username>',

    'password' => '<cmis_user_password>',



User : Generic username used by cmis_common to authenticate Drupal to the CMIS repository. optional: used by cmis_common.

Password : Generic password used by cmis_common to authenticate Drupal to the CMIS repository optional: used by cmis_common.

URL : CMIS repository end point URL. Mandatory : Used by cmis_common.

Drupal-CMIS synchronization

Enable cmis_sync module and cmis_repositories config var is set. Add the following lines to your settings file:

$conf['cmis_sync_map'] = array(

  'page' => array(

    'enabled' => TRUE,

    'cmis_folderPath' => '/SomePath'


'custom_drupal_content_type' => array(

    'enabled' => TRUE,

    'cmis_folderPath' => '/SomeOtherPath'

'fields' => array(

'title' => 'cmis:name',

'custom_field' => 'cmis:otherCustomProperty',

array('drupal' => 'some_other_custom_field', 'cmis' => 'cmis:someOtherCustomProperty', 'cmis to drupal' => TRUE, 'drupal to cmis' => TRUE))



This will enable the synchronization process which will sync drupal nodes of type page to cmis:document cmis objects under /SomePath folder. For each created/updated node, sync process will create/update a cmis object under cmis_folderPath by mapping $node->title to cmis:name and $node->body to cmis object's content stream. 

For more details refer to the CMIS Module README.txt file.

Reference:- https://www.drupal.org/project/cmis

Nov 22 2016
Nov 22

Drupal 8 Composer Workflow

Composer is a tool for dependency management in PHP. It manages Install and update libraries that project manages. This session elaborate about how composer is used in Drupal 8. In Drupal Composer is inspired from node's npm and ruby's bundler. Composer manage packages/libraries per project on particular directory (by Default directory Vendor), so it has more features then Package managers.

In this session, I will take you through:

Nov 17 2016
Nov 17

Drupal Camp Delhi was an extra special experience, my first Drupal Keynote ever, in front of my favorite audience, Young Indian Drupalers! 

The Current state of Drupal, knowing the nature of the young audience at Delhi and wanted to keynote on “Global Opportunities”. Presented the state of Drupal today - where Drupal is today, key recent Enterprise adoptions, the highlights of working with Open Source and hence the “Global Opportunities”.

I started with using Drupal 4.x – our first implementation was a Drupal Moodle integration. It has been a long journey from then to today’s Drupal 8.0. Mapping this journey of Drupal to where Drupal stands today, the key highlights are:

Drupal Today is much Larger Community

Drupal Today is Growing ecosystem – from a bunch of Developers now we have Businesses, ISPvs, User and Developers around the world

Drupal evolved to be a mature Open Source Solution

Drupal has stayed relevant throughout its journey

Stats show Drupal’s increased adoption

Drupal in India is growing not only in number but also in terms of contributions

Larger Community

1. We have 104,306 users, actively contributing and 1,545 commits just in one week!

2. Just in November 2016 we have 29 Drupal Events: 

9 Camps

15 user group meet ups

3 code sprints and

2 trainings!

3. Mind you this only includes events that are registered in Druplical.

4. On Nov 11 -12 there were 4 Drupal camps happening simultaneously across the globe!

Growing Ecosystem

1. Started with a bunch of developers, moved on to add and get businesses to participate. Companies like Srijan and Axelerant have been conducting Drupal Camps and actively supporting Drupal initiatives.

2. Today the end user organizations like Pfizer, Johnson & Johnson – many large enterprises are part of this community.

3. The most recent additions are the ISVs – Independent Software Vendors – like fastly, mailchimp and other who are also part of our Ecosystem.

4. Our Developer community has also been growing, across the globe, across technologies, inclusive of UI, PM, and other non code contributors as well.

A Mature Open Source Solution

1. Some of the areas that Drupal has learnt and evolved is to come up with a method to facilitate “The transformation of Drupal through continuous innovation

This blog by Dries demonstrates how Drupal 8 has made a key difference.

“Big architectural changes are easier”

“Short release cycles”

“Less expensive upgrade path”

“More incentive for core contributors by moving the code to production through shorter cycles”

2. The three new practices in Drupal 8 that help facilitate these changes include:

a. Semantic versioning: a major.minor.patch versioning scheme that allows us to add significant, backwards-compatible improvements in minor releases like Drupal 8.1.0 and 8.2.0.

b. Scheduled releases: new minor releases are timed twice a year for predictability. To ensure quality, each of these minor releases gets its own beta releases and release candidates with strict guidelines on allowed changes.

c. Experimental modules in core: optional alpha-stability modules shipped with the core package, which allow us to distribute new functionality, gather feedback, and iterate faster on the modules' planned path to stability.

Stayed Relevant

1. Drupal 8 shipped with Easier Content Authoring with Wysiwyg in core, Drupal 8.2 brought with it the settings tray, and easier to use block placement with it.

2. Supporting APIs in core helps increase support for device agnostic solutions, headless Drupal, Integrate with bot technologies, IOT and more…

3. Internationalization in core

4. A Digital solution is not complete without Analytics, Targeting Emails, Marketing Automation and a host of other services. Drupal can integrate with these with ease.

Increased Adoption

Source: Gartner 2015

1. Last 4 years no of sites grown by 50%

2. 1 million + sites running using Drupal

3. Gartner just released the 2015 version of its Magic Quadrant for Web Content Management. For the second year in a row, Acquia was identified as a Leader.

Drupal in India

1. India has the youth, we have talent, we have innovation – right time for us to capitalize on the global opportunities.

2. India is the 2nd most contributing country to Drupal 8 code

3. Indian companies are at the top of the market place because of their contributions

4. Increased momentum further to DrupalCon Mumbai

5. Dries himself is extremely proud of the campus ambassador program. The conversations I have had with him has also demonstrated his excitement to see the growth of Drupal in India.

Drupal Today is a much Larger Community with a Growing ecosystem, Evolved to be a mature Open Source Solution. All through this journey Drupal has stayed relevant, flexible & innovative. It’s amazing to see Drupal’s increased adoption in the Enterprise space. Drupal in India is growing not only in no but also in terms of contributions!

Nov 16 2016
Nov 16

At Unimity, we are celebrating Drupal 8’s first birthday by launching a new webinar series “Dwell in Drupal 8”!! 2016 has been a very promising year for Drupal 8.

Some of the areas that Drupal has learnt and evolved is to come up with a method to solve and facilitate “The transformation of Drupal through continuous innovation”. This blog by Dries demonstrates how Drupal 8 has made a key difference.

“Big architectural changes are easier”

“Short release cycles”

“Less expensive upgrade path”

“More incentive for core contributors by moving the code to production through shorter cycles”

With the new features in Drupal 8, Continuous changes in architecture and scheduled releases of versions, Drupal 8 is ready to transform the web experience. In order to deliver in this fast changing technology, it’s becoming imperative for all Drupalists to share knowledge, keep abreast and contribute back to community.

It has been an exciting year with Drupal 8 at Unimity Solutions. The projects we worked on Drupal 8 include a Pilot project for NVLI with IIT Bombay, IIT International Applicants Portal and an Infrastructure inspection workflow portal. The amazing part about all the Drupal 8 projects is that we had the consent of the end users to contribute code back to Drupal as part of the project. In order to cherish our journey with Drupal 8 we are launching this webinar series to connect people in new ways and listen to their experiences.

We are extremely happy and proud to announce that this series is being launch with one of the favourite speakers of our Community, Mr. Sivaji. Mr Sivaji is Co-founder and technical director at Knackforge. He has been a passionate Drupal contributor for over 8 years and started his contributions right in his college days. He is also active organizer and participant of the Chennai Drupal Community. Apart from being a co-maintainer of Quiz Project he is also Technical reviewer of Drupal 7 Module Development and Drupal 7 Themes book.

We invite speakers across globe to participate in our webinar series. The speaker should be a Drupal Developer / Drupal user having an interesting topic on Drupal 8 to present. You can Register through below link.

Nov 10 2016
Nov 10

Here are Simple steps to get started with theming for a Drupal newbee.

Steps to develop a theme with Zen as the base theme:

1. Analyse the full design which is given in template.

2. Unzip the zen theme, you can find the folder called “STARTERKIT”.

3. Rename that folder “STARTERKIT” with you theme name eg: “my_theme”.

4. This is the folder for your new theme. (Follow the instructions given by Zen theme).

5. Rename STRATERKIT.info.txt to my_theme.info file - this provides basic information about the theme like theme version, theme core version (drupal version), Stylesheets & JS files used in the template files.

6. Understand the structure of a drupal template regions and Define the regions for your design.

7. Regions are used to place a block or content.

8. Create your regions and introduce it in the .info file first.

Sample structure of .info file

name = My Theme

description = My Theme is my first theme for drupal 7.

screenshot = screenshot.png

core = 7.x base

theme = zen

// Stylesheet

stylesheets[all][] = css/styles.css

// JS

scripts[] = js/script.js

// Regions used in my_theme

regions[header] = Header

regions[navigation] = Navigation bar

regions[highlighted] = Highlighted

regions[content] = Content

regions[sidebar_first] = First sidebar

regions[sidebar_second] = Second sidebar

regions[bottom] = Page bottom

regions[footer] = Footer

regions[page_top] = Page top

regions[page_bottom] = Page bottom

8. Open the template.php and theme-settings.php file, then rename the functions with your theme name.

For ex:

// Before renaming

function STARTERKIT_preprocess_html(&$variables, $hook) {

$variables['sample_variable'] = t('Lorem ipsum.');

// The body tag's classes are controlled by the $classes_array variable. To

// remove a class from $classes_array, use array_diff().

$variables['classes_array'] = array_diff($variables['classes_array'],



// After renaming

function my_theme_preprocess_html(&$variables, $hook) {

$variables['sample_variable'] = t('Lorem ipsum.');


9. We can add variables for basic page elements in template.php file.

For ex:

function my_theme_preprocess_html(&$variables) {

// Construct page title.

if (drupal_get_title()) {

$head_title = array(

'title' => strip_tags(drupal_get_title()),

'name' => check_plain(variable_get('site_name', 'Drupal')),



else {

$head_title = array('name' => check_plain(variable_get('site_name',


if (variable_get('site_slogan', '')) {

$head_title['slogan'] = filter_xss_admin(variable_get('site_slogan', ''));



$variables['head_title_array'] = $head_title;

$variables['head_title'] = implode(' | ', $head_title);


In that above example we construct the page title and assign that into the variable. Now we can use the $head_title variable throughout all the templates. In a similar manner you can create any no of variables.

10. If you need to change the template copy the files from zen base theme (Eg: page.tpl.php, node.tpl.php) and paste it into your templates folder.

For ex:

Create page.tpl.php file, it contains the code for the body of the page. You can modify that as per your requirement.

Reference links:





What is SASS?

Sass (Syntactically Awesome StyleSheets) is an extension of CSS. Sass allows you to use things like variables, nested rules, mixins, inline imports, and more, all with a fully CSS-compatible syntax. It helps keep large stylesheets well-organized, and get small stylesheets and running quickly with the help of the Compass style library.

Key benefits of using Sass:

1. Sass provides variables as a way to store information that you want to reuse throughout your stylesheet.

For ex:

Use Variable for defining Font Face, Colours, Line height, Width - These are values used across site. Setting as variables helps us to manage change easily.

// Sass file

$page-width: 1280px;

$margin-left_right-auto : 0 auto;

page-width {

max-width: $page-width;

margin: $margin-left_right-auto;


// CSS Output

.page-width {

max-width: 1280px;

margin: 0 auto;


2. Sass provides Mixins, these are like functions in php. You can declare a mixin with arguments and use it throughout the site. There are also predefined mixins for Box shadows, Font Styles.

For ex: Mixin

//Sass file

@mixin height-width-100 {

width: 100%;

height: 100%;


.news-slider {

@include height-width-100;


.news-content {

@include height-width-100;


// CSS Output

.news-slider { width: 100%; height: 100%; } .news-content {

width: 100%;

height: 100%;


3. In Sass @extend is one of the most useful features that allows us to share a set of CSS properties from one selector to another.

For ex:

//Sass file

.height-width-100 {

width: 100%;

height: 100%;


.news-slider {

@extend .height-width-100;


.news-content {

@extend .height-width-100;


// CSS Output

.height-width-100, .news-slider, .news-content {

width: 100%;

height: 100%;


4. Sass @import pull the file before it compiles the CSS. Its is used to import (include) the raw CSS-file into different files. @import "path of your file";

For ex: @import 'base/fonts'; // in style.ccs

In the above example fonts will be imported to style.ccs file from the path base/fonts.

Reference links:




Steps to have SASS working with your Drupal 7 theme

1. Let’s test if SASS is installed and compiling. Use your toolkit to compile your SASS directory or run compass watch from the command line in your theme directory.

2. You can add the styles to the .scss file. After saving your change, refresh the page and you can see the difference.

3. After saving that .scss file, compass watch command is executed automatically and it shows the modified file name.

Key tips and learning

1. Analyse full design, measure the spaces, width & height then write css.

2. Include the font, icons(i.e Font Awesome) and import the mixins,css3.

3. Write the css for mobile platform first, then using media query and alter that for tablets and desktops.

For ex:


* Header


.header-logo {

float: left;

max-width: 210px;


// For tablet and desktop

@media only screen and (min-width: 768px) {

.header-logo {

max-width: none;



In the above example, for mobile the logo width is fixed for 210px and for tablet and desktop logo width is not fixed. By this way only we can write the css.

4. In template page only one h1 is used, we can use h2,h3...h6 more than once. But only one h1 tag should be used.

5. If you use float to align the div, use clearfix code for its parent div.

For ex:

<!DOCTYPE html>



  <title>My Theme</title>

  <style type="text/css">

  .logo-img-div {

    float: left;

    width: 50%;


  .logo-slogan-div {

    float: left;

    width: 50%;


  .clearfix:after {

    content: " "; 

    visibility: hidden;

    display: block;

    height: 0;

    clear: both;





  <div class="header-content clearfix"> // Parent Div

    <div class="logo-img"> //Child Div with float

      <img src="http://www.unimitysolutions.com/blog/steps-theme-development-drupal-7-us...">


    <div class="logo-slogan"> //Child Div with float

      <p>This is my theme</p>





6. CSS Naming Conventions is one of the most fundamental and important part of developer activities. Naming conventions help us a lot making our code more readable, predictable. And when it comes to code modification and debugging, conventions help us to easily find needed part of code. 

For eg:

.is-hidden    { display:    none !important; }

.is-invisible { visibility: none !important; }

.block        { display: block        !important; }

.inline       { display: inline       !important; }

.inline-block { display: inline-block !important; }

.left  { float: left  !important; }

.right { float: right !important; }

.text-left   { text-align: left   !important; }

.text-center { text-align: center !important; }

.text-right  { text-align: right  !important; }

In above example the css class selectors are related to their properties.

// Correct way to declare the css selectors

.left { 

  float: left;


.right { 

  float: right; 


// Worst way of declare the css selectors

.left-div-content { 

  float: left; 


.right-div-content { 

  float: right; 


7. Use the colors, fonts and images which is defined in the template you have. Create image cache for image sizes. Use Display Suite, it allows you to take full control over how your content is displayed using a drag and drop interface. We can arrange nodes, views, comments, user data etc. We can also use Panels to segregate the layout. It makes layout segregation easier.

Watch our for more of my blogs! My next blogs are going to be on Drupal 8 theming & use of Panels and Display suites!

Nov 09 2016
Nov 09

Choosing CMS platform is very crucial for organizations. Without broad understanding of requirements and impressive set of features to match the requirement choosing CMS could be daunting and tricky. Here is a comparison between Drupal Vs AEM (Adobe Experience Manager) and Sitecore.

First let’s understand what Drupal is?

Drupal is the #1 platform for web content management among global enterprises, governments, higher education institutions, and NGOs. Flexible and highly scalable, Drupal publishes a single web site or shares content in multiple languages across many devices. Technology and business leaders transform content management into powerful digital solutions with Drupal … backed by one of the world’s most innovative open source communities.

Key differentiator between Drupal and AEM or Sitecore are

  1. Drupal is “ A Web content management built by the Largest community of developers.”
  2. AEM or Site core are “WCM + Analytics + Personalization all in one. Proprietary & Licenses are needed”.
  3. While using Drupal we can actually select best of breed solutions to meet the analytics and marketing automation needs to deliver a complete Web experience instead of buying all the features in one single proprietary system.
  4. Ease, Speed & Cost are key factors favourable to Drupal over other CMS platforms.

Setting record straight as Enterprise Web Content Management System and breaking all the myths Drupal holds 10 position in the CMS category in 2016 according to Datanyze Universe, a US based Technographics company. With accretion of Drupal 8, organizations acquired better ability to deliver right content to right people at right time on right device. Also, Drupal blends content with commerce to build contemporary e-commerce portals which enhance customer experiences through out buying cycle.

Some of the marquee Drupal implementations worldwide are listed below

Drupal Vs. AEM or Sitecore



AEM or Sitecore


A Web content management built by the Largest community of developers.

Ease, Speed & Cost benefits are it's advantage. 

WCM + Analytics + Personalization all in one.

Proprietary & Licenses are needed. 


Drupal being more a platform is more flexible.

Being in open source, there is no need to wait for a Roadmap to implement any immediate need or flexibility.

Flexibility, built like a Lego, adapts to the needs.

It's Innovation friendly!

Being Proprietary, getting newer features may need to wait for them to implemented as part of the Road Map. 

Speed of Development

Faster implementations, easier prototyping

Needs more time


Helps build customized user experiences, solutions that help in building responsive websites.

User experience and building responsive interfaces are available.

Integration capabilities

REST APIs in the core & Integratable

Integratable - relies on partners to integrate

Enterprise fit

 Meets all Enterprise criteria 

Meets all Enterprise criteria


Dedicated Security

Million eyes on the code

Process to communicate the issues in a more open and transparent manner

Security directed as by proprietary team


Highly scalable, integrates with memcache, varnish and other caching systems that speeds up the sites


Cloud capabilities

Integrates on the cloud, can be built to autoscale to optimize utilization

Support on cloud limited


Sign Up with any Drupal shop

Vendor agnostic approach is possible


End User training

Drupal 8 has usability as key feature

Easy to use


 Source code is free - pay more for value add

License costs are high

Apart from above mentioned features Drupal is chosen as CMS platform by most of the organizations because of it’s innovative features with thousands of plugins offering customization. Drupal offers flexible and adaptable toolkit emphasizing efficiency and speed. Also one of the unique feature of Drupal is its transparency. Developers prioritize and mitigate security risks both in Core Drupal and Drupal Contribution Modules owing to deliver quality results.

Contemplating above information it is no wonder that Drupal is relatively replacing other CMS platforms like Sitecore, AEM and many more.

References: https://www.acquia.com/blog/why-are-mid-market-companies-still-looking-a... https://amsterdam2014.drupal.org/session/how-market-drupal-vs-adobe-expe... http://www.slideshare.net/AcquiaInc/setting-the-record-straight-drupal-a...

Nov 03 2016
Nov 03

This blog explains how Jasmine can be used for Unit Testing.

Jasmine is a behavior-driven development framework for testing JavaScript code. The beauty of Jasmine is that, it does not depend on any other JavaScript frameworks & does not require a DOM.

To understand more about Jasmine check out

  1. http://jasmine.github.io/2.4/introduction.html
  2. http://jasmine.github.io/

Unit Test Case is a part of Software Development Process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit tests are typically written and run by software developers to ensure that code meets its design and behaves as intended. Jasmine has a clean, obvious syntax so that you can easily write tests.

Before actually jumping to syntax and use cases of “Jasmine for Unit Testing’, let’s understand what is Behavior Driven Development (BDD).

Behavior Driven testing is an extension of TDD. "Test-driven development" refers to a style of programming in which three activities are tightly interwoven: coding, testing (in the form of writing unit tests) and design (in the form of refactoring).

Like in TDD in BDD also we write tests first and the add application code. The major difference that we get to see here are

  1. Tests are written in plain descriptive English type grammar
  2. Tests are explained as behavior of application and are more user focused
  3. Using examples to clarify requirements

Check out http://toolsqa.com/cucumber/behavior-driven-development/ for broad understanding of TDD & BDD

Now let's see how to use Jasmine.

Starting Step - Download the Package

It is a standalone distribution, go to the github jasmine package page and download it. URL: "https://github.com/jasmine/jasmine"


The key components of Jasmine Syntax - Suites, Specs, Expectations and Matchers


To test the code or checking project steps using jasmine.

Create a jasmine with the syntax


It begins with a call to the global Jasmine function which describe the two parameters:

"string" and "function"

The string is a name or title for a spec suite it is a wording that what is being tested.

The function is a block of code that implements the suite or testing the code.


It is defined by calling the global Jasmine function "it".

The Syntax will be like this


describe("About the main process", function(){

   it("about the function", function(){

       a = true;






Expectations is described as "expect" inside the function which takes a value, called the actual value as "toBe". An expectation in Jasmine is an assertion that is either true or false. 


It is a comparison between the actual value and the expected value either if the expectation is "true" or "false".

It is used in CHATBOT Applications, Headless AngularJS scripts for mobile applications etc.,

Use Cases

A sample case is below:

User searches for an address in location search using google directions API

User Behaviour

  1. Enter Search Details
  2. Click on Search Button

API Integration points:

  1. Send the address information to google map API
  2. Then get response from the google map API

Here we can check with the response value from the directions API against the expected value.

describe('get google directions', function () {

  it("should respond with direction detail", function (done) {

       userdata = { 'body': 'Hi' };


    .then(function (params) {


       userdata = {

              'body': 'tambaram'


      return askDestination(userdata);


    .then(function (params) {


        userdata = {

             'body': 'egmore',

             googledirection: {

                      'origin': 'tambaram'



      return askDestination(userdata);


    .then(function (params) {


        userdata = {

            'body': 'yes',

             googledirection: {

                      'origin': 'tambaram',

                      'destination': 'egmore'



         return getDirectionOverview(userdata);


    .fail(function (error) {




How to run the Jasmine?

Step 1:

Install the jasmine js.

Using the Node package manager install jasmine module.

Run the command line prompt

Choose the folder path in the cmd prompt

CMD: “npm install jasmine”


CMD: “jasmine init”

Step 2:

Create a folder called spec inside the project root folder

Step 3:

Run the command line prompt

Choose the folder path in the cmd prompt

Step 4:

Add the file testcasefile.js inside the spec folder.

Step 5:

Then run the below mentioned command

“jasmine spec/testcasefile.js”


1. If you are running single spec i.e., it function in a describe function. It will respond like below.

Result: “1 test, 1 assertion, 0 failures, 0 pending spec”

2. If you are running 3 spec with multiple it functions in a describe function. It will respond like below.

Result: “3 tests, 6 assertions, 1 failure, 2 pending spec” 

3. If you need to skip any particular spec just update it to xit.

Result: “3 tests, 8 assertions, 1 failure, 1 pending spec, 1 skipped”

In the result

“tests” are the total no. of spec (it) functions in a describe function.

“assertion” is the expectation (expected value) of the result on a particular step.

“failure” is the failed case of the result on a particular step.

“pending spec” is the case in which the spec is still waiting for the execution.

“skipped” is the case where it is defined by an user in which change the it function to xit If the function is not necessary for the execution.

In today’s world of Headless Drupal, Device agnostic development, Chatbots we embrace the use of many javascript frameworks. It is important that the development also has a BDD testing aligned to ensure an out-side in methodology.

Popular BDD tools used in Drupal include: Behat, Spec and Simple Text Fixtures.

Here's a link on Drupal 7 module for integration between Drupal, Jasmine JS and Phantom

Check out below links for other interesting topics on Jasmine.

  1. http://howtodoinjava.com/scripting/javascript/jasmine-javascript-unit-testing-tutorial/
  2. https://code.tutsplus.com/tutorials/testing-your-javascript-with-jasmine--net-21229
  3. https://www.distelli.com/docs/tutorials/test-your-nodejs-with-jasmine
Oct 27 2016
Oct 27

Hi Friends, I am Saranya and I am glad to share my experience of my first & recent work in drupal 8 contrib modules with you all.

Features of Tablefield Contrib module:

  1. This module allows to attach tabular data to a node in drupal 8
  2. Tablefield is a field type, supported widget types are text field, i.e In table field, each table cell is a textfield
  3. The input form allow the user to specify the number of rows and columns
  4. Enter data using keyboard or by csv upload
  5. Table data can be downloaded as csv file by your user if you so choose

On the node create page, the Table field will look like:

The Use Case for which we picked this module:

This module was used in IIT International Applicants Portal (IITIAP). IITIAP facilitates foreign students to register for Postgraduate courses across IITs. Indian Institute of Technology, the IITs, provide best of breed technology and research related programs in the field of Engineering and Sciences. Through this Portal foreign students can search and identify relevant courses and complete the entire registration through an easy online process.

We used the Table field module as part of User profile, Application form to capture Users education details. This needed us to extend the module beyond the default test field widget capabilities. Wrote code to extend the support Date & Select list types. The UI was also extended to provide an explicit button for “Add Row”. Fixed issue faced when a table field was left empty or unset.

Used this module to get the user details like completed course or examination details.

Enhancements to Table field module

Select field in table cell:

Introduced as part of Storage Setting form option to define Select fields.

Provided option to:

  1. Get the number of rows that needed select list
  2. The column number (which column select option should append)
  3. Finally the values for each Column

The interface used Ajax to capture the information.

Date field in table cell:

Introduced as part of Storage Setting form option to define Date fields.

Provided option to:

  1. Get the number of rows that needed select list
  2. The column number (which column select option should append)

Added one button as “add row”:

The default module has features to add row and column for an admin user with appropriate permissions. In our case we need the users to be able to only have Add Row permissions alone and not alter the column. Hence created s button as “Add Row”. If the user click that button one row will get added by ajax call. User can add row dynamically whenever they wanted.

Issue when table field was left empty

If user didn’t fill any rows in table and was left empty, they still showed up on the view page. This issue was fixed by not displaying empty rows.


After Fix:



Issue Queue

Select In Table Field
Date in cells of the TableField
Adding Row Dynamically in table field
Disable Empty Cells

Oct 24 2016
Oct 24

During our Board Retreat,  the Staff Board mixer gave us a chance to meet the staff members and the staff members to meet the Board. The staff's commitment and involvement to the project is amazing and definitely needs a pat on the back!

Ryan, Rudy, Neil, Tatiana, Brendan, Mark lead by Tim Lehnen have been working behind the scenes on drupal.org, bring improvements consistently over the last few months. Key aspects they worked on include:

  1. The Evolution of the DRUPAL.ORG front pages
  2. DrupalCI
  3. Composer
  4. Community Initiative Updates: Documentation Migration, Project Application Process and Drupal 8 User Guide

Tim Constein, Rachel Friesen, Amanda Gonser, Elise Horvat, Kris -

They all play various roles from Event planning, Sponsorships and more to make sure our DrupalCons are executed seamlessly. Rachel is our Con strategist and makes sure they run on budget and has a great experience. Amanda manages all all the content/programming and local events, which means she is working with all of the track chair volunteers, local community members, and other volunteers to bring the magical content to the event. Tim is our Sponsor Fulfillment person. Our sponsors love their experience because he makes sure it is a great one. Elise and Kris Klinkhammer handle AP, fiscal sponsorships, and more. Many of you must have met and interacted with all or most of them at many points during your Drupalcon.

Carrie Lacina is a super power. She runs the revenue team, creates our digital products like Try Drupal and handles Account Management for key accounts. She creates revenue programs that support our mission like the TryDrupal program!

Delona Lang works with our Partners and is the Account Manager Drupal Agencies, Lizz Trudeau takes care of memberships, Bradley Fields our content manager, works on content, social media and more…

Checkout the Association Staff page to know more about them.

Last but not the least, Megan their Executive Director needs a special mention. She has been an inspiration, great team builder and an amazing leader. She has been working closely with the staff to transition many changes in the last 6 months. I truly admire her execution focus, passion for Drupal and the Drupal community.

What has been amazing is that though each staff has a specific role, in the last 6 months they have worked together beyond their stated roles to make Drupal Association meet their goals! Do follow the work of the Association as they publish them at https://assoc.drupal.org/news, share your views and encouragement!

Thank you Megan and all the Association staff for all the hard work!

Oct 14 2016
Oct 14

Drupalcon is always special! Back from DrupalCon, left feeling happy, proud to be part of a caring Board, a passionate DA team and last but not least the wonderful Drupal community.

Drupal Board Retreat

Was in Dublin Friday evening 23rd September. Saturday and Sunday was the Board retreat at The Gibson hotel.

The Board meetings at the conferences are day-long sessions where the 12 Board members along with Megan the Executive Director of the Drupal association work together on a strategy for the Drupal Association. The 12-Member Board includes 1 Founder Member (Dries Buytaert), 9 Class Directors bringing various expertise and 2 At Large Directors elected by the community. We have a very interesting mix for our 9 Class Directors - Tiffany, Vessa and Jeff all run successfully large Drupal shops, Rob who earlier worked with NBC & now part of Acquia, Mike who works with Pfizer, Danese brings with her the best of Open Source Strategies from her various open source associations, Sameer from the education background - brings a good external perspective, Donna brings in her expertise from having organized large open source events, a great community person, Steve comes from a technical background, the COO of Docker project, involved or been a part of multiple open sources technologies - again brings a good external perspective and experience from similar communities. Addi & I are the community elected At Large Directors on the board.

To know more about us checkout https://assoc.drupal.org/node/1589


Drupal association is a non profit to support initiatives that in turn benefit the Drupal project and community. The Drupal association operates with the Mission that - Drupal powers the best of the Web. The Drupal Association unites a global open source community to build and promote Drupal. The key initiatives that Drupal association has been sustainably maintaining drupal.org and running Drupalcons. The Board worked with Megan in defining the strategic direction and the boundaries in which the association should operate to ensure Sustainability. The Board also actively involved in the implementation through Task Force that jointly represent the community, Board and the association.

Megan presented us the work of the Drupal association and this was followed by a strategic planning session that was facilitated by Adam. Adam plays the most important role to make sure we work towards structured outcomes that then provide direction to Megan and the Drupal Association staff. Key objective of the retreat being:

  • Reach a shared understanding of issues and opportunities for the Drupal Association in 12 - 24 month duration.
  • Pick the top three opportunities and strategic focus areas
  • Discuss to provide guidance and help identify resources, Task Force to support the same

Day 1 had the Executive update and Financial update from Megan, followed by a session to Discuss and select Strategy Questions to address. Day 2 was spent on more elaborate discussions on the selected Strategic focus areas. Watch out for the Public board meetings at DrupalCons where the DA presents the work that they have done and the Board and DA jointly take questions from the Community. Below is the video of the Public boarding.

[embedded content]

My Next Steps

I am proud to represent the vibrant Drupal Community as a Board member. Besides being involved in the strategic planning want to spend my next few months speaking to more members of the community - Drupal developers, Core Developers, Drupal Community Champions, Shop owner and more. Do reach out to me for any clarifications or support. Best way to connect with me is by dropping a mail to [email protected]

Watch out for my next blog on the Board Staff Mixer!

Sep 22 2016
Sep 22

Today, the Newspapers & Magazine industry is turning towards digitization to cater for Millennial and Gen Z. The publishing industry is keen to choose Open Source Technologies such as Drupal as their CMS platform over other native applications. This blog shares with you Key Requirements of Digital Publishing and How Drupal could be a best choice for Digital Publishing Solutions through this Presentation. Leveraging on sophisticated features of Drupal 8 Publishers can now deliver right content to audience at right time on right device.


UniMity Solutions provides expertise in designing and offering High performance publishing Solutions that are Scalable and Cloud-friendly. Our D2L in Drupal approach enables us to provide contemporary business solutions that enable us to create dynamic and engaging content. UniMity help to incorporate rich media, build reader community to interact and maximize online revenues streams. You can also harness the power of UniMity's proprietary "Analytics & Stimulation Engine" to capture readers' preferences, link to a Personalization module to configure reader-specific content and default delivery to Web and Mobile app.

For more information on requirements of online publishing and modules used you can also read our blog on Top 10 Requirements in Online Media / Publishing.

Sep 21 2016
Sep 21

DrupalCon Dublin is just a week away!! With all the excitement surrounding the event we often forget to look at key things to expect out of this event. What should one learn out of DrupalCon Dublin? Is it only for Drupal developers or should CEOs, Managers and owners attend? What’s the use of attending an event on OPEN SOURCE TECHNOLOGY? Is it useful for growth of businesses as well?

Dries Keynotes - Where vision or plans for the near future would be shared by Drupal founder Dries. Drupal 8 is still at its early adoption state and more & more interesting stuffs are being added to Drupal 8 like BigPipe, Inplace Editing, etc. Keynotes would be an insightful session for companies that rely on Drupal and developer/artisans who want to build their career on top of Drupal.


Drupal 8.2 rc-1 beta version - Drupal is always about contributions. With Drupal 8.2 rc-1 beta version out, the atmosphere is electrified with discussions on new features available. DrupalCon Dublin could be a stage for hot debates and discussions on this new launch.


Face to face interaction - It is a great chance to meet people who designed features which you daily work with. The hall will be packed with amazing programmers talking on latest technological updates. A chance to meet our mentors, maintainers of our favorite modules, core developer who commit our patches, system admins who keep drupal.org running smoothly and many such key stakeholders of Drupal under a single roof. It's a rare moment to shake hands, take a selfie, exchange opinion on specific subject, wine and dine with them. We can see people being united there for a software though they come from different cultural and geographical background.


Meeting your business goals - You can see a mix of business talks, case studies and management topics which could make even a non-technical guy feel enthusiastic. Even a management person could connect dots to expand his business. It’s always important to know market and your competition. Attending such events gives you clear picture of where you stand and what are the benchmark practices in your industry. Innovative revenue streams, new business opportunities, positioning strategies- DrupalCon is a stage for all these. You should just show up and chat with fellow Drupalites and your business can grow fourfold.

Code sprints - Opportunity to sit and code with Dries, Webchick and other top developers to make Drupal even better. There would be training sessions for Novice contributors as well to get started for contributing to Drupal.


Stalls - Sponsoring Company gets a space to showcase their services and portfolio. People make business contacts and help each other to grow their businesses.

Of all others a wonderful opportunity to get Acquia certification which can be taken up at DrupalCon venue.

Apart from all the above it’s time to have some CRAIC!!

Ireland is fun to dwell in..

Sep 15 2016
Sep 15

Our first blog Video Annotations: A Powerful and Innovative Tool for Education explained power of videos in education when combined with features like video annotation and second blog Identification of an Open Source Video Annotations Tool for NVLI listed evaluation criteria of open annotation module that assisted NVLI project. This third blog in the series will involve defining the overall architecture of the Video Annotation solution in Drupal.

The Front facing user Page loaded the Video.js plugin and OVA plugin to support Annotations. The Plugins are integrated with Drupal using modules. An Annotation Store module is built to support Annotations from different tools. The Architecture provided for the actual Videos to be stored in a separate Video streaming Server.

Below are the details of the steps that need to be followed to configure the same in Drupal.

1. Install Video.js module for Drupal 8.

2. Install OVA for Drupal 8 to integrate with Open Annotation Plugin.

This Module allows:

  • Select formatters Ova Audio Formatter & Ova Video Formatter.
  • Allowable formats Video: mp4, ogg, youtube, webm Audio: mp3

3. Install Annotation_Store module. This Storage was built in a manner to support Open Annotation standards and capability to support multiple Front facing Annotation tools. As part of the project this store was simultaneously used by both OVA and Mirador modules.

Key Features are:

  • Annotation Store Module is mainly focused on storing the video annotation data [Open Video Annotation Library] locally in drupal.
  • This modules creates the annotation data as an entity in drupal 8 in the name of "annotation_store".
  • The entities which are created is listed at "/admin/annotation_store/list".
  • Annotation list link is provided at '/admin/content'.
  • Display date format at annotation list can be configured at /admin/config/media/annotation_store.
  • This information includes Annotation text, type, URI, user, created and changed time stamp.
  • Key actions supported are Create Annotations and Search & Fetch Annotations.

The Schema for Video Annotation:




















Features to be developed in future includes

  1. Spatial Annotation
  2. Video Transcripts

UniMity Solutions assisted in building Annotation feature for Audio and Video assets for NVLI. IIT Bombay supported contributing the work done in this project to Open Source.

Aug 31 2016
Aug 31

Coupled with increasing literacy rate publishing industry in India has seen tremendous growth in the past decade. Contradicting the global trend, in India the Newspaper industry has seen 8% growth last year. Most of this growth is driven by vernacular newspapers. It is expected that in the next decade regional newspapers grow at a rate of 12-14% as primary source of information. Although there is an increase in the adoption of digital books, digital news is yet to be accepted by Indians.

Disclaimer: All the above information is taken from the report on Digital News Report 2016 by “The Reuters Institute for the Study of Journalism”.

Disclaimer: All the above information is taken from Govt. of India RNI website 

Although the above information is overwhelming for digital publishers, we have to consider some facts to understand the future changes in the landscape of Indian Newspaper & Magazine industry. A few developments could be game changers to turn print dominated publishing to digital. 

  • With missing desktop generation, India is witnessing evolving smart phone generation. 
  • India is the world’s second largest internet market. 
  • Print media is consumed mostly in semi-urban and rural areas. Urban population, especially millennials are adopting digital news at skyrocketing pace.
  • Initiatives like “Digital India” by government is acting as catalyst to growth of digital publishing in India.
  • The ability of digital media to engage audience and freedom to express their opinions on a particular topic. Digital media is always a two way communication.
  •  Increased velocity of news generation and consumption.

Click on this link for statistical references of growing internet, broadband & mobile usage in India from “The Hoot” company.

Comprehending all the above information it is inevitable that Newspaper & Magazine industry has to re-invent themselves in order to cater to future generations with quality content as driving force. But “Print is dollars, digital is dimes and mobile is pennies” still holds true for most organizations especially in India.

 So how can publishing companies keep ahead of the game with digital publishing at “introductory” stage of life cycle?
“For Media companies ‘Time is money’. Once they grab the time of users they can monetize it in future” says Azar Iqbal, founder of Inshorts.

In the mean while organizations has to sustain and build strong foundation to emerge as winners in cut throat competition. Especially in media, an industry where brand and customer loyalty are key factors for success of organizations,

How can publishing companies generate revenue in sustainable ways?
Diversifying revenue streams has been an innovative strategy for organizations to achieve profits and continuous growth.

The different strategies for Revenue Streams include:
A.    Paid content access Revenue/ Paywall
B.    Advertisement Revenue
C.    Services/ Classifieds
D.    E-Commerce


A. Paid content access Revenue/ Paywall
Paywall functionality should allow monetization of the online content. 
Depending on the Paywall rules defined, the following types of access is possible:

Access Type  



Free Access


No restriction. Full access to the article


Access by Registration 

Teaser / first few paras access is free. Registration required for full access. No payment required


If the reader is a registered reader / subscriber, he / she should be able to login and access the content.

Access by Payment

Teaser / first few paras access is free. Registration and Payment is required for full access. 

If the reader is a subscriber, he / she should be able to login and access the content.

Depending on the subscription model and price of the article the account should be debited.


  1. The above rules can be applied for archived content as well.
  2. Irrespective of the source of hit (search results, direct URL, link from other sites etc.) the Pay Wall rules should apply.
  3. Additionally, special benefits to subscribed readers can be extended, such as discount coupons, invites to events, competitions for example.

Paid access can be implemented in forms like:
Subscription - Set of exclusive sections can be made accessible only for subscribers and a teaser of the content can be presented for non-subscribed readers, prodding them to subscribe for further access. Subscription based revenue should be a reliable stream of revenue. 
Pay for view - Exclusive content (like exclusive hyper local town specific cricket match reports) can be made pay and see. Rules can be applied to:

  • certain number of articles during certain period
  • access for certain categories of articles
  • access for article by certain authors
  • various combinations of the above

Downloads/ Special Newsletters - Downloads could be items ranging from latest Tamil movie release trailer/ poster to Practice Question Papers for local university entrance exams.
Pay Wall Rule Engine - The Rule engine should be parameterized so that various combinations of rules can be built.

Check out this article by CAMPAIGN INDIA on Newspapers in India: Will subscription revenue overtake ad revenue?

 The Financial Times and Vikatan Group, a popular vernacular magazine group are some popular examples where pay wall has worked.


B. Advertisement Revenue
Today Advertisement also needs to be personalized and non-intrusive. Understanding the demographics and behaviour of the reader is important to reach out to the right audience.  
Based on the readership engagement strategies, the readership can be increased and further Advertisement revenue channels can be leveraged. Ability to identify and classify the reader should help better sell advertisements.
Traditional Online Advertisements are:

  • Contextual AdSense Ads
  • Pay-per-click Ads
  • Display ads
  • Ads from Central Ad Server

Other Online Advertisements methods could involve:

  • Personalized Ads where Readers subscribe for categories in which they want to receive ads
  • Targeted Ads which are based on the demographic and behavioural information collected.
  • Statistics on importance of Ads for Web

Check out this article by LIVE MINT on Ad spending seen growing at 15.5% in 2016, driven by digital

C. Services/ Classifieds
Localized listing of services and facilities (eg. Rentals, Job, Property, Matrimony, Home Services) for ready reference of readers should add value and posting for the same can be monetized (or) even if such listings access is free, targeted display ads on such sections can be solicited, which should be paid ads. 
Key Features needed to support online classifieds are

  • Classification of Ads
  • Ad Submission workflow integrated with payment
  • Tagging & Listing of Ads
  • Intuitive Search interface to help search Ads
  • Ads to be tied with key Actionable link  and Notification system

Check out this article by WORLD NEWS PUBLISHING FOCUS (WAN IFRA) on Classifieds: high-margin business with room for new players

D. E-Commerce
A store for the readers can be added. The products range can be built towards the targeted readers. Localized content for global audience like options to order gifts to be delivered locally can be added.  Special deals/ offers can be floated. 
Key Features needed to support online classifieds are

  • Inventory definition and management
  • Cart management
  • Order and Shipping Management
  • Invoicing
  • Payment Gateway Integration

One of the Indian examples is the India Times Online Shop.
Related discussions are available at Newspapers Pursue E-Commerce

The paradigm shift of publishing industry shows that creativity and out-of-box thinking is the way forward to build a stalwart brand and establish credibility among audience for digital publishing companies. Valuable offerings can increase subscriptions which can be a best revenue stream for digital publishers.

UniMity Solutions worked with wide range of digital publishers across globe bearing international, national and regional titles leveraging on rich availability of features in Drupal. We help our customers to migrate their publications from print to digital. We integrate features like content management, editorial features, video players, SEO, analytic management and many more to enhance the reading experience of their audience.

Aug 24 2016
Aug 24

As mentioned in our earlier blog on Video Annotations: A powerful and innovative tool for education, the most intriguing feature of the pilot version of NVLI is Video Annotation. UniMity Solutions assisted in building Annotation feature for Audio and Video assets. This involved identifying and integrating an open plugin that supported video and audio annotations and a generic annotation store module that was plugin agnostic.

The first step of the project was to identify a suitable plugin, open source tool that support the Annotation needs of the NVLI project.

The tools reviewed included popcorn.js and Open Annotation Plugin. Popcornjs provided by Mozilla Foundation is an HTML5 media framework written in java script for film makers, web developers and anyone who want to create time-based interactive media on the web.  Annotations need to be pre created and made available through scripts. This plugin does not provide a user interface to create annotation.  The Open Annotation Plugin met most of the requirements and was on top Video.js plugin, which has a lot of adoption in the Education space.

The identification and finalization of the tool was done through a systematic process of evaluating them against specific criteria.  As Open Annotation Plugin requires Video.js, wherever required details of Video.js also provided.

Find below the criteria used to evaluate Open Annotation Plugin:


Criteria for Evaluation



Name of Tool used

Open Video Annotation Project used with Video.js




Licensing for Open Video Annotation Project

Open Video Annotation by Philip Desenne and Daniel Cebrián Robles is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.


Licensing for Video.js

Licensed under the Apache License, Version 2.0


Standards compliance



Compliant with Open Annotation data formats



Open Annotation Data Model


HTML5 support

Video.js works with HTML5 only (Default failure msg built in)
Key HTML5 features include, Video, audio tag, buffering and fall back.



Video.js Is accessible, need to review accessibility of Open Video Annotation Project



Google Chrome, Firefox, Safari, Internet Explorer 9


Device Compatibility

iPhone, iPad, Android


Video Formats supported

MP4, ogv, webm




UI using CSS

Possible to override Plugin CSS - By adding weight to the style classes.


Modular Code

API Methods to take control of the plugin are listed at GitHub


Functional Requirements


Out of box functionality - Standard Play/ Pause/ Stop; Volume Control




Supports Annotations - Yes


Timeline based






Unicode Text Support for Multilingual

Multilingual for annotations -
This can be managed by Drupal as all annotations are saved as entity. More advanced understanding of the plugin's multilingual capability and the overall multilingual architecture  will be taken up separately


Support for Text/ Rich Text/ Images/ Embed Videos/ Audio



Annotation Scope
(Public and Private)

This has to be handled in Drupal. The annotation store will be stored as entity. The entity author will help track the author.


Community Support



Twitter ID of Daniel


Working Group



IRC Channel

#videojs , no separate channel for open video annotation found



Not Available


Product Roadmap

One request for 3D Annotation is been raised - No clear date or plan for implementation


Usage Stats and Case studies

Top users of video.js - newspaper sites, "the ONION" and "theguardian"



Based on open-source java script libraries
Extending Annotator Open Knowledge Foundation Project
Build on top of the Video.js the open source HTML5 video player
Compliant with Open Annotation data formats
Customizable and mashable with open API's
HTML5 components



Annotateit - For storing annotation data
Rangeslide JS - Simple, small and fast JavaScript/jQuery polyfill for the HTML5
ova JS -  handles the java script for managing display and annotation creation UI on the HTML5 video.


Libraries Used/ Dependencies  

Open Video Annotation Library/Videojs


Ease of Integration

Open Video Annotation Library - for Annotation
Annotation Module helps to store the annotation data.


Security Compliance

Has to be handled by Drupal
– Filtering text to prevent SQL Injection
– For internal store Drupal will handle the security.


IIT Bombay wanted to leverage Open source technologies and share the work back to relevant communities and hence we choose this open tool. Integrating this with Drupal meant having it work with content types, Drupal entities and more.

Watch out our next blog for solution architecture in Drupal….

Aug 18 2016
Aug 18

Education through videos: The future class rooms

According to John J Medina a famous molecular biologist “Vision trumps all other senses.” Human mind is attracted to remember dynamic pictures rather than listen to words or read long texts. Advancement in multimedia has enabled teachers to impart visual representation of content in the class room. But the educators has to understand the importance of visual literacy. Using videos in education help students to turn ideas and concepts to experiences. Pairing with brain’s ability to visualize, videos help students to grasp and retain the information. With meticulous choice of content and quality, videos could be most interactive and engaging medium for students.

According to a survey “Cisco Visual Networking Index Predicts Near-Tripling of IP Traffic by 2020” by CISCO the internet traffic is dominated by video services and content management of all other applications. Internet video will account for 79 percent of global Internet traffic by 2020 up from 63 percent in 2015. Akin to above statistical information there is a substantial research supporting videos to be a part of regular curricula for students.

Power of Video Annotation

Videos are powerful medium but the content in the video are not easily searchable. How can an audience discover their desired video or search for a particular context in large piece of video content? This is answered by Video Annotation.

A video annotation can contain commentaries, images, keywords and hashtags. The commentaries can help in identifying people, places and events. In short Video annotation helps to post and fetch commentaries inside a video clip.

When a user searches for a particular keyword the video comes up in the browser based on these annotations.

Video annotations possess features like embedded quiz which help trainers to get interactive with trainees. Also this is a remarkable feature for teachers to keep pupils engaged. Video annotations help trainees or students to take action during the session holding the discussion. Film industry also uses video annotations more extensively in their field for adding commentaries.

Videos can be annotated in 2 different ways. 

Timeline annotations: An annotation on a timeline of the video.

Spatial annotations: These are used to annotate any place on the video at a particular time frame presented as overlays of user generated graphics, customized annotation marks.

As the videos are gaining viability in education industry as a better medium to enhance student experience and make lectures a more engaging activity, video annotations are great way to bring vibrancy in the class. Imagine a child’s vivacity if the video can display comments on a particular situation, identify famous people in the video by tagging, Stop during particular time line and asking to guess further….. All these are possible through video annotations.

Realizing the increased adoption of digital information, Ministry of Culture, Govt. of India incubated a project called NVLI. National Virtual Library of India (NVLI) is a centralized knowledge hub for various digitized assets such as scholarly articles, research papers, journals, books, videos. These resources will be pulled from various universities/ colleges/ government and private libraries who would like to host their content on NVLI. The features of this project includes Solr Search, VuFind, OAI-PMH views and import, Audio and Video Annotation, Integration of Annotation with IIIF server, Private Archive Distribution.

One of the most intriguing feature of pilot version of NVLI is Video Annotations. UniMity assisted in building Annotation feature for Audio and Video assets. This involved identifying and integrating an open plugin that supported video and audio annotations and a generic annotation store module that was plugin agnostic. IIT Bombay supported contributing the work in this project to Drupal.

Watch out for our next blog to see how Drupal helped to develop video annotations with less complexity…..

Apr 26 2016
Apr 26

Here is a case study of how Drupal helped in implementing a customer portal for a major utility service provider in the US.

Utilizing Drupal's default content management and community building capabilities and extending it to customer needs helped deliver an Enterprise class Customer facing portal under aggressive timelines

Below is a summary of the key features of this customer portal mapped to the associated Drupal capability that was leveraged and enhanced.

  1. Content Strategy related functional requirements

The need for different types of pages in the sitemap was broadly divided into Landing Pages, Individual Pages and Functional Pages and it was easily achieved by using out-of-the-box content modelling tools in Drupal like Content Types, Views and Call back functions.

The flexibility for the editor to create dynamic landing pages with variants in UI (Image and Text combinations, layout variants) was possible by extending the content type interface.

  1. Support of Responsive Layout and Ensuring Accessibility compliance

The out-of-the-box base theme used, with inherent responsive capability made the UI turn around much faster and ensured best practices were adhered to.

Accessibility requirements were met by the APIs available to extend the theme and forms.

  1. Comprehensive content publishing workflow

Using Drupal’s native content create/ edit and publish workflows, a comprehensive content management system with localized access was provided.

  1. Content related controls

Media player, Telephone Field Controls were plugged in using readily available modules. Social Media content share controls and SEO Optimization was easily achieved using readily available Drupal’s modules.

  1. Audience Categorization and Localization requirements

The general audience and the logged in audience that were categorized as Std/Non-Std/ Informational users were managed using the user types. Localization was supported to present

BUs context related information using the taxonomy module.

  1. Uniform Navigation and Menu control

Using the built in menu module the navigation at various levels have been created and administered using interface in the admin.

  1. Alerts

By extending an existing module (newsletter), the alert functionality was easily achieved

  1. Overall ease of application maintenance

With an active community supporting Drupal, enhancements to modules, security updates are published periodically and these are applied to the Drupal code base.

  1. Search of Content

Using a powerful search engine, that comes with a inbuilt integration module, comprehensive search of content was achieved.

  1. Integration with backend Enterprise backend

Drupal allows the flexibility to easily integrate with various enterprise backend, thus allowing the complex existing business backend functionalities to co-exist with contemporary state of the art front end user in

ce capabilities of Drupal and thus leverage on the ease of use.

  1. Security

Multi pronged security checks can be implemented with ease using Drupal. This includes, encryption of sensitive data using AES encryption was achieved using readily available modules and API, hack prevention by using Captcha, flood control.

  1. Analytics

Google Analytics and Event tracking modules to provide extended analytics

  1. High Performance and Scalable architecture

Support for integration of 3rd party plugins like Varnish and Memcache help facilitate fast delivery of content. Drupal also supports integrating with cloud components that help build scalable infrastructure.

Mar 30 2016
Mar 30

Excited to share I have been elected to the Board of Drupal Association, https://assoc.drupal.org/blog/holly.ross.drupal/2016-drupal-association-.... The support and campaigning of all my friends and well-wishers and the Drupal community has helped me get to this prestigious post! Thanks all for your confidence in me! Looking forward to my contributions to Drupal in this new role.

What is Drupal?

Drupal is primarily a CMS (Content Management System). Used to build state of art portal with dynamic content, intuitive editor dashboard, responsive layouts, interactive social features and much more.

Drupal, apart from being a CMS, also provides a strong development framework with which a wide range of web applications can be developed. Its API functions and Hook system provides simple yet powerful means to extend functionalities. You can quickly build community portals, ecommerce solutions, publishing portals, customer engagement portals, e-learning platforms and the likes.

Drupal is a pioneering open-source Content Management System that is used to run over 1 Million websites around the world. Leading media houses (like The Economist, Fox News, BBC Store, The Independent), government websites (like cities of London, Los Angeles, Austin), universities (like Minnesota, Rutgers, Surrey, George Washington, Chicago) and corporate organizations (like Johnson & Johnson, Timex, CARE International) and many others, use Drupal to power their websites.

What does Drupal Association do?

The Drupal Association is an educational non-profit organization that supports the Drupal software project, the Drupal community and its growth. The Association is supported by both individual members and organization members.

The Association uses its resources, network and funds to constantly engage in new projects and initiatives to:

 - Popularize Drupal

 - Provide Training in Drupal

 - Support growth of Drupal project

Who constitutes the Drupal Board?

The Drupal Association has 13 Board members consisting of 1 Founder Member (Dries Buytaert), 10 Class Directors bringing various expertise and 2 At Large Directors elected by the community. Checkout the Drupal Association board members at, https://assoc.drupal.org/about/board

What is my role on the Drupal Board?

Want to bring to Drupal Association a representation of one of the largest and actively growing Drupal community, India. Also with my skills, a combination of having been in senior management, community building, technology, I am confident I will be able to support the association in many strategic decision making. The key areas I will focus on would be evangelising Drupal, specifically adoption in Enterprises, Government & Education. Would also continue to support community building activities for Drupal. Listening to the voice of the Drupal community, specifically India, will be an integral part of this role.

Feb 25 2016
Feb 25

Drupal is awesome as always! At my first  speak to the candidate session on wednesday, not only did I speak for myself, but also got a chance to meet other candidates who are standing for the Drupal Board - Director At Large. Each of the candidates had so much to share about their contributions and were from different cultural background and brought different skills and competencies. This shows how Drupal has grown in the last years. For those of you who could not make it to my first session, some key questions and my responses. Here is the link to the video.

[embedded content]

Why should you choose me?

Want to bring to Drupal Association a representation  of one of the largest and actively growing Drupal community, India. Also with my skills, a combination of having been in senior management, community building, technology, I am confident I will be able to support the association in many strategic decision making. Specifically with respect to increasing awareness, fundraising  and community building activities for Drupal.

Having worked in multiple initiatives in the Drupal project, I understand and can align myself with the key goles of the association. 

You could do what you want to do without being a part of Drupal Association, what is the additional value of being in the Drupal Association board?
Very true,Board or not some of my ideas on how organizations can support and facilitate  in improving quality and quantity of contributions is going to be my vision in the coming year. I feel the role will give me a better visibility and make it easy to gain support from other organizations. 

What is one thing you would like to do before you complete your Drupal Board Member Role?

See top 10 contributors list showing more Asian programmers, Have more Asian companies at the top of Drupal contributions.

Would you recommend local chapters and local associations? or a centralized Drupal association?

For the current size of the Drupal community a single DA is the best. Local bodies could be formed more for operational reasons. But there is no one recipe for all, some of the local associations help in strengthening the community better.

Drupal association has more American representation, how do you think they can be more inclusive?

With the current contestants being from across countries we are setting the tone. You can not have all communities represented at any point. That being the cases, strategize for  Drupal Association to work with local representatives is very important to make it inclusive.

Fund Raising for Drupal 8 was an initiative taken up by Drupal Association - was it right?

I think it was a wonderful and timely decision. Drupal 8 was very close to launch and just needed that extra push which this fund was able to provide. Moreover this also gave those who could not actually contribute through code also an opportunity to contribute. Such specific initiatives driven by Drupal Association is much appreciated.

Have more questions join the last of the meet the candidate session on 25ht/26th Feb, https://zoom.us/webinar/register/35df922afa11f9c07c24e00bf0acd2b8 

Anyone with a Drupal.org account, logged in atleast once in the previou one year can vote. Even with such a large Drupal community the no of vote at the Elections is always a very minuscule percent. This time with the vast diversity in participation we hope to see a larger representation and participation of the community. We value your vote. Look to your vote of confidence!

Dates to mark on your calendar: Voting will be held from 7 March, 2016 through 18 March, 2016

Feb 23 2016
Feb 23

1025 attendees from 32 countries, 82% first #DrupalCon, 81% attendees from India, 40% vegetarian! #DCAsia @DrupalConAsia

— webchick (@webchick) February 21, 2016

Thank you! Drupal Association and Drupal Indian Community Members for putting together the most fabulous experience for the Drupal enthusiasts of the community. The Venue sponsor IIT Mumbai needs a special mention.

Our Journey @DrupalConAsia, A short message from each of our Drupal Development team and their learning and contributions at DrupalConAsia



Arun - “ It was a fascinating experience where people from  the world all over came to India to celebrate Drupal 8. “

Key Takeaways:

  1. Enhanced Git functionality: Drupal 8 provides an opportunity to read the updates from a patch and paste it in the existing code, thus eliminating the chance to miss any code during the copy paste procedure. This is certainly a breaking improvement for updating the patches using a simple code in Drupal 8.

  2. The Drupal 8 provides another IDE that helps to customize the rendering process of the text. This is a Drupal complaint editor that supports predefined formatting of spaces, paragraph for the editor.

  3. The other aspect that was really helpful was Caching. Drupal 8 supports both Dynamic and Static content in the same page, where Dynamic content changes every time the page is loaded and the static page is cached. This improves site performance considerably.

Sprint Contribution:

  1. Created a patch for: Replace deprecated usage of entity_create('node') with a direct call to Node::create() in comment, datetime, editor, field, hal, system, taxonomy, views. This involved overwriting the older entity_create() function by Node::create() in the patch deprecation_entity_create_2672600_6.patch (ref : https://www.drupal.org/node/2672600#comment-10877624)

  2. Tested and updated the patch Allow selecting multiple checkboxes on "Modules" page with a single click : This involved testing of the patch and fixing the existing issue in the patch selecting_multiple_checkboxes_2104633_39.patch (ref : https://www.drupal.org/node/2104633#comment-10878586 )

  3. Reviewed and tested the patch Deprecate ThemeHandler::setDefault() in favour of configuration and replace usages : This involved reviewing the code and testing the functioning of the patch setdefault_on-2635784.patch (ref: https://www.drupal.org/node/2635784#comment-10878596)

Next Steps & Pledges to Contribution:

  1. Engage atleast 3 hours for the Drupal Org every week.

  2. Arrange for bi-monthly sprints at the Organisation

  3. Grow and be an active member of the Drupal Community in Chennai by conducting bi-monthly Sprints & Camps

Anish - “ It was an opportunity to interact with people from all over the world and build a network. This network is sure to be of great help for future.”

Key Takeaways:

  1. Headless Drupal- Drupal 8 supports Ionic Module. Ionic is a good approach for mobile apps as compared to Phonegap as it uses Angular JS in contrast to Phonegap that used JQuery. Angular JS increases the performance. It uses the Rest services, which was originally available in Drupal7 as a contributed module, is a part of Drupal Core.

  2. Device responsive images- Drupal 8 has lesser number of contributed modules to manage the Images/Banners. This provides the flexibility of using single image for all devices with the focus area can be manipulated for smaller devices. Also, the best practice for the banners is to use separate image for desktop and smaller devices. Drupal 8 select the images based on the system resolution. This is an improvement as the functionality is available in Drupal Core

Sprint Contribution:

  1. Created patch for dropbuttons are broken in Bartik: Developed the patch dropbuttons_bartik_patch.patch. Prior to the patch, for bartik theme, whenever the drop-down is clicked,area containing the Drop-down would expand along with the drop-down window. Currently only the Drop-down would be shown without expanding the area. (ref : https://www.drupal.org/node/2666510)

Next Steps & Pledges to Contribution:

  1. Want to contribute by creating a patch every week

  2. Share the learnings on latest Drupal related technologies like headless drupal with other members in the organization  

  3. Arrange for monthly  sprints at the Organisation

  4. Organize a Drupal Camp in Chennai by June 2016

Veera - “Interest and involvement towards contributions has increased.  Want to be in constant touch with the latest in the Drupal issue queues.“

Key Takeaways:

  1. Learned about Drupal Community, how they organize themselves.

  2. Learned how to identify an issue that I can work on. Understand how the issue queue works.

  3. Understand how Automated Testing works and how to create an Automated test. Understood the details of how to write a class and how to write test cases.

  4. How to Auto deploy Drupal 8 - Use of scripts and drush to move configurations between environments (dev/stage/prod).

  5. Larry’s session helped understand different strategies to Coding standards - how to avoid notice errors while writing code. (Methods with arguments, Declaration of variables, etc.).

Sprint Contribution:

  1. Created patch for Deprecate ThemeHandler::setDefault() in favour of configuration and replace usages  - This patch ,setdefault_on-2635784.patch, is compatiable with Drupal 9 :( (ref : https://www.drupal.org/node/2635784#comment-10878596 )

  2. Theme kill without file upload - Responded the clarification on the current issue (ref : https://www.drupal.org/node/2668696)

Next Steps & Pledges to Contribution:

  1. Share his knowledge on best practices for Coding standards and create a Cheat Sheet on Thursday 25th Feb 2016

  2. Sprint on Saturday ( 27/02/2016)- Minimum 10 people from Chennai community

  3. My target is to support porting Apache Solr Drupal 7 to Drupal 8 and commit 3 hours every week towards this

  4. Move UniMity Solutions to Drupal 8 starting on 24th Feb,2016 and completely migrate within 3 weeks

A short message from our Management on What @DrupalCon Asia meant to them. UniMity Solutions were Silver Sponsors of the event.

  • DrupalCon is a great place to network.

  • Met agencies and development houses looking for partnerships in India.

  • We also had our clients at the event!

  • Interesting to know that the benefits as well as the challenges of doing business in Drupal are the same for everyone.

  • Quality Drupal resources are a concern for all Drupal shops. Intense training seems to the solution that is working for all.

  • Met job seekers. Had an opportunity to position our company as one that offers career growth.

  • India figures as the second largest contributor to the community. But, our contributions are not in the space of what matters the most. This means that more and more involvement in the critical areas of development and maintenance such as Drupal Core.

  • We all have a responsibility to grow the community. We need more and more experienced programmers, technical leads to be part of the community. We need to increase the 'quality' of our contributions.

  • Looking forward to the next DrupalCon Asia!



Feb 22 2016
Feb 22

Drupal association plays a key role in supporting Drupal Project, Drupal.org and the Drupal community. I am contesting for the Director At Large post on Association Board to help support the organization.

I would like to work with the Drupal Association and be a representative of the Asian community and contribute towards building community strategy. I would like to make a positive contribution towards community participation not only in terms of numbers but also in terms of quality of participation.

Having worked in multiple initiatives in the Drupal project, I understand and can align myself with the key goles of the association. Additionally my expeience in building Drupal teams and having been involved in strategic decisions in my organization will be of value in this role.

Want to know more about me, Shyamala Rajaram, checkout the candidate profile at: https://assoc.drupal.org/election/2016-director-large-election/candidate...

This is the first time that we have such an extensive participation in the Drupal with 23 candidates. We have 4 participants from India, Sunit Gala, Rachit, Shehrevar Davierwala and me. More Details on the 2016 Drupal Association Board Elections checkout the Association post at https://assoc.drupal.org/blog/holly.ross.drupal/2016-drupal-association-....

Anyone with a Drupal.org account, logged in atleast once in the previou one year can vote. Even with such a large Drupal community the no of vote at the Elections is always a very miniscule percent. This time with the vast diversity in participation we hope to see a larger representation and participation of the community. We value your vote. Have a question join us at the Meet the candidate session on 23rd, 24th or 25th Feb. 

Look to your vote of confidence!

Dates to mark on your calendar: Voting will be held from 7 March, 2016 through 18 March, 2016

Jan 19 2016
Jan 19


The Indian Drupal Community is all excited about DrupalCon India! The event will be help in IIT Mumbai between 18th Feb to 21st Feb. It is just a little over a month away and it is not too late to plan participating in DrupalCon. It is an excellent oppertunity to meet the larger Drupal community from across the globe and also the Indian Drupal counterparts .

Dries came to India for the very first time in 2011 to Drupalcamp Deccan. This brought a lot of awareness and a big opportunity to the Indian Drupal community. Checkout his blog on Drupal + India = Opportunity.

The Drupal Association has been working very closely with the Indian community for over a year to make this event happen. You can get details of the initial planning of the Drupal Association at  Help Us Plan DrupalCon in India.The Drupal Association worked with Active Commuity members to paln this event.

Did you know the highest no of registered drupalers on Drupal.org are Indians? Did you know the first largest Enterprise portal for UK’s postal service was built by Indian developers? Checkout the blog on Rise of the Drupal Community in India for more interesting facts on the Indian Drupal Community.

More details on the Con itself are available on the  website.

I have been speaking to different Business Owners and stakeholders who have been in the Drupal space with regard to  participating  in DrupalCon. The key aspects of those conversations are given below:

DrupalCon Asia, What’s in it for Business Owners?

You have used Drupal to service your customers and have benefited from this open source solution in different ways.The best way to give back is to the Community is to be a Sponsor at DrupalCon.

The amazing part is that in Sponsoring you gain more.

Here are the gains...

1. You will get Sponsor benefits – based on the sponsorship amount – includes having your name on the DrupalCon website, have a stand at DrupalCon, and such.

2. You can showcase your Organization  in different channels.

3. You can attend thekey sessions in the conference including: Dries Keynote, Business sessions, Case studies and the Business Summit.
Dries Keynote - gives you a flavour of the Direction of Drupal.

4. Interact with other Business owners from your region.

5. Be a part of the Drupal Community.

6. You can avail the oppertunity of participating in the DrupalCon and provide exposure to your developers, QA team, your Infra team, your Marketing. Each of them have something to learn from at the DurpalCon.

The DrupalCon Asia Business calendar


DrupalCon Asia, What’s in it for Developers?

1. You can participate in pre-conference Training programs.

2. Listen to expert sessions from the Global Drupal community. Some of the key Sessions are:

   A. Drupal8 Theming - No more divitis, a session by mortendk - One of the key front end developers of Drupal 8
   B. Everything multilingual in Drupal 8 a session by Gábor Hojtsy - Drupal developer at Acquia, the Drupal 8 multilingual initiative lead.
   C. Six Easy Pieces for the New Front-end Development,a session by John Albin Wilkins,Senior Front-end Developer at PreviousNext and Lead for the Drupal 8 Mobile Initiative
   D. Make your code do your job, a session by Crell aka Larry Garfield, Senior Architect at palantir.net, an active Drupal core contributor, including the principle architect of the Drupal 7 database system and the Drupal 8 Web Services Lead. He is also a member of the Advisory Board of the Drupal Association.
   E. The largest Drupal 8 sites on Earth, and the NP8 news portal distribution, a session by robertDougless - Director of Products CommerceGuys. He is one of the initial contributor’s of the Apache Solr module.
   F. The Drupal 8 Theming Experience, a session by Coster - An active core contributor and co-maintainer of the theme system in Drupal 8

3. Get updated with the happenings in Drupal and learn about Drupal 8

4. Avaie the chance to get hands on with Drupal 8 – participating in the DrupalCon Sprints

Participating in Sprints lets developers get exposed to higher level of programming, connect with other developers in the community, best practices and more. The initial ladder to contribution is quite steep. By attending DrupalCon Sprints many developers have found answers to how and where they can contribute. They can come back from the DrupalCon and share the learning with the team and the local Drupal Community.

Don’t miss any opportunity to contribute! I have have been there at DrupalCon right from making the tote bags to the sprints and it is a lot of fun!! If you are not a volunteer yet, sign up now.

Oct 05 2015
Oct 05

This Blog covers the highlights of how Drupal could be used effectively to build a multi domain, multilingual site for a large Multi National Company. The site is also built to be responsive and the site optimizes to the device on which it is viewed.

Project Background

The previous corporate website of the MNC was built in Drupal 6 and delivered customized content for different countries in different languages. The key challenges for the site were maintenance and creation of new domains for new Countries as and when added. Some of the other challenges included sharing the content across countries and managing the translation of the content. The banners were also cropped for smaller devices.

The project was to help in removing these shortcomings and challenges and  in redesigning a new responsive Drupal 7 site with architectural enhancements.

Key functionalities & the Drupal implementation

Key Design Features

The new site has a Contemporary and Responsive Design. The site is optimized automatically for viewing on mobile phones and tablets.

How this was achieved?

A responsive theme was built keeping in mind four  breakpoints - 1920x 1080, Normal PC, 10 and 7 inches devices with both Landscape and Portrait view .  Zen was used as the base theme as it helped to inherit all its HTML markup, CSS, and PHP code from this parent theme. A sub-theme was applied to customize certain sections of the parent theme as required.

For each banner used across the site, an additional banner was used for the devices with smaller aspect ratios and image caches loaded them based on the width of the device.

In order to enhance the performance of the site, Sass Module  was used. The Module is highly compatible with all versions of CSS and is rich in terms of the available features and functionalities. This module helped to reduce the CSS file size and thus helping in enhancing the performance of the site.

The Font Awesome was used to replace icons with fonts , hence helping to further improve the performance of the site.

For the Animations used across the site, CSS3 was used in place of JS. A Mosaic view was also created as an option for the home banners. This was created by UniMity theming team  without the help of any plugin support. The key considerations during the theme development was the performance of the site and compatibility across devices and across browsers.

For the Domain switcher, jQuery Plugin called malihu was used for a diffent look and feel.

Challenges faced & resolution:

Use of Browscap  Module caused randomness in image loading as the tablet breakpoint was not detected. The Browscap Module was unable to detect the  device and as result the correct panel was not select that resulted in Mobile banners being shown in Desktop and tablet view. So the code was customized in order to detect tablet and the desktop and it was used to load the desktop panel for both these devices. This solved the problem faced.

There were issues with the random switching of Images in latest version of iOS 5.0.1 similar to the report at  http://tech.vg.no/2011/12/14/safari-on-ios-5-randomly-switches-images/ . This was resolved using Lazyloader Module by reducing the number of images loaded on first load.

Multi Domain site managed from a single instance

Key shortcoming of the old site that was to facilitate launching on new subdomain for a new added geography with minimal time and effort. The MNC had dedicated websites for each geography / country and some geographies had multiple sub sites under them based on the language. Adding a new geography was cumbersome due to architectural limitation. This issue was addressed to ensure that the administrator would be able to launch a new website in less than a day.

How this was achieved?

This was achieved using Domain Access Module that helps to manage multiple domains from a single code base. Other features that Domain Access provides are it allows sharing content, users, permissions and other Drupal configurations across the different affiliated sites.  It also facilitates managing the sites using a centralized interface. The modules used are

Domain Access

The Domain Access project is a suite of modules that helped to have multiple domain functionality from one Drupal installation and a single shared database.

Domain Blocks

Domain Blocks is an additional to Domain Access modules that enables domain specific visibility settings for blocks.

Multi Lingual site

Easy Management of Content: Translation the MNC’s current website didn’t provide options for adding new sections and menus for each website / sub-sites.This made the translation process cumbersome as each page needed to be updated separately.

How this was achieved?

The MNC is a Multilingual site where certain domains had unique languages. The functionalities were achieved using the following modules.

Multilingual  Content

The Multilingual Content Module, part of the Internationalization (i18n) package, provides a set of languages that can be enabled for the site. The editor can enable any of these languages as and when required for the site for a particular domain. While translating a content, it provides an option of languages in which the content can be translated.

Multilingual Select

The Multilingual Select Module, part of the Internationalization (i18n) package, provides a select box to make selection of language to which the content should belong to.

String Translation

The String Translation Module, part of the Internationalization (i18n) package, helps to translate the language of the blocks titles used across the site.

Block Languages

The Block Languages Module, part of the Internationalization (i18n) package, allows you to configure for which languages each block should be visible.

Menu Translation

The Menu Translation Module, part of the Internationalization (i18n) package, allows users to select a translation mode for each menu items.

Social Media sharing

This is a new functionality added to the new site where each of the resource item could be shared in Social media

How this was achieved?

The Sharethis Module was used to bring in the Social Media functionalities. This module has the flexibility to  customise the share this icon by overriding the option Custom Buttons via CSS  for social media icons.

Introduction of New Sections and Content Strategy

The new site would have new sections that contains several types of resources:

  • Video

  • Case Studies

  • Blogs

  • In the News

  • Press Releases

The existing sections would be reviewed for content architecture best practices.

Editorial Interface

The default Dashboard module was used to access all the defined functionalities for the editor from a single UI rather than going to different pages using the menu.

Additionally a separate menu was built for the editor using Admin Role Menu module. 

It also grouped the functionalities into two groups

Manage Content - This helped in editing any content/ information related to a particular domain and had links to the Manage Content interface.

Manage Site - This is much more generic and using this category changes can be made across domains or for multiple pages in a domain

Geo Redirect

When a user accesses the Homepage, by default the he is presented his Country's homepage based on his IP. He is provided with a drop down to navigate to other domains.

How this was achieved?

The Module used to achieve GeoRedirect is ip2country and it helped to detect the visitor's IP address to identify the geographical location (country) of the visitor and accordingly the domain for that country is loaded


The search option was customized to search all the content across the domain. It excluded searching of images. Another key component to the search option was that it won’t list contents from other domains. Custom Search module helped to customize the default search options for the site.

Please note all  banner content we not indexed in search using Custom Search module


Search Engine friendly architecture:  The current website was not search engine optimized. The new website would implement SEO best practices to make the site Search Engine friendly.(Sample Pattern - http:// <cc>.<domain>.com/<lang>)


With several High- definition images and various CSS functionalities and functionalities like Subdomains, the performance of the site was having an impact. This was a key challenge as anonymous users usually avoid slow-loading sites.

How this was achieved?

Achieving Multidomain multi-lingual site affected the performance of the site. In order to tune the performance so that it is fast, several models were used :

  • Boost Module - It ensured that for certain static pages, Caching was used. Every Time there was a visitor, it would load from the Caches.

  • Boost Crawler - For high traffic pages and media rich pages in the MNC ‘s website, Boost Crawler helped to create the cache page every time the first visitor visits the page. The cache is then preserved for the next visitors for that page. The cache continues to remain unless some content in edited or the cron is run. Hence the performance was really increased due to the use of Boost Crawler.

  • Image Lazyloader - Previously for the Home Banners in the MNC, all the banners images were parallelly loaded. Heche it had an impacted the loading time for the Home Banners. Image Lazyloader sequenced the loading of the banners and hence loading speed of the Home page was minimised considerably.

Sitemap XML

The Sitemap XML module was used to create the domain-wise sitemap. Hence on posting a content, the URL will be updated in the sitemap without any human intervention. (URL Pattern : http:// <domain url>/sitemap.xml)

Additional Features

New functionalities were brought in the in the interface

Clear Cache- The editor can clear the cache immediately rather than waiting for the Cron to run so that the changes he made is immediately reflected in the site

File Browser- This helped to re-use the images that has been used in the site. Hence it prevented the upload of same image multiple times.

The new website also brought in additional features link Related Content. The website had features that would allow the administrator to link content to a section / page from other sections. For example, the page on “Software Solutions” can be linked to blogs and case studies related to the service. This would be done by introducing a “Related Content” block on the page.

Oct 13 2014
Oct 13

DrupalCon Amsterdam Keynote by Dries was interesting and different.

Highlight of the keynote was to increase Community contribution.

Towards this Dries spoke about expanding the reach of Drupal to Asian countries where Language is the barrier by working with translators. Also work with local groups to strengthen Drupal presence in these countries.

The most important point that Dries spoke about was the need for increased participation from Companies using Drupal & End users using Drupal, not limiting community contributions to only Hobbyists. Opening out a chance for Hobbyist to still do interesting stuff while the new contributors could take up more of the bugs & support tasks.

The “George will Do it” attitude of FREE RIDERS will no longer be acceptable.

Dries already has this working with the Drupal.org project where Drupal Association has taken up routine tasks making responses on issues faster, while the community participation are for idenitifed more specialized efforts.

He spoke about a reward system to promote the above contribution. The reward system would include:

  • Commits linked to organizations & end users
  • Commits identifying different kinds of contributions
  • Introduction of organization pages with badges/metrics indicating participation Mockup of organization page
  • Organization points & points based Ads on Drupal Home page

Update on Drupal 8

  • As we move towards a stable release, porting Drupal7 modules to Drupal 8 becomes increasingly important.
  • Documentation requirements will also increase.
  • More on Drupal 8 features checkouthttps://www.drupal.org/drupal-8.0

Must see sessions that stand as references:

Drupal.org Infrastructure

Drupal Association support to maintain routine tasks frees up community contributions to more specialized areas.

Team is working on an Agile mode with faster turnaround on issues: Some of the recent changes include reorganizing the profile page,maintainers can give organizations credit! Watch out for more changes in the coming weeks.

Revised content strategies, checkout the Drupal Association RFP at: https://assoc.drupal.org/blog/tvn/drupal.org-content-strategy-announcing...

Jeremey and team have been freed up to work on the new testbot integrations to open to the community different environments for testing with better efficiency. Check out their session at https://amsterdam2014.drupal.org/session/modernizing-testbot-future-drupalorg-automated-testing for more details.

Another aspect that the team is working on is to move Groups.drupal.org to D7 - looking at a commons based platform. Those of you with a lot of go migration experience, specifically commons migrate watch out for tasks to contribute at: https://www.drupal.org/project/groupsdrupalorg

Met the Community

[embedded content]

TVN & Neil, from Drupal Association,

John Albin, Drupal 8 Mobile initiative lead, now Senior Front end Developer with Previous Next Australia,

Megan from Drupal Association,

David and YesCTat the sprints,

Jeremy dev-tools team member working on the testbed initiative, CTO, Singapore,

Rahul an inspiring CEO from India’s leading Drupal firms! and More… Was indeed a pleasure to meet people from different countries all unified under the Drupal umbrella.

Amsterdam City

September has the best weather. The people were extremely friendly. I enjoyed the excellent public transportation system - used the tram, metro & bus to go around the city. Not to mention a long Car to see the windmills. Some must dos are Cycling, Visit to the Museums, The Canal Cruise, Drive to see The Windmills, Eat Cheese & Chocolates :)!

Sep 28 2014
Sep 28

I am proud to receive a Grant from the Drupal Association to attend DrupalCon Amsterdam.  As a note of thanking the community, I started Day 1 here, Saturday, 27th September Volunteering to help Tote Bag and Badge Stuffing activity at Onyx Lounge at Amsterdam Rai. A team of around 15 of us from different nations were busy in the morning making the Tote Bag with all the conference material!

Want to checkout what Drupalcon Amsterdam is all about, here is the official promotional material:

Just around lunch after completing the bags, moved on to Amsterdam Central to join the sprinters at Berlage workspace (city center),Oudebrugsteeg 9, Amsterdam. I was accompanied & guided by a Pro sprinter, David, from Spain. We took a tram from RAI to Amsterdam Central. This was a spectacular ride & got a tour of the city.

Want to join and be part of the Amsterdam sprints, checkout post by Gabor at https://groups.drupal.org/node/427578.

Reached the sprinters workspace and was welcomed by YesCT, one of the organiser of the Amsterdam Sprints. I then soon joined Neil, TVN and the Drupal Association team to get started with the drupal.org sprints.

It was lovely to meet the community members in person. I am looking forward to more sprinting and fun with the Drupal community today!

Sep 18 2014
Sep 18

In a recent project I got the opportunity to tweak Drupal’s Apache solr queries.In this blog post I will present to you some of my favourites.

1. Apache Solr MultiCore Join

2. Boost Query

3. Sort Query

Note: To prepare apache solr query use hook_apachesolr_query_prepare($query)

In this hook are available the entire query object. Prepare the query by adding parameters, sorts, etc.

This hook is invoked before the query is cached. The cached query is used after the search such as for building facet and sort blocks, so parameters added during this hook may be visible to end users. This is otherwise the same as HOOK_apachesolr_query_alter(), but runs before it.

1. Apache Solr MultiCore Join

Scenarios where you need to work on documents that have  relationships and the documents have different information that can not be denormalized, scenarios where the search needs to throw results based on this relation is when we use Join. As the documents can not be denormalized, we will need to maintain multiple cores to index them.

In Drupal this could be the case when we are using Node reference or multi valued fields.

Apachesolr Syntax:

http://localhost:3033/solr/QUESTINORE/select?q={!join from=fromFieldname  to=toFieldname fromIndex=fromCoreName} fromQuery

Do it in Drupal:

$query->addFilter('_query_',  ‘{!join from=fromFieldname  to=toFieldname  fromIndex=fromCoreName} fromQuery’);

Note : The join query will executed only in "from" documents. Also in Apache Solr you can not return fields in the "from" documents to the result. The values in the second core are only used to refine the search - but are not available in the results!  

2. Boost Query

Drupal ApacheSolr module has interesting options to rank the relevancy of your results based on fields in a particular content type. eg.the field that stores the cost could be ranked higher. This results in a content getting unified ranking for all users.

But increasingly today we want to be able to rank the results not just based on generic parameters but based on profile of the user. What needs to be ranked high for one user is different from that for another user. So what we need is a sort of dynamic ranking, which can be easily achieved using Apache Solr Boost Query.

Boost Query needs dftype edismax

Apachesolr Syntax:   

http://localhost:3033/solr/QUESTINORE/select?defType=edismax&bq =field_name:value^95

Do it in Drupal:

$query->addParam('defType', 'edismax');
 $query->addParam('bq', 'field_name:value^95');

3. Sort Order, newest at the top

The Default sorting in Apache Solr is based on relevancy, to sort a result set based on the created date use boost query on the date field.

Apachesolr Syntax:


Do it in Drupal:

$query->addParam('defType', 'edismax');

Apr 21 2014
Apr 21

Apache Solr is a powerful search engine which can meet complex search requirements. While Drupal simple search needs can be met out-of-the-box, complex requirements such that involve multiple data structure with one-to-many and many-to-many relationships would need custom indexs to be built to meet the specific needs.

This project I recently worked on was one such. I found the following links helpful:

          1. How do I make a custom entity update or create automatically update the solr index?

          2. Using apachesolr to index custom data

Here’s a step-by-step process to build a custom Index in Apache Solr.

Step 1: Define a Custom index hook_entity_info_alter() is used by Modules to alter the information that defines an entity.

In our case as the information in the custom table was needed only for indexing  in Apache Solr, directly using hook_entity_info_alter() alter we defined an Index & a Bundle name for a non existing entity. Using this entity we also define a custom index.

Implementation of
function mymodule_entity_info_alter(&$entity_info) {
// add my custom mysql table to entity
$entity_info['index_name']= array('apachesolr' => array('index' => TRUE),'label' => 'Index Name');
$entity_info['index_name']['bundles']['bundle_name'] = array('apachesolr' => array('index' => TRUE), 'label' => 'Bundle Name');

Step 2: hook_apachesolr_entity_info_alter() be available to us as a custom index in the Apache Solr index settings at admin/config/search/apachesolr.

This is a hook is used to define additional  information to the custom index defined in the previous step. The additional information include a status callback, document callback & reindex callback.

Status callback:

Normally in apache solr for content types Apache Solr module maintains a table that sets the status of all nodes in the system that are indexed. This table has the fields: entity_type, entity_id, bundle, status, changed. The status field is used to track if the row needs update in Apache Solr or not.

In our case we have added a custom column to our custom table to manage the same. Using a callback we manage the status of each row that needs to be indexed.

The status callback defined is called when the custom entity needs an update of the index. Status set to 0 if it needs index & 1 if it is up to date. This information is stored. Typically apache solr automatically updates this information on node event. In the case of a custom table the status needs to be updated based on custom events.

Document callback:

Defines an array $document and helps us build the custom apache solr field index. This function gets called for every row that is getting indexed - mapping fields in our custom table to apache solr index. here we can also add additional computed fields that may be needed only at the time of search. Refer field definitions in the schema.xml that ships with Drupal's Apache Solr module before defining field types using 'ts', 'is', 'tm', etc.,

Remember while defining the document, each row must be associated with an unique id.

$document->id = $document->id.$entity->entity_id;  (the document id must be unique because this only mapping reference of apache solr indexed rows )

This document callback is called by functions related to indexing in Apache Solr listed below apachesolr_index_entity_to_documents($item, $env_id) - function that Loads entity queued for indexing and converts into one or more documents that are sent to the Apache Solr server for indexing.

apachesolr_index_entities_document($row, $entity_type, $env_id) in file apachesolr.index.inc

You need to add the attached patch to these indexing function to make custom entities work. I have also created an issue for this patch at https://drupal.org/node/2201309

Reindex  callback:

This is used to add any additional functionality at the time of reindexing.

* Implementation of
* hook_apachesolr_entity_info_alter()
function mymodule_apachesolr_entity_info_alter(&$entity_info) { // define custom index in entity
// myentity should be replaced with user/node/custom entity
$entity_info['index_name'] = array();
// Set this entity as indexable
$entity_info['index_name']['indexable'] = TRUE;
// Validate each entity if it can be indexed or not. Multiple callbacks are
// allowed. If one of them returns false it won't be indexed
$entity_info['index_name']['status callback'][] = 'apachesolr_index_index_name_status_callback';
// Build up a custom document.
$entity_info['index_name']['document callback'][] = 'apachesolr_index_index_name_solr_document';
// What to do when a reindex is issued. Most probably this will reset all the
// items in the index_table
$entity_info['index_name']['reindex callback'] = 'apachesolr_index_index_name_solr_reindex';
// optional values
// Index in a separate table? Useful for huge datasets.
$entity_info['index_name']['index_table'] = 'your custom table name';

Apr 05 2014
Apr 05

Did you know that the Drupal.org Software working group appointed by the Drupal Association provides continued support for improvements of the Drupal Dev tools & Drupal.org? And did you know they appointed the Drupal Dev Tools team, the community representatives whose expertise further improve Drupal.org?

I recently became a part of the Drupal Dev Tools team as their Project Manager. This gave me an insight into to the large amount of work carried out towards maintaining the Drupal infrastructure and to support Development tools.

The broad area that falls under the radar of the Dev tools  team include the project pages, issue queues, test bots & automated testing infrastructure, Git repository & the integrations, various metrics, Security reviews, Documentation, 3rd party integrations.

Towards my new role, my first task was to understand where & how the team worked. I worked out a list of groups, projects & tags on issue queues where you could see them in action. This could be a good starting point for anyone who is looking to understand the Drupal Dev Tools team.

To know the team checkout: http://drupal.org/node/2202557


groups.drupal.org/drupal.org or Drupal improvements group: place where you can collaborate on anything that is to do with improving Drupal.org. the Drupal Association is an active part of this group.

groups.drupal.org/drupal-org-testing-infrastructure All about testing on drupal.org


Drupal.org customizations: Module used to maintain customization, navigation & custom pages for Drupal.org - submit feature requests or enhancements.

1.  Drupal.org D7 upgrade QA : This is used to report bugs in the D7 upgrade & normally moved to appropriate issue queue for implementation. (Appropriate contrib module queue, Project issue queue or for customizations to the Drupal.org customizations queue)

2.  Project ApacheSolr integration

3.  Project issue tracking: This module provides the issue queue functionality - report issues in the issue queue here.

4.  Drupal.org Testbots: This project is a place for issues to be filed or questions to be asked about the Drupal.org testbots and all the projects related to them - report testbot issues here (Drupal core project + contrib).

5. Version Control / Project* integration This project integrates version control with project module. - report version control related issues (Drupal core project + contrib)

6. Bluecheese The theme that is part of Drupal.org is now available as a contributed theme downloadable at Drupal.org.

Stay tuned with an updated list of modules at: https://drupal.org/node/27367


Some of the key Dev Tools tags are:
Watched by the whole team
-  DSWG Dev Tools Team priority: issues we are seeing through to completion.
-  Needs DSWG Dev Tools Team feedback: community tag to get feedback from us. We untag when the issue is not blocked by us.

Watched by team members
D.o UX: issues non-trivially affecting Drupal.org’s user experience.
Drupal.org 7.1: Regressions from D6

Other tags used by community
Drupal.org priority
Developer improvements
Core mentoring on d.o
Core metrics on d.o

We will soon be mentoring noivce users to contribute towards drupal.org. Interested to work with this team feel free to reach out to me using the d.o contact form or on twitter @shyam_raj.

The Dev Tools team is conducting public meetings. Want to join & help Dev Tools team, need support or just talk to the team, join the meetings!

Follow us at: groups.drupal.org/drupal.org, watch out for more announcements from us.


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