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