SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Drupal Commerce Nuts and Bolts Julien DUBOIS, October 2011 @Artusamak
Evolving from Ubercart to Drupal Commerce What can you  do  with it? Ubercart offers a wide  feature set , but operating outside of the core feature set is difficult at best. “ Application”  mindset focusing on the modules’  performance out-of-the-box . Sacrificed API functionality  and i18n for UI based customizations. What can you  build  with it? Commerce modules offer  core e-commerce systems and components , providing basic functionality with amazing flexibility. “ Framework”  mindset focusing on loosely coupled modules and  adaptability . Privileges developers and site builders  at the core level, administrators and reusable feature development at the profile level.
Leveraging core systems Commerce depends  heavily  on the core fieldable entity system in Drupal 7: Demonstration and examples: 1.  Fieldable entities Building product types including “attribute” fields. 2.  Entity field query Query your entities and their field data without writing SQL or knowing schemas. Example: commerce_product_reference.module, line 166 ff.
Leveraging contributed systems Commerce depends  heavily  on Rules, the contributed Entity API, and Views: Demonstration and examples: 1.  Rules Configuring all sorts of conditional behavior; checkout completion rule example. 2.  Entity API Use the entity metadata wrapper to easily access and manipulate field data and referenced entities on Commerce entities. Example: commerce_cart.module, line 770 ff.   3.  Views Administrative Views for all entities on the back end and the Cart on the front. Views can now include area handlers and be used to build forms.
Core Commerce systems Commerce defines its own set of systems to interact with its entities: Demonstration and examples: 1.  Product vs. Product display Products do not have default displays, but there are multiple ways for you to build custom displays: node + product reference, Views, Panels. 2.  Product pricing Product sell prices are calculated through Rules via pseudo line items. Example: commerce_product_pricing.module, line 77 ff.   3.  Price components Price calculation builds an array of price components into a price field’s data array. Example: commerce_tax.module, line 238 ff.
Core Commerce systems Commerce defines its own set of systems to interact with its entities: Demonstration and examples (cont.): 4.  Cart Shopping carts are orders with special handling for refreshing prices / checkout. Example: commerce_cart.module, line 831 ff. 5.  Checkout The form is highly configurable and updates the order upon each submission. Modules can define checkout panes for the drag-and-drop form builder. Example: commerce_order.checkout_pane.inc
Core Commerce systems Commerce defines its own set of systems to interact with its entities: Demonstration and examples (cont.): 6.  Payment Every service defined by a payment gateway is defined as a payment method. Each method can be instantiated any number of times with different API credentials, transaction settings, and conditional availability. Example: commerce_payment_example.module Example: commerce_paypal_wps.module 7.  Complex conditions Commerce defines complex conditions that you can use in place of chaining various Rules and Rules components together yourself. Example: Order address component comparison Example: Order contains a particular product
New core Commerce tools The following tools are  new  since Commerce 7.x-1.0-beta4: Demonstration and examples: 1.  Default entity controller Commerce now defines a default entity controller that all its entities use. Contributed modules can extend the same controller for their entities. Example: commerce.controller.inc 2.  Generic entity access Commerce now defines a generic set of entity access permissions and an access callback function that entities can use to perform access checks. Entity view access is extensible through hook_query_TAG_alter(). Example: commerce.module, line 785 ff. Example: commerce_payment.module, line 949 ff.
Any questions? [email_address] Commerce Guys is looking for skilled Drupal developers, themers, project managers

Weitere ähnliche Inhalte

Andere mochten auch

2014 EUC Term review Presentation
2014 EUC Term review Presentation2014 EUC Term review Presentation
2014 EUC Term review Presentation
Christopher Thomas
 
Diễn biến phức tạp của bệnh khớp
Diễn biến phức tạp của bệnh khớpDiễn biến phức tạp của bệnh khớp
Diễn biến phức tạp của bệnh khớp
lajuana808
 
Bẻ khớp – hại trăm bề
Bẻ khớp – hại trăm bềBẻ khớp – hại trăm bề
Bẻ khớp – hại trăm bề
providencia393
 
Saha_Sumit_2016_thesis
Saha_Sumit_2016_thesisSaha_Sumit_2016_thesis
Saha_Sumit_2016_thesis
Sumit Saha
 

Andere mochten auch (16)

Engineering & Construction
Engineering & ConstructionEngineering & Construction
Engineering & Construction
 
2014 EUC Term review Presentation
2014 EUC Term review Presentation2014 EUC Term review Presentation
2014 EUC Term review Presentation
 
11. mi untuk strategi
11. mi untuk strategi11. mi untuk strategi
11. mi untuk strategi
 
10. mi untuk guru
10. mi untuk guru10. mi untuk guru
10. mi untuk guru
 
Diễn biến phức tạp của bệnh khớp
Diễn biến phức tạp của bệnh khớpDiễn biến phức tạp của bệnh khớp
Diễn biến phức tạp của bệnh khớp
 
Drupalcamp Nantes - Présentation entités
Drupalcamp Nantes - Présentation entitésDrupalcamp Nantes - Présentation entités
Drupalcamp Nantes - Présentation entités
 
Bẻ khớp – hại trăm bề
Bẻ khớp – hại trăm bềBẻ khớp – hại trăm bề
Bẻ khớp – hại trăm bề
 
Drupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translationDrupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translation
 
Drupalcamp Nantes - Adapter Drupal
Drupalcamp Nantes - Adapter DrupalDrupalcamp Nantes - Adapter Drupal
Drupalcamp Nantes - Adapter Drupal
 
акты
актыакты
акты
 
Saha_Sumit_2016_thesis
Saha_Sumit_2016_thesisSaha_Sumit_2016_thesis
Saha_Sumit_2016_thesis
 
Sistemas de información estratégicos
Sistemas de información estratégicosSistemas de información estratégicos
Sistemas de información estratégicos
 
Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...
Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...
Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...
 
Enabling Business Transformation with DRM & FDMEE
Enabling Business Transformation with DRM & FDMEEEnabling Business Transformation with DRM & FDMEE
Enabling Business Transformation with DRM & FDMEE
 
Trivento summercamp fast data 9/9/2016
Trivento summercamp fast data 9/9/2016Trivento summercamp fast data 9/9/2016
Trivento summercamp fast data 9/9/2016
 
"Autonomía y Diseño: La realización de lo comunal" Arturo Escobar
"Autonomía y Diseño: La realización de lo comunal" Arturo Escobar"Autonomía y Diseño: La realización de lo comunal" Arturo Escobar
"Autonomía y Diseño: La realización de lo comunal" Arturo Escobar
 

Ähnlich wie Drupal commerce nuts and bolts seville

Ctools presentation
Ctools presentationCtools presentation
Ctools presentation
Digitaria
 
Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02
Shuchi Singla
 
Multi-company configuration with OpenERP 6
Multi-company configuration with OpenERP 6Multi-company configuration with OpenERP 6
Multi-company configuration with OpenERP 6
Pexego
 
WSC E-Commerce Web Site3. Detailed Design (one section for each comp.docx
WSC E-Commerce Web Site3. Detailed Design (one section for each comp.docxWSC E-Commerce Web Site3. Detailed Design (one section for each comp.docx
WSC E-Commerce Web Site3. Detailed Design (one section for each comp.docx
ericbrooks84875
 
Fabian Rousselot - Filemaker Portfolio
Fabian Rousselot - Filemaker PortfolioFabian Rousselot - Filemaker Portfolio
Fabian Rousselot - Filemaker Portfolio
Fabian Rousselot
 
Ppt slides 05
Ppt slides 05Ppt slides 05
Ppt slides 05
locpx
 

Ähnlich wie Drupal commerce nuts and bolts seville (20)

Intoduction commerceserver2009
Intoduction commerceserver2009Intoduction commerceserver2009
Intoduction commerceserver2009
 
Ctools presentation
Ctools presentationCtools presentation
Ctools presentation
 
MVC 4
MVC 4MVC 4
MVC 4
 
Report on mall automation
Report on mall automationReport on mall automation
Report on mall automation
 
Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02Onlineshopping 121105040955-phpapp02
Onlineshopping 121105040955-phpapp02
 
Onlineshoppingonline shopping
Onlineshoppingonline shoppingOnlineshoppingonline shopping
Onlineshoppingonline shopping
 
Multi-company configuration with OpenERP 6
Multi-company configuration with OpenERP 6Multi-company configuration with OpenERP 6
Multi-company configuration with OpenERP 6
 
AspMVC4 start101
AspMVC4 start101AspMVC4 start101
AspMVC4 start101
 
IRJET- Intelligent Cart
IRJET-  	  Intelligent CartIRJET-  	  Intelligent Cart
IRJET- Intelligent Cart
 
Omnichannel B2B Architecture
Omnichannel B2B ArchitectureOmnichannel B2B Architecture
Omnichannel B2B Architecture
 
Drupal Commerce contributed modules overview
Drupal Commerce contributed modules overviewDrupal Commerce contributed modules overview
Drupal Commerce contributed modules overview
 
WSC E-Commerce Web Site3. Detailed Design (one section for each comp.docx
WSC E-Commerce Web Site3. Detailed Design (one section for each comp.docxWSC E-Commerce Web Site3. Detailed Design (one section for each comp.docx
WSC E-Commerce Web Site3. Detailed Design (one section for each comp.docx
 
STOCK PRED.pdf
STOCK PRED.pdfSTOCK PRED.pdf
STOCK PRED.pdf
 
Fabian Rousselot - Filemaker Portfolio
Fabian Rousselot - Filemaker PortfolioFabian Rousselot - Filemaker Portfolio
Fabian Rousselot - Filemaker Portfolio
 
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus	An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
An e-Commerce Platform for Selling Single Product Reltus for Tinnitus
 
Onlineshopping
OnlineshoppingOnlineshopping
Onlineshopping
 
Import and synchronize Drupal commerce content using Commerce feeds
Import and synchronize Drupal commerce content using Commerce feedsImport and synchronize Drupal commerce content using Commerce feeds
Import and synchronize Drupal commerce content using Commerce feeds
 
Ppt slides 05
Ppt slides 05Ppt slides 05
Ppt slides 05
 
Day01 01 software requirement concepts
Day01 01 software requirement conceptsDay01 01 software requirement concepts
Day01 01 software requirement concepts
 
Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2 Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2
 

Mehr von Artusamak

Drupal comment contribuer
Drupal comment contribuerDrupal comment contribuer
Drupal comment contribuer
Artusamak
 

Mehr von Artusamak (20)

On test quoi - DCLannion 2017
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017
 
Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014
 
Agilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendreAgilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendre
 
Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013
 
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
 
Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013
 
Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013
 
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
 
Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013
 
Drupal comment contribuer
Drupal comment contribuerDrupal comment contribuer
Drupal comment contribuer
 
Drupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp ToulouseDrupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp Toulouse
 
Drupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation DrushDrupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation Drush
 
Drupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITDrupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GIT
 
Drupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupalDrupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupal
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layers
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layers
 
Drupalcamp Nantes - Aegir presentation
Drupalcamp Nantes - Aegir presentationDrupalcamp Nantes - Aegir presentation
Drupalcamp Nantes - Aegir presentation
 
Drupalcamp Nantes - Apprendre et prendre en main drupal
Drupalcamp Nantes - Apprendre et prendre en main drupalDrupalcamp Nantes - Apprendre et prendre en main drupal
Drupalcamp Nantes - Apprendre et prendre en main drupal
 
Drupalcamp Nantes - Centrale marseille
Drupalcamp Nantes - Centrale marseilleDrupalcamp Nantes - Centrale marseille
Drupalcamp Nantes - Centrale marseille
 
Drupalcamp Nantes - Traité performance
Drupalcamp Nantes - Traité performanceDrupalcamp Nantes - Traité performance
Drupalcamp Nantes - Traité performance
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Drupal commerce nuts and bolts seville

  • 1. Drupal Commerce Nuts and Bolts Julien DUBOIS, October 2011 @Artusamak
  • 2. Evolving from Ubercart to Drupal Commerce What can you do with it? Ubercart offers a wide feature set , but operating outside of the core feature set is difficult at best. “ Application” mindset focusing on the modules’ performance out-of-the-box . Sacrificed API functionality and i18n for UI based customizations. What can you build with it? Commerce modules offer core e-commerce systems and components , providing basic functionality with amazing flexibility. “ Framework” mindset focusing on loosely coupled modules and adaptability . Privileges developers and site builders at the core level, administrators and reusable feature development at the profile level.
  • 3. Leveraging core systems Commerce depends heavily on the core fieldable entity system in Drupal 7: Demonstration and examples: 1. Fieldable entities Building product types including “attribute” fields. 2. Entity field query Query your entities and their field data without writing SQL or knowing schemas. Example: commerce_product_reference.module, line 166 ff.
  • 4. Leveraging contributed systems Commerce depends heavily on Rules, the contributed Entity API, and Views: Demonstration and examples: 1. Rules Configuring all sorts of conditional behavior; checkout completion rule example. 2. Entity API Use the entity metadata wrapper to easily access and manipulate field data and referenced entities on Commerce entities. Example: commerce_cart.module, line 770 ff. 3. Views Administrative Views for all entities on the back end and the Cart on the front. Views can now include area handlers and be used to build forms.
  • 5. Core Commerce systems Commerce defines its own set of systems to interact with its entities: Demonstration and examples: 1. Product vs. Product display Products do not have default displays, but there are multiple ways for you to build custom displays: node + product reference, Views, Panels. 2. Product pricing Product sell prices are calculated through Rules via pseudo line items. Example: commerce_product_pricing.module, line 77 ff. 3. Price components Price calculation builds an array of price components into a price field’s data array. Example: commerce_tax.module, line 238 ff.
  • 6. Core Commerce systems Commerce defines its own set of systems to interact with its entities: Demonstration and examples (cont.): 4. Cart Shopping carts are orders with special handling for refreshing prices / checkout. Example: commerce_cart.module, line 831 ff. 5. Checkout The form is highly configurable and updates the order upon each submission. Modules can define checkout panes for the drag-and-drop form builder. Example: commerce_order.checkout_pane.inc
  • 7. Core Commerce systems Commerce defines its own set of systems to interact with its entities: Demonstration and examples (cont.): 6. Payment Every service defined by a payment gateway is defined as a payment method. Each method can be instantiated any number of times with different API credentials, transaction settings, and conditional availability. Example: commerce_payment_example.module Example: commerce_paypal_wps.module 7. Complex conditions Commerce defines complex conditions that you can use in place of chaining various Rules and Rules components together yourself. Example: Order address component comparison Example: Order contains a particular product
  • 8. New core Commerce tools The following tools are new since Commerce 7.x-1.0-beta4: Demonstration and examples: 1. Default entity controller Commerce now defines a default entity controller that all its entities use. Contributed modules can extend the same controller for their entities. Example: commerce.controller.inc 2. Generic entity access Commerce now defines a generic set of entity access permissions and an access callback function that entities can use to perform access checks. Entity view access is extensible through hook_query_TAG_alter(). Example: commerce.module, line 785 ff. Example: commerce_payment.module, line 949 ff.
  • 9. Any questions? [email_address] Commerce Guys is looking for skilled Drupal developers, themers, project managers