Dealing with any shopping scenario

Slides:



Advertisements
Similar presentations
EzScoreboard.com A Fully Integrated Administration Service.
Advertisements

RP Designs Semi-Custom e-Commerce Package. Overview RP Designs semi- custom e-commerce package is a complete website solution. Visitors can browse a catalog.
The EBSCONET Subscription Management System is a multi-lingual
Processing Your Loyalty Order Online. Table of Contents Click for direct link to your preferred topic: Process your Loyalty Rewards Order TODAY Edit your.
Welcome to WebCRD.
CHAPTER OBJECTIVE: NORMALIZATION THE SNOWFLAKE SCHEMA.
PantherSoft Financials Smart Internal Billing. Agenda  Benefits  Security and User Roles  Definitions  Workflow  Defining/Modifying Items  Creating.
PeopleSoft FSCM 9.2 Reduce Indirect Spend and Procure to Pay Costs with PeopleSoft FSCM 9.2.
Seattle Drupal Clinic Introduction to Drupal and Web Content Management.
04 – THEATRE WEBSITE AND ONLINE TICKETING SYSTEMS B063 – OCER Theatre.
The easy way to shop online and explore all around market sitting at home Project Created & Presented By: Siddhant Aggarwal 2374 CSE-B(4 TH YEAR) DITM.
NITAAC Customer Support Phone: Website: NITAAC.nih.gov Customer Guide for using the electronic Government.
Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories.
E-Commerce Solutions. What is e-Commerce  Simply put, e-commerce is the online transaction of business, featuring linked computer systems of the vendor,
CISTI Source & SiteSearch OCLC User Meeting 2001 Danielle Langlois & Carol Serroul May 9, 2001.
Antalis-HQ USER GUIDE. Antalis, Europe’s leading distributor of paper, packaging solutions and visual communication products presents you its user web.
IdentiTrip 2006 Our Skills Making your Job Easier.
Administration Tab CiviCRM. Data Organization in CiviCRM: "Building Blocks" Contacts Reports Mail Tags Activities Contribe Member Events and Event Attendences.
Your on-line connection to Ferraz Shawmut; Getting Started Login / out Contact Us Home Page, Account Inquiry My E-Account Account Status Ordering Options.
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Partners’ Webinar 10/25/2012 Karol Jarkovsky Solution Architect E-commerce Scenarios.
2013.  Modify QuickBooks Preferences  Customize QuickBooks Menus and Windows  Customize the Icon Bar and Display Settings  Use the Item List and Other.
MSF Requirements Envisioning Phase Planning Phase.
People © 2013 The Sleeter Group All rights reserved. Intuit, the Intuit logo and QuickBooks, among others, are registered trademarks of Intuit Inc. Other.
Welcome to BASICS ONLINE How our system works for you and your company…
Your Name Here See Page Notes for Info about Hyperlinks.
Entities in Drupal 7 & the Entity API #sudrupalcamp April 6, 2013 JD Leonard ModernBizConsulting.com ModernBizConsulting.com ModernBizConsulting.com.
1 1 User Manual Purchase and Order Tracking on the SKF Giftzone.
MARKETING PORTAL PRESENTED TO YOU BY CABLES TO GO.
BillPointe®.
IdentiTrip 2006 Our Skills Making your Job Easier.
Drupal Commerce Better than Uber Andrew Root: druroot.
The Pencil Company Team Slave to the WWW. Team Members  Ashley Petrinec – Co-lead of documentation and design  Jennifer Williams – Co-lead of documentation.
Seattle Drupal Clinic Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology.
Entities in Drupal 7 & the Entity API #sfdug March 11, 2013 JD Leonard ModernBizConsulting.com.
Training by the Office of Library and Information Services Contact for more information: karen.gardner- or
NCR Confidential NCR RETAIL ONLINE Ecommerce Made Simple 1.
IdentiTrip 2006 Key Features & Benefits All data imported from MIS system Quick MIS upload annually for new intake and class changes No manual input of.
Table of Contents TopicSlide Administrator Login 2 Administrator Navigations 3 Managing AlternativeDr.com Blogs 4 Managing Dr. Lloyd May Blogs 5 Managing.
IdentiTrip Key Features & Benefits All data imported from MIS system Quick MIS upload annually for new intake and class changes No manual input of pupil.
Hatrak Scheduler UsOn Line Demo HATRAK SCHEDLER.
Flexible Registration for Community Education Dottie Marron Delivery Center Manager Student Administrative Services Consulting Center.
 Shopping Basket  Stages to maintain shopping basket in framework  Viewing Shopping Basket.
Contract Invoice Guide
Chapter 11: Customer Support. Forums Forums Issues Issues Help Desk Help Desk.
 How we should structure our checkout and order process?  Checkout and Order Process of our framework  Stages of Checkout and Order Process.
Navigation: If the tutorial opens up in your web browser, simply click your mouse to advance to the next slide. Use the “Backspace”
Fab25 User Training Cerium Labs LabCollector - LIMS Lynette Ballast.
E commerce Online Shopping Website at Rs. 7920/-.
1 Logging into the new PCard (PaymentNet) System: PAYMENTNET * Introduction * May use IE 8.0 or greater or Firefox * Do not.
A Project Report On Online Shopping By: Ruchi Kumari (08ERWCS089)
PCard Training Logging into the new PCard (PaymentNet) System: * Introduction * May use IE 8.0 or greater or Firefox * Do not.
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
JavaScript, Sixth Edition
Project Management: Messages
PantherSoft Financials Smart Internal Billing
Comp Tax Presenter : Kara Moore.
Parts.cat.com Client training 2017.
Introduction to the Module
E-Commerce Solution for all businesses
Register Account.
Parts.cat.com Client training 2016.
Flowserve Distributor Online Store & Portal
Ready, Set, GoTransactions
Harness the Power of Promotional Packages in MX
Superior Drupal Integration for CiviCRM with a focus on Events
Flowserve Distributor Online Store & Portal
BEST NODE JS & ANGULARJS ECOMMERCE WEBSITE
Simplify Your Sales Process
Presentation transcript:

Dealing with any shopping scenario Drupal commerce Dealing with any shopping scenario

Introduction Drupal Commerce adds the functionality online merchants need in a Drupal based site! Eg Cart, Checkout, Orders, Invoices, Shipping, Tax etc Created by Ryan Szrama, the author of Ubercart Like Drupal, acts as a framework which can be extended Distributions for catering to specific scenarios Built/supported by Commerce Guys 23,000 + active sites Growing Commerce specific contrib Huge potential Like how Drupal gives you content types, taxonomies, menus and roles to manage most website requirements, commerce gives you carts, checkouts, orders, tax etc Created by Ryan Szrama author of Ubercart so very much the D7 successor Like Drupal its not ideal off the shelf but that weakness is also its power as its just as extensible as Drupal The Weakness can be plugged with distro – if anyone can be bothered putting the effort in! Commerce guys to Commerce are like Acquia to Drupal – nice to have a place to turn and provides credibility in enterprise

Why Drupal Commerce Hands down beats most E-com solutions for anything CMS / Social etc Huge D7 contrib space which can be used in Commerce, Eg Image Galleries, Flags, Ratings, newsletters, support forums, blogs etc Powerful search with Search API, Facet API and Solr Good theme system / responsive - Omega Where it currently falls down Not as mature as existing solutions / not as tried and tested Actually still pretty complicated for a standalone simple store We all know Drupal and have been building CMS sites, why not start using our skills to tackle E Commerce? Its built on D7, so it has deep integration with the systems you know and love, fields, views, rules and entities Opportunity – chance to get in on something still fairly new and continue Drupals rocketing growth as it not only takes over the non – cms space but now starts to invade the Commerce space too. Which for us as Drupalists can only be a good thing.

Distributions Commerce Kickstart Best introduction for commerce http://drupal.org/project/commerce_kickstart http://demo.commerceguys.com/ MartPlug http://drupal.org/project/martplug http://demo.martplug.com/ Open Deals http://drupal.org/project/opendeals http://opendealsapp.com/demo/ Distributions are pretty weak to be honest, however they can provide insight into particular implementations ! Go over each demo

commerce dependencies Views Rules Address field Entity API Why are these important? Existing ecosystem - lots of modules are “entity-aware” Use standard hooks/classes (eg EntityFieldQuery & Metadata Wrappers) Hmmmm tasty! Views & Rules… So that deep integration comes from how close Commerce sits on Drupal 7. Has anyone had a problem trying to access Webform submissions with views or use it with Rules? It can cause real frustration due to webform being “bolted on top Drupal” or semi using it, eg uses form api but doesn’t use entities or fields. Why have webform components when contrib already provides a huge array of fields? This approach for me is what Wordpress follows where each plugin developer does their own thing but doesn’t really Metadata wrappers saves that nasty hardcoded nesting Everything is entities, Product, Customer Profile, Line item, Order Payment

Commerce entities Product A node can have multiple Product reference fields, each contain price, SKU and other Product Attributes. “Product Types” allow for variations Customer Profile Customers Profiles contain billing & shipping information. Each user may have multiple profiles, eg Work or Home Address. Order Orders can have multiple line item references and a single Customer Profile reference. Represents major states through the life of an order (Canceled, Cart, Pending, Complete). Line Item Used in Orders to store a product references or product specific fields. Payment Records details of the transaction such the state (pending / success / failure) which updates the order

Commerce fields Status – cannot edit, from product module SKU – cannot edit, from product module Address – from Address contrib module Price Product reference Line item reference Customer profile reference Add Attributes as almost any field

Entity metadata wrappers Provided by Entity API Much of Commerce expects you to use entity metadata wrappers Used by Rules & Search API for their magic Benefits: Allows chaining Prevents hardcoded nesting Easier Looping Getters and Setters Some nice extra methods like access, validate etc Entity API takes an entity type and an entity object as parameters to create a new object which has many useful methods attached to aid in accessing and manipulating an entities properties and fields You create a new wrapper using the node, you can see all the properties both fields and entity properties by outputting the getpropertyinfo Extra methods like access where you can findout if view / edit access is available for a user

Entity metadata wrappers examples How to get the wrapper and see what's available: $wrapper = entity_metadata_wrapper('node', $node); dpm($wrapper->getPropertyInfo()); Helps get values without the nesting. Eg $node->field_name[LANGUAGE_NONE][0][‘value’]; Becomes: $wrapper->field_name->value(); Set the field with: $wrapper->field_name->set(“new value”) You create a new wrapper using the node, you can see all the properties both fields and entity properties by outputting the getpropertyinfo

Entity metadata wrappers examples Chaining Entity data with Audoloading $order_wrapper = entity_metadata_wrapper(‘commerce_order’, $order); $address = $order_wrapper->commerce_customer_billing- >commerce_customer_address->value() Looping through a list: $order_wrapper = entity_metadata_wrapper(’commerce_order', $order); foreach ($order_wrapper->commerce_line_item->value() as $item) { //$item is a fully loaded line item entity. //Get product fields $item->commerce_product->field_name->raw() } You create a new wrapper using the node, you can see all the properties both fields and entity properties by outputting the getpropertyinfo

EntityFieldQuery Provided by Drupal 7 Core API Query your entities and their field data without writing complex join queries or knowing the schemas. /** * Implements hook_commerce_product_can_delete(). */ function commerce_product_reference_commerce_product_can_delete($product) { // Use EntityFieldQuery to look for line items referencing this // product and do not allow the delete to occur if one exists. $query = new EntityFieldQuery(); $query ->entityCondition('entity_type', 'commerce_line_item', '=') ->entityCondition('bundle', commerce_product_line_item_types(), 'IN') ->fieldCondition('commerce_product', 'product_id', $product->product_id, '=') ->count(); return $query->execute() == 0; } Problem with fieldable entities is that it is spread across a huge amount of tables which makes traditional methods of retrieving the values a bit of a join nightmare. Very cumbersome when you deal with revisions and languages too. Can find data objects condtional on entit type, bundle, properties or field values. The example uses entityfieldquery to check if any line items exist which reference a product and if they do then return false With commerce it pretty much becomes essential due to the nature of the spread out entitys and references

Views & Rules Views: Baskets, Checkout etc all built using Rules so can be extended Uses Views to make your Product listings / Catalogues Build those custom order reports etc pretty quickly Rules: Adjust Prices using Rules for different roles, dates Tax and Shipping rates use Rules so can be modified Expire Products with Rules Scheduling Remove Items from the Cart Manage Experience with Custom Messages & Emails

Commerce specific contrib commerce_addressbook Allows customers to ueuse previously entered addresses during checkout commerce_coupon Adds coupons entity to be redeemed on orders and can be dependent on product / user / roles etc. Provides % or fixed price amounts. commerce_checkout_redirect / commerce_checkout_login Registers users before checkout commerce_checkout_progress Provides a nice block that shows the checkout steps commerce_price_savings_formatter Display formatter for price to how savings, take into account tax etc dc_cart_ajax Better UX through ajax loading commerce_wishlist Provides wish list functionality commerce_reorder Allows a user to reorder past orders commerce_google_analytics Send order data to Google Analytics

Commerce scenario Demos Store needs Customizable products: Flower shop needs to allow customers to define a custom message and date of delivery. How to: The line item is fieldable with the contrib module commerce_custom_product and allows for use cases like business cards, event registrations or donations where customer input is required to be stored. The field is stored on the line item so its unique to a product. Demo: http://kickstart.localhost:8082/customproduct/custom-shoes#

Commerce scenario Demos Store needs custom node / validation in checkout A shop requires customers agree to a terms of service before they can make a purchase How to: Using commerce_extra_panes allows any node to be added in to the checkout process and ordered. Once the node is added a checkout can be included via a hook form alter using validation to ensure the custom has agreed

Commerce scenario recipes Subscription (membership site) Install & configure “role_expire” Setup a “Member” role with default expiration Install & configure content_access to restrict view access to Members Setup a “Membership” product On order completion use Rules to Apply the “Member” role to the customer and depending on product set expiration time Alternatively Try commerce_sp – a feature module or commerce_subscription

Commerce scenario recipes Virtual goods / Subscription Sell Product keys: commerce_product_key – allows attaching unique product keys to orders to unlock / activate software Sell files: commerce_file – allows commerce to sell file access Sell Individual Nodes: Similar approach to selling membership, however each product should have a node reference to the node which a customer is buying access to. Also use content_access Rules module so on completing as order , loop through the line items using a component, if a node reference is set grant access to the node for the customer

Commerce scenario recipes Gamification Applicable for Forums, Support sites etc where users can earn points and the get discounts. Use commerce_userpoints to buy products with points or use them to discount purchases