« April 2007 | Main | June 2007 »

Posts from May 2007

30 May 2007

Built-in testing integral to Ruby on Rails' appeal

Our rewrite of Total Blue System in Ruby on Rails proceeded for many reasons, but among the most important was the built-in testing framework that comes with it. Perhaps e-commerce isn't the most exacting science in the world, but for our clients, there's very, very little margin for error. When your e-commerce site is a 24 x 7 x 365 cash register accounting for up to 2/3's or more of your revenue, well, it matters to get the details right.

Ruby on Rails gives us the opportunity for automated or scripted testing in ways that PHP just didn't deliver, at least with the ease and elegance we're achieving today in Ruby. There are a couple kinds of test, and each can be important in their own way:

  • Unit tests, which examine the integrity of data models. At last count, we'd developed 149 tests with 398 assertions.
  • Functional tests, which ensure the proper functioning of what you might think of as a web page. At last count, we'd developed 344 such tests, with 1,717 assertions. wow.
  • Integration tests, which analyze a sequence of pages for calculation and display continuity and accuracy. So far in our rewrite, we've completed one such integration test, with 50 assertions of accuracy.

This integration of software-driven testing delivers these benefits to our clients:

  1. When a new feature rolls out, as it does frequently as part of our continually updated software product, you don't have to wince, waiting for something to break or a new bug to be discovered. Sure, it still happens once in a while. But it's a more rare occurence all the time, and we're all glad the trend is going in the right direction.
  2. When certain peak sales periods roll around, merchants can become very sensitive to any disruption to their e-commerce site. With tests in place verifying the accuracy of the software, we can roll out bug fixes or even new features during critical times with confidence.
  3. Our software development team can spend more time introducing features, improving performance, or correcting bugs (fixing it the first time), because we're spending less time manually testing our code, or less time putting out fires that bad code introduced. It's a smoother, more confident process for all.

As a final note, there's much that's been said about the speed that Ruby on Rails affords in software development. Compared to PHP and other choices, we'd have to agree. However, we find the extra time we save ends up being reinvested in writing tests for the code. So the net time is the sime, but the code that is completed exhibits a solidity that our clients can count on.

24 May 2007

Identify products in web catalog precisely, quickly

For an e-commerce catalog manager with thousands of products, finding the one product you need to update on your website ought be quick, and precise. The Admin Area's Catalog module offers a new Product Search function designed to help you do just that. Now you can create filters to apply to your product searches.

Admin_productsearch Filters are ways of identifying a product in a catalog, and can include whether the product is orderable, whether it's displayed publicly on the website's catalog pages, and whether it contains a photo. There are many more filters that might be applied, but these three are shown in the nearby screen shot.  These three are a useful combination because any products that show up in the results after these filters have been applied will be those needing a photo.

Depending on the database integration choices you made when your e-commerce site was established, the presence of a product photo may be a manual step you need to take. Now you can quickly spot which products need photos added, because they're effectively "live" on your website without one.

How else might you use this feature? Here's an idea:  The presence of a product review will impact the purchase conversion rate as measured in your e-commerce analytics software package. We like to take a snapshot reading periodically to identify how many of your products have a review posted by a customer. What's the ratio of products with a review to those without a review?

Find out now by applying filters that identify all of the products that do, or do not, have a product review and are displayable and orderable on your live website catalog.

MOM 6 database integration with e-commerce websites

Total Blue System's e-commerce package provides a data integration with Dydacomp's Mail Order Manager, known as MOM. We've upgraded this website sync process to work with the latest version of MOM, version 6. Now MOM 5 users can upgrade to MOM 6 and know that their product inventory, pricing, product descriptions, order status and more can continue to be updated automatically on their website. Likewise, web orders and catalog requests can be downloaded into MOM 6 just as before the upgrade.

Note: A number of important database fields in MOM's Foxpro database changed in version 6, and there may be implications to upgrading from version 5 that go beyond your e-commerce website. As a tip to our clients, some assistance in your upgrade may be provided you by Debra Ross of Axton Enterprises, known as a MOM guru and long-time moderator of the MOM user's group on Yahoo! This MOM mail order consultant has advised our own effort, and is likely able to make your transition easier as concerns any business reporting that's driven by data in MOM.