getting rid of old design docs

This commit is contained in:
JT Smith 2008-05-27 21:37:26 +00:00
parent e9745632d5
commit 38a6bd3065
14 changed files with 0 additions and 1989 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

View file

@ -1,159 +0,0 @@
=head1 Shopping Cart
The shopping cart has to be flexible enough to hold any type of
purchasable good (anything derived from WebGUI::Asset::Sku), user
friendly, and also have speedy reporting options so that macros can be
written to display the cart data.
=head2 Data Dictionary
The following fields are needed to construct this object's table called
"cart".
Field Schema Description
cartId guid The unique id for this cart.
sessionId guid The sessionId attached to this cart. Can't use userId because the user may not be logged in yet.
shippingAddressId guid The id of the address to ship to.
couponId guid A coupon that is applied to this cart.
=head2 Method Dictionary
The following methods will be available from the WebGUI::Shop::Cart
class.
=head3 addItem
Adds an item to the cart. Returns the number of items now in the cart.
param: asset - the asset object to be added already
configured as needed
=head3 create
Creates a new cart object if there's not one already attached to the
current session object. Otherwise just instanciates the existing one.
Returns a reference to the object.
param: session - a reference to the current session
=head3 delete
Deletes this cart and all cartItems contained in it.
=head3 empty
Removes all items from this cart.
=head3 get
Returns a duplicated hash reference of this object's data.
param: any field - returns the value of a field
rather than the hash reference
=head3 getId
Returns the cart id.
=head3 getItems
Returns an array reference of WebGUI::Asset::Sku objects that are in
the cart.
=head3 new
Instanciates a cart based upon a cartId.
param: sessionId - a reference to the current
session
param: cartId - the unique id for this cart
=head3 update
Sets properties in the cart.
param: hashref
=head3 www_removeItem
Checks privileges and displays appropriate message. Removes an item by
itemId. Returns www_viewCart
=head1 Shopping Cart Item
This object represents an individual item in the cart.
=head2 Data Dictionary
The following fields are needed to construct this object's table called
"cartItems".
Field Schema Description
itemId guid primary key
cartId guid The unique id for this cart.
assetId guid The assetId for this item.
options medium Text A json serialized hashref of any configuration data associated with this item so that it can be edited or whatnot.
shippingAddressId guid Assign a special shipping address to this item beyond the one attached at the cart level.
quantity integer The number of these items being purchased.
=head2 Method Dictionary
The following methods will be available from the WebGUI::Shop::CartItem
class.
=head3 create
Creates a new cart item object. Returns a reference to the object.
param: cart - a reference to a cart
param: asset - A reference to the asset you wish to
create.
=head3 get
Returns a duplicated hash reference of this object's data.
param: any field - returns the value of a field
rather than the hash reference
=head3 getSku
Returns an instanciated WebGUI::Asset::Sku object for this cart item.
=head3 incrementQuantity
Increment the amount in cart by one.
param: quantity - up it by more than one
=head3 new
Instanciates a cart item based upon a cartId and assetId.
param: session - the session object
param: cartId - the unique id for this cart
param: assetId - the unique id of an skue contained
in the cart
=head3 remove
Removes an item from the cart.
param: assetId - the unique id of the asset to be
removed
=head3 update
Updates an item in the cart.
param: assetId - the unique id of the sku to be
updated
param: hashRef - a hash reference of the things that
might be updated, including quanity, shippingAddressId, and options.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

View file

@ -1,269 +0,0 @@
=head1 Payment Gateway
Payment gateways are the mechanism by which users can pay for the items in their shopping cart.
=head2 Data Dictionary
There is no table for this class.
=head2 Method Dictionary
The following methods will be available from the WebGUI::Shop::Pay class.
=head3 _loadDriver
A method used load a payment gateway driver. See WebGUI::Pluggable.
=head3 create
A class method.
Creates a new WebGUI::Shop::PayDriver object. Returns a reference to the object.
param: session - a reference to the current session
param: class - the classname of the driver for the gateway you want to configure
param: hashRef - a hash reference containing a list of the parameters in paymentGateway table, except for paymentGatewayId.
=head3 getDrivers
A class method.
Returns an array reference of the driver classes enabled in the config file.
=head3 getPaymentGateways
A class method.
Returns an array reference of the configured payment objects.
=head3 getOptions
A class method.
Returns a hash reference of paymentGatewayIds as keys, with "label" and "form" as subkeys. Label provides the human readable label for the object, and form provides the HTML form, that includes the button for the payment gateway option. This is required since some payment gateways take the user off site and have very complex forms that need to be created and posted to the remote site.
param: cart - a reference to the cart object to
generate options for.
=head3 new
A class method.
Instantiates a payment gateway based upon paymentGatewayId.
param: session - a reference to the current session
param: paymentGatewayId - the unique id to instantiate
=head3 www_listPaymentGateways
Returns a list of the payment gateways configured currently.
=head3 www_editPaymentGateway
The add/edit form for managing a payment gateway.
=head3 www_editPaymentGatwaySave
Saves the result of www_editPaymentGateway and then displays
www_listPaymentGateways.
=head1 Payment Gateway Driver
Payment gateway drivers are used to collect payment. In Perl terms this
is the DBD to DBI. All payment gateway drivers (itransact, paypal,
google checkout, etc) will be derived from this base class.
=head2 Data Dictionary
The following fields are needed to construct this object's table called "paymentGateway".
Field Schema Description
paymentGatewayId guid the primary key
label varchar(100) A title for this payment that will be displayed to the user. For example "Pay Pal" or "Credit Card" or "Check"
className varchar(255) The plugin classname that will be used for this payment gateway.
options mediumtext A json serialized hash reference with configuration data for this payment gateway.
=head2 Method Dictionary
The following methods will be available from the WebGUI::Shop::PayDriver class.
=head3 create
A class method.
Creates a new WebGUI::Shop::PayDriver object. Returns a reference to the object.
param: session - a reference to the current session
param: hashRef - a hash reference containing a list of the parameters in paymentGateway table, except for paymentGatewayId.
=head3 definition
A class method.
Returns an array reference of hash references of fields that are
defined for this payment gateway driver similar to definition() in
WebGUI::Asset.
param: definition - an array ref of hash refs
field:
[
{
name =E<gt> "Payment Type",
fields =E<gt> {
label =E<gt> {
fieldType =E<gt> "text",
label =E<gt> "Label",
defaultValue =E<gt> "Credit Card"
},
enabled =E<gt> {
fieldType =E<gt> "yesNo",
label =E<gt> "Enabled?",
defaultValue =E<gt> 1
},
groupToUse =E<gt> {
fieldType =E<gt> "group",
label =E<gt> "Who can use?",
defaultValue =E<gt> 1
},
receiptMessage =E<gt> {
fieldType =E<gt> "text",
label =E<gt> "Receipt Email Message",
defaultValue =E<gt> undef
},
}
}
],
=head3 delete
Deletes this payment gateway.
=head3 get
Returns a duplicated hash reference of this object's data.
param: any field - returns the value of a field rather than the hash reference.
=head3 getId
Returns the payment gateway id.
=head3 getButton
Returns the HTML postable form that will take the user to check out
using this payment gateway.
=head3 getName
Return a human readable name for this driver. Never overridden in the
subclass, instead specified in definition.
=head3 new
A class method.
Instantiates a driver.
param: session - a reference to the current session
param: options - a hash reference of configurable parameters for this driver
=head2 Todo
We need the following payment gateways converted to the new API:
=over
=item 1.
itransact
=item 2.
cash
=item 3.
check
=back
=head3 set
Update a parameter for the payment gateway.
param: hashRef - a hash reference containing a list
of the parameters in paymentGateway table, except for paymentGatewayId.
=head1 iTransact Driver
This allows for credit card payments via the iTransact payment gateway.
=head2 Data Dictionary
Payment gateway drivers have no database tables, unless they need it on
a one-off basis.
=head2 Method Dictionary
The following methods will be available from the
WebGUI::Shop::PayDriver::Itransact class.
=head2 definition
Returns an array reference of hash references of fields that are
defined for this ship driver similar to definition() in WebGUI::Asset.
param: definition - an array ref of hash refs of definitions
[
{
name =E<gt> "iTransact",
fields =E<gt> {
username =E<gt> {
label =E<gt> "Vendor ID",
fieldType =E<gt> "text",
defaultValue =E<gt> undef
},
password =E<gt> {
label =E<gt> "Password",
fieldType =E<gt> "password",
defaultValue =E<gt> undef
},
useCvv2 =E<gt> {
label =E<gt> "Use CVV2?",
fieldType =E<gt> "yesNo",
defaultValue =E<gt> 1
},
}
}
]
=head3 getButton
Returns the HTML postable form that will take the user to check out
using this payment gateway.
=head3 www_collectPaymentInfo
Collects payment info from the user.
=head3 www_displayStatus
Displays a status message to the user after collecting payment info.
The status may be a success message along with a printable receipt, or
an error message like "Credit card
declined."
=cut

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

View file

@ -1,237 +0,0 @@
=head1 Shipper
This is the master class to manage shipper drivers. In Perl terms the
DBI to DBD.
=head2 Data Dictionary
There is no table for this object.
=head2 Method Dictionary
The following methods will be available from the WebGUI::Shop::Ship class.
=head3 create
A class method.
Creates a new WebGUI::Shop::ShipDriver object. Returns a reference to the object.
param: session - a reference to the current session
param: class - the classname of a driver to create
param: hashRef - A hash reference of properties. See WebGUI::Shop::ShipDriver->set for details.
=head3 getDrivers
A class method.
Returns an array reference of the driver classes enabled in the config file.
=head3 getShippers
A class method.
Returns an array reference of the configured shipping objects.
=head3 getOptions
A class method.
Returns a hash reference of shipperIds as keys, with "label" and "price" as subkeys. Label provides the human readable label for the object, and price provides the calculated price for shipping.
param: cart - a reference to the cart object to calculate for.
=head3 new
Instantiates a WebGUI::Shop::ShipDriver object based upon shipperId.
param: session - a reference to the current session
param: shipperId - the unique id to instantiate
=head3 www_listShippers
Returns a list of the shippers configured currently.
=head3 www_editShipper
The add/edit form for managing a shipper.
=head3 www_editShipperSave
Saves the result of www_editShipper and then displays www_listShippers.
=head1 Shipper Driver
Shipping modules are used to calculate shipping costs. Shipping modules
are not allowed to have a user interface. Instead, they plug their data
into the shopping cart screen if any items in the shopping cart have
shipping. In Perl terms this is the DBD to DBI. All shipping drivers
(flat rate, fedex, ups, dhl, usps, etc) will be derived from this base
class.
=head2 Data Dictionary
The following fields are needed to construct this object's table called "shipper".
Field Schema Description
shipperId guid The unique id for this shipper.
className varchar(255) The plugin classname that will be used for this shipping module.
options mediumtext A json serialized hash reference with configuration data for this shipper.
=head2 Method Dictionary
The following methods will be available from the WebGUI::Shop::ShipDriver class.
=head3 calculate
Returns a shipping price.
param: cart - a reference to the cart object.
=head3 create
A class method.
Creates a new WebGUI::Shop::ShipDriver object. Returns a reference to the object.
param: session - a reference to the current session
param: hashRef - A hash reference of properties. See WebGUI::Shop::ShipDriver->set for details.
=head3 definition
A class method.
Returns an array reference of hash references of fields that are
defined for this ship driver similar to definition() in WebGUI::Asset.
param: definition - an array ref of hash refs
field:
[
name => "Shipper Type",
fields => {
label => {
fieldType => "text",
label => "Label",
defaultValue => undef
},
enabled => {
fieldType => "yesNo",
label => "Enabled?",
defaultValue => 1
},
}
],
=head3 delete
Deletes this object.
=head3 get
Returns a duplicated hash reference of this object's data.
param: any field - returns the value of a field
rather than the shippingId. Automatically converts the options json
into a hash reference.
=head3 getId
Returns the shipperId.
=head3 getName
Return a human readable name for this driver. Never overridden in the
subclass, instead specified in definition.
=head3 getEditForm
Similar to the method of the same name in WebGUI asset, but uses the
definition from this module.
=head3 new
A class method.
Instantiates a driver.
param: session - a reference to the current session
param: options - a hash reference of configurable
parameters for this driver
=head3 set
Update a parameter for the ship object.
param: hashRef - a hash reference containing a list of the parameters in shipper table, except for shipperId. Automatically convert the options parameter into json.
=head1 Flat Rate Shipper
This allows for basic shipping calculations without any tie-ins to external shippers.
=head2 Data Dictionary
Shipping drivers have no database tables, unless they need it on a one-off basis.
=head2 Method Dictionary
The following methods will be available from the WebGUI::Shop::ShipDriver::Flat class.
=head3 calculate
Returns a shipping price. Calculates the shipping price using the following formula:
total price of shippable items * percentageOfPrice
+ flatFee
+ total weight of shippable items * pricePerWeight
+ total quantity of shippable items * pricePerItem
param: cart - a reference to the cart object.
=head4 definition
A class method.
Returns an array reference of hash references of fields that are
defined for this ship driver similar to definition() in WebGUI::Asset.
param: definition - an array ref of hash refs of definitions
[
{
name => "Flat Rate",
fields => {
percentageOfPrice => {
fieldType => "float",
label => "Percentage Of Price",
defaultValue => 0
},
flatFee => {
fieldType => "float",
label => "Flat Fee",
defaultValue => 0
},
pricePerWeight => {
fieldType => "float",
label => "Price Per Weight",
defaultValue => 0
},
pricePerItem => {
label => "Price Per Item",
fieldType => "float",
defaultValue => 0
},
}
}
]
=cut

View file

@ -1,80 +0,0 @@
=head1 SKU (base product class)
The SKU class is what all other products will be subclassed from. It
needs to be simple so it can be extended to fit any need.
=head2 Data Dictionary
The following fields are needed to construct this assets table called
"SKU".
Field Schema Description
assetId guid The unique id assigned to this sku that may never change. It's with all assets
revisionDate bigint
sku varchar(35) unique The unique id that the shop keeper assigns to this item. It may be changed by the shop keeper. By default this is set equal to assetId.
salesAgentId guid The unique id of the vendor associated with this sku, if any
overrideTaxRate yesNo Do you want to use an override for tax rate?
taxRateOverride float An override value for the default tax rate.
=head2 Method Dictionary
The following methods will be available from the WebGUI::Asset::Sku
class.
=head3 addToCart
Adds this sku to the shopping cart.
param: options - Takes an options hash reference and calls applyOptions() if specified as a shortcut.
=head3 applyOptions
Accepts a configuration data hash reference that can configure a sku a
certain way. For example, "a size XL red
t-shirt" instead of just "a
t-shirt".
param: options - a hash reference containing the
configuration properties returned from getOptions()
=head3 getOptions
Returns a hash reference of configuration data that can return this sku
to a configured state. See applyOptions() for details.
=head3 getMaxAllowedInCart
By default returns 99999999. Should be overridden by subclasses. For
unique items should return 1. For items that have a count in stock,
should return the number that are currently in stock.
=head3 getPrice
By default return 0.00. Should be overridden by subclasses.
=head3 getTaxRate
Returns undef. However, if the user specifies a tax override in this Sku then it returns the special tax rate.
=head3 isShippingRequired
By default return 0. Should be overridden by subclasses.
=head3 newBySku
Class method.
Instanciates based on an existing sku, rather than an assetId. Dynamically looks up class and creates appropriate object.
param: session - a reference to the current session
param: sku - the sku to instanciate
=head3 processStyle
Looks up the style from the container and and wrappers the product in
it.
param: html - the HTML output to be wrapped by the
style

View file

@ -1,7 +0,0 @@
# Use the program 'html2pod' that comes in this dist, or:
use Pod::HTML2Pod;
print Pod::HTML2Pod::convert(
'file' => 'commerce.html', # input file
'a_href' => 1, # try converting links
);