E-commerce+Modules

E-Commerce Modules
By Darya Balyasnikova, Eric Madan, Shizra, Nouh, and Michael

E-commerce is the buying and selling of products & services through an electronic medium ex. Internet. More than 51% of Canadians (Statistics Canada), shop online and this trend is increasing more day by day. Due to this e-commerce modules are very important for all drupal websites looking to buy and sell their products or services.

An example of an ecommerce website is Cargoh.com. Some of the features of an e-commerce module can be seen in the screenshots below;
 * The shopping cart shows the total value of the items you have in it as well as the number of items
 * There is a favorites button where you can quickly look up items you have previously marked as your favourite
 * You can see the price of the item along with the product details
 * You can see how many are left in stock
 * You can add it to your wishlist
 * You can view other items from the store by clicking on thumbnails displayed below





There are a variety of modules that makes setting up an e-commerce site in drupal simple but the four modules we will be discussing are;
 * 1) Ubercart
 * 2) Drupal commerce
 * 3) Five-star
 * 4) <span style="font-family: Arial,Helvetica,sans-serif;">Invoice

__**<span style="font-family: Arial,Helvetica,sans-serif;">Overview: **__
<span style="font-family: Arial,Helvetica,sans-serif;">Ubercart is currently the most installed e-Commerce module on Drupal, and it is used worldwide. It is an open-source e-commerce solution and it is fully integrated with Drupal CMS. Ubercart useful in building communities around a product and selling access to premium content such as downloads of music, videos, or software. A useful functionality of Ubercart is flexibility - certain features can be added or changed for the purpose of accommodating various user needs. The common user needs that are currently served by Ubercart are selling different products from online catalogs, selling event registrations and site access for sites with members-only functionality. The stengths of Ubercart include the ability to integrate an online store with the rest of the the site or a community. Ubercart can also be enhanced or modified by other Drupal modules and themes without the need to change the code. It is enough to simply install and configure the module through Drupal. User testing has reflected strong usability and flexibility of this module. Moreover, module creators are constantly paying attention to changing trends and changing user needs and consequently update and improve the module.

<span style="font-family: Arial,Helvetica,sans-serif;">The most common features of Uberact are:
 * <span style="background-color: transparent; color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 15px; text-decoration: none; vertical-align: baseline;">flexible product creation system
 * <span style="background-color: transparent; color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 15px; text-decoration: none; vertical-align: baseline;">flexible product attributes system
 * <span style="background-color: transparent; color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 15px; text-decoration: none; vertical-align: baseline;">single page checkout
 * <span style="background-color: transparent; color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 15px; text-decoration: none; vertical-align: baseline;">automatic account generation (anonymous checkout)
 * <span style="background-color: transparent; color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 15px; text-decoration: none; vertical-align: baseline;">simple order processing
 * <span style="background-color: transparent; color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 15px; text-decoration: none; vertical-align: baseline;">simple order creation and editing
 * <span style="background-color: transparent; color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 15px; text-decoration: none; vertical-align: baseline;">integrated payment system
 * <span style="background-color: transparent; color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 15px; text-decoration: none; vertical-align: baseline;">activity logging
 * <span style="background-color: transparent; color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 15px; text-decoration: none; vertical-align: baseline;">XML import/export

<span style="font-family: Arial,Helvetica,sans-serif;">Source: //<span style="font-family: Arial,Helvetica,sans-serif;">http://ubercart.org/what_is_ubercart // = =

__**Comparison between Ubercart and e-Commerce**__
Since Ubercart has a very friendly user interface, it makes it an obvious choice for many Drupal developers. There are a lot of easy-to-use, out-of-the-box features that don't require a ton of customization (which could lead to a lot frustrations). jQuery is a major part of Ubercart, but that can be seen as good AND bad. This is because it some users are not very picky, and would just use whatever jQuery animations that come with the module. On the other hand, some developers would prefer to have a clean slate for their own jQuery work (and this would force them to clean up all the jQuery in Ubercart before they can start working on it). Since e-Commerce does not include it's own jQuery, it can be seen as a good thing for many developers.

__**Comparison of their Communities**__
Community support and activity is vital for modules like Ubercart and e-Commerce. It can be the "make or break" factor for many developers when deciding which to use. The Ubercart community, which is located at ubercart.org, is very active. The creators are very involved in community discussions, and answer user questions and concerns very often. Ubercart users often take part in its development by helping to build features that can further compete with e-Commerce. The e-Commerce community, which is located at drupalecommerce.org, is also very active. It’s creators often improve the module by adding features and fixing bugs. The website is also the main place where users and developers talk about the future versions of e-Commerce. Though the community is currently not as big as the Ubercart community, it is still growing at a very steady pace.

__**The One to Choose Both**__
Ubercart and E-Commerce are very effective in what they do, and both cater to certain types of Drupal developers. This makes it very difficult to choose a one module over the other as the absolute best one. However, if what you want is to create a website and have it running fast, then Ubercart may be your best option. If you require the flexibility and freedom to built a very customized, robust website, then e-Commerce may be your best choice. But, Ubercart is likely to be enough for the majority of users out there. There are a few things that Ubercart offers that e-Commerce does not, such as a one-page checkout. This further stresses Ubercart's out-of-the-box completeness with features, but again, things like a one-page checkout is also possible in e-Commerce with some additional work.

Source: //http://alligatorsneeze.com/comment/446//

=<span style="font-family: Arial,Helvetica,sans-serif;">** Drupal Commerce Project ** =

<span style="font-family: Arial,Helvetica,sans-serif;">**__ Introduction: __**
Drupal Commerce is used to build eCommerce websites and applications of all sizes.

eCommerce solutions are often developed with an application mindset, highlighting what you can do with it out of the box, Drupal Commerce was developed with a framework mindset, focusing on what you can build with it. The core Commerce systems make no hard-coded assumptions about your business model, privileging developers and site builders at the core level to build custom eCommerce solutions to suit.

<span style="font-family: Arial,Helvetica,sans-serif;">__** Features: **__

 * <span style="color: #222222; font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">Create product types with custom attributes
 * <span style="color: #222222; font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">Dynamic product displays
 * <span style="color: #222222; font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">Order management, line item
 * <span style="color: #222222; font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">Payment method API, allowing many different payment gateways
 * <span style="color: #222222; font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">Tax calculation / VAT support
 * <span style="color: #222222; font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">Discount pricing rules
 * <span style="color: #222222; font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">Deep integration with systems like D7's Fields, Views, Rules and Entity API.

<span style="font-family: Arial,Helvetica,sans-serif;">**__ Additional Functionality: __**
<span style="font-family: Arial,Helvetica,sans-serif;">Provided through contributed modules
 * <span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt;"> Shipping
 * <span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">File Downloads
 * <span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">Stock Coupons
 * <span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">PayPal
 * <span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt;"> and many more...

<span style="font-family: Arial,Helvetica,sans-serif;">**__ Installing Drupal Commerce: __**
<span style="font-family: Arial,Helvetica,sans-serif;">There are two ways to install Drupal Commerce. You can do it from scratch by installing Drupal 7 and then enabling the Commerce modules and their dependencies. This process requires additional configuration of products and product displays before you can start selling through your site. However, it does afford you a greater measure of control over how exactly items are setup from the beginning.

<span style="font-family: Arial,Helvetica,sans-serif;">Step 1: Download the latest dev versions of the following modules to your site's modules directory:

<span style="font-family: Arial,Helvetica,sans-serif;">Address Field <span style="font-family: Arial,Helvetica,sans-serif;">Chaos tool suite (Views 3 dependency) <span style="font-family: Arial,Helvetica,sans-serif;">Entity API (Rules 2 dependency) <span style="font-family: Arial,Helvetica,sans-serif;">Rules 2 <span style="font-family: Arial,Helvetica,sans-serif;">Views 3

<span style="font-family: Arial,Helvetica,sans-serif;">Step 2: Download the latest version of Drupal Commerce to your site's modules directory. You can find the latest supported release through the Drupal Commerce project page (or get it from its Git repository if you prefer)

<span style="font-family: Arial,Helvetica,sans-serif;">Step 3: Enable the modules in the Commerce package on your module installation form. Most sites will end up using most of the modules in the package, so for your first site you should just enable them all.

<span style="font-family: Arial,Helvetica,sans-serif;">Step 4: Once the modules have been enabled, you're ready to start configuring the Commerce components

<span style="font-family: Arial,Helvetica,sans-serif;">An easier way to install Drupal Commerce would be to use an installation profile that enables and configures the Commerce modules and components for you. The primary starter installation profile is Commerce Kickstart

<span style="font-family: Arial,Helvetica,sans-serif;"> Commerce Kickstart is the quickest way to get you up and running with [|Drupal Commerce]. As an e-commerce framework, Drupal Commerce can be configured to build any type of e-commerce site imaginable. However, its dependence on Fields, Views, and Rules may leave new users confused about how to start displaying products for sale and testing checkout.

<span style="color: #222222; font-family: Arial,Helvetica,sans-serif; font-size: 12pt;"> As a distribution of Drupal, it includes the latest versions of Drupal core, Drupal Commerce, and the other modules it depends on. During installation, Commerce Kickstart provides basic configuration of the Commerce modules and an additional step where you can optionally create example store content to test with right out of the box.

<span style="font-family: Arial,Helvetica,sans-serif;">__** Types of Taxes: **__
<span style="font-family: Arial,Helvetica,sans-serif;">Drupal Commerce can do lots of things, but it does two major kinds of taxes "out of the box". ====<span style="font-family: Arial,Helvetica,sans-serif;">1. Sales Tax is the style of tax often used in the US, where many governmental entities impose their own tax on every purchase. It's typically added as a line item in the subtotal. ==== ====<span style="font-family: Arial,Helvetica,sans-serif;">2. VAT is used in much of the rest of the world. In VAT, the total shown to the customer already includes the tax, and nothing is added in the subtotal section (although Drupal Commerce does itemize the tax portion of the total.) ====

<span style="font-family: Arial,Helvetica,sans-serif;">Simple Taxes
<span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">If you have a tax which is added to every order without any complex rules, there's nothing to it. Visit the tax rate configuration at Administration -> Store -> Configuration -> Taxes (admin/commerce/config/taxes) and add a tax rate.For example, to add a sales tax of 10%, I can click "Add a tax rate", fill in the form, put a rate of 0.10, and that's all there is to it. An extra 10% subtotal line item will be added to every order

<span style="font-family: Arial,Helvetica,sans-serif;">Discounts in Drupal Commerce
<span style="font-family: Arial,Helvetica,sans-serif;">**Overview**

<span style="font-family: Arial,Helvetica,sans-serif;"> · Create a tag-based weekend sale discount using a rule
<span style="font-family: Arial,Helvetica,sans-serif;">**Simple Discount**

<span style="font-family: Arial,Helvetica,sans-serif;">An example of a simple discount: You want to take 10% off everything in your store until further notice.

__<span style="font-family: Arial,Helvetica,sans-serif;">**Fivestar Module (add-on):** __
<span style="font-family: Arial,Helvetica,sans-serif;">**“Engaging Customers With Your Products”**

<span style="color: windowtext; font-family: Arial,Helvetica,sans-serif;">[]

<span style="font-family: Arial,Helvetica,sans-serif;">When someone places an order on your site, keep them engaged by offering them the chance to review and rate the products they've purchased. This data will help future customers make informed purchases and will help you target your marketing and promotions based on the best items.

<span style="font-family: Arial,Helvetica,sans-serif;">The Fivestar module is a clean and attractive voting tool that allows users to evaluate products fast and easy. Some of its major components include:
 * <span style="font-family: Arial,Helvetica,sans-serif;">jQuery rollover effects and AJAX no-reload voting
 * <span style="font-family: Arial,Helvetica,sans-serif;">Configurable star sets
 * <span style="font-family: Arial,Helvetica,sans-serif;">Graceful degradation to an HTML rating form when JavaScript is turned off
 * <span style="font-family: Arial,Helvetica,sans-serif;">Support for anonymous voters
 * <span style="font-family: Arial,Helvetica,sans-serif;">Spam protection to keep users from filling your DB with bogus votes
 * <span style="font-family: Arial,Helvetica,sans-serif;">Easy-to-use integration with Views module for lists sorted by rating, or filtered by min/max ratings
 * <span style="font-family: Arial,Helvetica,sans-serif;">A Fivestar CCK field for use in custom node types
 * <span style="font-family: Arial,Helvetica,sans-serif;">An easy-to-use Form API element type for use in other modules
 * <span style="font-family: Arial,Helvetica,sans-serif;">Compatible with all versions of jQuery (1.0 - 1.4.4)


 * Screenshots:**





__<span style="font-family: Arial,Helvetica,sans-serif;">**Invoice Module:** __
<span style="color: windowtext; font-family: Arial,Helvetica,sans-serif;">[]

<span style="font-family: Arial,Helvetica,sans-serif;">**“Create and administer invoices”**

<span style="font-family: Arial,Helvetica,sans-serif;">The module creates an invoice node type. The module can be used in combination with the **pathauto** module to auto generate the title.

<span style="font-family: Arial,Helvetica,sans-serif;">The Pathauto module automatically generates URL/path aliases for various kinds of content (nodes, taxonomy terms, users) without requiring the user to manually specify the path.

<span style="font-family: Arial,Helvetica,sans-serif;">View invoice as html print view and as pdf document.

<span style="font-family: Arial,Helvetica,sans-serif;">**PDF document**

<span style="font-family: Arial,Helvetica,sans-serif;">It's possible to view the invoice as full node view on your site, as html print view and as pdf document. The nice **dompdf library** is used to generate pdf documents. The library is not included into this module. You'll have to download it yourself and paste the dompdf folder into the root of this module.


 * <span style="font-family: Arial,Helvetica,sans-serif;">Screenshot: **

<span style="font-family: Arial,Helvetica,sans-serif;">

= =

= =