Sector(s)
This project was about building a web product for an e-commerce company, who wanted to sell e-commerce extensions to different websites. Ideally, it would be a multi site setup for different clients who would want to set up an e-commerce extension for their own websites by purchasing this service.
About the project
Goals
This is a classic example of a complex drupal multisite set up heavily relying on Aegir. Ideally any website owner, who wish to set up an ecommerce store, but don’t want to go through the pain of implementing a full blown ecommerce into their site, would purchase the service from this client, and would select a few basic features, like subdomain name, and package and template they wish to subscribe to. The client already had different templates for ecommerce stores, which are nothing but drupal installations with different features, themes and set ups. Once they select this, Aegir will roll out a new drupal website with the selected template, with the subdomain what the client wanted. Just like the example, http://shop.peaceandquiet.biz/ is actually an ecommerce extension of http://peaceandquiet.biz/. While http://peaceandquiet.biz/ is not a drupal site, they have purchased a service from my client, and then wanted to set up an ecommerce store at http://shop.peaceandquiet.biz/ which is rolled out by Aegir system automatically with the pre selected templates (called drush make files), which are nothing but complete drupal set ups ready with themes, modules and configurations like necessary content types for products, informational pieces and banners.
Requirements & Major Challenges
Overall, this was a simple ecommerce site in Drupal, with standard shopping cart, checkout rules, wishlist, coupons etc. but the main challenge of this project was the multisite setup and Aegir. Basically client wanted to sell this platform as template to other vendors, and so he required something through which he could roll out new sites everyday without much technical input. Also, he should be able to manage those sites with each and from a single dashboard. It immediately prompted us to suggest Aegir, as it is an excellent solution, which does exactly the same. After the site was set up, our team and the client’s server team worked together to roll out and successfully test the first version of the site set up using Aegir. Then client gave us an order of more than 20 templates with various configuration so that he could just select those while rolling out new sites. These were configures and our team created different drush make files for each configuration and setup. Needless to say, the solution was just perfect and was exactly what the client needed.
Outcome
The Aegir solution we suggested was just perfect for the client. Had it been a normal multisite setup, things would not have been so easy for the client and quite a few things which were easily achievable with Aegir would not have been possible with simple multisite setup. The configuration involved and the journey itself was very challenging but at the end, the client was extremely happy with the solution provided and that is what we call a success.
Why Drupal was chosen
When the client contacted us with the requirements, we were convinced that Drupal Commerce + Aegir setup would be perfect for their requirement. They had a set if features in mind for the ecommerce in Phase I, but had plans for rapid expansion and Drupal Commerce with it's huge array of allied modules would be great for the long term. Also, based on how the multisite setup needed to be, Aegir was exactly what was needed. Client's team did some research and they were quick to agree with us regarding the architectural recommendations that we made.
Technical Specifications
Drupal version:
Key modules/theme/distribution used:
Main aim of the site was to employ Aegir for multisite deployment. We used some modules to assist us with that. Other main aspect was the in depth Drupal commerce integration, like custom line item types, complex discount rules, complex shipping rules etc, which were provided by Drupal Commerce contrib modules and implementing the Drupal Commerce Hooks and APIs.