Always Test Ubercart on Chrome
If you run any Drupal shopping cart sites using the Ubercartmodules, here's a free tip: whenever you make any changes or upgrades, test the checkout page in the Google Chrome browser. One day, you'll thank me.
I don't mean content changes, like adding a product or processing orders. Those are fine, you don't need to worry. I mean code changes, like adding a module. Especially adding a module. Unfortunately, it's absurdly easy for another, completely unrelated module to break the Ubercart checkout page.
The problem is simple: the Ubercart checkout page relies on Javascript. But many other modules do too. If the Javascript for any of those modules throws an error, Chrome screeches to a halt. No more Javascript. Ubercart doesn't get a chance to run the code it needs to, and the checkout page doesn't work.
The basic page loads, sure. But the parts that require Javascript (including the all-important credit card section), don't load. The prospective buyer, giddy with anticipation, slams a bulging cart into a virtual brick wall. No sale.
Note that I keep saying Chrome. Other browsers are more forgiving. Firefox, for instance, soldiers on, ruggedly stepping over the fallen Javascript, whatever it might be, to load Ubercart's functional functions. But Chrome seems to have a low tolerance. One mistake, and it's everyone out of the pool.
On the positive side, once you confirm that the checkout page does work on Chrome, you don't have to worry about the other mainstream desktop browsers.
If you use Aegir and platforms to manage your sites, consider giving Ubercart sites a separate platform.
While it's wonderful to run many sites on one platform whenever possible, it's worth a little extra work to prevent a client from demanding to know why the checkout page has suddenly died.
I don't mean content changes, like adding a product or processing orders. Those are fine, you don't need to worry. I mean code changes, like adding a module. Especially adding a module. Unfortunately, it's absurdly easy for another, completely unrelated module to break the Ubercart checkout page.
The problem is simple: the Ubercart checkout page relies on Javascript. But many other modules do too. If the Javascript for any of those modules throws an error, Chrome screeches to a halt. No more Javascript. Ubercart doesn't get a chance to run the code it needs to, and the checkout page doesn't work.
The basic page loads, sure. But the parts that require Javascript (including the all-important credit card section), don't load. The prospective buyer, giddy with anticipation, slams a bulging cart into a virtual brick wall. No sale.
Note that I keep saying Chrome. Other browsers are more forgiving. Firefox, for instance, soldiers on, ruggedly stepping over the fallen Javascript, whatever it might be, to load Ubercart's functional functions. But Chrome seems to have a low tolerance. One mistake, and it's everyone out of the pool.
On the positive side, once you confirm that the checkout page does work on Chrome, you don't have to worry about the other mainstream desktop browsers.
Use a Separate Platform for Ubercart
If you use Aegir and platforms to manage your sites, consider giving Ubercart sites a separate platform.
While it's wonderful to run many sites on one platform whenever possible, it's worth a little extra work to prevent a client from demanding to know why the checkout page has suddenly died.
Source...