Introduction and future
      E-Commerce in TYPO3 with EXT:commerce
      
        Sebastian Fischer / @garbast
      
    
    
    
      About MFC
      
        - Platinum member of the TYPO3 association
- Organizator and Sponsor of TYPO3Camp Essen
- Sends member to the BCC
- Has open positions, look at www.marketing-factory.de
       
      
    
    
      Fully integrated shop... ?
      Yes we only play with TYPO3.
      The focus is only on the TYPO3 needs.
      The shop can't be used with other systems.
       
       
    
    
      ... for developers
      
        - based on the core API
- use of same database link
- extendability with EXT:extender
- hooks everywhere
- XCLASSing if really really needed (yuck)
      
      
$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects'][
  \TYPO3\CMS\Backend\Controller\NewRecordController::class
] = [
  'className' => \CommerceTeam\Commerce\Xclass\NewRecordController::class,
];
      
      
    
    
      ... for administrators
      
        
          | 
              only requirement is a running TYPO3
                no extra server/software needed
                
                  no extra databaseno extra system requirements
                no need of maintaining other systems
                
                  no security concerns other then TYPO3 |   | 
      
    
    
      ... for integrators
      
        
          | 
              business as usual for extension configurationfull controll with TypoScriptno external urls to configureno api key or login hasselaccess control on backend groups |   | 
      
    
    
      ... for editors
      
        
          | 
              working comparable with pagesonly sees what is neededcontrol of visibility like contentlinkable from browsable fields |  | 
      
      
    
    
      ... for enduser
      
        
          | 
              seamless integration in the websiteexisting accounts can be used for checkoutno context break while navigating between shop and content pages |   | 
      
    
    
      What is it good for?
      
        - productcataloge and website in one system
- website and shop in one system
- multiple thousands of products and articles
- optimal for content marketing
Possible integrations
      
        - material and/or immaterial goods
- catalogues of various kinds
- sales of subscriptions
- booking system if extended with seat configurator
- configurable products with multiple attributes
Features of commerce
      
        
          | 
              editing directly in the backend |  | 
      
      
    
    
      Features of commerce
      
        
          | 
              editing directly in the backendmodules usable like core lists |  | 
      
      
    
    
      Features of commerce
      
        
          | 
              editing directly in the backendmodules usable like core listscategory tree for better finding |  | 
      
      
    
    
      Features of commerce
      
        
          | 
              editing directly in the backendmodules usable like core listscategory tree for better findingproducts and articles with attributes |   | 
      
      
    
    
      Features of commerce
      
        
          | 
              editing directly in the backendmodules usable like core listscategory tree for better findingproducts and articles with attributeswizard for article creation |  | 
      
      
    
    
      Features of commerce
      
        - localization and currencies
      
      
# currency used from moneylib
plugin.tx_commerce_pi1.currency = {$plugin.tx_commerce_lib.currency}
      
      
    
    
      Features of commerce
      
        
          | 
              localization and currenciesall records are translatable |  | 
      
      
    
    
      Features of commerce
      
        
          | 
              localization and currenciesall records are translatablescaled prices |   | 
      
      
    
    
      Features of commerce
      
        - localization and currencies
- all records are translatable
- scaled prices
- api for payment provider
      
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce']['SYSPRODUCTS']['PAYMENT'][
  'types'
]['wcp_creditcard'] = array(
  'class' => 'Tx_Checkoutpage_Payment_Creditcard',
  'title' => 'Wirecard Checkout Page Creditcard', 'type' => 2,
  'provider' => array(
    'wcp_creditcard' => array(
      'class' => 'Tx_Checkoutpage_Provider_Creditcard',
      'configuration' => array(
        'orderPid' => array(
          'paymentCaptured' => 991,
        ),
      ),
    )
  )
);
      
      
    
    
      Features of commerce
      
        
          | 
              rights management on categories |  | 
      
      
    
    
      Features of commerce
      
        
          | 
              rights management on categoriesassign category section |  | 
      
      
    
    
      Features of commerce
      
        
          | 
              rights management on categoriesassign category sectionfull integration in link handling |  | 
      
      
    
    
      Features of commerce
      
        
          | 
              rights management on categoriesassign category sectionfull integration in link handling
                frontend access
                
                  all records have fe_groups supportprices per target groupspecial products for retailer |   | 
      
      
    
    
      Project enviroment
      
        - started by Marketing Factory, enet Consulting and @work
- since 2014 further development by Marketing Factory
- i need to work with it daily
Number crunching
      
        - since 2007
- downloads 14,567
- 35.501 lines of code
- 103 open issues
Activity per year
      
        
          | 
              
                | Year | lines added | lines removed | files modified | 
|---|
 | 2007 | 53358 | 0 | 455 |  | 2008 | 46163 | 25976 | 250 |  | 2009 | 6920 | 9926 | 145 |  | 2010 | 3765 | 3518 | 64 |  | 2011 | 7069 | 13843 | 164 |  | 2012 | 2453 | 2264 | 41 |  | 2013 | 100 | 80 | 16 |  | 2014 | 63157 | 56220 | 837 |  | 2015 | 70773 | 63644 | 615 |  | 2016 | 109 | 15 | 11 |  | 2017 | 39907 | 37042 | 417 |  |  | 
      
      
    
    
      Current version / Upcoming version
    
    
      What could be done
      
        - FAL integration
- EXT:fluid templates
- statistics with google analytics
- deliver with various payment provider
- 
          fix order handling
          
            - reenable email sending on status change
 
- improvement of workspaces integration
- installation tutorial
EAP goodie
      Support based on contribution
      
        
          | Support-Paket | Backing | EAP Exclusiv access | Integration-Support | 
        
          | Bronze | 5 project days | 6 month | ½ day | 
        
          | Silver | 10 project days | 6 month | 1 day | 
        
          | Gold | 15 project days | 6 month | 3 days | 
      
    
    
      How to contribute
      
        - testing / debugging
- reporting issues
- fixing issues
- translating labels
- speak about commerce
- monetary support
Thank you
      for your time and patience
      have a great event