The importance of integrating e-commerce and content management on a deeper level (Let’s Tango)
With over a decade of experience in developing complex content-centric web solutions, one of the more interesting parts of this journey was the process of dancing on the edge between CMS and other systems like CRMs, ERPs, etc. I call it The Integration Dance because there is always that other side with which you need to be in sync. The process is very dynamic and fun but you can easily step on each other’s toes or even fall down.
The integration is a usual part of the development of any web solution that has a business objective. If the site is selling something, it needs to integrate with the eCommerce solution; if it’s selling actual goods, it needs to integrate with the ERP; if it serves as a customer communication channel, it needs to integrate with the CRM; and so on.
Most of the time the integration feels like a dance in the disco where everybody has his or her own moves and it rarely happens that two people are getting jiggy in the same way :) In this post I will talk about eCommerce integration and why I think it needs to be improved. It should be more like the Tango!
A long time ago (in Internet terms) people got the idea of selling stuff on the web. A lot of solutions emerged to cover that use case. They got more complex over the years, resulting in many eCommerce solutions. If we talk about the open-source PHP-based platforms, then Magento stands out as the most popular one.
A lot of CMSs implemented the basic shop features (eZ Publish had these features since version 3). Similar to that, all eCommerce solutions have some content management features. In reality, both content management systems and eCommerce are two very big niches to handle and it is hard to make one product that works great in both, or it is at least hard for a vendor alone. In the eZ Community there are examples of eZ partners doing great eCommerce on top of eZ (e.g. Silver Solutions) for their own projects, but the question is, are they willing/capable of scaling it?
I am not into the Magento community myself, but my friend Tomislav Bilić from Inchoo has been a part of it for years, and he tells me that they have a similar situation. There are extensions/modules that offer good content management, but Magento itself is not focused on that. It is designed and implemented to sell goods on the web.
A common approach to combining CMS and eCommerce is to either use one product and be happy with the simple additional features to cover the other side of the story or to take the two products and integrate them via subdomain, iframe, REST, or SOAP (or something even better, read on!). What is optimal depends on the use case.
If you are a retail store with gazillion of products, you will need excellent filters and faceting, SEO, discount strategies, etc. on your web shop. You might not have the time or resources to write an article for each of the products you are reselling. But if you are a brand and you want to tell your story and connect it to your products, the way you will manage your products and your content together becomes very important. Someone called it content marketing, but I just call it storytelling.
If you are writing an article or a blog post about an important topic, you want the related products to be suggested on the page. On the product page you want to give more information to the customer by putting links to the related blog posts and indirectly linking more products (upsell/cross sell opportunities).
To make this happen seamlessly, the CMS and the eCommerce system need to be tightly integrated. Like in Tango, with no air left in between. :)
The potential customers should be able to explore the site, leave feedback on the articles, rate and buy products and ask questions. So the content, including information on the product and user generated content, should be in the same silo so they can be mixed manually or automatically.
What if content is the product? In that case, there is no ERP or PIM. You sell ebooks, PDFs, videos, articles, reports, e-tickets, etc. There is a CMS that is handling that content already, but you need to sell those pieces. You need subscriptions, micropayments, etc. You might not need shipment calculations, but you still need the checkout process, discounts, taxes and payment processors. You basically need an eCommerce solution, but one that is, again, tightly coupled with the CMS. A customer buys a yearly subscription which gives him access to certain content in a set timeframe. The user policy subsystems and paywalls in the CMS need to take this into account.
So for products to become content and content to become products the system needs to be either a single solution or a deeply integrated one with CMS and eCommerce using the same data and both being easily customizable.
There might be an existing system that offers a powerful CMS and powerful eCommerce features, but I didn't came across any, at least not in the open source space. I would certainly love to hear if something like this does exist.
eZ and Sylius, go, go, go!
In the meanwhile, we are not just dreaming about this, we are actually building it. Two years ago we learned that there were a few interesting eCommerce projects in the Symfony community. A year ago we started a project that eventually brought us to open source our integration of eZ and Sylius in May this year. We believe that both products are great in their domains and our contribution is focused on combining them on top of one Symfony instance with the right configuration, so that the above mentioned use cases can be met. It is not a silver bullet, but it might be a good fit for the projects where content marketing and/or content monetization is important or even crucial.
The integration project was presented at SymfonyLive in London in September, and we held the first workshop at the Summer Camp in August. We will also demonstrate it at the eZ Conference in NYC in November. Be there :)
Feel free to ask about the topic here or on Twitter.