EMarket-0.2.0a1 Instructions
EMarket 0.2 makes a huge change in the basic implementation of its Framework. Thanks to the great work by Phillip Eby, Ty Sanara and others (Steve Alexander esp.), and thanks also to tons of help from R David Murray, a ZPatterns implemention of EMarket is starting to take shape. This release is a very early, but mostly working, release of the code. Most of the auction/trading code is commented out, or just not hooked up. Here is the README:
Zope Product "EMarket".
README.txt $Revision: 1.17 $
EMarket has evolved a lot since it was first introduced shorly after Zope-1.0. Zope has evolved a lot too! A lot of change has occured since the last release. This release uses ZPatterns so that the developer can integrate the code in a very flexible way. In order to get this release out the door in the limited time I have available, I cut out most of the auction/trading code. That can be restored once we get the basic functionality debugged and working smoothly.
There is also a lot of code here, mostly due to R David Murray
Basically an EMarket is a folderish object that (currently) consists
of a set of methods and five folderish Specialists
. Each specialist
is responsible for managing one particular type of object. They have
methods, and racks: methods to interface to the rest of the application,
and racks to handle the storage and retrieval of the objects
they manage:
marketItems: manage the market items in the EMarket
shoppers: manage the shopper objects
basketManager: manage the shopping baskets
basketItemManager: manage the items in the shopping baskets.
transactions: manage the completed transactions
The idea here is to provide a framework for a shopping area
that is
at once flexible, simple, and reasonably robust. The display of the
market area is determined by editable templates that are contained in
the marketItems folder. The display of the shopping Baskets
is
managed by templates in the shoppers folder. This way each EMarket can
be customized easily. Also, the developer picks the classes they
want to use for shoppers, marketItems, etc... so they can also be used
to customize the look and feel of the market.
After you install an EMarket, the first thing to do is set up storage classes for each of the specialists. Each specialist needs a ZClass (subclasses from ZPatterns:DataSkin) associated with it. The requirements of these classes are as follows:
1) marketItemZClass:
attributes:
name (string) description (string) available (boolean)
methods:
index_html
You will also want/need a management interface for the marketItems. Since it's
your class.. you'll need to cook it up. Once I get a good example working
I'll supply an example marketItem ZClass.... the project I'm working on uses
get's it's marketItems from a different source (using the magic of ZPatterns)
so the marketItem class is really just a stand
in.
2) shopperZClass
attributes:
email (string) passwd (string)
methods:
none yet...
3) basket
attributes:
basketItemIds (tokens)
methods:
none yet...
(There is really no need for you to do much with this other than
supply a stand-in
ZClass to contain the data. If you want a
management interface for baskets.... go for it.)
4) basketItem
attributes:
itemID (string) quantity (int)
methods:
none yet...
(There is really no need for you to do much with this other than
supply a stand-in
ZClass to contain the data. If you want a
management interface for baskets.... go for it.)
4) transaction
this class is not currently used... I'm still working on a default
finalization interface. It seems that this is generally differnt
for each client.. so I'm having trouble coming up with a default
. I'd love to hear ideas here.
Good Luck! -steve