plone ecommerce: surveying the state of the art
DESCRIPTION
GetPaid emerged as a concept 2 years ago (at Plone Conf 2006) and coding began 6 months later. Now there are several use cases for ecommerce in Plone that are leveraging GetPaid. The talk features these sites and provides concise howto information on implementing the features. It also overviews GetPaid and its Zope-3 based architecture.TRANSCRIPT
Ecommerce in Plone: Surveying the State-of-the-Art
Christopher JohnsonifPeople Cofounder
www.ifpeople.net | cjj at ifpeople.net
Plone Conference | October 8, 2008 Washington, DC
What is GetPaid?
● Zope3 and Plone-based framework for developing unique and highly customized ecommerce sites
● Very basic features available out of the box for processing payments on Plone site
● Most features and customizability benefit from developer/integrator working on site
What is GetPaid?
● 11k+ lines of code– Two major releases (0.3, 0.6)
– Plone 3.0, 3.1 focus (currently also works on 2.5)
● Active community (40+ contributors)– http://www.ohloh.net/projects/GetPaid
● Mailing list: 130+ people – http://groups.google.com/group/getpaid-dev/
● 9 Languages● German, Italian, Dutch, French, Spanish, English,
Portuguese, Brazilian Portuguese, Chinese
Zope 3
● Basis of GetPaid architecture– We have no Archetypes!
● Component architecture– Nicely organized, independent packages
● Adapters + Interfaces + Views● Marker interfaces
– Used in GetPaid
– Inspiration from Plone4Artist
Features
● Content Integration via Marker Interface– Buyable
– Donation
– Shippable
– Premium content*
*Not yet implemented
Features
● Shopping cart● Checkout wizard● Payment processor● Order management
GetPaid Components
How to Get GetPaid
● Distribution:– getpaid.recipe.release
● tinyurl.com/gp-recipe
– getpaid.buildout● http://code.google.com/p/getpaid/wiki/DevGettingStarted
● Download:– Tarball at
http://code.google.com/p/getpaid/downloads/list
Add-ons Satisfy Specific Use Cases
● One-page Checkout● Making a Store● Managing Inventory● Discounts
Add button to rich text area
●
– Add image
– Add link to image for:● /@@getpaid-cart-add?add_item=True
Image: edkohler
● One-page checkout– See tinyurl.com/tfl-gp
● Addon: getpaid.formgen– tinyurl.com/getpaidfg
● Extend with PFG+Salesforce– Tip: edit GetPaid
adapter last
How to Make a Store● GetPaidStore
– tinyurl.com/getpaidstore
– Includes product archetype, workflow, views
– Used for orderliterature.com ● Thanks to TOT
Inventory Management
● Track inventory stock and quantity available
● Add warehouse location info– Shows on order
● Warehouse location used in shipping calculation (UPS)
Beyond Add-ons: GetPaid Flexibility
Image: yogi
Make Your Own Buyable Content
● Example particular archetypes:– Products
– Donations
Make Your Own Buyable Content
● How to do it in GetPaid: – Create custom content type
– Make it buyable● Admin interface (Through The Web)● Programmatically (see tinyurl.com/getpaid-content-doc)
– Programmatically: ● Mark content type with IbuyableMarker● Register adapter to extract relevant data from archetype
– Thanks to Michael Dunstan!
Add GetPaid Info On Your Template
– from Products.PloneGetPaid.interfaces import PayableMarkerMap, IBuyableMarker
– if IBuyableMarker.providedBy(PrettyCoffeePot):
– iface = PayableMarkerMap.get(IBuyableMarker, None) # Or any of the other markers
– iface(PrettyCoffeePot).price● ==> Returns the price
– See howto at:http://plone.org/products/getpaid/documentation/how-to/accessing-getpaid-attributes-on-objects
Pay-to-submit Content
● Examples: – Job posting
– Applications
– Directory listings
– Ads
Pay-to-submit Content
● Subscriber to workflow state change
● Howto at:“how-to-tie-actions-to-payments”(plone.org)
www.investorscircle.net
In the works (need more help)
● getpaid.salesforce● getpaid.paypal (IPN)● getpaid.credit ● Shipping: Flat rate shipping, FedEx● Taxes: flat rate● Recurring billing
– blocked by contrib access!
Proposed (not yet sponsored)
● getpaid.workflow● Downloadable purchases (mp3, etc)● Memberships● Premium content
For More on Who Uses GetPaid
● Sites Using GetPaid:
● tinyurl.com/pgpsites
Beyond GetPaid...
● Plone Commerce Background: – Research into what else is available– http://www.plonegetpaid.com/why/plone-commerce-
background ● EasyShop in Plone● Satchmo in Django
Thanks!
● Kapil, Perrito, Lucie and all contributors to GetPaid
● Sponsors of GetPaid: – One/Northwest, ifPeople, Contextual Corp, Trees
for Life, Totsie.com, Train of Thought
● Find us at #getpaid and http://groups.google.com/group/getpaid-dev/
● Dive in!! GetPaid Sprint following Plone Conference
● Find me: cjj at ifpeople.net and cjj on irc