Making an E-commerce website from scratch with Ubercart
Presentation by Aaron Schiff
(rough notes… read at your own risk )
For beginners who want to start an E-commerce site.
Magento too new, buggy, too slow, without framework like Drupal
Drupal E-commerce… API strong, but not very good out of the box, buggy…
Started with alpha release, very easy to upgrade so far, fantastic community (Aaron has no affiliation with them).
Secure code, robust taxonomy. upsell, secure pages (https), coupon, checkout enhancement
Not available for Drupal 6 until end of year, but someone pointed out that there is a not for production development version.
Starting from scratch.
Aaron didn’t have the objective of covering installation, but http://www.ubercart.org/docs/user/3313/installing_ubercart shows the dependencies and install instructions, and there is an Uberinstaller (Automated Drupal and Ubercart installer for new Drupal installations) at http://install.ubercart.org/.
Aaron enabled the necessary modules, plus image_cache and some other helper modules, including a payment gateway.
With shipping, you can use an account with a shipping company and do real time quotes based on weight, for examaple. Shipping is done on a per product basis. So as you select items to include in your cart, your shipping quote is displayed (you can use an optional flat rate).
Many people use PayPal as their payment gateway, so Aaron covered that (see http://www.ubercart.org/payment and http://www.ubercart.org/shipping for complete payment and shipping lists).
Workflow-ng is used to specify actions to be executed upon certain events (for example, update an account after making payment).
When you start your new E-commerce website, you must go to user settings, since you want to make the user registration as simple as possible, so de-select email verification.
Site information: set site name, etc., before configuring Ubercart.
Performance: you want to shave loading times by setting cache. Test if your setup allows aggressive cacheing.
Then go to store configuration and configure the store.
Aaron’s presentation set about creating a teeshirt store. So the attributes of the teeshirt have to be set. Ubercart has product classes. Via manage classes you can sub-type products. You can add attributes (admin UI rather a nested process).
Of course, you are setting up an E-commerce site without doing any programming.
You have the ability to change the price according to attributes.
Ubercart creates the product content type upon installation. However, the process of adding product classes is familiar to anyone who has ever created a content type, since it is also a content type. (After creating a product class you can use CCK to add fields, which can then be easily themed). So teeshirt appears as a content type.
Prices: you can have a list price, and a store cost (not shown to customers).
You can specify dimensions, average quantity (all for shipping calculations).
The use of image cache helps since your product images are automatically resized. A 1024×768 image can take quite a few seconds, but that is very convenient.
Taxonomy vocabularies can also be applied to the product, of course.
So the product was created and configured in about 20 minutes.
You can then set up a shipping workflow and configuration.
There is an admin interface to deal with pending orders (email notification is also a feature).
Drupal’s finely granulated permissions system is made full use of by Ubercart.
UberCart has single page checkout.
Interesting presentation by a real world user of the module.