Plone eCommerce: Surveying the State of the Art

28
Ecommerce in Plone: Surveying the State-of-the-Art Christopher Johnson ifPeople Cofounder www.ifpeople.net | cjj at ifpeople.net Plone Conference | October 8, 2008 Washington, DC

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 of Plone eCommerce: Surveying the State of the Art

Page 1: Plone eCommerce: Surveying the State of the Art

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

Page 2: Plone eCommerce: Surveying the State of the Art

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

Page 3: Plone eCommerce: Surveying the State of the Art

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

Page 4: Plone eCommerce: Surveying the State of the Art

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

Page 5: Plone eCommerce: Surveying the State of the Art

Features

● Content Integration via Marker Interface– Buyable

– Donation

– Shippable

– Premium content*

*Not yet implemented

Page 6: Plone eCommerce: Surveying the State of the Art

Features

● Shopping cart● Checkout wizard● Payment processor● Order management

Page 7: Plone eCommerce: Surveying the State of the Art

GetPaid Components

Page 8: Plone eCommerce: Surveying the State of the Art
Page 9: Plone eCommerce: Surveying the State of the Art
Page 10: Plone eCommerce: Surveying the State of the Art

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

Page 11: Plone eCommerce: Surveying the State of the Art

Add-ons Satisfy Specific Use Cases

● One-page Checkout● Making a Store● Managing Inventory● Discounts

Page 12: Plone eCommerce: Surveying the State of the Art

Add button to rich text area

– Add image

– Add link to image for:● /@@getpaid-cart-add?add_item=True

Image: edkohler

Page 13: Plone eCommerce: Surveying the State of the Art

● One-page checkout– See tinyurl.com/tfl-gp

● Addon: getpaid.formgen– tinyurl.com/getpaidfg

● Extend with PFG+Salesforce– Tip: edit GetPaid

adapter last

Page 14: Plone eCommerce: Surveying the State of the Art
Page 15: Plone eCommerce: Surveying the State of the Art

How to Make a Store● GetPaidStore

– tinyurl.com/getpaidstore

– Includes product archetype, workflow, views

– Used for orderliterature.com ● Thanks to TOT

Page 16: Plone eCommerce: Surveying the State of the Art

Inventory Management

● Track inventory stock and quantity available

● Add warehouse location info– Shows on order

● Warehouse location used in shipping calculation (UPS)

Page 17: Plone eCommerce: Surveying the State of the Art

Beyond Add-ons: GetPaid Flexibility

Image: yogi

Page 18: Plone eCommerce: Surveying the State of the Art

Make Your Own Buyable Content

● Example particular archetypes:– Products

– Donations

Page 19: Plone eCommerce: Surveying the State of the Art

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!

Page 20: Plone eCommerce: Surveying the State of the Art
Page 21: Plone eCommerce: Surveying the State of the Art

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

Page 22: Plone eCommerce: Surveying the State of the Art

Pay-to-submit Content

● Examples: – Job posting

– Applications

– Directory listings

– Ads

Page 23: Plone eCommerce: Surveying the State of the Art

Pay-to-submit Content

● Subscriber to workflow state change

● Howto at:“how-to-tie-actions-to-payments”(plone.org)

www.investorscircle.net

Page 24: Plone eCommerce: Surveying the State of the Art

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!

Page 25: Plone eCommerce: Surveying the State of the Art

Proposed (not yet sponsored)

● getpaid.workflow● Downloadable purchases (mp3, etc)● Memberships● Premium content

Page 26: Plone eCommerce: Surveying the State of the Art

For More on Who Uses GetPaid

● Sites Using GetPaid:

● tinyurl.com/pgpsites

Page 27: Plone eCommerce: Surveying the State of the Art

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

Page 28: Plone eCommerce: Surveying the State of the Art

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