| 1 |
-------------------------------------------------------------------------------- |
|---|
| 2 |
Product: GetPaidStore |
|---|
| 3 |
-------------------------------------------------------------------------------- |
|---|
| 4 |
Get Paid Store is a basic plone Product that provides a couple and simple |
|---|
| 5 |
general product set to be able to create a Get Paid Powered online store out |
|---|
| 6 |
of the box. |
|---|
| 7 |
It has been made mostly with ArgoUML and Archgenxml2 . You should be able to |
|---|
| 8 |
extend it easily by using these tools, and the custom code should remain since |
|---|
| 9 |
archgenxml takes care of this. |
|---|
| 10 |
Currently ArgoUML seems to be the only free (as in freedom) UML editor that |
|---|
| 11 |
can generate standard xmi files so for using with Archgenxml there is no |
|---|
| 12 |
choice, there are some privative ones but I have not tried (and won't) them. |
|---|
| 13 |
You can also do derivate types from these where you may extend and modify as |
|---|
| 14 |
you see fit. |
|---|
| 15 |
|
|---|
| 16 |
--------------- |
|---|
| 17 |
The contents |
|---|
| 18 |
--------------- |
|---|
| 19 |
This product has 2 Content Types: |
|---|
| 20 |
* BaseProduct: |
|---|
| 21 |
A buyable product with the following fields |
|---|
| 22 |
- Title (Name) |
|---|
| 23 |
- Description |
|---|
| 24 |
- Detailed Description |
|---|
| 25 |
- Image (with thumbs of 120x120, 92x92, 60x60) |
|---|
| 26 |
- Download or link |
|---|
| 27 |
- Product Category (ATVocabularyManager field) |
|---|
| 28 |
# Also there is a method getPaidPoperty that gets a get paid field as |
|---|
| 29 |
parameter and returns the value of it or None if it does not exist. |
|---|
| 30 |
The Following Workflows (more details on the UML): |
|---|
| 31 |
Product Worflow: |
|---|
| 32 |
Draft <-> Pending Approval -> [Free|For Sale] |
|---|
| 33 |
|<------------------------------->| |
|---|
| 34 |
Product Free Workflow: |
|---|
| 35 |
Draft <-> Pending Approval -> Free |
|---|
| 36 |
|<--------------------------->| |
|---|
| 37 |
Product For Sale Workflow: |
|---|
| 38 |
Draft <-> Pending Approval -> For Sale |
|---|
| 39 |
|<--------------------------->| |
|---|
| 40 |
The only difference between these two is that when you make for |
|---|
| 41 |
sale a product you get a portal info with a link that redirects |
|---|
| 42 |
you to the Payable tab to se the price (we could add a price field |
|---|
| 43 |
to the product but have not figured out a simple way of keeping |
|---|
| 44 |
them in sync) |
|---|
| 45 |
|
|---|
| 46 |
The state changes to the end states (Free, For Sale) also set the |
|---|
| 47 |
getpaid attributes and mark the product as Buyable. |
|---|
| 48 |
This is done in a subscriber in wfsubscribers.py, there are separate |
|---|
| 49 |
ones for each transition to a final state (Draft->Free,PA->For Sale, |
|---|
| 50 |
etc) so you can add your own functionality if you want to. |
|---|
| 51 |
|
|---|
| 52 |
* ShippableProduct: |
|---|
| 53 |
A derivate from BaseProduct that add fields for shipping and is shippable |
|---|
| 54 |
instead. |
|---|
| 55 |
It has the following extra fields: |
|---|
| 56 |
- ship_dimensions |
|---|
| 57 |
- ship_weight |
|---|
| 58 |
- ship_weight_unit |
|---|
| 59 |
The workflow are the same (not actually the same but almost identical) |
|---|
| 60 |
excepting that it marks the products as shippable instead. |
|---|
| 61 |
|
|---|
| 62 |
A Note about "Product Category": On install a 'product_category_tree' |
|---|
| 63 |
ATVocabularyManager Vocabulary Tree is created (See ATVocabularyManager |
|---|
| 64 |
documentation on how to edit and configure it ), inside you should add your |
|---|
| 65 |
categories and subcategories (you can do as many levels as you wish, but it |
|---|
| 66 |
was initialy created for 2 levels so you may need to adapt the templates to |
|---|
| 67 |
suit your needs such as showing an expanded tree). |
|---|
| 68 |
|
|---|
| 69 |
Templates: |
|---|
| 70 |
Three templates are supplyed with this product to show the elements in a more |
|---|
| 71 |
fancy way: |
|---|
| 72 |
* regular_folder_listing: This is a template that lists the contents on a |
|---|
| 73 |
folder (only BaseProduct and ShippableProduct) displayed on a nice way |
|---|
| 74 |
with the icon, some data and the "Add to cart" links (the data may vary |
|---|
| 75 |
depending on the type) |
|---|
| 76 |
|
|---|
| 77 |
* category_folder_listing: same as regular but filters based on category, |
|---|
| 78 |
shows a list of the categories under the current one and a breadcrumb of |
|---|
| 79 |
categories |
|---|
| 80 |
|
|---|
| 81 |
#TODO: Coming Soon (yet to commit) |
|---|
| 82 |
* product_view: a view for the product with image, add to cart and some |
|---|
| 83 |
other fancy stuff. |
|---|
| 84 |
|
|---|
| 85 |
|
|---|