Ecommerce Module Requirements

by Sarah Ewen

I. Introduction

This document pertains to the ecommerce module, part of the ArsDigita Community System. It explains:

II. Vision Statement

Meeting the needs of ecommerce

The ecommerce module fulfills all requirements for operating a standard business-consumer web service. It offers a fully-functional category-based shopping cart system and real-time credit card billing, just as you would find in any large popular ecommerce site. However, this is simply the base of the ecommerce module; it offers a whole host of handy utilities, including (but not limited to):

Additionally, a large number of settings can be adjusted (e.g., formulae for shipping costs / tax charges / product description information, products displayed on searches) from the administration pages.

The creation of the e-commerce module also prompted the building of the customer service module, which fits seamlessly together with the ecommerce module and the rest of the ACS. This allows all interactions with customers, and the issues they have raised, to be managed efficiently.

If you are a business

It is worth considering the following points:

III. System Overview

The following is a quick whistle-stop tour of the interesting ecommerce module components, and the functionality they offer.

The ecommerce modules offers a highly-scalable e-business solution to ecommerce, which can easily be enabled to generate XML reports for integration with back-end financial systems.

IV. Use-cases and User-scenarios

The ecommerce module will be used by five main groups of users:

Setting up the site

Adena the Administrator wants to set up the ecommerce module for a new site. First she ensures that the technical requirements are in place. Then, she follows these steps:

  1. Setting up product categories (optional)

    Although it isn't mandatory, Adena's site is going to categorize its products. Having established what the categories will be, Adena heads over to /admin/ecommerce/cat and starts choosing `insert' to add new category names.

    Categories can be built into a hierarchy three levels deep. They can be edited to change the title they have been given, or deleted completely.

  2. Setting up shipping cost rules

    Adena does this at /admin/ecommerce/shipping-costs/. She reads through the instructions on the page and checks that she understands by looking at some examples before she sets them up.

  3. Setting up sales tax rules

    Sales tax rules are set up at /admin/ecommerce/sales-tax/. Adena is setting up a site for a company located in only a couple of states, so this is easy.

    Arthur the Administrator, however, is setting up sales tax rules for a Fortune 500 company with a nexus (i.e. an office / factory / store) in many states, so he decides to buy tax tables from www.salestax.com. This will take a little bit of coding to integrate into the ecommerce system.

    Ailsa is setting up a site for a company based outside the US, so she has to do some programming to handle tax for the regions in her country.

  4. Adding custom product fields (optional)

    Adena views the existing product fields at /admin/ecommerce/products/add and decides that she'd like to add a couple more for her widget products.

    The ecommerce module provides a lot of standard fields that most products would require, such as SKU, price and description, but Adena is selling wine too, so it may be useful to add a `vintage' field.

    She adds the custom fields at /admin/ecommerce/products/custom-fields.

At this point, she gets Dennis the Designer to set up the product display templates.

  1. Creating new product display templates (optional)

    Dennis visits /admin/ecommerce/templates/ to create templates to replace the default, somewhat minimalist templates.

    The default template that the ecommerce module provides can be modified to:

    The template is written in AOLserver's ADP language, which is just HTML with Tcl variables (or commands) inside <% and %> tags. It is extremely easy to pick up; if Dennis can write HTML, he can write ADP.

    Dennis can create as many additional templates as he desires. Templates can be associated with product categories, so that every product in the "book" category, for example, is automatically assigned the "book" template by default, although a template can always be assigned to any product individually, when adding it into the system. This means if Dennis wants to create an interesting template for a special product, he can.

Adena then carries on setting up the following:

  1. Setting up user classes (optional)

    Adena can define groups of users called classes, which can be used to:

    Examples of a user class might be "student", "retired" (for special offers), "institution", "publisher" (for product recommendations), "dog-owner", "cat-owner" (for site appearance).

    User classes are defined at /admin/ecommerce/user-classes/.

    Users can be members of more than one class; if both classes are offering a discount the user will receive the best deal out of all of them (but they are not cumulative).

    Note - check your .ini file configuration to see whether users will be able to view the classes they are members of. If they can see this information it would be wise to name the user classes carefully.

  2. Loading products into the product database

    If Adena only wants to add a few products into the database she can use the form at /admin/ecommerce/products/add.

    If she has a considerable number of products to upload, they are probably already in a database (or structured format) of some kind, in which case it is probably better to export them as a CSV and use one of the following utilities:

    All the utilities are available and documented at: /admin/ecommerce/products/upload-utilities

  3. Add a professional review (optional)

    To add a professional review, Adena visits /admin/ecommerce/products/, searches or selects the product to be reviewed, and chooses `Add a review'.

    There is a option to toggle whether professional reviews will appear on the web site.

  4. Adding a cross-selling link (optional)

    Cross-selling links tie two products together, so that if a customer views one of the products, a link to the other is displayed on the page. They can be uni-directional (useful for dependencies, e.g. `if you buy a printer, you need an ink cartridge'; this isn't true the other way round) or bi-directional (useful for binding together items which are often purchased together, e.g., aquariums and tropical fish, pizzas and soft drinks).

    Adena can use /admin/ecommerce/products to search for one of the products she would like to link, and then select it. From there, she can click on the cross-selling links count for more information on existing links, and to set up new links.

  5. Putting a product on sale / special offer (optional)

    The next step is to set up the sales and special offers for the relevant products.

    Adena heads back to /admin/ecommerce/products and searches for the product she wants to put on sale. She clicks on it and chooses `put on sale' from the details page.

  6. Adding product recommendations (optional) & associating them with user classes

    Product recommendations are a very useful tool for making sites with many divisions of categories more browsable and interesting. Recommendations are displayed on the home page of the site (if a product is recommended at the top level), and when viewing categories.

    Adena visits /admin/ecommerce/products and adds the recommendations for each product, stating in which category it should be displayed in (or the home page).

    She also decides to associate some of the recommendations with user classes (a recommendation can only be associated with one user class at a time). She does this whilst adding the recommendations to save time, otherwise they have to be deleted and re-created with the association. The accompanying text, however, can be edited simply by clicking on the recommendation and choosing `edit'.

Next, Carl the Customer Service Representative sets up the template for the e-mails that are sent out to customers.

  1. Modifying the email templates

    Carl can modify the templates at /admin/ecommerce/email-templates/). There are seven pre-defined email templates that cover the most important events, but these are pretty bare. It is probably better to modify them so that they are better suited to the site. Carl can also choose to create a `New Email Template' from scratch; this will have to be scheduled by a programmer, who will also need to substitute in the appropriate variables.

  2. Customizing the page layout

    The layout for all the ecommerce pages is created using ADP templates, which are stored in the directory /web/yourservername/templates/ecommerce/ (with the exception of product which, as discussed above, are edited through the admin pages to allow difference products to use different templates). If Dennis the Designer is dissatisfied with the look of any of the pages in the site, there's a good chance that it can be changed simply by editing the corresponding ADP template.

Maintenance

The site will obviously require maintenance as products come and go, and customers purchase orders. The following activities are anticipated:

Customers

Calvin the customer wants to buy stuff, so he drops by Adena's new ecommerce site. What are his options?

V. Related Links

The ecommerce overview

The ecommerce design document

The original documentation for the ecommerce module before it was re-formatted:

VI.A Requirements: Data Model

VI.B Requirements: Functionality

VI.C Requirements: User Interface

VI.D Requirements: Security

VII. Revision History

Document Revision # Action Taken, Notes When? By Whom?
0.1 Creation, based on
/arsdigita/doc/ecommerce
/arsdigita/doc/ecommerce-for-mbas
/arsdigita/doc/ecommerce-setup
/arsdigita/doc/ecommerce-features
/arsdigita/doc/ecommerce-technical
10/06/2000 Sarah Ewen
0.2 Refined some points, took Audrey McLoghlin's review into account 10/13/2000 Sarah Ewen
0.3 Reviewed document in light of Eve Andersson's comments. 10/15/2000 Sarah Ewen


acs-docs@arsdigita.com

Advertisements