A collections of thoughts that might be useful to share with the world. Feel free to comment!

The default UberCart workflow for non shippable products, such as downloadable or non physical products (e.g. role or group access) is to mark the order "completed" only if it only contains these type of products. In most cases this is fine but a problem occurs when a customer purchases mixed physical and non shippable products. In this case access to non shippable products is not immediate. This workflow deviates from the common presumption that non physical transaction should occur instantly and be processed independantly from physical goods.

A new problem arose when CPanel was upgraded. Someone at CPanel decided it was not enough to have one redirection to their login, at, and decided to create another one at This was a problem because one of our clients has an application with its own controlpanel already in that location.

When working on more complex themes the default CSS classes assigned by the Drupal system do not provide enough distinction to effectively style blocks.  It would be useful to have classes assigned that identify the following:

  • The first and last blocks
  • The block number within each region
  • The block number within the page
  • An alternating even/odd class for zebra striping 

Joomla and VirtueMart provide an easy to use and feature rich combination of content management and eCommerce. A lot of my clients who use VirtueMart were asking me about Quickbooks integration so that they could easily track online purchases. has provided Quickbooks export for a while but the existing Payment module for VirtueMart did not pass itemized order information. To meet the increasing demand for this functionality I decided to modify the existing payment module to pass the required information.

JEvents provides an easy to use calendar of events and it is critical to have a method of quickly adding new events to search engines because they are time sensitive. The mambot provided here searches through the JEvents database and creates a categorized listing that is integrated with the Search Engine Friendly (SEF) Service Map component.