Just practicing to pass the Turing test.
What is Cornershop?Cornershop is a simple shopping basket implemented as a plugin for Userlands' Manila application. Cornershop is copyright David Bayly Jobsurf Ltd 2000-2003 and all rights are reserved.
Cornershop is intended for simple e-shops with up to a few thousand items in the catalog. It was conceived as an extension of John VanDyks' Metadata plugin but with some scripting can be extended to use any other convenient database system. It also uses my public domain linkform suite, which handles some of the user interface aspects in a configurable way.
How Cornershop works.
The assumption are that you have a catalog of items, that each item is described by its own page in a Manila website. The plugin is responsible for managing a basket for each visitor, offering an interface permitting users to add to, subtract from and view their basket. Baskets are persistent because they use the cookie mechanism, but their life-time is configurable. Visitors can also submit their baskets to an order completion process, at which point the basket is emptied and the contents are moved to to an audit trail.
The management interface allows editors to see current baskets, to empty baskets and to view the audit trail.
Baskets can be shared among multiple websites using the plugin configuration page. This allows a hosting site to share a single shop. The difference between on server with many websites using cornershop in default and shared modes is best explained with an analogy. The default case is a mall of (real life shops) shops. You go to one , pick up a basket, put stuff in it, queue at checkout and exit, leaving an empty basket behind. Shared baskets: Mall has one checkout queue and one set of baskets. Users enter the mall, wanders in and out of shops, picking items and putting them in the mall basket and goes to one single checkout, queues and leaves. The mall does the bookkeeping that pays the individual shops. The user sees one transaction.
The users view of the shop is is encapsulated by the state of their basket. A basket can have 4 states
For every visitor, each page on the website has a unique state. There are six macros provided which enable the site editors to build an appropriate page for all conditions.
Cornershop was designed with localisation in mind; it supports English and German as shipped and the language used reflects the users browser setting. Other languages are easily added using the TranslateAid plugin.
AffiliatesCornershop also allows the shop owner to offer an affiliation program, a way for other websites to include a link to a pre-filled basket checkout page. The shop owner can control the websites permitted to link in this way, and each completed transaction is audited.
Additional pluginsThe cornershop root ships with 3 Manila plugins,