Client Overview
Ashoka is a non-profit organisation that builds and cultivates a community of change leaders who see that the world now requires everyone to be a changemaker.
Ashoka approached QED42 for feature enhancement and web architecture maintenance. Their existing websites were on Drupal 7 and were looking to incorporate localization of content by translating it into one or more languages. The Ashoka.org website was operational in 40+ countries before QED42's involvement and now the website is served in over 90+ geographies. The client wanted each country to have a different version of the site in terms of content and context.
Industry Overview
Non-profit organisations are in a constant need to improve their reach and visibility. Digital provides the ability for a message to reach more people all around the world. Drupal is used by hundreds of NGOs to create, customize, and amplify their mission in order to effect real-world change.





I would like to thank QED42 for providing Ashoka with a team of curious, excited, always-on-their-toes, hardcore professionals. What makes this relationship special is the heart and soul these developers bring into their work. Over the 3 years, we have grown to a full-fledged development team that successfully migrated, manages, and sustains a complex, multilingual website.
Requirements
-
Maintaining the technical infrastructure
-
Migrating Ashoka.org’s parent website from Drupal 7 to Drupal 8
-
Content architecture enhancements to support their new website design
-
Localization has been the primary requirement from the start of the project. Every page on the site has the potential of having a localized version for all the countries.
Localization
-
We could have achieved this in multisite setup. However, maintaining a multisite setup could be a big challenge for smaller teams that maintain a site for all the countries. Thus we chose to go the multilingual way.
-
We used Drupal core’s in-built ability to create a language for each country. (For eg. EN-IN, EN-US, FR-FR, FR-SN, etc.)
-
There are standard blocks and localized blocks for each region/country. As per the selected regions, the localized block content keeps changing. (For eg. client testimonials, featured stories, etc.)
-
We created a hierarchy of languages which allowed an option to fall-back to shared content. (For eg. Content created in EN (English) is served on both EN-IN and EN-US; however, the content editors from each country can choose to override the entire content or a part of it.)


Technical Infrastructure Maintenance
-
Server Maintenance - Clients websites were on AWS servers, and they required maintenance and CD (continuous deployment).
-
Website maintenance - This included keeping the core and contrib updated along with bug fixes.
Drupal 7 to Drupal 8 Migration
-
The contrib modules in Drupal 7 core did not completely support localization and component-based architecture. Migrating to Drupal 8 solved that.
-
Content types, taxonomy, vocabulary, and other configurations were developed in Drupal 8 to enable optimizations.
-
We then mapped data in the respective fields from Drupal 7 to Drupal 8’s content architecture and conducted mapping for 93 Drupal entities which included migration for content types, paragraphs, taxonomies, users, media, URL aliases, and redirects.
-
The team wrote automated scripts for automated migrations and executed the migration to Drupal 8.

Content Architecture for Component-based Design
-
Ashoka wanted to redesign their website using component-based design.
-
The existing content architecture did not support this.
-
We changed the content architecture that facilitated the heavy use of paragraphs to build components.

Content Management
-
We used the media subsystem and media library provided by Drupal 8 core, to manage digital assets with ease like, videos, images, documents, etc.
-
We used paragraphs to allow the content editors to create lists/rows/columns of components as the Drupal core does not provide this ability.



Salesforce integration
Ashoka used salesforce to maintain their fellow data. Our integration allowed seamless syncing of data from Salesforce to our Drupal 8 website.
SOLR search integration
SOLR search is implemented for search indexing. The entire Drupal content is indexed in SOLR, allowing a faster search.
Third-party recruitment portal
The integration enabled fetching of all the updates and changes made to the career portal (Jobvite) onto Ashoka’s career page.
Salesforce integration
Ashoka used salesforce to maintain their fellow data. Our integration allowed seamless syncing of data from Salesforce to our Drupal 8 website.
SOLR search integration
SOLR search is implemented for search indexing. The entire Drupal content is indexed in SOLR, allowing a faster search.
Third-party recruitment portal
The integration enabled fetching of all the updates and changes made to the career portal (Jobvite) onto Ashoka’s career page.

Salesforce integration
Ashoka used salesforce to maintain their fellow data. Our integration allowed seamless syncing of data from Salesforce to our Drupal 8 website.
SOLR search integration
SOLR search is implemented for search indexing. The entire Drupal content is indexed in SOLR, allowing a faster search.
Third-party recruitment portal
The integration enabled fetching of all the updates and changes made to the career portal (Jobvite) onto Ashoka’s career page.

Salesforce integration
Ashoka used salesforce to maintain their fellow data. Our integration allowed seamless syncing of data from Salesforce to our Drupal 8 website.
SOLR search integration
SOLR search is implemented for search indexing. The entire Drupal content is indexed in SOLR, allowing a faster search.
Third-party recruitment portal
The integration enabled fetching of all the updates and changes made to the career portal (Jobvite) onto Ashoka’s career page.

Business Benefits
Able to localise content for a better and broader reach to the audience.
-
The website has localized versions for 90+ countries at the moment with more countries added every couple of months.
Re-design the website using component-based designs
A healthy and fast performing website with:
-
Average load time per page of < 5 seconds
-
Average download size per page of 2.5 Mb
Freedom and ease for content editors in different regions to alter content as per their requirements.
We enabled each country to have its version of the client's website in terms of content and delivered rich content authoring experience via component-based page structure.
Technology Stack



Reimagine customer experience for your business.
Related Work
Elevate your digital experiences with us.