Download - Plone eCommerce: Surveying the State of the Art

Transcript
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