• Autumn Leaves

Using a CMS to handle E-Commerce Transactions


You are here > Home > Blog > Using Umbraco as a CMS E-Commerce Application


As a general rule of thumb anything transactional within a website is usually handled by an attached database instance. This is usually good news because databases can handle lots of data very efficiently. But what if you want to add transactional items into your Content Management System (CMS) tool?

By definition the CMS is there to handle your content not to manage thousands of data access requests.

This blog post discusses how you would logically add an  e-commerce module to a CMS. The CMS in question is Umbraco (as it's the most flexible for small to medium sized businesses around).

If you open our online demo of http://www.belgravestoves.co.uk/ you will find a normal e-commerce website complete with shopping cart functionality, products, checkout and all the functions you would expect.

The backend is managed by a CMS not a defined ASP.net web backend.

This means that the way you create new pages in Umbraco is exactly the same as creating new products and services. Right click on the products and product type node and click "Create".

Products can be stacked and subordinate objects inherit values from the parent. This is truly leveraging the power of Umbraco and makes it easy to create a holding top level product with default description, price and dimension/meta data.

An example of this, using the Belgrave Stoves example, is a product in the stoves section. This object (the parent) can act as default repository to gallery, description and many other values. However if variants of this product are required such as colour variant, then subordinate products (objects) can be created that inherit all fields from the parent that are omitted. Typically subordinates show a different colour or size with associate price, however when the object is shown on the website only the parent object is shown giving access to subordinates via a dropdown control. This is a simple and intuitive way of handling multiple variant options within products.

Managing your products in this way makes it very easy to makes changes to all associates product variants or just one.

The process to change these objects are identical too. Select the node to bring the node instance (or product) and make your changes. Click save to save the changes back to Umbraco.

Access to the processed Shopping Carts is via the proprietary TeaCommerce module. TeaCommerce handles the shopping cart management, the submission to a chosen credit card merchant and the creation of XML objects representing the sale.

Not only do you have full access to New, Completed and Cancelled orders but you can create additional status levels representing complex workflows.

TeaCommerce is not free and more information can be found here: http://www.teacommerce.dk/en.aspx

But what about speed, won't the site be slow? This could well be a consideration on websites that expect thousands of sales per day. However for many e-commerce websites this really isn't a constraint and as the products data would be heavily cached as per all the Umbraco objects, performance isn't an issue.



Last Updated: Monday, September 05, 2011