
Table of Contents
=================

I.    Introduction
II.   License Information
III.  Pre-requisite
IV.   Installation Procedure
V.    What are in the package
VI.   Usage Guide
VII.  Trouble-shooting



======================================================================

I. Introduction
===============

123-WebEasy provides a easy and inexpensive way for you to setup your
e-commerce web site with dynamically generated content. It makes use
of Java Servlet technology such that high performance and reliability
can be achieved. With 123-WebEasy, you can host your e-commerce web
site on any platform, e.g Windows NT, Linux, or even high-end Unix
server.

123-WebEasy basically composes of 2 parts, the "End-user Interface"
and the "Administrator Interface".

The "End-user Interface" allows Internet users to register as
members, browse your product catalogue, and place orders. It also
includes discussion forum and search engine features.

The "Administrator Interface" allows you to input information to your
product catalogue, e.g. category and item descriptions, images, and
item prices. You can also list and print sale orders placed by your
customers. Of course, you can also list the information of your site's
members.



======================================================================

II. License Information
=======================

123-WebEasy is a shareware. The version included in this package is
only for trial. You cannot use it for production. To run your
production web site, you need one of the following 4 licenses:

1. Java class + JSP license (single site)
   - you can customise the JSP and HTML files for your web site
     (only one web site).

2. Java source + JSP license (single site)
   - you can customise all the java classes, JSP and HTML files for
     your web site (only one web site).

3. Java source + JSP license (2-4 sites)
   - you can customise all the java classes, JSP and HTML files for
     your web sites (2-4 web sites).

4. Java source + JSP license (5-20 sites)
   - you can customise all the java classes, JSP and HTML files for
     your or your customers' (if you are a software developer) web
     sites. You can do this for at most 20 web sites.

For all license types, the source code of all 123-WebEasy Java
classes, JSP files, HTML files and others, remain property of KP Lab.
You are only granted the right to customise and use the software. You
cannot distribute the source of any 123-WebEasy Java classes, both the
original version and your customised version, to any third parties.

Please refers to "Disclaimer.txt" for the disclaimer.

Please refers to "LicenseMultipartForm.htm" for license information
about the java classes for file upload.

======================================================================

III. Pre-requisite
==================

Software
- Netscape Natvigator V4 or above / Internet Explorer V4 or above.
- JDK 1.1.7 or above.
- any Web Application Server that supports Java Servlet 2.0 and
  Java Server Page (JSP) 1.0, e.g. WebSphere Application Server,
  Apache JServ, WebLogic, JRun, ...
- any RDBMS with JDBC or ODBC support, e.g. DB2, Oracle, SQL Server,
  MySQL, ...
- any operating system that can run the above servers, e.g.
  Windows NT, Linux, or any Unix system.

Hardware
- no specific requirement.



======================================================================

IV. Installation Procedure
==========================

A. Database setup

   1. Create a database called "WEBEASY".

   2. Connect to the "WEBEASY" database.

   3. Use your DBMS's SQL tool to run the create table script in the
      directory "sql". It will create all necessary tables in the
      database. Use "CreateDB2.sql" for DB2, "CreateOracle.sql" for
      Oracle, "CreateSQLServer.sql" for SQL Server, and
      "CreateMySQL.sql" for MySQL, or you can edit the script
      "Create.sql" to suit your DBMS.

   4. Run the script "Insert.sql" to insert basic records into the
      database.

   5. Run the script "Insert_country.sql" to insert country records
      into the database.

   6. Configure your ODBC or JDBC driver where appropriate.

   7. Set the database options as follows:
      i.  no ANSI padding (i.e. no trailing blank for character field)
      ii. case insensitive for character comparison


B. Application setup

   1. Create a new application according to your web application
      server's procedure. Alternatively, you can use your application
      server's default application.

   2. Copy the "webeasy" directory to the application root
      (app. root) which was set up in Step 1.

   3. Copy the "classes" directory to the application root.

      Your directory structure should now looks like:

      <app. root> -- webeasy -- Admin
                             -- UnregisterCopy
                             -- images
                             -- pimages
                             -- temp
                  -- classes -- com -- kplab -- webeasy -- Util2.java
                                    -- oreilly
                             -- webeasy.jar
                         
   4. Make sure your application server has read permission on all the
      copied files. It also requires write permission on the following
      file and directories:
      i.   <app. root>/webeasy/webeasy.log
      ii.  <app. root>/webeasy/temp
      iii. <app. root>/webeasy/pimages

   5. Configure your application server to have the application
      classpath includes:
      i.   <app. root>/classes
      ii.  <app. root>/classes/webeasy.jar
      iii. your JDBC driver class files

   6. Update the path and database information in the file
      "<app. root>/classes/com/kplab/webeasy/Util2.java",
      and complie it according to the instructions in the file.

   7. Configure your application server's security option to
      restrict access to the directory "<app. root>/webeasy/Admin".
      Only administrators should be allowed to access this
      directory.

   8. Restart you application server and ready to use 123-WebEasy !!

      You can access the End-user Interface using the URL:
      http://<your hostname>/<application path>/webeasy/UnregisterCopy

      You can access the Administrator Interface using the URL:
      http://<your hostname>/<application path>/webeasy/Admin



======================================================================

V. What are in the package ?
============================

You should now have the followings in your application directory:

<app. root>
     -- webeasy (all html, jsp and images)

             -- Admin (all admin html and jsp)

                     -- index.html (main page)
                     -- AddCategory.jsp (add category page)
                     -- EditCategory.jsp (edit category page)
                     -- RemoveCategory.jsp (remove category page)
                     -- AddItem.jsp (add item page)
                     -- EditItem.jsp (edit item page)
                     -- RemoveItem.jsp (remove item page)
                     -- ListOrderInfo.html (list order information)
                     -- ListOrderInfo.jsp
                     -- ListOrderDetail.html (list order details)
                     -- ListOrderDetail.jsp
                     -- ShowOrderDetail.html (show order details)
                     -- ShowOrderDetail.jsp
                     -- ListMember.html (list member information)
                     -- ListMember.jsp

             -- UnregisterCopy (all end-user html and jsp)

                     -- index.html (main page)
                     -- Member.jsp (membership main page)
                     -- Member* (files to be included in Member.jsp)
                     -- Product.jsp (product catalogue main page)
                     -- Product* (files to be included in Product.jsp)
                     -- Cart.jsp (shopping cart main page)
                     -- Cart* (files to be included in Cart.jsp)
                     -- Forum.jsp (discussion forum main page)
                     -- Forum* (files to be included in Forum.jsp)
                     -- Search.jsp (search engine main page)
                     -- Search* (files to be included in Search.jsp)
                     -- SaveURI.jsp (file to be included for saving
                        the URI of user-selected page before
                        redirecting to the logon page)
                     -- CheckUser.jsp (file to be included for
                        checking if a user has logged-on. If not,
                        redirect to the logon page)

             -- images (web page images)

             -- pimages (product images)

             -- temp (temporary directory for file upload)

     -- classes (all servlets, beans, and java classes)

             -- com -- kplab -- webeasy -- Util2.java (java file
                                           with path and database
                                           information)
                    -- oreilly (java classes for file upload,
                       copyright by Jason Hunter, refers to the
                       "LicenseMultipartForm.htm" for details)

             -- webeasy.jar (all webeasy java classes except Util2)



======================================================================

VI. Usage Guide
===============

123-WebEasy has a very simple and clear user interface. The functions
are basically self-explanatory. The followings are some remarks to
help you understanding how to use the system.

1. Product categories are organised in a hierarchical structure.
   When you need to create a new category, drill down the category
   tree until you find the target parent category before creating
   the new category.

2. "Leaf category" can only have items but not sub-categories.
   "Non-leaf category" can only have sub-categories but not items.
   Make sure you check or uncheck the "leaf check box" correctly
   when creating or editing a category.

3. Category with more than zero sub-categories cannot be removed
   (and will not be displayed in the selection list for category
   removal).

4. Category with items can be removed. All items under this
   category will also be deleted in the removal.

5. Currently, there are two templates for displaying a product
   category web page. If a category has no description, a template
   which shows a list of its items or sub-categories will be used.
   Otherwise, a template with item/sub-category list box, category
   images, and description will be used instead.

6. You should prepare product item description as HTML file, and
   upload it when creating or editing an item. The content within
   the <body> and </body> tags will be extracted as the item's
   description. All HTML formattings are supported. However, you
   need to ensure the "body" tags do not have any extra qualifiers,
   e.g. <body background= ...> is not valid.



======================================================================

VII. Trouble-shooting
=====================

If you have problem when using 123-WebEasy, try the following
trouble-shooting steps:

1. Go through the installation procedure again to ensure you have
   perform everything correctly.

2. Check the log file "<app. root>/webeasy/webeasy.log" for any
   error messages.

3. If there is nothing (except the beginning title) in the log file,
   ensure the web application server has write permission on the
   file.

4. If there is still nothing in the log file, check if you have
   modified "<app. root>/classes/com/kplab/webeasy/Util2.java"
   correctly with the path and database information, and compiled
   the file into "<app. root>/classes/com/kplab/webeasy/Util2.class".

5. Solve the problem according to the hint provided by the error
   message in the log file. For example, a common error message is
   "JDBC connection error". If this message appears, ensure you
   have create the "WEBEASY" database and its tables correctly,
   and they are accessible by using the JDBC driver, username, and
   password specified in the "Util2.java" (and "Util2.class").

6. If you still cannot identify or solve the problem, mail your
   case to me at kkwan@hkstar.com



======================================================================

