Pushing Drupal Into The Application Realm
Advanced Velocity's customer, a national office retailer, needed a portal that would act as a unified hub for suppliers, merchants, and monetization teams. We used Drupal's functionality along with Symfony Components to bring this application to life.
About the customer
The customer is an American retail company that has served office supplies to businesses globally through office superstores, retail markets, postal, Internet, partner distribution networks.
years in operation
The customer offers many programs for suppliers to advertise themselves and improve their brand awareness and sales. They needed the Partnership Portal to not only allow them to attend/manage informative events but also act as a complete campaign management tool.
The portal needed to be built in a phased manner, starting with a basic supplier-facing website as the minimum viable product (MVP), to be launched in time for their Supplier Summit.
Their goals for each stage were as follows:
MVP: External/Supplier Focus
Phase 1: Internal Process Focus
A unified hub for the customer and their business stakeholders to communicate the variety and benefits of the customer's programs to improve sales and brand awareness of stakeholders' products/brands.
A unified hub for the customer, and their business stakeholders to facilitate the workflow for campaign and event management, and to provide a central location for all files and reporting around these activities under a single platform.
Drupal isn’t the right solution for everything, but it is a very capable solution for most web applications. And at Axelerant, we excel at getting things done with Drupal.
- Drupal is a web application framework with a powerful CMS on top.
- It provides many of the constructs to model content, whereas the framework built on top of Symfony Components provides the capabilities to bring it alive.
- There is a large and thriving community supporting its rich ecosystem of a highly functional core and a vast space of contributed extensions.
- Further, Drupal is highly flexible which makes almost every kind of integration possible.
This mix of features and flexibility made Drupal an excellent choice for building this hub where the customer can cater various programs and events to vendors while customizing the available content as per the vendor’s tier.
Delivering an MVP with rapid development
Since this is not a typical Drupal use case, it was important to Axelerant and to our customer to know if what we were setting out to do was feasible.
We started by building an MVP that addressed the customer’s most important areas of concern. Once we had demonstrated that such a system could indeed work effectively, we started the first phase, with more requirements, such as support for building campaigns with elaborate workflows.
As always, we followed our guiding principle of looking in the existing “contrib” space first for a solution; contributing next; and if both of these are not feasible, we write a custom solution (when it involves either proprietary technology or highly specialized code).
Application development with Drupal
Drupal 8 is built using Symfony Components which means that it boasts a strong and robust foundation built by the best minds in the web industry. The same components and design principles are available to developers, along with Drupal’s rich API space and functionality. This allows truly flexible and rapid application development with Drupal.
Utilizing Drupal’s content model to build functionality
One of the most important yet most boring parts of building an application is defining its storage. When building an application with rich content, Drupal provides a robust schema for free, allowing us to focus on functionality. We, at Axelerant, believe in delivering the best value to our customers by balancing reuse of Drupal’s content model with extensibility after considering our customer’s needs for performance, scalability, and long-term sustainability.
The customer’s needs for advanced access control (depending on the vendor’s tier) for its media-rich content were easily fulfilled with Drupal and our expertise.
Best of both worlds: Drupal's content model and Symfony's capabilities
Drupal is one of the leading content management systems in the industry. Apart from the rich developer experience, this is due to its highly extensible content model. The ability to model content and even data with a flexible field type system (vastly enriched by the contributed modules) makes it possible for application builders to quickly define a structure to define storage for their applications. The content model could represent simple blog posts to media-rich reusable components embedded in interconnected documents to, well, anything you can imagine. The Drupal API allows developer-friendly access to define workflows and functionality not otherwise available.
Minimalism: Integrating Drupal’s API to build an application
With the vast space the Drupal API covers along with Symfony components, developers are able to reuse boring code and focus on the interesting business logic. This allows us to efficiently build applications which may not appear to be Drupal-like at all. At Axelerant, we pride ourselves on understanding the depths and breadths of the API surface which allows us to write just the minimum amount of custom code on the top of community-tested and supported code.
Development practices ensuring quality and consistency
At Axelerant, we work hard to deliver high-quality solutions. Just like this client, all our customers, we followed our engineering standards from beginning development to each deployment on testing servers. Following these guidelines ensured we were able to deliver value with each commit and test case.
Reduced Need for Customization: We helped develop a modern, responsive, user-friendly platform to meet the customer’s requirements. They are now able to offer a consistent experience to suppliers across devices and programs, with minimal customization needed from their team.
Long-term Cost Reduction: Our experience with Open Source technologies, particularly enterprise Drupal, helped us deliver a solution that allowed the customer to lower their costs in the long term.
Faster Go-to-Market: By using agile methodology, our team was able to rapidly align with the customer, collecting and applying feedback at an accelerated pace. We validated the initial concept with end users, identifying critical features for a key set of users, and getting their buy-in.
Overall, this Drupal-based solution from Axelerant and Advance Velocity allowed the customer to get the best of both worlds—cost efficiency with flexibility. They gained the ability to get started quickly and inexpensively without having to go through proprietary licensing hurdles or costly core Java based implementations to get there. They also have the ability to mature to a large scale, fully supported, enterprise-grade implementation.
Given that the current state of the global economy leaves almost any industry budget challenged, it made financial sense for the customer to leverage the Drupal community equivalent.
Additionally, the customer has entered into a long-term support and maintenance association with Axelerant.
Multi-Tier Partner System
Above: Personalized “partner portal” journey design for the clients of the customer.
Campaigns Functionality With A Sophisticated Workflow
Access Controlled Media Library
Above: Custom content blocks, specific to different user groups.