Implementing E-Commerce on Your Linux System - page 3
Previews of TallyMan, Yams, and OpenMerchant
TallyMan is from the same development team that gave us ShopSite, an electronic storefront designer which shows that they have vast experience in designing e-commerce solutions. That experience shows when you take a closer look at TallyMan. We downloaded an eval copy (Developer's Release 3) as well as perusing the online store demo and administration demo.
You'll need to have a robust Web server and the following components set up before installing Tallyman: an SQL database, Perl 5, DBI (a database interface API for Perl), a DBD (database driver) for your SQL database, and the HTML::Embperl Embedded Perl package. Also recommended is mod_perl (the Apache module for enabling Perl), an SSL-enabled Web server (which Apache is not), and sendmail (for sending out confirmation e-mails to customers after a transaction was consummated).
Currently, it directly supports only Oracle and PostgreSQL database managers (which you'll need to acquire on your own; neither are included with the download), but support for other SQL-compliant databases (such as Ingres, Informix, or MySQL) are in the works. ( Red Hat Linux 6.1 users already have a PostgreSQL server included.) It works with any Web server as a CGI script, but the best performance can be gained by using the Apache HTTP Server and the mod_perl module. Check the TallyMan Web site for more information on acquiring a DBI and a DBD, since they are specific to database packages.
The approach taken is an intriguing way to design an online store. Like OpenMerchant and Yams, everything is assumed to be an object, and designing a store is really just laying out objects, which can be changed independently of other store elements. Objects can be defined as children of other objects. Since objects (like prices) exist as single objects, when you change an object the change appears in every instance (of the price, e.g.) throughout the system.
Administratively, there are five sections to TallyMan: the Order Manager (view, download, archive, and delete online orders), the Page Editor (create and edit the pages on-site and arrange items on them), the Item Editor (create, edit, and arrange the items displayed in the site), the Configuration area (set up tax, shipping, payment, site layout and advanced options) and the Statistics area (to view Web-site traffic and sales reports for any time-period).
The Configuration area is the heart. Taxes can be calculated on different levels, using any criteria: orders inside the United States, orders outside the United States, orders shipped to specific states where sales tax must be collected, orders within other countries, orders within specific provinces...whatever. Most other e-commerce software assumes that a vendor is located within the United States and hardwire that assumption, so this sort of flexibility is convenient for an enterprise doing business on a global level.
Choose to accept Visa, MasterCard, American Express, Discover, Diners Club, JCB, checks or money orders; this will depend to some degree on what your payment provider accepts.
Alas, the shipping options are not so flexible. The system comes with UPS rates hardwired, and you can base shipping charges based on these rates, weight, number of items or price. One can add other shipping options, along with the specific rates (for instance, FedEx shipping rates and FedEx shipping options). Other, more sophisticated systems permit linking directly to FedEx or UPS Web sites, providing instant user information about shipping numbers and status. While this will be theoretically be possible (I wouldn't be surprised if this is one of the first source-code enhancements contributed by someone outside the development team, unless the developers actually read reviews and base features on feedback from reviewers), it's not yet built in.
The Advanced area within Configuration controls the ordering options users have (for instance, a product matrix includes its sizes and colors), the attributes associated with page types (the beta version we looked at differentiated between product and content pages, with different elements included with each type), the group types (which was a function not yet implemented), database and layout import and export utilities, the Access Manager for controlling who gets access to each portion of the store, a utility for editing object attributes, another for working directly with SQL calls to a database (again, not yet implemented), Technical Settings (file locations, paths, sendmail path, etc.) and a utility for changing a store's color scheme.
Finally, the Configuration area lets store managers see information about affiliates, an important part of any e-commerce initiative. Basically, these are other Web sites that sign up to push your goods, in return for a commission. The Affiliates Manager creates and edits them and provides detailed statistics about purchases that can be traced back to them directly.
This is a lot of information to be crammed into one subsection of the administrative interface, and some of the options--like the utility for changing the color scheme or the database-import facility--should probably be closer to the surface for most users.
However, most of the tools are easy to use and don't require a Computer Science degree. To create a page, use the page editor and define the name and title of the page, a template to apply, the filename of the page to create, the background image, the title image and the link image...no editing of HTML code whatsoever to create Web pages.
Similarly, there are many fields possible when entering an item: the item name, a template to apply, the image filename, a description, the item brand, the filename of a page containing more information, product SKU, price, weight, volume, ATP quantity, reserve threshold and the default reserve quantity. The last three fields act as a rudimentary inventory-control system, keeping track of how many items are in stock and when the system administrator should be flagged. Again, entering this information via Web browser creates Web pages without the need to edit HTML files.
TallyMan is distributed under the GNU General Public License. Right now it is available in rudimentary form, lacking the easy install, setup wizard and predesigned templates to be expected in the general release. When these components are added, it will be a strong player in the e-commerce field--with open-source status as an added bonus.