modern perlcommerce
play

Modern PerlCommerce Stefan Hornburg (Racke) racke@linuxia.de - PowerPoint PPT Presentation

Modern PerlCommerce Past and Future API Development & Deployment Modern PerlCommerce Stefan Hornburg (Racke) racke@linuxia.de Pittsburgh Perl Workshop, 8th October 2011 racke Modern PerlCommerce Modern PerlCommerce Perl Buzzwords


  1. Modern PerlCommerce Past and Future API Development & Deployment Modern PerlCommerce Stefan Hornburg (Racke) racke@linuxia.de Pittsburgh Perl Workshop, 8th October 2011 racke Modern PerlCommerce

  2. Modern PerlCommerce Perl Buzzwords Past and Future Modern Perl API PerlCommerce Choices Development & Deployment Nitesi racke Modern PerlCommerce

  3. Modern PerlCommerce Perl Buzzwords Past and Future Modern Perl API PerlCommerce Choices Development & Deployment Perl Buzzwords ◮ Marketing Perl ◮ Modern Perl ◮ Postmodern Perl racke Modern PerlCommerce

  4. Modern PerlCommerce Perl Buzzwords Past and Future Modern Perl API PerlCommerce Choices Development & Deployment Modern Perl ◮ CPAN ◮ Best Practices ◮ Tests ◮ Separation (Modules, Plugins, Hooks, Templates) ◮ PSGI/Plack racke Modern PerlCommerce

  5. Modern PerlCommerce Perl Buzzwords Past and Future Modern Perl API PerlCommerce Choices Development & Deployment PerlCommerce Choices ◮ Interchange ◮ Handel ◮ Agora ◮ Business::Cart::Generic racke Modern PerlCommerce

  6. Modern PerlCommerce Past and Future Past API Future Development & Deployment Past ◮ 1995 CGI ◮ 1995 MiniVend ◮ 1998 http://www.materialboerse.de/ ◮ 2001 Interchange racke Modern PerlCommerce

  7. Modern PerlCommerce Past and Future Past API Future Development & Deployment Interchange Development ◮ Lot of things ◮ Small community ◮ Same codebase racke Modern PerlCommerce

  8. Modern PerlCommerce Past and Future Past API Future Development & Deployment Status quo racke Modern PerlCommerce

  9. Modern PerlCommerce Past and Future Past API Future Development & Deployment References ◮ Backcountry http://www.backcountry.com/ ◮ FragnanceNet http://www.fragrancenet.com/ racke Modern PerlCommerce

  10. Modern PerlCommerce Past and Future Past API Future Development & Deployment Future racke Modern PerlCommerce

  11. Modern PerlCommerce Past and Future Past API Future Development & Deployment Principles ◮ KISS ◮ Components ◮ Agnostic ◮ Expressive racke Modern PerlCommerce

  12. Modern PerlCommerce Past and Future Past API Future Development & Deployment Agnostic Cart ◮ Session ◮ DBI ◮ Webservice * racke Modern PerlCommerce

  13. Modern PerlCommerce Past and Future Past API Future Development & Deployment Agnostic Account Manager ◮ DBI ◮ LDAP * ◮ OpenID * racke Modern PerlCommerce

  14. Modern PerlCommerce Past and Future Past API Future Development & Deployment Agnostic Templating Engine ◮ Template::Toolkit ◮ Template::Flute racke Modern PerlCommerce

  15. Modern PerlCommerce Past and Future Past API Future Development & Deployment Agnostic Web framework ◮ Catalyst ◮ Mojo ◮ Dancer racke Modern PerlCommerce

  16. Modern PerlCommerce Past and Future Past API Future Development & Deployment Preferences ◮ Dancer ◮ Template::Flute ◮ DBI racke Modern PerlCommerce

  17. Modern PerlCommerce Past and Future Past API Future Development & Deployment Framework ◮ Dispatching requests ◮ Parameter parsing ◮ Session handling ◮ Template engine ◮ I18N racke Modern PerlCommerce

  18. Modern PerlCommerce Past and Future Past API Future Development & Deployment Extensions ◮ Bundles ◮ Plugins ◮ Hooks racke Modern PerlCommerce

  19. Modern PerlCommerce Past and Future Past API Future Development & Deployment Features ◮ Navigation ◮ Cart ◮ Checkout ◮ Accounts racke Modern PerlCommerce

  20. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Cart ◮ SKU, Name, Quantity, Price ◮ Price > 0 ◮ Combines automatically ◮ Multiple carts ◮ Storage everywhere ◮ Price caching racke Modern PerlCommerce

  21. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Nitesi::Cart Methods use Dancer : : Plugin : : N i t e s i ; cart − >add ( sku => ’POM253 ’ , name => ’ Pomelo ’ , price => 3.00 , quantity => 10); cart − >remove ( sku => ’POM253 ’ ) ; cart − >count ( ) ; cart − >clear ( ) ; cart − >t o t a l ( ) ; cart − >subtotal ( ) ; racke Modern PerlCommerce

  22. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Everything is a Cart ◮ Saved Carts ◮ Wishlists ◮ Collections racke Modern PerlCommerce

  23. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Multiple Carts cart ( ’ w i s h l i s t ’) − >add ( sku => ’ORA322 ’ , name => ’ Orange ’ , price => 2.00 , quantity => 5 ) ; racke Modern PerlCommerce

  24. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Cart Backends ◮ Session ◮ DBI racke Modern PerlCommerce

  25. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Inventory Check MinQuantityField min_quantity MaxQuantityField inventory : quantity racke Modern PerlCommerce

  26. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Inventory Check Hook hook ’ before_cart_add ’ => sub { my ( $cart , $item ) = @_; my ( $inventory ) ; $inventory = query − >s e l e c t _ f i e l d ( table => ’ products ’ , f i e l d => ’ inventory ’ , where => { sku => $item − >{sku } } ) ; i f ( $item − >{quantity } > $inventory ) { $item − >{ error } = ’ Out of stock ’ ; } } ; racke Modern PerlCommerce

  27. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Cart Hooks ◮ before_cart_add ◮ after_cart_add racke Modern PerlCommerce

  28. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Cart Hooks ◮ before_cart_remove ◮ after_cart_remove racke Modern PerlCommerce

  29. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Checkout ◮ Taxes ◮ Shipping ◮ Payment ◮ Invoice racke Modern PerlCommerce

  30. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Payment ◮ Business::OnlinePayment racke Modern PerlCommerce

  31. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Tax Modules on CPAN ◮ Business::Tax::Canada ◮ Business::CA::GST ◮ Business::Tax::VAT ◮ Business::Tax::VAT::Validation racke Modern PerlCommerce

  32. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Shipping ◮ Simple Shipping ◮ Crazy Shipping ◮ Shipping API racke Modern PerlCommerce

  33. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Costs $cart − >apply_cost ( amount => 5 ) ; $cart − >apply_cost ( amount => 0.19 , r e l a t i v e => 1 ) ; racke Modern PerlCommerce

  34. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms PDF Invoices ◮ HTML template ◮ Template::Flute::PDF racke Modern PerlCommerce

  35. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Accounts post ’ / login ’ => sub { i f ( account − >login ( username => params ( ’ body ’ ) − >{username } , password => params ( ’ body ’ ) − >{password } ) ) { r e d i r e c t ’ / customerservice ’ ; } else { r e d i r e c t ’ / login ’ ; } } ; racke Modern PerlCommerce

  36. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Accounts get ’ / checkout ’ => sub { i f ( account − >acl ( check => ’ submit_orders ’ ) ) { return template ’ checkout ’ ; } r e d i r e c t ’ / access_denied ’ ; } ; racke Modern PerlCommerce

  37. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Account manager ◮ Account Providers ◮ Login/Logout ◮ Account Information ◮ Login status ◮ Forgot password ◮ Registration racke Modern PerlCommerce

  38. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Account Provider ◮ DBI ◮ LDAP * ◮ Htpasswd * ◮ OpenID * ◮ OAuth * racke Modern PerlCommerce

  39. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Access Control ◮ User ◮ Roles ◮ Permissions racke Modern PerlCommerce

  40. Modern PerlCommerce Cart Past and Future Checkout API Accounts and Access Control Development & Deployment Forms Forms ◮ Display ◮ Validation ◮ Storage racke Modern PerlCommerce

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend