With your Drupal installation running, all you need is to enable Ubercart and its required modules. In Drupal, modules are self-contained bits of code that adds functionality to Drupal. Some of the core parts of Drupal (such as the functionality that maintains a list of users who can login to your site) are implemented through modules. If you find yourself saying "Drupal is great, but I need it to do...", more often than not, you can find a module on drupal.org that does what you need it to. Modules are easy to install and uninstall in Drupal. To get started, connect to your website directory like before through FTP/SSH (or however you access your website's files). Browse the the world-viewable directory where you uploaded all the drupal files. Among these files you should see a "sites" directory. Open that directory and then open the directory named "all". In the "all" directory you will create a new directory named "modules" (or use the existing "modules" directory if it already exists). Any new modules will be uploaded into this directory. We will go through the list of modules that you need to upload and install before we can install Ubercart.
Read If You've Used the E-Commerce module on your Drupal Installation
If you are using, or have used, the old Drupal e-commerce module on your site there are few warnings to be aware of.
- Do not attempt to install Ubercart on a Drupal site that already runs Drupal's e-commerce package. Similar URLs in the two packages will result in display or functionality errors.
- Some users have reported problems installing Ubercart on a site they uninstalled e-commerce from. Make sure you empty out your cache and cache_* tables before attempting to install Ubercart. These are two big module packages, and there are bound to be leftovers laying around to hose things up. For more info, please see the FAQ before attempting an install like this.
Required Modules for Ubercart
Here's the list of modules that we will need for Ubercart. Every module listed below contains the module's project page on drupal.org as well as a download link to each release that's supported by Ubercart. Like with the Drupal package, each module is compressed in a tarball (.tar.gz) format. For each module, you will extract the directory contained in the compressed file and upload it to sites/all/modules directory..
These are needed for Ubercart to work
- Tables API (TAPIr) (download TAPIr 1.6)
- uBrowser (download uBrowser 1.4)
- Token (download Token 1.11)
- Workflow-ng (download Workflow-NG 2.1) Only the Workflow-NG & Workflow-NG UI modules should be enabled.
Only needed if you need to display images with each product on your store
- Content Construction Kit (CCK) (download CCK 1.10) Only the Content module is needed.
- Image Field (download ImageField 2.1)
- Imagecache (download ImageCache 1.7)
- Thickbox (download Thickbox 1.2)
Only needed if you require the functionality described below
- Google Analytics: (download Google Analytics 1.5): Track e-commerce data with Google Analytics - must use the legacy GA code to be compatible with Ubercart.
- Poor Man's Cron: (download Poor Man's Cron 1.1): Some Ubercart features require automated operations. If you do not have access to configure a cron task for your Drupal site, this module will simulate the program on page loads.
Download the latest version of Ubercart that is compatible with you version of Drupal. As of right now, the module package only supports Drupal 5.x. Once the 1.0 release of Ubercart arrives, we will start work on development for 6.x. Upload the decompressed Ubercart folder to your modules directory and browse to Administer > Site building > Modules (admin/build/modules) to start enabling modules! The last step is to download and install Ubercart. Ubercart cart isn't just one module, but a package of modules. Since not all e-commerce sites have the same needs, Ubercart is broken into various modules that each contribute different parts to an e-commerce store. You can download the latest version of Ubercart that is compatible with your version of Drupal. For our purposes, that is currently ubercart-5.x-1.0 (we will support 6.x in the future once the 1.0 release of Ubercart is finished). After decompressing the tarball, like with the previous modules, upload the decompressed ubercart folder to your modules directory (sites/all/modules) and browse to Administer > Site building > Modules (admin/build/modules) to start enabling Ubercart modules!
Required core modules:These are the modules that Ubercart uses for basic core functionality as an e-commerce site. Without these, you simply can't run an e-commerce site. The exception is that it would be possible for you to not enable Cart if you just wanted a way for administrators to enter orders themselves.
- Cart (ubercart/uc_cart)
- Gives you a shopping cart for an Ubercart e-commerce site.
- Order (ubercart/uc_order)
- Allows you receive and manage orders through your website.
- Product (ubercart/uc_product)
- Allows you to create products for your store. Imagecache and CCK Image field are recommended for displaying images of products.
- Store (ubercart/uc_store)
- Allows you to setup the store settings and manage your Ubercart site.
Other core modules:The following core modules provide other basic systems and functionality but may not be required for every store. Consider what your needs are, check out this list, and if you still can't figure out which ones you need then stop by the forums and ask!
- Attribute (ubercart/uc_attribute)
- Allows customer selectable options on products. For example, if you sold shirts you'd give the customer a selectable option on the size.
- Catalog (ubercart/uc_catalog)
- Creates a block and a page display of products by category.
- File Downloads (ubercart/uc_file)
- Allows products to be associated with downloadable files.
- Notify (ubercart/uc_notify)
- Send e-mail notifications to customers at checkout and when modifying their orders.
- Payment (ubercart/payment/uc_payment)
- Enables the payments API for receiving and tracking payments through your site. All payment related modules are found in the ubercart/payment directory.
- Reports (ubercart/uc_reports)
- View reports about your store's sales, customers, and products.
- Roles (ubercart/uc_roles)
- Assign permanent or expirable roles based on product purchases.
- Shipping Quotes (ubercart/shipping/uc_quote)
- Displays shipping quote information to customers at checkout. All shipping related modules are found in the ubercart/shipping directory.
- Shipping (ubercart/shipping/uc_shipping)
- Sets up shipments for shipping companies with integrated web services.
- Taxes (ubercart/uc_taxes)
- Calculates tax on orders
Extra modules:These modules provide features that aren't necessarily extensions of core systems and don't deserve to be included in the core category. You may find them helpful, but they aren't essential.
- Cart Links (ubercart/uc_cart_links)
- Create specialized links to purchase products from other nodes.
- Google Analytics for Ubercart (ubercart/uc_googleanalytics)
- Send e-commerce data to Google Analytics for reports and tracking.
- Importer (ubercart/uc_importer)
- Provides an interface to import and export XML representations of the store's contents.
- Product Kit (ubercart/uc_product_kit)
- Create products that represent collections of other products. For example, if you sold TVs, you could create a collection of CRT, LCD, and Plasma TV products.
- Repeater (ubercart/uc_repeater)
- Allows a multisite setup to share changes to the catalog.
- Stock (ubercart/uc_stock)
- Manage stock levels of your ubercart products
Fulfillment modules:These modules extend the functionality of the shipping quote and order fulfillment systems. They rely on one or more of the core modules, with many specifically designed to work to quote and prepare different types of shipments.
- Flatrate (ubercart/shipping/uc_flatrate)
- Charge a flatrate per product or per order for shipping.
- UPS Shipping (ubercart/shipping/uc_ups)
- Integrates UPS online tools for rate quoting, shipping, and tracking.
- USPS (ubercart/shipping/uc_usps)
- Returns quotes from the United States Postal Service.
- Weight quote (ubercart/shipping/uc_weightquote)
- Quotes a shipping fee based on an order's total weight.
Payment modules:These modules extend the functionality of the payments API and so rely on the core Payment module being enabled. Modules in this category offer different payment methods and various payment gateways designed to receive and record payments for the different methods.
- 2Checkout (ubercart/payment/uc_2checkout)
- Integrates checkout with 2Checkout.com.
- Authorize.net (ubercart/payment/uc_authorizenet)
- Processes credit card payments through Authorize.net.
- Credit Card (ubercart/payment/uc_credit)
- Receives credit card payments through checkout.
- CyberSource (ubercart/payment/uc_cybersource)
- Enable to process payments using CyberSource Silent Order POST.
- Payment Method Pack (ubercart/payment/uc_payment_pack)
- Provides the check/money order, COD, and 'other' payment methods. Recurring Payments
- PayPal (ubercart/payment/uc_paypal)
- Integrates various PayPal services with Ubercart; read more here.
- Recurring Payments (ubercart/payment/uc_recurring)
- Assign recurring fees to products and manage them.
- Test Gateway (ubercart/payment/uc_payment)
- Adds a credit card gateway that simulates a successful payment for testing checkout.
Once you've enabled the modules, you're not finished! There's still plenty of work to configure and customize your site. Keep in mind that your business model might require additional functionality that Ubercart doesn't include out of the box (e.g. you're a music store that sells CDs as well as music downloads, you're a European based business that needs a VAT calculated for products sold). For additional functionality, visit our contributions section to see if there are any additional modules you might need. If you don't see a module that adds the functionality you need (or if you're not sure), ask in our forums. After that, spend some time reviewing the list of things to do post installation at Configuring Your Store.