Showing posts with label e-commerce. Show all posts
Showing posts with label e-commerce. Show all posts

Monday, 15 June 2015

Free Fast and Pretty: which shopping cart?

Choosing a UK business bank account
Free, Fast and Pretty: shopping cart software for ecommerce < this page
Simple Bookkeeping and Account Agregators
Free Online Bookkeeping Software for Simple Accounts

Free Fast and Pretty - which shopping cart?

This is a note of all the shopping carts that are free & pretty, to install automatically on a site.
A site the uses a database is going to take time to install and backup; it's easier if there is an installer like these. The shopping carts run on Wordpress, Joomla or Drupal, or more simply are called shopping carts and download as a single thing.
- fantastico scroll-down to E-Commerce for a list of shopping carts
- softulicious  Softulicious shopping carts
- installatraon Installatron ecommerce and business apps
With luck, a super-fast super-cheap hosting company will have a version of one of these three script installers free for customers to use on its control panel, ready do install shopping-cart software with a single click.

My fast site is on a server chosen from and test ones are on or who allow 2 database sites per account. You can see what I want to change away-from at my shoe shop here.
Promising shopping cart software is red. I have 2 F-words & 4 P-words for whittling-down choice.
Free, Fast & Pretty; Postage, Payment, & Product management are essential too.
Product management sub-divides into another five points to whittle-down the shortlist. puts shopping cats into categories, with this category at the top - known for being free, but without hosting or customer support and known for being harder to set-up than a hosted shopping cart.

There's a separate bit about hosting at the bottom titled "Hosting:"


The cost is hidden in the price of modules. Open-source ought to be cheaper I guess, as well as being a prettier idea to deal with than something corporate. I don't want to pay so-much-a-month for a hosted service like Shopify or Bigcommerce. I haven't read that they're better than self-installed software; the same money could pay for developers to help you install. And if I can't pay bills, then Shopify and Bigcommerce put up a sign saying "closed". Self-hosted software can go on a slow free server like Byethost and leave me with just the cost of the domain to pay-for until business picks-up or the firm is sold or I run the firm down gracefully or my health recovers or I get back out of prison or whatever the next stage might be. (Joke: I am not in prison)


Not that I know of any measurements, but Magento gets bad reviews for this compared to Prestashop (I haven't googled the others for speed tests recently that I can remember)
Trying to re-check this fact with a quick google in July 2017, the first result puts Magento ahead in the US and Prestashop in Europe.
So the test is not to put two similara set-ups on one server, one using Magento and one Prestashop. It is to test a number of other peoples' shops on whatever server they happen to use, and of course some firms throw money at the problem and have super-fast servers. The second test puts Prestashop behind as well with the same measuring system
This one is confident that on the same host, Prestashop does better and that it can work better on cheaper hosts; it's less bloated. No facts are quoted to back this up.
This review seems pretty sure why PS should be faster, even if it can't explain very well
This one says "small e-shops get-on very well with Prestashop" under "performance"
This review puts Prestashop ahead, and rates some paid-for software even faster
There are some videos to check and some reviews mentioning Open Cart alongside.

There is a bit about hosting at the bottom of the page as well.


Not that I know of any measurements, but the ones with "specials" on the front page of the demonstration are always ugly for some reason.

Postage = shipping

I want to sell in as many countries of the world as possible with cheap and greenish postage. I don't want software from a developer who says "use the Fedex module, UPS, or role your own with this bit of rubbish I provide. Or search the forum in case another shopkeeper sorted this problem ten years ago for a previous version".

The developers who say this are so over-paid that they don't even use the post office to buy mail-order T shirts in their native USA. Post offices are usually cheaper and greener because they have a delivery round to most letterboxes on a street rather than one in my street and another a few streets or miles away. Post offices are usually public sector and not geared to writing free plugins for Posh-o-cart. So anyone paid under a zillion pounds a year ought to know that plugins for different post offices, or to help shopkeepers write their own plugins for post offices, are essential for promoting shopping cart software.

Royal Mail has 4 postal zones of UK, Europe, Airmail, and Oceana with various different services that change in price. My next post is a guide to Royal Mail's main services for individuals & small-scale e-commrece trading. I want to offer a simplified version that has a basic price per weight or price per weight to each of these zones, or at least to three out of the four. 2nd class to the UK. Probably standard rate to the rest of the world. This should not be much to ask but most shopping cart software fails the test - including all or most of the Wordpress plugins and including the one written in the UK I think. Here is something about Drupal shipping modules and here is something else and another thing. The developers get carried-away thinking about US taxes while ignoring worldwide postage.


I want to use paypal for testing and then my merchant service provider - Elavon - for most real orders. If I get enough real orders I hope to shop-around merchcant service providers, but you can't haggle if you don't have the turnover, can you? No. We agree. And I do not want to pay a hundred pounds for the privilage of using the merchant service provider I am already signed-up to. Luckily this is getting a lot easier than it was a few years ago and some shopping carts do fit free Elavon modules.


If the top few points are OK then I'll play with the site and see if it can tell me things I want to know about stock, like
whether an advert helped a product sell. Remote-hosted checkout forms are bad for this - they confuse the tracking code.
whether a product has run-out.
If my software refuses to sell a sold-out product, then maybe it can automatically charge a customer at each purchase and save me a job.
when to re-order. This can only be a prompt, but still a useful one and I'm not sure how subtle the different stock control systems are or how to use them. Maybe they're add-ons. One version of Prestashop can even remember where a product is usually found in the warehouse and write that on a picking sheet. I don't know if that's the free version.
I'll have to learn the system for attributes = sizes as well. Some programs track a shoe as something that can be adapted to different sizes, as though these were like different sorts of laces. Others track a shoe as a range of several different products, one for each size, but sharing a supplier. I'll learn as I go. Presumably most software offers both options as a shoe in one size definately can't be re-sized to another, even with a broom handle and lots of leverage.
I want to search for products in several ways - whether my shoes are made in a democratic welfare state for example, or how well that country scores on a democracy index. Some shopping carts just have a tag for brand which they mis-label "manufacturer".

  I want any blogs and other bits to be part of the same web site if possible, as Drupal allows and possibly carts that can be slotted-in to other sites. Perhaps Cubecart.
I want to have a wholesale shop and maybe some others using the same software and looking different to the end-customer, while a supplier might want to share my shop so it looks the same to the end-customer but stuff is sent from another place. So carts with the word "multi" in them would be good.

Not quite open source?
Paid-for version has a bundle of modules including language translation and a "custom" mobile version.

promising suggests it can track stock of each variation of a product. My problem is uptdating it. Two trial installations have both got stuck updataing from version X to version X+1.

Ugly. The developer is also a car and car parts dealer in Canada, so the program should be well set-up for that trade.

Unusual in being based on perl rather than php. Long established. Available through one of my web host accounts on a special menu for Perl scripts, but not on the other. Ugly.. Is it fast? I have not tested the thing or installed.


Part of a hugely corporate suite of programs sold from Amercia. This software is presented as open source. It installs OK from a script installer but I haven't found the admin logon to test it at all. I haven't found a demo site.

CS cart
Fast and pretty with smooth back-end data for shopkeepers, it says of itself.
One installer doesn't include it.
One installer includes it, but when I try to install I get "licencing mode"; the program doesn't seem to be open source and has a free version or a $385 version.

Promising. More to follow. The developer pays UK tax that benefits me, and has no private equity funding, so he probably knows what a post office is. (Amazon and Starbucks are loosing customers in the UK for their failure to pay tax, which is great. Sod them) Getting back to shopping carts, Canadapost and United States Postal Service have free modules. Royal Mail has to be dealt with through the all-in-one module which I have used to set-up zones. instructions in 5 short videos.
Nifty but murky system for stock control of products which are sizes or other attrubutes of a type of product. A forum post suggests that the minimum and maximum stock levels show on the front of the site.
I haven't yet found-out how to get a table display of stock of each size of each product. As with most ecommerce systems, the forum has a small membership but can provide good answers.

As I write the new open source version of this product has just been updated to include cache modules for speed of download and so higher search engine rankings and easier buying for visitors. So this is an up-and-coming version of a long established product.

Drupal Commerce
You can now install Drupal from something like Installatron and the instructions for adding shopping cart modules are getting better. I tried Ubercart in about 2012.. It needed a shipping module. At that point the developers left, so there is still no shipping module. The developers wrote Drupal Commerce, which has neither a good Royal Mail shipping module nor a  way of connecting products on the admin database to products on the front-end. You have to enter them twice or install some kind of module for doing it. I tried it in 2013-14. The customers are exepected to be developers and the support takes the form of videos by people who don't say how they have set-up their demonstration before the video started, so you can follow it to the letter and find that your lack of something-or-other stops it working for you. You can see transcripts of the videos and links to them as earlier posts on this blog. Commerce Guys, developers, have received $7.3bn of private equity finance so they haven't heard of the post office except as a potential client - they haven't heard of it as a place where you post parcels. A pity because at first glance they look good people to write free software. It's just the way they're set-up that doesn't suit open source shopping carts for small business, and not enough people have found a way to jump-in and fill the gap of writing software cheaply or for free to help small shopkeepers on Drupal. My next post might encourage.

Slow. Reviews state that the extra features are at the expense of a multi-layered slow database structure. for example
A review says that smarty templates are hard to learn-about too.

For all the money spent on this huge bundle of code, I don't see any great ease of use over other similar programs. I tried to train my Magento to recognise shoe sizes in my particular way. I even got hold of a textbook to train me in how to train Magento. On page 72 if gets difficult. I could probably have cracked it in the end and learned how to add my particular attributes to products, but I got bored of page 72 and then read reviews about bloat and slow loading.

Much liked by enthusiasts including me for ten years or so because it is free and stable, but it is also a shopping cart on a remote website that allows you to write order buttons that you can stick on your web site. In other words it is limited. I want to stop using Mal's because I want to link my orders to a stock control system. I also want a stock layout system that shows a shop window of my products with order buttons next to them, in some slick way that also works on mobiles an tablets and any other format that people invent over the years, and has some of the bells and whistles like better tracking of advert performance or slick one-page checkout on the same url. I don't want to loose the ability to rabbit-on like someone who always wanted to be a journalist. This makes my site easier to index. So, ideally, I will be able to keep a lot of text on the new more formatted site.

If there are ways of hosting one or two shopping carts with different urls but access to the same stock, that's unlikely to happen but worth thinking about. Mal's allows me to sell to a trade customer at 50% discount, and we would probably have met and found a way to work-around some of the limitations. It doesn't provide that trade buyer, or me, with a way of knowing what is in stock or anything like that, so it's better suited to goods I make than goods I buy in batches and sell-on.
Did you know that there is a $35 program for making shop sites with stock control out of an Excel spreadsheet? It can use Mal's for checkout. Another one called Rapidcart doesn't use Mals.

(type "demo" in both boxes to log in)
Promising at first. There is a Royal Mail module free. (post about Royal Mail here)
The installer provides an old version, but a new one can be unzipped on a hard disc, stripped of two files that have "config" in the names, and moved with a file transfer program to my server over the top of the old files.
Much praised by reviewers.
I've had a couple of bad days trying to make it accept stock, mock orders, categories, attributes, or shipping details - anything really. One online suggestion is that installing a module can trigger a loss of editing privilages which can be restored by ticking various boxes. I have done so. No joy.
Googling "Opencart Faults" I find a review on a site called that doesn't like the code. As I know nothing abut code, I rely on the review. Another on a site called which likes the code but says it doesn't work for upgrades, which comes to the same thing. I think a free service needs to be solid because of course there's no technical support

Thirtybees Prestashop 

This is the one I went with. Search engines will find you comparisons of Thirtybees and Prestashop, and a long list of reasons why you should never stick with Prestashop if you have a choice. They remain open source but the company that employs their 4 developers employs  about 180 other people, all funded by flogging modules that you wouldn't need if the thing worked in the first place. Prestashop user forums show threads years-old about problems that could be fixed with a few lines of code. And the latest Prestashop 1.7 charges you $60 for a sitemap module that was included for free in version 1.6. Even 1.6 needed a free module for you to tweak the code - such as the style sheet - from the software's own control panel, or to add blog pages. Free modules were rather hard to find among a cacophony of modules from £44 upwards that they try to flog from your own control screens on the back of the program. From a staff point of view, the main developers have left the organisation and those who still work for it give it bad reviews on glassdoor.

Thirtybees is free, faster than Prestashop, and pretty with its new Niara theme. I might be able to use it without a single paid module, given a lot of style sheet hacks to compact the one page checkout. That's not as hard to do as it sounds; you can see how to do it on their "tips and tricks" page. Installation is easy on Softulicious or Fantastico, but not Installatron; it's worth changing hosts to get Softulicious or Fantastico if you want to experiment and make a lot of fresh installations. The software is slightly too large to install on Byethost and I don't know of free hosting that installs it easily, but it runs well on paid shared hosting that costs me £25 a year.

Stripe and Paypal payment modules are available free.

Countries are zoned, so that you can tell the software by hand that European 2kg parcels cost £10, worldwide £15 and UK (create a zone for it) £3. That's Royal Mail 2kg parcels done, without any extra module.

The future looks promising. Thirtybees is run as a sideline by a few developers who make their living doing-up web sites for Thirtybees and Prestashop customers. Very good developers, you discover if they happen to help on a forum. They aim to fix every reported bug and have worked through dozens left-over from Prestashop. This is a slightly precarious way for something to keep going and they welcome donations of help or money, but it does mean that there's no payroll to fund from up-selling; no loan from venture capitalists who need a return, and it's in Thirtybees' interest to fix problems instead of leaving them broken and selling modules to cover-up the mistake.
Reviews compare it to its rival for most-used shopping cart, Magento, calling it smaller and faster.
Works in different languages by default by the look of things.
The backend has various mottos for self-employed people and might have a lot of feedback about how products are selling and why; it's well integrated with a tracking system. I haven't tested this carefully but that's my impression. The front end is good looking too.
Easy to test on the site, but you have to use their expensive Hipay payment system if you do that or pay over £100 to switch to Paypal. (pswebshop Service withdrawn)
Compulsory add-ons are expensive - over £100 each - and one review says that Prestashop's source code is written in some complicated way, so that add-ons are hard to write and are likely to remain expensive. My own experience is that they are no needed, or, for the bold, might be findable free on github for example for Worldpay but that's a bit beyond my abilities and needs. There is a free easy module for Stripe, that seems to be about the cheapest easiest card processor at 1.4% for limited companies.

Royal Mail postage modules have briefly been introduced and then withdrawn, quoting changes in RM's price data as a reason and with hopes to re-introduce.

Version ?7, which I am on, has introduced automatic zoning of countries so it's reasonably quick - less than a day's work - to set up Royal Mail's three zones plus the Channel islands. So far I have got stuck on this. It works in theory but prices all my parcels for delivery to Europe, even though knows they're for the UK.

Another module provides access to label printing for RM account holders who send more than 10-12 parcels a day.

There's a thread about postage here: without resolution, but I discover a £30 module that allows some kind of table quote by price or weight, so if you have the patience to work through thirty-something European countries and sixty-something zone II countries you can write your own postal rules.

Spree Commerce
Not on the installer systems for either of my web hosts.
Uses software I'm even less used-to than PHP, called Ruby.
Mentioned here because used by Bonobo - site that sells $100 jeans in the USA - and their main man makes a lot of videos about the how and the why - - so if you use Spree Commerce you are well-placed to follow his advice about how to get a picture of the product on the shopping cart to reassure the customer or whatever other idea he tells us and his video camera about. He's a bit like a private dentist. He talks in a very relaxed, re-assuring way, and ends by charging $100. I don't know how to install Spree Commerce or want to learn more about software than necessary so I haven't used it.

Mentioned by reviewers and available on installatron.
Multi-zone table-rate shipping is a freebie with a thread of comments and requests on their forum.
With luck that can be adapted to Royal Mail.
Payment  is not available for free via paypal or elavon. The forum has lots of comments about far-eastern payment methods but not about European ones.

Ubercart - the Drupal Add-on non-working demo
...can be installed fairly quickly by someone who is used to cutting-and-pasting the right module links into the module adding bit of a Drupal admin page. A year or so ago, the ubercart site was covered in spam and any attempts to get shipping zones easy to use for the UK looked unlikely. Now the Ubercart site is up to date and there is a Royal Mail zones module, so maybe something will come of this. My first attempt was bogged-down in attempts to classify the whole world into Royal Mail shipping zones, which are described by a different set of country names to the ISO list, on a web table that says "others" are in World Zone 1. There is now a module that claims to classify countries by Royal Mail rules. After installing it and thinking it did not work for a few weeks, I discovered that you have to tick the "User Interface" boxes to enable user interfaces of every likely module. Rules I think is the crucual one. Then a set of extra rules make themselves known when you start trying to define them for other shipping modules, starting with "country is in royal mail zone".

There is also now a global shipping module that allows you to put all the the world's countries into different empires and then set prices to post to each, which is a lot better than things were, but the older tablequote module has been abandoned. As I look at message boards online, I think I may not be the only one to have trouble getting Global Shipping Module to do what I want, but it's hard to pin-down why.


...add-ons were un-finished last time I tried them in about 2014. They were presented as free with the most basic functions like postage modules costing £50 extra, and then card processing £50 extra, and then something else again, with nothing at the end of it beyond what you can get for free on hosted shopping carts: the functions were basic. This is a quote from Jigoshop about their free postage options "allows you to set five levels of weight-based shipping fees for your products. Simply set the upper limit for each required level, with the fee for that weight range, and those fees will then be enabled. If you require more complexity or want to have shipping rates automatically updated in near real time from your shipping provider, please check out our other Jigoshop Shipping extensions." I liked the customers - Wordpress is aimed at part timers - but not the software. I tried the traditional product from Instinct Entertainment - a wonderful name, and a new one based in the UK then woocommrece which is a fork of it. I tried these things about 2014 when there seemed to be too many wordpress shopping carts trying to make a living for too many developers. Things may have moved-on since, and the Jigoshop web site's history page says that it's run by part-timers. In contrast my last cart provideer, Mals-e commerce, provides one living to a developer, no support, no office landlord, and a solid system that doesn't break down.

I wasn't sure at first whether this was open source, and how easily if could be used with Drupal. Kiril Marinkov of their sales team helped by writing this.
X-Cart Classic(4.x) and our new
X-Cart 5 platform are and have always been fully open code. Yes, there are encrypted modules for X-Cart Classic(4.x) created by 3-rd party developers. However for X-Cart 5 we do not accept encrypted modules of any kind to the marketplace.

The core of all X-Cart 5 packages is exactly the same. Higher packages just add extra modules and thus extra features. You can use the Free package for as long as you wish, as it does not have any limitations in terms of the number products, customers or anything else. And you can, of course, add features via stand-alone free and commercial modules or create your own:

And speaking about integration with Drupal, we do have the module that lets you insert X-Cart elements straight into Drupal That said, with the latest update the module has been deprecated. However if you wish, I suppose we would be able to provide you with the code base to create your own integration.

If you come up with any additional questions I'll be glad to answer them.
I find that X-cart doesn't install automatically on my fast server or my free server. There is a new one click install for my hard disk, but it has crashed two or three times trying to install itself.
On the other hand, Drupal installs automatically and I've done similar installations to X-cart's before, with far worse instructions, so this is worth a try.

I've not looked at this. It's a descendant of OSCommerce  apparently.


Good hosting is another way to speed-up a site. This probably deserves a page to itself, but the only comparison page I could find for web host speed was one sponsored by the top performer that asks the others to pay for inclusion. . Smaller newer hosts tend to do well because they have less customers per rented server, I guess, and then when the web performance goes down they drop-out of the scheme.

I worked down the list from the top, looking for a the first very cheap one. I found LChost at £50 a year plus vat and domain, but they have dropped-off the webperf testing site since. These are some jottings

Netcetera £36 ? VAT 5/80 GB ten and a bit. says ignore number one in the charts - it’s a rigged result.

Hub Network Service - no cheap shared hosting - four to six speed

Xilo - cheap hosting page is a blank white screen -

Good1 - four to five nearly six - you have to ask them for a price - hobbyist -  - £120 a year for a small web site - four and a bit to five and a bit speed - telehouse

LChost were three and a bit till November 2016 then kaput . Don't use them for domain hosting as well as web hosting in case they block-out the bit of cpanel that lets you move your domain to another provider. If you get into this situation, are good at extracting the domain name. 5/2/5 £59 five and a bit speed recently

My next post is a tourist guide to Royal Mail for e-commrece developers who don't live in the UK and don't know the basic services for vegan boots made in the UK

Vegan shoes boots belts and jackets mainly made in the UK: not shoe shop shopping cart software, but the shoe shop of someone who wrote this blog because bad at choosing it

John Robertson sells vegan shoes boots belts and jackets online at Feel free to share with the social sharing buttons below

Friday, 15 November 2013

Drupal 7 / Ubercart Video Tutorial 10 of 10: Launcing your sitem Ubercart Reports, Drupal Themes and Add-on Modules

Hullo and welcome to the tenth video tutorial in this ten part video tutorial series about creating ecommerce sites using Drupal and Ubercart. I am Peter Yaworski, the Toronto website developer specialising in Drupal. Like all the video tutorials in this series, this is brought to you as a collaboration between myself and the team who thought it would be a great idea to have a video tutorial series out there to help people get their ecommerce sites off the ground. [00'21"]

So, just before we finish-up, we are obviously going to covering going-live. We are going to be looking at some reports. And then we will check-out taking your site to the next level.

Next series: cron developer tools, a theme, ssl connections, mass product import, and views.

Just recently, Ubercart and I started having some conversations, and we have decided to move forward with the second video tutorial series, in which we are probably going to look at things like theming - theming your site - so we will look at less css [style sheets]; we'll probably look at some cron developer tools, we will probably walk through a theme that we are going to show you here, which was specifically developed for Ubercart. Then we will also be stepping into the world of ssl, so how to secure your site if you going beyond [the option of] Paypal. We will be looking at modules like feeder modules to import masses of products: if you have a few thousand products you obviously don't want to create those one at a time. The feeds module will help you out with that, so we will probably have a dedicated video on that. We will also be looking at some advance Views - how to use the Views module. Obviously, being the most downloaded module, that is something pretty important.

Oopps! I forgot to show you how to update your site in this tutorial (ie Drupal core and modules). This will definitely be the first topic in series 2.

This Ubcart video tutorial series

  1. So that will be coming out, hopefully pretty soon. I look forward to it. But, until then, this is just a brief re-cap on this series. In video one we first configured our server, created the database for drupal, created a database user, uploaded our site and got Drupal installed. Wham, bam, thank you ma'm.
  2. In the second video tutorial we talked about stepping back from our site to talk about some common Drupal terminologies including blocks, themes, modules, nodes: just things that you are going to need to know when you are in the Drupal world.
  3. In the third video tutorial we started looking at some module functionality. Such as looking ad, looking at what you need to know. Downloading those modules and getting them up onto our site.
  4. In the fourth video tutorial we started configuring those modules. That was everything but Ubercart [which is a module]. Specifically we looked at a lot of search engine optimisation, so, if you have not watched that video tutorial, go back and look at it because you want Google to drive traffic to you.
  5. In the fifth video tutorial we started looking at Ubercart itself, and configuring some minor changes. I don't know - store name, your store email address, that kind of thing.
  6. Then we stepped into the real vegetables of everything in video tutorial six, where we started looking at configuring shipping quotes, flat rates, paypal, taxes.
  7. And then we took that  a step further in video tutorial seven, where we began configuring products. We have shippable products, purchased roles, downloadable products, and we looked at the catalog that starts, or rather comes with Drupal.
  8. In tutorial 8 we took a sidestep and we started to look at the world of Views. We looked at taxonomy term pages with the Views modules and then started looking at [the question] "how do we do that for our catalogue?". And obviously Views is pretty powerfull; it is the number one module downloaded. So there is a lot of power there, and that is actually something that is being incorporated into Drupal 8 which is pretty exciting. So, with the next major release of Drupal, you are going to have Views in there [the core code]. So: a good thing to know how to use.
  9. In the previous video tutorial - video tutorial 9 - we looked at product kits, store stocks, order states. Just getting a little bit more of a fine-grained control over our website before we launched. So that takes us to video tutorial number ten we are actually launching. So that is pretty exicting. [03'11"]

    Transcribed videos: -
    [Drupal 7 / Ubercart video tutorial 6 of 10 showing how to set UPS, Paypal, and conditional taxes]
    [Drupal 7 / Ubercart video tutorial 7 of 10 showed how to use the default catalog module]
    [Drupal 7 / Ubercart video tutorial 8 of 10 showed an alternative flexible method of showing a catalog]
    [Drupal 7 / Ubercart video tutorial 9 of 10 shows how to use product kits, stock, and order states]
    [Drupal 7 / Ubercart video tutorial 10 of 10 shows a simple checkout, reports, and suggests a theme]

Simplest payment method: a remote-hosted checkout such as Paypal Payment Express

>store >configuration >checkout

So, to jump right into that, the major things we are going to have a look at are payment methods.
So we will go over to >configuration and we will have a look at the payment methods that we have setup right now. So  right now we have Paypal Payments standard. This is the actual checkout where a customer is providing information on your site. Now, if you do not have ssl set-up, it might not be a good idea to do this, because you are actually taking personalised information on an unsecured page.  So what I prefer to do when I am doing paypal and I do not have an ssl installed is just to have Paypal express checkout.

The way that you do that is to go to
>store >configuration >checkout
Here we have enabled checkout. [checkbox: Enable checkout. Disable this to use only third party checkout servicesn, such as PayPal Exress Checkout of Google Checkout} So if we disable this, we can only use third parties like the Paypal Express Checkout. So, I tend to do that. [[save configuration]

It is a personal preference, however there are some concerns about collecting personal information on an unsecured page. It is entirely up to you: this provides the option to do that.[4'45"]

So now if we step back, over to our >payment methods, we can go and - we may as well uncheck that cand [save configuration] - and now we can go to the
[link in a line of text "settings"
settings for paypal express checkout.  Now, if you remember, we were using the sandbox. So we want to change that [dropdown menu, live or sandbox] to live. At the same time we want to make sure that our paypal email address is updated. [5'00"] So: I am at torontowebsitedeveloper dot com. And then my API credentials [from a box of three text boxes ] these are all on my test site. So, what you are going to do is to log in to your live account. It is going to look something like this. It will be in "my account" [tab]. And you awnt to go to "profile. Then when you are in profile you want to go to "my selling tools". Here you are going to have API access, so you are going to hit "updtate". This will typically say, you know, we need to verify your account, so once you have verified that, you are going to come here and you are going to request API credentials  , and then it will actually provdie you with your API information. Then you will take this, and you will copy it back to your site. So once you do that you are going to have [5'53] live server, you are going to have your [api] username, password, and signature. Here you are going to use the credit card submission form.  This ensures that when users are checking-out, they don't have to have a paypal account, and then these [check] boxes here ...
...these are what is going to show up after the user provides their payment. So they will be brought to your site. back to your site and you will see these boxes.

we do have shipping options, so we want to be able to allow the user to check that
we don't want them necessarilly to have a company name, because not everyone is going to be associated with a company
we do want a contact phone number
and we are going to allow them to enter some comment text
so we will go ahead and [save configuration button]

now I'm just going to put my [site] back to sandbox [dropdown option] because I am obviously not going to be doing all that.
And so we are good.

The next thing that we are going to check-out [consider] is our actual shipping quotes and making sure that our actuall UPS module is configured to "live". So we do that but - obviously - having our information here. that we got from UPS when we were setting-up our account.

We are actually going to put our server mode [drop down on this page] into "production". And then we would [button] save our configuration [7'00"] and that way our link-up with UPS is complete. We are essentially live on payments and shipping. So that's that. Once you do that, your site is live and ready to go.

Testing with a real $1 order

What I personally like to do, once I have done that, is actually test an order. So I do that using Chrome. I hit control+shift+N and this will bring-up an in private browsing screen. The reason why I do that is because I like to keep my logged-in site , in case I need to change something, but also to be able to have the anonymous user browsing experience. So here I will go back to , and now it doesn't recognise m e as being logged-in. So, once I do this, I will go ahead and I will [add to cart]

Sorry. Before I do this, I usually change the product [price] to $1. So I would come in here. I would go to super saver. Edit this product .... looking at the product kit there. Super awesome product. Edit this. [sell price]. And we will make this $1. You will just want to note what your original price is. [save] The reason why I do this is because  (ha- we need a product type. Of course] The reason why I do this is because I always like to walk through, actually ordering a product from an anonymous user point of view, to make sure that we don't have any errors. So I will actually go forward and pay paypal, complete the order, and do the full payment processing, to make sure that I understand the user experience, and that there are no hidden issues throughout that [experience] that I might not be aware of if I do not actually complete an order. Because it is only $1, paypal is going to take their 33 cents from me, but I am going to have that peace of mind that the site that I am building - either for myself or for a client - is working properly. So I am going to go ahead and [add to cart]. [9'06"] Obviously you want to do this before you actually launch the site or make it accessable to people because you don't wan them buying a product for one dollar. Or, do it in the middle of the night. So, here I am going to do this with a test site. I am going to walk you through, just so you can see what it looks like. But you would obviously be doing this on a live site. And checking out. [9'30"] Alright. So you go ahead and continue. And this is what I was referring to before when we configured that checkout-page. We have configured paypal so that they bring us back here. Here is our contact phone number that we are going to enter. [order comments] "great site, looking forward to recieving my products". [button: continue checkout] Finalise by submitting. [button: continue order] There we go. So we are going to return to the front page. Now, if I minimise this, [10'21"] I can go back, checkout [consider] my store orders, and I can see here that I have got a dollar; I can go into my actual order settings, checkout what is going on, and I can go and I can finalise the payment, and we are good to go.

So: that is walking you through the order. I highly recommend that you do that just to check that nothing is problematic. Obvously, now we would go through, finalise the transaction, notify the user, make sure that she knows that everything is working properly, but you can do all that [without a video].  So that's it. Once you do that, you are live. You are ready to go. Your site is online. So: in the afternoon that it took you to watch this entire video tutorial series , you went from nothing but having Drupal and Ubercart to having your ecommerce site online and that is the power of using ubercart and using Drupal, and leveraging the drupal community. [11'20]

Reports in Ubercart

>store >reports >customer reports

The last thing that I want to show you, just quickly, is - I lie: a couple of things I am going to show you.
The last thing about Drupal is reports >store >reports >customer profile [for example]
thiese are pretty nifty; pretty handy. You can actually checkout here. These are the different customers that have placed orders, right? So you can see that I have got one order showing zero because we have just created it and we have not actually finalised it. Zero products because not completed - right? I am not entirely sure why I am seeing my name twice here. Obviously the customer is different. But it is the same information. So if anyone has got any thoughts on that, leave a comment; let me know. I just could not spend the time trying to figure it out

Ubercart products report

In terms of some of the other - some of the other powerful reports that you have got: you have got your products report. This is nice when you really start selling on Ubercart. .  because you can see how your products are doing, what is the highest selling, as opposed to - you know - the worst selling. It also breaks it down by your specific SKUs, so, if you remember, we had Pete's CD Y: that was yellow. If we look down here we have [12'17"]
aanother CD so if we want to compare different colours, to see what is most effective, it is possible to do that. We also have the ability to customise these reports, so if I want to look at specific dates I can do that. If I want to look at a particular comment, or whether it is pending, or, you know, mayber there is something: people are abandionding the checkout because they have got to see - on certain products: you now - why is that?

Ubercart sales report

From there we have got the sales report. Obviously a very important report where you can actually checkout your dollars over the years, and where our orders status is at, so we can checkout how many are abondoned. So if we have an issue going on here, we can start looking at that process: why are people not understanding; why are they leaving? There has got to be something there. So we can really nail that down. Again, you have the opportunity there [13'00"] to customize these reports and look at things specific to what your needs are. Specific months. Specific years. And the order statuses, right? Probably not earth-shattering, but the last thing I am going to show you is the sales tax report. Remember we set up our tax report for Ontario HST [Ontario HS Tax] So you can see that if we look back here, I have got my total taxable amount and the total tax collected, mainly for when you are doing your income taxes. So those are pretty much the reports. Pretty straight forward. Nothing too earth shattering. Hopefully they help. I just wanted to touch on them because obviously they do come with ubercart and they are helpful, so you should know about them.

A theme for Ubercart

Last thing: we will just head over to Like I said, there is a couple of things that I want to show you here. Go over to Adaptive theme. We have been using Bartik [the name of a theme]. Drupal Core is kind of ugly to be honest with you. And if you look at it: you know you are looking at a Drupal site. Not necesarily something that you always want to have. So what I have gone ahead and got Adaptive Themes [14'03"] It is a kind of a base theme that you can use, and make sub themes off of it. A sub theme that has been created is called the AT commerce theme. If you want to go ahead and download this x.3.1 version, you can upload that to your site slash sites /all/themes , just as we did with our modules in our fist video tutorial or second or whatever it was [the admin user interface allows you to install these things without thinking about uploading and doanloading nowadays as well] You are going to get the Adaptive Theme, and you are going to get - er - AT-commerce , and you are going to download this one as well. So I have gone ahead and I have done that. So we will step over to our >appearance, and you will see that I have got AT Admin AT Commerce AT Core, AT Sub Theme - right? This all comes with the adaptive theme . So I am going to enable as default the AT Commerce [15'01"]

So now, if I go back to my home page, I have just drastically changed the look and feel of my Ubercart or my Drupal and Ubercart site, simply by enabling this new theme. I can click into my product here. I can see that it is theming different things. It has got a different look and feel. [Baily the dog looks very fetching] That is the power of Drupal. You can go on to... - just as you have got modules, you go to these themes, and you can checkout those themes that you like, and that have a different look and feel, and [going to a theme called Binelli ] here, - oh: not a good image - but this is the look and feel that I can install just by enabling a module. Then I can start tweaking it and playing with it. I just wanted to give you a flavour of that because this AT Commerce theme is specifically designed for Ubercart, and it has a lot of powerful things. I am not going to walk through it here, but we are going to be looking at it [or walking through it] in series two. Take a look at it. Maybe you want to play with it.

Responsive: works on a mobile

The one cool thing that I like is this responsive theme: so you can see that my image here [of a the dog Bailey] is shrinking. If I stretch this [browser frame] out, obviously it has gotten [german english] out to the large size, right? So that is pretty cool. That is a mobile friendly web site., that you have, just by installing a new theme.

Lastly, as I mentioned before, the power of Drupal is that there is this community that is (kind of) helping you out. You can go here and you can [16.36] I go to download and extend; I look at my module categories, and you will see that thre is an e-commerce category. If I click in to that - what is your first module that you see right there? Ubercart. Super-powerful! And then there are a lot of cool modules that I can add-on there. So if I wanted to add-on "recurring payments and subscriptions", I can do that by grabbing tha module [...] enabling it [17'00"] and then more often than not you will see that there is documentation and that is going to help you walk through and in eenabling some of these things. So that is one good one. If we go to the second page, I think there is  UC Variable Prices on there. You will see that UC Variable Price is good for donation sites. If you want a person to pay what they can, enable this module, and you are "off to the races", right?

Fedex has a shipping module too

You have also got FedEx Shipping . We have done UPS but if you have a Fedex account you can download this module and install that, right? [ in the UK: there is no Royal Mail support for such stuff and best prices depend on other couriers as well as Royal Mail. Royal Mail is best for export, but that depends on converting a customer's country to shopping cart that makes it obvious or default to say which of the four Royal Mail zones she lives in. No such module exists. One advantage of Ubercart here is that it does not have a lot of higly paid staff claiming that it works "out of the box", because neither Ubercart not Commerce is good for UK shipping; it is a question of finding the least bad for complex work-arounds, and a smug sales person saying that something works "right out of the box" just makes the problem more frustrating for users of Commerce.

And then lastly what we are going to the checking out [viewing] in the second [video tutorial series] is [module Ubercart SS. A super awsome module. Enable that and it will secure your pages. Obviously a huge Caveat here: it does not work with the overlay module. I am not too fond of the overlay module, but if you are, and you use it, you are going to have problems there. 

That's it! That is essentially the video tutorial series. I have kind of walked through everything; I have given you the recap on what this is all about, so hopefully this helps you. Hopefully your site is launched and is making you a little money. And we will see you [lie: it is a one way camera] in video tutorial series number two which should be coming up pretty quickly. Take care.

[Drupal 7 / Ubercart video tutorial 6 of 10 showing how to set UPS, Paypal, and conditional taxes]
[Drupal 7 / Ubercart video tutorial 7 of 10 showed how to use the default catalog module]
[Drupal 7 / Ubercart video tutorial 8 of 10 showed an alternative flexible method of showing a catalog]
[Drupal 7 / Ubercart video tutorial 9 of 10 shows how to use product kits, stock, and order states]
[Drupal 7 / Ubercart video tutorial 10 of 10 shows a simple checkout, reports, and suggests a theme]

Saturday, 26 October 2013

Drupal 7 / Ubercart Video Tutorial 9 of 10: Creating Product Kits, Store Stock and Order Status
[related: which is about attributes from a stall-holder's point of view]
In the 9th Drupal video tutorial of this series, we continue developing our Ubercart site by
  • configuring product kits,
  • setting up store stock and
  • looking at our order states.
This is the final video tutorial before we actually test our site and push it live.

[Drupal 7 / Ubercart video tutorial 6 of 10 showing how to set UPS, Paypal, and conditional taxes]
[Drupal 7 / Ubercart video tutorial 7 of 10 showed how to use the default catalog module]
[Drupal 7 / Ubercart video tutorial 8 of 10 showed an alternative flexible method of showing a catalog]
[Drupal 7 / Ubercart video tutorial 9 of 10 shows how to use product kits, stock, and order states]
[Drupal 7 / Ubercart video tutorial 10 of 10 shows a simple checkout, reports, and suggests a theme]

Hullo and welcome back to the ten part video tutorial series on using drupal for ecommerce with ubecart. I am Pete Yarorski, the Toronto website developer specialising in Drupal, and like all the video tutorials in this series, this is brought to you in a collaboration between myself and the team.

Following-up on the previous video tutorials....
We have gone-ahead and created our site. [0'23]
We are pretty close to having it finished and launched. [0'25"]
But there are still a few things we need to cover, which include
-setting up product kits, and
-stock notifications .

In this video tutorial, I hope without talking too long, we will cover
-checking-out an order, and covering the
-order status workflow [from a shopkeeper's or a programmer's point of view].

So, with that [introduction], let's dive right into it [the rest of the video].

Product Kits

The first thing we are going to do is take a look at setting-up product kits. [00'46"]

If you are not familiar with product kits: essentially what they are is an item in your store that will pull-in various Ubercart products that you have already created, so [for example] you can specify two products [as a customer] and specify that specific discount for your customer [as a shopkeeper or developer]. [01'02"]

I'll show you that in a quick second, but, just briefly, we can go to [admin] store>configuration>products>product kit settings, and we can set the default for when we are setting up a product kit.

The three different options are essentially that you can create a
  1. unit, and not list the components when you check-out, or
  2. product list and components when you are checking-out, or
  3. put all the parts in to the checkout and let people choose individual parts as they want to.
We are going to leave it [the default setting] as a unit and let people see the individual productst as they order.  [1'30"]

Now, to add a productkit  to our site we are going to
content>add content>product kit
Just briefly - when we do this: remember that we have set-up our specific urls when we went to
configuration> search and metadata > url aliases > patterns
We set these up for product kits as well, so if you don't have the proper-looking url down here at the
content>add content>product kit> ?create product kit?>pathauto settings [near the bottom of the page on the left], you can go over there and set that up.[01'56"]

Now this:
[name in the name box] will be "Super Saver"
[description in the description box] "buy two products and save big"? - I dunno. Give it a proper description, based upon what you are actually creating, but, again, for this video tutorial we are not going to do that, and,
[image in the image box] as always, we are going to put Bailey [the dog picture] up on our site.
[How is this product kit handled by the cart?
-as a unit
-as a unit; list individual products - default option
-as individual products] We will leave this as the default settings.[2'21"]

-download of purchase
-Pete's awesome product
-Pete's super awesome Drupal book
-Pete's super awesome T shirt] And what they're going to get - any customer that purchases this kit - is going to get our Drupal book and a Drupal T shirt. [because they are highlighted on the form][2'26"]
[list settings] We don't have to change the list settings.[2'32"]
[shipping settings] Interestingly we don't have to change the check-box for "make product shippable"
So you'll see, when I save this, that I will get an error-message. I will explain that to you when we do that.
[menu settings]
[meta tags] Beyond that, you know, we can add some seo tags.
[revision information]
[url path settings]
[xml sitemap]
[comment settings]
[authoring information]
[publishing information] The rest of this ought already to be set-up

[promoted to front page] We just need to promote to the front page so we can see it.
[sticky at the top of lists]

So, now we have got our image up there, let's go ahead. We will press save and continue.[2'54"]

[Notice: undefined index. shippable in uc_usps_product........line_134. ] Here is the error message that I warned you about. It is usually in relation to an undefined variable.
So looking at line 134 of this module's code, it just relates to the form of code for UPS [United Parcel Service], it just relates to
the form settings: whether or not "shippable" is set. Because the "shippable" setting is not enabled for a product kit, it looks as
as though [that is why] we are getting that error. If you ran into something like this, it would be a good time to post an issue on Ubercat's
mainenance page on I have not gone-over to check whether this might be already addressed, or already pointed out: that kind of thing. So: it won't affect
us, but if you are doing this, and you get that error message, that's the issue.[3'36"]

The reason why we are not pressing "save and continue" is that we have the opportunity to apply discounts here.
So if we bought these two individual items, our total would be $109, but if we want to add a heavy discount here for users, we can do this:
[Total price box]$70.
We'll make that $70, and then if we press "save and continue", that discount is applied to both products. Not necessarilly evenly, but we can change that if we like to.
Actually, it looks like it [the default reduced price on each item] is probably a percentage of their costs, so it could have been applied evenly.
Obviously, you can change around the quantity and the discounts if you want to, but now we can go over to preview.

And of course we get tonnes of errors. This is not necesarilly a good thing. We don't really need to preview; I meant that we can go to view.
There when we are reviewing the product, we see $70. The two products that we are specifically getting here, the image for our product,  and then we had an attribute on the awesome book, so we can choose whether to use that as well. We will go to yellow.
[add to cart button] And now if we added this to our cart we can see here that we've got $70, we have got the colour yellow, and our two products are listed.[4'46]
So that is creating a product kit. It is pretty straightforward; it's pretty easy to to, and it's a nice convenient way for you to add products to your site for users, obviously, not to have to purchase the items individually.[5'00]


From that, which is a pretty basic look at those [kits], we are going to look at stock notifications
Just briefly, we will step into Pete's Awesome Product here. Actually: I am sorry. Before that,
we are going to go to

store> configuration>stock notifications

This is just the default setting for the stock notification system itself.
[send an email when stock reaches a certain threshold] we will send an email when stock reaches a certain threshold, because I want to maintain my stock levels, so I want to know that.
There is the subject [of the email] that I would get, and the text.
[presses "save and continue"]
So: pretty basic; nothing complicated.[5'35] We'll save those configurations,
[content> ] and now if we go to our content, we can actually enable stock notifications for a specifict product.[5'43] So...
[looking at a list of products with links] What we were going to look at was Pete's Awsome Product, I think,
[clicks on the link for Pete's Awsome Product]
[clicks on the view |edit tab on the product page] and we will edit this, and when we edit the product we will see that there is a
[product | attribute | features | stock ] tab for stock, so we will go-ahead
[check box under heading "Active"] So we will check "stock". This check-box would normally be un-checked [6'00"], but we will go-ahead and check that off.
[box under heading "STOCK] And we will add our stock [amount] here. I have already created an order, and that is why I am at minus two. So let's say that I have 100 in stock
[box under heading "THRESHOLD"] and my threshold is 10. So when I have 10 left, I get an email that says "you are getting low".
[button "save changes"] So I save those configurations,
[screen returns to the view wnd edit product page] and review the product. Nothing changes here for the product the customer or anything. They have no idea what your stock levels are at, and ubercart by default will allow customers to continually purchase the item, regardless of the stock level.  This can be a good or a bad thing. This can be a good or a bad thing for you. You know, if you are dealing with a physical product, you could have something that goes to back-order, but you don't really want them to know it, but then you don't really know when it is going to ship, and you can create some issues there. [06'50']

If you are looking for a solution where customers can't purchase if there is no stock, there is this module, which is the out of stock module. [7'00"] This will replace the add to cart button with an out of stock message. The good thing about this is that customers can no longer order something that is out of stock. The bad thing is that you don't know if someone is trying to order a product that is out of stock; you are not really sure what your demand is.  Nonetheless, I will briefly show you here: I have installed the module to give you some kind of idea of what we are looking at.
So I scroll-down to Ubercart Extra modules... Out of stock notifications [button: save configuration]. Then we will enable this. [enables module].
Then when I go back to my product [view | edit screen], I have 100 in stock, so the customer knows that. And if you go-over to [the stock page] stock, [stock column] press zero. Save changes.  Go back to our home page. You see an "out of stock" message. [7'57"] That "out of stock" message is actually customizable. [08'00"]
store> configuration > store > out of stock notification
...over at out of stock notifier. Or notification. Sorry.
[on to a page of options]
[tickbox: display throbber = moving wheel on the button] And we can display this "throbber". which is a kind of annoyance, so we can take it out.
[tickbox: display customer stock information] We don't have to show customers the stock information, so customers will not see that.
[pre-filled message box reads "out of stock"] What we see here is what customers are going to actually see.
And this is dependent upon our html here. So this is, by default, filtered. So if you saved that, you would see this whole thing. By default we have the red [text]. But you can set that as whatever.
[button: save configuration] go ahead and save the configuration. And there we go. So if we go back to our home page. [8'33"] you will see "out of stock", and that we have removed the actual notification for the throbber and for the actual stock level. But we don't see that because we are out of stock anyway.

So that was that module. Again, there are positives and negatives to both [ways of displaying out of stock items] . It [the best option] depends on what your preference is.

So that was product kits , and that is stock notification.
That's typically it for the Drupal set-up with Ubercart.

Now, wrapping things up, what we are going to do is walk you through the process of making an order and  walking-through the order status, just so you are aware of how that works, and some of the options that you have. That we will be it for the tutorials.

order process

So lets go ahead and do that, by going back to Products, and I think we have already added that [product] to the cart, but we will go ahead and add to cart.  So we are going to add two of these. We are going to have the $5 and the $2. Just as a point of reference, we had the $5 which added another $5 - sorry
we had the colour attribute black which adds a $5 charge to our products so it adds $75 as opposed to $70 (the yellow does not have an increase). So we will go ahead and checkout, and if you remember....

...we've got some issues here with our out of stock module, so maybe it wasn't as great as I recommended: use at your own risk! I apologise for that.

But we will go ahead. We will check-out here [10'01] This is all set-up on my sandbox site, so I can checkout with that. Again, I would recommend that you do this in a sandbox site, just to check that your order statuses work and that you can checkout. So: we are reviewing our order. Everything looks good. We are shipping to Hollywood. And now we can go-ahead and submit that order. Again, I have my sandbox customer ID. This was set-up in one of my previous video tutorials so, hopefully, if you followed along the entire series, you know what I am talking about there. Now I can check-out here. [10'34"] I can go to "pay now".

Just briefly, here, again, you see the individual product items [in a paypal shopping cart and payment screen], rather than having the product kits listed. So if we had changed that and we had just listed product kits, it would not be the individual products [showing] here.

So we can go ahead and pay now. We have just completed our order so we will go-ahead and return back to the site. [which says "order complete"]. So we can now go to our orders and check them out
store>orders>view orders
and you will see here that the newest one at 1.45 was completed.
The reason why it is completed is that the products that we had were not actual shippable products. We did not set those up to be shipped by UPS or anything, As a result, if we go to our order status here, you will see that we got that payment. We got the payment and boom! the order was completed. There is not much [else] going-on there. We could send, you know [11'30"] an order comment, and then send that (by pressing "update") to the customer himself or herself, and that would be it. Again, if you take a look quickly at the log here, it shows you how this proceeded through our system.

Now that is all great for the one product that, you know, isn't shippable, and is available online, like your product roles, or your downloadable products. But if you have a shippable product, there is going to be another product that you are going to go through.  So let's go ahead and do that. [11'55"]


I am going to go to my content and [click on] I think "super awsome T shirt" - this is a T shirt with Bailey's photo. It is an actual shippable product. So we will go ahead and add this to the cart. We will check-out. And we will choose "1 Main Street". My billing address is the same as my delivery. We have got our shipping options here - so we will keep it [the option] at $15. We will go to review. We will submit the order. Enter a password. Pay now. And [12'39"]
when we return back to the store, when we go to
You will see here [next to the order] that we have "payment recieved"; we are not actually completed. The reason for that is that this is a shippable product, and we actually have to package and then ship. So, the next step here, if you are administering a site like this, is you go to your
"packages", and we will make a package, [12'59"]. This is going to be in packet one. So that is done. Now we go to
[dropdown menu: ship manually] We are going to ship it manually, and so in doing that, we have the saved address - the ordering address, the destination - where it is going which is to the customer, the package and we obviously have one,
[box: package type] you can enter a package type if you want to here
[box: declared value] you can enter a declared value, again, if you want to
[box: tracking number] if you have a tracking number - so if you are using UPS - you can manually enter that in.
[boxes: weight, dimensions] Weight in pounds. Again, all of that information which can be included.
[boxes under a "shipment data" heading] Now: shipment data. Because we are doing this manually, we would be entering this data in for whoever our shipping [company] was - you know, perhaps we are using [?] data, and, you know, we don't have that installed in our site, so we go ahead and do that.
[drop-down menu for number of days' delivery] Expected delivery will be - say - the 31st.
[box: shipping cost] Shipping cost is  - I don't know - let's say $10.
[button: save shipment] We will save the shipment

We can also go and them print the packing slip.
And if we checkout the log, we see that nothing - we see that here we don't actually have the completed [order] or anything beyond pending - right? That's right. And "payment recieved".

So if we now go back [14'21"] what we can do here, is that now we can go to
[box: order status] completed, and we can add an order comment and say "order shipped October 27th" "tracking number is..." and then enter a tracking number
[checkbox: send an e-mail notification on update] make sure we send an email notification to the customer
[button: update] press update.

And now our order has been updated. We see that here, the order status has been changed to shipped, our customer has been notified, and then when we go and actually check our store orders [it's done]. So the one thing [to remember] here is that we went from the order completed meaning "payment recieved" to mea

We might want to indicate that there is a step between them when we are actually shipping. So if we went into confuguration unders
you will see here that we have the order statuses. We can go ahead and add a custom one, and we will say
[box: order status id] shipping
[box:title] Shipping
[drop down: payment recieved] payment received
[button: create] So we will go ahead and we will create this.
And now you see that we have "payment received" here.
So now what we can do, is that we can go back to our orders themselves, look at this [order], and it is not completed; it is actually shipping. So if we update this and we go back to our orders, we now see that this is shipping. Right? Once we have confirmation that it has been delivivered from our courier and we know that we are good, we can come back in here and then enter it as completed. Again, it's a minor thing; it's totally up to you. You could also add another status that says, you know, that is is packaged, so then you know during the day - maybe you have a pickup every other day or something along those lines, maybe you could have something hanging around in your warehouse that is packaged but not actually shipped.

So that's it for this video tutorial.

In the last video tutorial what we will do is wrap everything up, to take it to [being] a production site, which is not very complicated. It is pretty much just our UPS [United Parcel Service] and our  and our Paypal that we want to change-over. But we also want to walk-through as an anonymous user to make a purchase, and a few other things.

So, again, if these video tutorials are helpful, leave a comment, let me know. Hopefully we will see you in the next video tutorial. Thanks very much

[Drupal 7 / Ubercart video tutorial 6 of 10 showing how to set UPS, Paypal, and conditional taxes]
[Drupal 7 / Ubercart video tutorial 7 of 10 showed how to use the default catalog module]
[Drupal 7 / Ubercart video tutorial 8 of 10 showed an alternative flexible method of showing a catalog]
[Drupal 7 / Ubercart video tutorial 9 of 10 shows how to use product kits, stock, and order states]
[Drupal 7 / Ubercart video tutorial 10 of 10 shows a simple checkout, reports, and suggests a theme]

Drupal 7 /Ubercart video tutorial 8 of 10: Over-riding the Catalog and Creating Product Attributes

So if we go to

We are going to call this [name] "Product Type", because we are going to sell different product types on our site - we are going to sell T shirts , CDs, whatnot.[4.08"]

Now we've done that let's go ahead and add some terms. So. Name: "T shirt". We could add some meta-tags and relations [?} if we want to , but we don't really need to do that [at this stage]. We have added T-shirts.  [Name] "CDs". [save]. I guess people don't really want to sell CDs any more but we are going to go historic here. And now, I guess, books. People still sell books. And three should be enough, so that's fine. [4'48"]

Now we have taxonomy terms but we don't have them associated with our content . So if we went to...

> structure > content types > Product > Edit | Manage fields | Manage display tab | Comment fields | Comment Display'll see that we don't have any fields, so we will have to add that [association].  We are going to add a new field here.

> structure > content types > Product > Edit | Manage fields tab | Manage display | Comment fields | Comment Display
Add new field

We are going to call this "Product Type". And [5'11"] you actually can't see what I'm doing here. But I am going to make this a term reference - that should be on your [drop down menu] list.
And let me make this a select list because I only want to be able to choose one. [5'20"]
(If you want to make this a free tagging [site], where, you know, you have thousands of different tags; you never know what you are going to have, you can make this
a free tagging field so that you can always type-in a new one, and it will automatically create the new term. I am sure that I am only going to be selling three different product types, so that's all that I want.)
So it is actually going to use a product type vocabulary . [scrolling down the page looking at options]

required field

It's going to be a required field.

Default value
The default value for this field, used when creating new content.
It's not going to have any default [value]. We are only going to allow one value. And it [the value] is going to be out of the product types. So I am going to go ahead and save that. Obviously you could change that if you wanted. And I'll leave that. That's fine. [05'58"]

Product Type field settings
These settings apply to the Product Type field everywhere it is used.
Number of Values

Maximum number of values

*The vocabulary which supplies the options for this field.

Now we have our actual contents. [from the admin>content menu]. When we go over to add a product ( we are going to do this afterwoulds, actually, but I just want to show you) .
?missed a bit?

Now: if we go over to Views, the Views module comes with a taxonomy over-ride.
What this will do is: -
  • The system actually has urls for taxonomies.
    They are always: taxonomy / term / termID 
  • So when we create these taxonomy terms using the url pathauto module...

    If you remember we set-up the data:
    we had url aliases and patterns set-up for taxonomy terms.
    >configuration > search and metadata > url aliases > patterns

Enter the path you wish to create the alias for, followed by the name of the new alias.

Existing system path

Specify the existing path you wish to alias.
For example: node/28, forum/1, taxonomy/term/1.


Specify an alternative path by which this data can be accessed.
For example, type "about" when writing an about page.
Use a relative path and don't add a trailing slash or the URL alias won't work.

So it will be the taxonomy vocabulary plus the term [that is] what we will see [in the url]. [6'40"]

What will happen here
>structure>views>taxonomy term>path

Views [module] will over-ride [urls set-up as above] using .../taxonomy term /....
and then it will take an argument [technical term from maths?], and that will be based on the default menu , so we can over-ride what our actual View will be or what our page will look like for the specific taxonomy term .

(I know that this is probably going over way your head [and I have just enabled the redirect module? Yes? No?]  I know that his is probably going way over your head and it is way beyond what this module originally envisaged, but I just want to do this because it is a great way to customize what you are doing, so: just trust me and bear with me!)

So now we have a taxonomy term over-ride. [7'16"] Let's go ahead and we will edit this.

>structure>views>view>taxonomy term>edit [on a drop-down menu at the end of a line]

We are going to take a quick look into Views.
What Views actually is, as I think I mentioned before in another video tutorial; Views is a graphic interface for creating database queries. Rather than write your constant query - like "select from  where", you can do it all through Views [module] and it will actually develop a query for you, run it,  and you can create pagers [third line from the bottom] out of that.

Taxonomy term (Content)
Modify the display(s) of your view below or add new displays.
Displays      Page Feed Add

Display name: Page
Title:        None
Format:       Unformatted list | Settings
Show:         Content          | Teaser
Fields:       The selected style or row format does not utilize fields.

Page settings

         No menu


Header         Add

Footer         Add

         Use pager: Full | Paged, 10 items

More link:     No

The default taxonomy over-ride, when you launch [a site] is an unformatted list of teasers. [short first parts of paragraphs encouraging a click to further reading of blog posts]. [7'42"]

Show:   Content          | Teaser
Fields: The selected style or row format does not utilize fields.
I don't want to do that; I am going to change that. So the taxonomy over-ride will use...
[clicks on Show: Content to get some options on a pop-up menu][7'46"]I want fields.

Page: How should each row in this view be styled: All displays (except overridden)
[no longer selected]

You may also adjust the settings for the currently selected row style.

I am going to apply to all displays for this taxonomy term. [pop-up closes]
And now I am using Fields [there is an Add link next to Fields: , which leads to a pop-up menu of about 20 names of fields next to tick boxes = check boxes]
Format: Unformatted list | Settings
Show:   Fields           | Teaser
Fields: Add
The selected style or row format does not utilize fields
So I am going to go ahead and I am going to add two fields. [a drop-down Filter finds them on a long list]

Add fields
[search box ]
[drop-down menu to filter results eg content or product]

Content: Title - the content title
Product: List Price - the manufacturer's suggested price
Product: SKU - the part number or bar code

This is just quickly [choosing options out of about 20] - obviously you can change it a little bit yourself.
First I want my
Content: Title - the content title
Then I want my
Product: List Price
And the
Product: SKU- so I lied: I am going to add three fields.[8'19"]

[another menu pops-up automatically labelled Configure field: Content: Title]
Right: So we will keep the title..

And I am actually going to make this a table, so we will keep all these labels that we have. [on a follow-up screen] So that actually makes sense for someone who is going to read the page. Instead of making this an unordered list we are going to make it a table.
[clicks on Format: Unformatted list |. A menu pops-up]
Page: How should this view be styled
For [dropdown menu: all pag
Unformatted list [no longer selected]
If the style you choose has settings, be sure to click the settings button that will appear next to it in the View summary.
You may also adjust the settings for the currently selected style
You have some other options here [on the "Page: how should this view be styled" pop-up box] if you want to chase those up [experiment]. So that is my View.

One thing I am going to do is that I am going to make sure that it's only products that are going to be shown on this. This is a bit of a caveat.  Bear with me for one second here, and I am going to explain this to you.

 >structure >views >view >filter criteria >add [on a drop-down menu at the end of a line]

Add filter criterea
[search box ]
[drop-down menu to filter results eg content or product]

Content: Type - the content type
(for example a "blog entry", "forum post", story", etc)

Content: Type - the content type (for example a "blog entry", "forum post", "story", etc)
[after pressing the "apply" button, a second menu pops- up][8'58"]
Configure filter critereon: Content: Type
For [dropdown: all displays]


Is one of Is not one of

Content types
Select All
Article Basic Page Product Product Kit


I am going to add content type.
OperatorIs one of
I am going to make sure that this is an acutal product.
Content types
Select All
Article Basic Page Product
I go-ahead and hit "display".

High Five!
We are not actually going to see a preview because we are going to need to generate some arguments . [9'18]

If you are only using one taxonomy on your site, so you are only using products and you are only using  taxonomy terms related to those products, this solution is fine. [9'39"]

  • you are using blog posts, and
    you are using taxonomy terms to categorise the blog posts, and
  • you are using articles and
    you are using taxonomy terms to categorise your articles,
you are going to run into a problem here. Because
this overrides all taxonomy term views
, and so all the different vocabularies and terms;

  • your other content is not necessarilly going to have these prices and SKUs, and
  • you might want to have a teaser for that specific article or blog post.
If that is the case, then you are going to have to look-into another module called the
View Field Module
. What that will actually allow you to do is create
different taxonomy overrides for different vocabularies
. I actually haven't used it, so I am sorry: I cannot go into the details about it.  But there is a great post here ... that details what you have to do in order to override this [thing]  [...]This will tell you how to go ahead and do that [other thing] . The project itself is available at
So this is the module. I'd advise you to go ahead and get the Drupal 7 version, so you can test that out. So that is a brief side-note. For the sake of this video tutorial that [problem and solution] is not going to be an issue because we are only going creating products on our site.[10'47"], so we can override all taxonomy term fields.

That's why we had a content type filter there.

Let me go-ahead and I am going to save this [screen of settings using a save button top right]. [10.58"]
Now we have our over-rides set-up. So that's great.

>store >product >attributes

Before we actually go ahead and create some products with tags, to look at this different view, I am going to go-on to the next part of this video tutorial and we are going to go about configuring attributes.

So to do that we are going to go to
>store >product >attributes
Name Label Required List position Number of options Display type Operations

color color Yes 0 4 Select box edit options delete
In the previous video tutorials in this series, we went-ahead and we created [the attribute] color. You will see that we have got grey, black, and red. And so, for the sake of users who, maybe, missed that video tutorial, I am going to create a new one. I am going to call this a "yellow" colour here. And you will see here that the default list position. This will come-up when we add our products. Don't worry about that. You can change it if you want to. [11.46"]

Default Adjustments: 

Default Adjustments
Enter a postitive or negative value for each adjustment applied for each product selected.
Any of these may be overriden at the next product level
This is an interesting and helpful field. What it allows us to do is: you'll see that if you do sizing, you may want to have a 
  • default cost, and you sell an XXL, there is more material so it can then charge an extra $2 for a XXL shirt. So it will add $2 to this; every time you have a product that has an attribute of XXL, it will add $2 automatically on to that cost. And you can associate the same thing with the 
  • sale price, so that it adds $2 on. Alternatively, if you are doing something associated with a specific
  • weight: if there is a specific weight for this attribute, you can go ahead and add that in here. These are all defaults.You can also do this [adjustment] individually on
  • specific product; you can do that as well. So that is a great thing about attributes here.

So we will go ahead an we will submit this. That makes four attributes for our products.

Now let's go ahead and add some new content.[12'31"]
>content >add content >product

Just as a reminder: if you already have content then you will now be going back to it, as new taxonomy terms that we create for our product [??].

>content >add content >product So: creating a new product. Back here. So we are going to call this - I dunno

Product Name*
Description (edit summery)

It's something on a CD, Right?
So now what are we going to do now? I guess we are not going to need an image, but we will add an image anyway. We don't have an image, so as always in this video tutorial I am going to upload one of our dog Baily.

Add a new file

Now, I am going to say [in the Product Type box with drop-down options: select option, books, CDs or T shirts] this is a CD.
Product Type*
So the SKU [in the SKU box] is going to be "pete's CD", right?

product SKU / model

The sell price is a whapping...

List Price $ Cost Price $ Sell Price*$
the listed MSRP    Your store's cost  Customer purchase price

...because everyone wants to hear me sing.  And the maximum package quantity
Maximum Package Quantitiy*
Default setting. So we are going to leave everything as default , because we are just doing this to take a look at Views[module]. We are just waiting to for the image to upload: it's almost done.
There. Now, with the magic of editing, that took no time, so we are just going to [press] save and Continue.

Where do we go? [to the shippable box] This is a shippable product. [clicks] It is not shippable product any more [lie], so we press save and continue.

adding an existing attribute to an existing product
>content >add content >product (using attributes configured on >store >product >attributes)

Now: the reason why we went-ahead and pressed save and continue is because I want to remain on the products page so we can go to our attributes. So: we have to add an attribute to this product. We are going to add our colour attribute. Now, once we do that...
We can go to our options, and you will see here that we can choose the options which are associated with this particular product. So every colour is going to be available for the cover of my CD, except for red. Now...
We are going to go ahead and save that.

If I wanted to adjust my cost for my price and my weight, for this specific product, rather than using a default, [in the cost boxes next to each option] I can go-ahead and do that. The default [radio button] will select which option will be selected by default when a user selects this [CD] item. It will be defaulted to black. So I will go-ahead and I will submit that. And I will save that.

If we go and look at [the] adjustments [page], we can see here that we can use alternateive SKUs. [by filling-in the  boxes]: Pete's CD black; Pete's CD grey, and Pete's CD yellow. Again we are going to go-ahead and submit. [15'07"]. And then if we go back to the product [page], we are still good: we have our product CD, we have our regular default SKU, we have our sale price. So we will go-ahead and we will save that.[15'17"]

Right. There's our list of products. So if we click on "CDs", here, it is going to show us all our product types... here is our actual View. We see title, we see list price, we see SKU. So that is defaulted, rather than the catalogue [default setting]  that we had before. You will see that we have a product type of CDs.

If we go to
>configuration >search and metadata>url aliases>
you will see that we have one [url alias] for each. Taxonomy terms 7, 6, and 5: these are the taxonomy terms that we created. Bulk CDs and T shirts. And we are good to go. [15'55"]

Screen revolves.[16'02"]

replacing the catalog

OK. So now we are actually set-up I am going to go ahead and show you how to replace the catalogue.

You will notice that we are on a different screen, because I actually screwed-up the video tutorial, so I paused it, and I am going to show you what I am doing. I have erased that part of the video tutorial, so we are starting here.

Right now what we have done is that we have over-ridden the taxonomy term pages so that we have a specific look for our product types and a we have gone and done that  with attributes. What we don't have is a list of all the different product types , that we can go into, kind-of like a kind of product catalogue , and then go-down by specific fields. And so we are going to do that. [16'31"]

Let's go-ahead. We'll go to [admin>structure.] Views. And we have to add a new View. [View Name box] "ubercart product". It's going to be actual Content [in the show box]; it is going to be of type product [in the type box], [in the sorted by box] newest first. In the Page title box: catalogue. This is going to be at [in the path box] "product type".

Let's just confirm this. [on admin>configuration>search and metadata>search settings>] because what we want this to be is the beginning of our actual [alias: product-type:books].... yup!

So what we actually did was [to make sure that] if we went to [path] product types, it would work as a url, and if we went to [path] /books, it would also work as a url. That's just good development practice.

  • We are going to create this as a table. With fields [these are the default settings] times-ed by ten. We are going to use a pager. [there is a ticked box called "use a pager" - maybe for page breaks?] And we are going to go ahead and edit it. So, now, what we want this to do is kind of create all of our products on the page, and allow users to filter them. [17'41]

So, what we are going to do is to create a similar View  to what we did on the other View.
Then when we go-over to get that View you will notice that I have changed a few things, but nothing overly crazy. [using an Add fields pop-up, working down the options]

We are going to add the add to cart form - so I can show you what that looks like.

We are going to add the display price.

We are going to add the image [ticking a box marked Content image (uc_product_image: delta) Delta: appears in - node product, node product_kit ]

I think that's it. Obviously you would want your two Views to match-up, so it look consistent between the two. It's not a huge concern, but it's just a good way of doing this.

[create a label box is ticked, followed by a "label" box]
We are going to call this [label] "image" [filling-in the box][18'32]
Ah. The Delta. We are not going to use this.
So we will use the add to cart. Wait for that to display.
Price: we will go-ahead and edit that.
Then we'll go back to add that image. Hold that window. [18'52"] [ticks a box]
We want this image. Not the Delta one. We chose the Delta before. We want the Content Image.
So it is image, then we are going to select thumbnail; link this image to content [from a dropdown box labelled "link this image to" with content as an option]
We'll add to display [clicks an accept button at the bottom of the page]

Now the cool thing about this; the thing that gives it a twist, is that, right now, this will show all of our products. So if we went-over to this, let's save it [presses a save button] and go and take a look at it.  [The screen reverts to a browser default page until the path the the site is re-typed] [19'26"]
Right: here are all of our products; we can add all of them to the cart.

But if you have, let's say, a thousand different products displayed in a haphazard way. So, what we can actually do, is a pretty cool thing with Views,  is to add an exposed filter for users to specifically choose: if they only want to see your T shirts, only show them your T shirts. [19'53"]

We are going to go-ahead and go-into content, [on the "add filter criteria" pop-up menu] and we are going to choose taxonomy terms. We are going to apply that. And now: it is going to be[from vocabulary options of "product type" or "tags"] a product type, and it is going to be a [selection type either dropdown or autocomplete] dropdown. So [press button] apply and continue. [20'04"]

[next screen is called "configure filter criterion. Content: has taxonomy term]
You are going to expose this to the users. So now they have control of this.[20'07"]
[in the "label" box types] "only show the following products" [20'13"]
[looking at an "operator" selection - "is one of", "is all of", "is none of".... ] "is one of" [20'16"]
[looking at a "select terms from the vocabulary Product Type" form including "allow multiple selections"] We are going to allow multiple. [20'16"]
["remember last selection" is a tick box] You can remember the last selection, so you show them T shirts if they have always had T shirts before. It is entirely up to you.
[presses "apply" button] press apply and it is all displayed.[20'26"]
[presses "save" button top right] Now we are going to go ahead and save this. [20'31]
[presses F5 in windows] We are going to go-ahead and re-load this page. [20'33"]
Now they can go ahead and say "I only want to see CDs"
[selects "CDs" from the new drop-down menu and presses an "apply" button.] And there you go. We only have one CD. [20'39"]
And go-in to this, [shows picture of dog Bailey],
And they want to see the other CDs.[shows summery of CD as for a list]
And you will see now [in the path] that we have "product/CDs"[20'46"]
So this is our other View that we created. And from this they can use the add to cart form, right-away, and if they decided that they wanted to see all your product types, if they removed "CDs", and then they are back to all of your products. This is why I like using Views and doing it [the catalogue] myself: just because you have complete control over this. [21'02"]

One thing I should mention again, is that if you are using multiple taxonomy terms for products , you are going to have two different exposed filters here, and you want to create another View for, you know, product types, or lets say just the licences. So: just the licences.  And then you would want to remove your and you kind of get into trying a template for that in PHP. That is a little bit beyond the scope of this video, but you can actually choose which exposed filter is shown. You know, if you are interested in that, I'm happy to do a tutorial on it, supplimentary to this video tutorial series: I just need to know that you are interested in it.[21'32"]

That's pretty-much it! [21'33"]

Just to re-cap on what we did in this video tutorial, we  just went-ahead and
-unistalled the catalogue module. When we did that we
-removed the taxonomy terms for those associated products
so if you had gone ahead and created a bunch of different products and taxonomy terms associated with the catalogue, you would have run into an issue, but, that said, we unsinstalled the module , removed all the data, went ahead and
-created a new taxonomy.
Specifically: we created the product type vocabulary.
We added some new terms to that.
-Then we created the taxonomy over-ride view.
So what this did is that it gave is something like "CDs" - right? Where we actually had control over how it was shown to users. We then
-added some attributes to different products, in a sidebar to the actual views, which enabled us to select grey, black, or yellow. You will see how these appear here when you are listing them.  Then what we did was [that] we over-rode we created a new view to replace our old catalogue, which showed all of our product types, and we
-added an exposed filter so that users have complete control over that [view].  They see what they want. If they want to see books, they can see books; if they want to see T shirts, they can see T shirts.

That's the end of this video tutorial. I hope it helped-out. We are nearing the end [of the series]. I think that in Video Tutorial 9, what we are going to cover is product kits and stock,  and then I think we are pretty-much good to go. The last video [number 10] will just be about testing: making sure that your site works properly. What you need to check; what you need to know. And then your site is ready to launch. So we are all but there. If you don't want to know about stock or product kits,  you can go ahead and launch your site now, and you have pretty much got all out of this video tutorial series that you need to know.

I hope this has helped you. I am getting some great comments. I apologize that the video tutorials in this series aren't coming faster, but it's time-consuming. So, leave a message [on you-tube]; let me know if this has helped-out.

[Drupal 7 / Ubercart video tutorial 6 of 10 showing how to set UPS, Paypal, and conditional taxes]
[Drupal 7 / Ubercart video tutorial 7 of 10 showed how to use the default catalog module]
[Drupal 7 / Ubercart video tutorial 8 of 10 showed an alternative flexible method of showing a catalog]
[Drupal 7 / Ubercart video tutorial 9 of 10 shows how to use product kits, stock, and order states]
[Drupal 7 / Ubercart video tutorial 10 of 10 shows a simple checkout, reports, and suggests a theme]

Transcriber's note:

Does anyone know any other transcriptions of this series? If you have any links to other Drupal Ubercart or Drupal Commerce videos for shopkeepers I'd like to have a look, but I won't be offended if anyone else does the same work better and helps me write my shopping cart and sell shoes. I might make more than one cent a day by selling another pair of shoes each year. In fact I hope someone copies this whole bit of text, puts it on, fills in the gaps, links each tutorial to a forum, adds screenshots or reconstructions as I've done - that kind of thing. I'm only doing this because the slowest kid has to write the neatest notes, and I'm only doing it on my own blog because paper notes are harder to keep and online forums tend to get moderated by party loyalists.

If you come to Ubercart from a shopkeeping angle, rather than an IT developer angle, it's less intuitive and needs a transcript of text to make more sense. If anybody has done a plain text transcript, more connection between screen shots and text or reconstructions and text as I have done here are better still; just a plain text transcipt is really good to know about and helps people around the world who are using using machine translation as well.

I'm slow setting-up my next shoe shop software and any help is welcome.