SlideShare uma empresa Scribd logo
1 de 23
Make me a sandwich, Tienda!
Lukas Polak, Dioscouri Design
                                c
Who am I?
"Tell me what you eat, and I will tell you what you are.“ Brillat-Savarin


•   Leading developer of Tienda e-commerce in Dioscouri Design

•   Participant of J!SOP 2010

•   Student at CTU Faculty of Information
    Technology in Prague

•   Passionate about Joomla for 5 years
What am I going to talk about?
“Ladies & gentlemen, please fasten your seatbelts. We are about to start, ” captain said



•   Brief description of Tienda & plugins

•   3 simple rules to follow when working with plugins

•   “layout” modifications

•   Adding new features

•   Inserting new steps into
    business logic
Source codes

•   All extensions shown during this presentation will be published
    for free afterwards
      •   http://projects.dioscouri.com/svn/tienda/branches/jab11/


•   Installation package of Joomla! 1.5.26 + Tienda which is used
    during this session will be provided in JPA format generated by
    extension Akeeba Backup v. 3.4.3. (www.akeebabackup.com)
      •   admin/pass


•   All demo extensions are simplified
•   Demo #2 uses jQuery library
•   Rest demos require MooTools Upgrade plugin
Plugin

•   Small & witty piece of code

•   Change or extend behavior
      •   Events


•   No support for layout overrides
      •   Can by added
Observer vs. mediator pattern

•   Observer
      •   Notify about change in state




•   Mediator
      •   Extend their business logic
Tienda

•   Basic package
      •   18 modules, 29 plugins, 6 payment plugins, 4 shipping plugins

•   Joomla! 2.5 ready Languages

•   One-page Checkout (OPC) in the basic package

•   Number of events 400+ (last JAB) vs. 470+ (today)

•   For more information visit
    http://dioscouri.com/joomla-extensions/tienda-
    ecommerce
Lego v2.0


•   Ask “what would the customer want to do with our extension”

•   Do not over think usage of events

•   Think outside of the box
Ask “what would the customer want to do
with our extension”
•   Do you really need this to be so flexible?
      •   Consider opportunity cost

•   Being too flexible is NOT a good thing
      •   Always bigger room for bugs
Do not over think usage of events

-   Cannot we already do this using another approach?
      -   Do not bend rules too much – causes problems in future

-   Will anybody use it?
      -   Better to wait until somebody asks for it
Think outside of the box

•   List through names of all events
      •   Did not find one that rings a bell or seemed helpful

•   Plugins are not an ultimate tool for everything
      •   Combination of plugins & layout overrides
Rule #1 - Demo #1 – “Shoes size chart”
“Your customer is your boss”
•   Insert a shoes size chart into product view of every shoes in the
    shop
•   Pick the right place
•   Improvements
      •   Filter Product Layouts
      •   Filter Categories
      •   Custom Width
Rule #1 - Demo #1 – “Shoes size chart”
“Your customer is your boss”
Rule #1 - Demo #2 – “Cool gallery”
“Your customer is your boss”

•   Images in product gallery varies based on chosen product
    attributes
      •   Use AJAX

•   onPrepareGalleryImages( &$Images )
      •   Chaining effect

•   Use jQuery event handler .on()
      •   $jq( '.product_buy' ).on( 'change', '#attribute_'+
          plgDemo2.attr_id , function() {});
Rule #1 - Demo #2 – “Cool gallery”
“Your customer is your boss”
Rule #2 - Demo #3 – “Custom” field

•   List of flags
      •   Let user to pick one
•   Use hidden input field
      •   Added to Tienda EAV for this purpose
•   onPrepareProducts & onPrepareProductsList
      •   Make sure that the product will not save data!
•   Improvements
      •   Different set of flags
      •   Multiple selection
      •   Make it more customizable
      •   Tie it up with gallery plugin (demo #2)
Rule #2 - Demo #3 – “Custom” field
Rule #3 – Demo #4 – Every n-th order for free
“One rule to rule them all”
•   Gives customer discount during checkout
      •   Based on specified criteria
•   Great marketing move
•   Code once, works everywhere
      •   OPC, std checkout, POS
•   Improvements
      •   Only x% discount
      •   On n-th order in row from the same user
      •   Shipping discount
Rule #3 – Demo #5 – Conduct a survey
“One rule to rule them all”
•   Ask user a question before making payment
      •   Voluntary survey
•   Pick a correct place to put the survey
      •   onBefore(After)DisplaySelectShipping ($order)
      •   onValidateSelectPayment($values)
      •   onAfterStoreOrders($order)
•   Checkout process may depend on its results
      •   Check for age of the customer
•   Improvements
      •   Offer a discount – quiz
      •   Multiple-choice questions
      •   Time deadline
Rule #3 – Demo #5 – Conduct a survey
“One rule to rule them all”
Big finale – Demo #6 – One click to buy
“The sooner, the better. It was too late yesterday!”
•   Add to cart and complete checkout process in one click
      •   Uses data from logged user (default billing & shipping addresses)
•   Amazon uses this feature
      •   People tend to spend more money thanks to it
•   Making use of checkout controller method
      •   Ensures better
•   Improvements
      •   Enables admin to control what payment plugins
          are used
      •   Letting user to choose shipping method
Big finale – Demo #6 – One click to buy
“The sooner, the better. It was too late yesterday!”
THANK YOU FOR YOUR ATTENTION!
           Questions?



        lpolak@dioscouri.com
            Twitter: @_elf

Mais conteúdo relacionado

Semelhante a Make me a sandwich, Tienda

Customer Feedback: the missing piece of the Agile puzzle
Customer Feedback: the missing piece of the Agile puzzleCustomer Feedback: the missing piece of the Agile puzzle
Customer Feedback: the missing piece of the Agile puzzle
skierkowski
 
Bootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting timeBootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting time
Joel Gascoigne
 
Refactoring Legacy Code - true story
Refactoring Legacy Code - true storyRefactoring Legacy Code - true story
Refactoring Legacy Code - true story
Aki Salmi
 
Drupal Commerce Drupalhagen 2012
Drupal Commerce Drupalhagen 2012Drupal Commerce Drupalhagen 2012
Drupal Commerce Drupalhagen 2012
Jakob Torp
 

Semelhante a Make me a sandwich, Tienda (20)

Customer Feedback: the missing piece of the Agile puzzle
Customer Feedback: the missing piece of the Agile puzzleCustomer Feedback: the missing piece of the Agile puzzle
Customer Feedback: the missing piece of the Agile puzzle
 
Get lean tutorial
Get lean tutorialGet lean tutorial
Get lean tutorial
 
Exceed online kyle aspinal
Exceed online kyle aspinalExceed online kyle aspinal
Exceed online kyle aspinal
 
Retail Purchasing 2.0 for SPI Buyer
Retail Purchasing 2.0 for SPI BuyerRetail Purchasing 2.0 for SPI Buyer
Retail Purchasing 2.0 for SPI Buyer
 
Bootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting timeBootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting time
 
Saleforce For Domino Dogs
Saleforce For Domino DogsSaleforce For Domino Dogs
Saleforce For Domino Dogs
 
Aki Salmi - Refactoring legacy code: a true story @ I T.A.K.E. Unconference 2...
Aki Salmi - Refactoring legacy code: a true story @ I T.A.K.E. Unconference 2...Aki Salmi - Refactoring legacy code: a true story @ I T.A.K.E. Unconference 2...
Aki Salmi - Refactoring legacy code: a true story @ I T.A.K.E. Unconference 2...
 
Whats my MVP?
Whats my MVP?Whats my MVP?
Whats my MVP?
 
Refactoring Legacy Code - true story
Refactoring Legacy Code - true storyRefactoring Legacy Code - true story
Refactoring Legacy Code - true story
 
Optimize Your Funnel By Getting Inside Your Buyer's Head
Optimize Your Funnel By Getting Inside Your Buyer's HeadOptimize Your Funnel By Getting Inside Your Buyer's Head
Optimize Your Funnel By Getting Inside Your Buyer's Head
 
Shop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semesterShop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semester
 
Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...
 
Cross Device Optimisation - Google Analytics Shortcuts
Cross Device Optimisation - Google Analytics ShortcutsCross Device Optimisation - Google Analytics Shortcuts
Cross Device Optimisation - Google Analytics Shortcuts
 
Data and Consumer Product Development
Data and Consumer Product DevelopmentData and Consumer Product Development
Data and Consumer Product Development
 
CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010
 
Evaluating & Selecting the Right Cytometer for your Lab
Evaluating & Selecting the Right Cytometer for your LabEvaluating & Selecting the Right Cytometer for your Lab
Evaluating & Selecting the Right Cytometer for your Lab
 
An Introduction To Software Development - Final Review
An Introduction To Software Development - Final ReviewAn Introduction To Software Development - Final Review
An Introduction To Software Development - Final Review
 
Lean startup - 8 techniques every dev team should know
Lean startup - 8 techniques every dev team should knowLean startup - 8 techniques every dev team should know
Lean startup - 8 techniques every dev team should know
 
Drupal Commerce Drupalhagen 2012
Drupal Commerce Drupalhagen 2012Drupal Commerce Drupalhagen 2012
Drupal Commerce Drupalhagen 2012
 
Measure camp tools of the cro rabble
Measure camp   tools of the cro rabbleMeasure camp   tools of the cro rabble
Measure camp tools of the cro rabble
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Make me a sandwich, Tienda

  • 1. Make me a sandwich, Tienda! Lukas Polak, Dioscouri Design c
  • 2. Who am I? "Tell me what you eat, and I will tell you what you are.“ Brillat-Savarin • Leading developer of Tienda e-commerce in Dioscouri Design • Participant of J!SOP 2010 • Student at CTU Faculty of Information Technology in Prague • Passionate about Joomla for 5 years
  • 3. What am I going to talk about? “Ladies & gentlemen, please fasten your seatbelts. We are about to start, ” captain said • Brief description of Tienda & plugins • 3 simple rules to follow when working with plugins • “layout” modifications • Adding new features • Inserting new steps into business logic
  • 4. Source codes • All extensions shown during this presentation will be published for free afterwards • http://projects.dioscouri.com/svn/tienda/branches/jab11/ • Installation package of Joomla! 1.5.26 + Tienda which is used during this session will be provided in JPA format generated by extension Akeeba Backup v. 3.4.3. (www.akeebabackup.com) • admin/pass • All demo extensions are simplified • Demo #2 uses jQuery library • Rest demos require MooTools Upgrade plugin
  • 5. Plugin • Small & witty piece of code • Change or extend behavior • Events • No support for layout overrides • Can by added
  • 6. Observer vs. mediator pattern • Observer • Notify about change in state • Mediator • Extend their business logic
  • 7. Tienda • Basic package • 18 modules, 29 plugins, 6 payment plugins, 4 shipping plugins • Joomla! 2.5 ready Languages • One-page Checkout (OPC) in the basic package • Number of events 400+ (last JAB) vs. 470+ (today) • For more information visit http://dioscouri.com/joomla-extensions/tienda- ecommerce
  • 8. Lego v2.0 • Ask “what would the customer want to do with our extension” • Do not over think usage of events • Think outside of the box
  • 9. Ask “what would the customer want to do with our extension” • Do you really need this to be so flexible? • Consider opportunity cost • Being too flexible is NOT a good thing • Always bigger room for bugs
  • 10. Do not over think usage of events - Cannot we already do this using another approach? - Do not bend rules too much – causes problems in future - Will anybody use it? - Better to wait until somebody asks for it
  • 11. Think outside of the box • List through names of all events • Did not find one that rings a bell or seemed helpful • Plugins are not an ultimate tool for everything • Combination of plugins & layout overrides
  • 12. Rule #1 - Demo #1 – “Shoes size chart” “Your customer is your boss” • Insert a shoes size chart into product view of every shoes in the shop • Pick the right place • Improvements • Filter Product Layouts • Filter Categories • Custom Width
  • 13. Rule #1 - Demo #1 – “Shoes size chart” “Your customer is your boss”
  • 14. Rule #1 - Demo #2 – “Cool gallery” “Your customer is your boss” • Images in product gallery varies based on chosen product attributes • Use AJAX • onPrepareGalleryImages( &$Images ) • Chaining effect • Use jQuery event handler .on() • $jq( '.product_buy' ).on( 'change', '#attribute_'+ plgDemo2.attr_id , function() {});
  • 15. Rule #1 - Demo #2 – “Cool gallery” “Your customer is your boss”
  • 16. Rule #2 - Demo #3 – “Custom” field • List of flags • Let user to pick one • Use hidden input field • Added to Tienda EAV for this purpose • onPrepareProducts & onPrepareProductsList • Make sure that the product will not save data! • Improvements • Different set of flags • Multiple selection • Make it more customizable • Tie it up with gallery plugin (demo #2)
  • 17. Rule #2 - Demo #3 – “Custom” field
  • 18. Rule #3 – Demo #4 – Every n-th order for free “One rule to rule them all” • Gives customer discount during checkout • Based on specified criteria • Great marketing move • Code once, works everywhere • OPC, std checkout, POS • Improvements • Only x% discount • On n-th order in row from the same user • Shipping discount
  • 19. Rule #3 – Demo #5 – Conduct a survey “One rule to rule them all” • Ask user a question before making payment • Voluntary survey • Pick a correct place to put the survey • onBefore(After)DisplaySelectShipping ($order) • onValidateSelectPayment($values) • onAfterStoreOrders($order) • Checkout process may depend on its results • Check for age of the customer • Improvements • Offer a discount – quiz • Multiple-choice questions • Time deadline
  • 20. Rule #3 – Demo #5 – Conduct a survey “One rule to rule them all”
  • 21. Big finale – Demo #6 – One click to buy “The sooner, the better. It was too late yesterday!” • Add to cart and complete checkout process in one click • Uses data from logged user (default billing & shipping addresses) • Amazon uses this feature • People tend to spend more money thanks to it • Making use of checkout controller method • Ensures better • Improvements • Enables admin to control what payment plugins are used • Letting user to choose shipping method
  • 22. Big finale – Demo #6 – One click to buy “The sooner, the better. It was too late yesterday!”
  • 23. THANK YOU FOR YOUR ATTENTION! Questions? lpolak@dioscouri.com Twitter: @_elf