We were approached by a startup made up of industry professionals who thought they could bring up an improved stock footage business model with quality footage at the right price. We knew it was going to be a challenged but we accepted it and decided to implement an e-commerce platform with high quality standards without blowing our client's budget. We decided Drupal was a good choice to base our development due to its amazing capabilities as a CMS and it's ever growing e-commerce platform (Drupal Commerce) which also has a great flexibility for customization.
After 9 months of accumulated development time and full testing, B-roll Cinema is a site that was launched in 2018. The site is aimed to help users to obtain video clips from a large library of high quality footage. For the website implementation, we were able to leverage a lot of the features provided by the Drupal Commerce module suite so we could focus on implementing the business model without spending too much time on building the underlying e-commerce platform from scratch. The development process was, thus, budget efficient, which translates into lower prices for their customers.
Drupal Commerce provided out-of-the-box many features that allowed us to setup the following just by setting up through the administrative interface:
- Create a digital product (Video).
- Create a subscription model.
- Create different payment options for either videos or subscriptions (Product Variations).
- Define a workflow for anonymous and authenticated users.
- Connect to a payment gateway (Authorize.net).
Nevertheless we needed to customize the process a bit more. We were able to do so through a custom module thanks to the architecture of Drupal Commerce. In terms of the value added through customizations we provided the following:
- Simplified checkout flow.
- Customization of purchasing from video page through either individual purchase or subscription.
- Subscription validation and renewals.
- Validation of acquired videos download.
- Enhanced security during checkout process.
Custom Content Import
Our client had its own process and system for managing and maintaining the videos library, we didn't want to force them to adapt to a new process, but instead we adapted the tool to their process. For this we used Migrate modules, (migrate , migrate_plus, migrate_tools, migrate_source_csv) to import the content provided in a CSV spreadsheet which was the output the client could provide us. A few challenges were faced in this process, particularly the following 2
- The fact that due to the size of the videos, these would need to be moved from the source to its final destination which were located into the same server
- The videos were tagged with locations and sublocations in a hierarchical way provided in a flat content source (the CSV spreadsheet file)
We could overcome these challenges thanks to the Drupal migration architecture that allowed us to hook into the pipeline with custom source processors.
In terms of design, our client gave us the general guidelines and we helped to convert these guidelines into a look and feel that will provide a uniform and consistent brand presence. Thanks to the bootstrap framework we could leverage many of its responsive capabilities to make the site look good in both desktop and mobile devices.
The website was deployed over a scalable architecture thanks to containers technology with Docker, which allows us to have the infrastructure configuration in code. We designed the infrastructure architecture to be able to grow as the demand grows and also to provide high availability. It is relatively easy to deploy additional servers as needed with minimal or no downtime.