Building an e-commerce site used to be a very difficult and expensive procedure. A decade ago, if you wanted to build one, you had to hire one or more experienced developers to build an application for you from scratch, after working for several weeks. You had to pay a fair amount of money to build, customize, and support this application. In those days, only big companies could afford this cost.
Nowadays, things are much simpler: e-commerce applications are lighter, faster, and of course cheaper, which gives each merchant the capability to sell his or her products online. If you are a merchant wanting to invest your precious time to update the online presence of your company, or a website designer wanting to expand your business and offer innovated solutions to your clients—this book is written for you. You don't need any programming skills to install and customize an electronic store. The procedure is well structured and easy, and all we ask you to do is to follow some simple steps in order to complete some specific tasks in each chapter.
When you reach the end of this book, you'll have a working store and you'll have obtained all the knowledge required to customize it according to your specific needs.
Drupal is an award-winning, free, and open source Content Management System (CMS), winner in two categories of the Packt Publishing 2008 Open Source CMS Awards (http://www.packtpub.com/article/2008-open-source-cms-award-winner-announced). Drupal's source code is freely distributed under the terms of the GNU General Public License 2 (GPL). The GPL, unlike permissive free software licenses like BSD, is an example of a powerful copyleft license that imposes constrains on all the derived software components to be available under the same copyleft. Therefore, GPL grants the rights of the free software definition to the recipients of a computer program, and uses copyleft to ensure that the freedom is preserved, even when the software is changed or added to.
Unlike proprietary blogging or content management systems, Drupal's feature set is fully available to extend or customize as needed.
Drupal was started as a small content-sharing personal platform by Dries Buytaert in the University of Antwerp campus. When Dries left the university, it was published on the Internet to continue communication with the group. Thus, Drupal was hosted on Drop.org at first, until it became very popular with users asking for more and more functionality. Then Dries decided to make it open source software and started maintaining it with other code contributors from the open source community. Gradually, it became state-of-the-art software with a devoted community with hundreds and thousands of members. There are millions of websites built with Drupal, from personal blogs to the White House web page.
The main advantages of Drupal are:
It's open source software.
It has an active community, ready to support every new member.
It is optimized for performance and is scalable.
It is a social media ready with features such as forums, blogs, polls, and managed communities.
It provides out-of-the-box advanced auditing, reporting, and statistics system.
It provides extensive support for multilingual sites.
It is platform and web server independent, and can be deployed on any environment (Windows, Unix, and Mac OS X) in single instances or in a cloud.
It is database independent and can easily be linked with any major open source database.
Drupal modules can extend its functionality. New third-party modules are created every day by individual developers.
Drupal is not oriented only to developers, but to simple users as well.
To learn more about Drupal, browse to http://www.drupal.org.
Ubercart is not a standalone application, but it's a module for Drupal. This means that you first have to install and customize Drupal, and then install Ubercart and all its related third-party modules. Imagine how powerful this combination is. You won't have just a selling point for your products, but a complete platform to interact with your clients and market your company.
Some key aspects of Ubercart that make it the number-one solution for online shops with Drupal are:
Transparent integration with Drupal basic core resulting in advanced reporting, user administration, and community-building features
Fully extensible with community wide support as it implements Drupal's core API programming patterns
Out-of-the-box functionality for each key aspect of your online store such as products, checkouts, payments, orders, and shipments
Activity logging and auditing
Batch import/export of products in the product repository
Integrated payment system to integrate between various payment methods and known payment gateways
For the end user to visually comprehend the rich features of the Ubercart and Drupal platform, the following are some examples of success stories. All shops are built on top of Drupal with extensive use of Ubercart and its robust product catalog:
http://www.printcasting.com/, an online store with fixed layout for ad brooking on printed templates (top left)
http://www.coco-mat.com, a store for fabrics and furniture with a flash animated product catalog (bottom right)
A top notch themes proof of concept for an online store selling office furniture (bottom left)
A Norwegian online bookstore and DVD shop (top right)
To learn more about Ubercart browse to http://www.ubercart.org or you can also visit a live site example page at http://www.ubercart.org/site.
This book will show you how to build a basic store using Drupal and Ubercart. We will guide you through the administrative section of the application and show you how to customize your store. Then, you'll learn how to manage categories, how to create products, and how to import them from external files.
As we proceed, you'll customize shipping, taxes, and payments, and learn about order management and customer relationship management. You'll install a ready-made Drupal template and you'll also learn how to create one from scratch. Finally, you'll learn how to create a better user interface and optimize your store.
The store that we are going to build in this book is a fully working electronics store.
So, let's see the most important sections.
The product catalog is the main navigation system in our store. We have our main categories and subcategories, offering a structured way to the clients to browse the website and locate their favorite products. When the visitors reach a page with no more subcategories, they can see a list of all the available products of this category.
When clients click on a product from the catalog, they can see all the details of this product. If it has attributes, like size or color, they also have to select them. Finally, they can add this product to the shopping cart or the wish list, depending on the functionality that we have installed.
The shopping cart is the page where the customers can check all the products that they have added so far. They can update the quantities, remove one or more products, or continue to the checkout page.
The checkout page is the final step of the shopping process. Here, the customer enters his or her delivery and billing information, selects a payment and a shipping method, and completes his or her order. After that, you, the shop owner, have to collect the products and fulfill the order.
Of course, one of the most important sections of the website is the administration section. You gain access to it by entering your username and password. Throughout this book, you'll spend all your time in this section, customizing not only the store pages, but also the complete Drupal installation.
In this chapter, we have gone through the following key points:
An introduction to Drupal, its history and development, and its main features and advantages
An introduction to Ubercart with some samples of success stories of existing online stores using it
The general scope of this book
Visual and conceptual paradigms of the final outcome of the online store
In the next chapter we are going to install a basic Drupal site, add the Ubercart module, and start making customizations.