Magento Developer Certification Preparation Study Group

Session Thirteen

Andreas Mautz || @mautz_et_tong

webvisum GmbH

Was?

Compendium

Wer?

  • Andreas Mautz
  • programmiert seit 16 Jahren
  • macht magento seit 2008
  • beschäftigt sich mit Deployment-Prozessen, Entwicklungsinfrastrukturen und Wissensmanagement seit 2011
  • Vorbereitung Zertifizierung
  • Lehren und Lernen Stoff zusammenzufassen

Location

brandung

Ablauf

Was machen wir denn heute Schönes?

  • SESSION 13
  • Compendium
  • Sonstiges

Compendium

  • Basics (5)
  • Request FLow (7)
  • Rendering (8)
  • Database (12)
  • EAV (10)
  • Adminhtml (8)
  • Catalog (10)
  • Checkout (15)
  • Sales and Customer (12)
  • Advanced features (13)

Basics | Allgemeines

  • Describe and apply basic principles and processes of Object Oriented Programming (OOP) and Model-View-Controller (MVC) to build Magento websites
  • Identify and describe the principles of Event-Driven Architecture (EDA)
Magento module-based architecture
  • Describe module architecture
  • List steps to add new modules
  • Describe module limitations

Basics | Magento directory structure

  • Describe the Magento directory structure, including naming conventions, code pools, and namespaces
  • Describe the Magento module structure
  • Describe/identify the code pools used in Magento
  • Locate templates, layout XML, skins, javascript, and temporary directories within the Magento directory structure
  • Configuration XML
  • Create and register a module
  • Specify option in the config file
  • Operate website/stores/stores views
  • Add different values for different stores
  • Functional and factory class groups
  • Instantiate main Magento objects

Basics | Allgemeines

  • Get different instances from different places
  • Class overrides in Magento
  • Replace Model, Helper, and Block classes
  • Override a class
  • Event observer
  • Register an Observer
  • Configure an Observer to work in only frontend or backend
  • Configure an Observer to work in both frontend and backend
  • Set up a cron job

Basics | Allgemeines

  • Identify the function and proper use of automatically available events, including *_load_after, etc.
  • Describe methods for resolving module conflicts.
  • Internationalization
  • Describe how to plan for internationalization of a Magento site
  • Describe the use of Magento translate classes and translate files
  • Describe the advantages and disadvantages of using subdomains and subdirectories in internationalization

Request Flow

  • This topic comprises approximately 7% of the exam. Questions are drawn randomly from the following objectives:
  • Application initialization
  • Describe the steps for application initialization
  • Change a website from within index.php
  • Front Controller
  • Locate Front Controller class
  • List all events that Front Controller fires
  • Explain Front Controller responsibilities
  • URL rewrites

Request Flow

  • Describe URL structure/processing in Magento
  • Describe URL rewrite process
  • Rewrite a catalog/ product/ view to a different URL
  • Request routing
  • Describe request routing/flow in Magento
  • Create a module with controller
  • Override an existing controller
  • Module initialization

Request Flow

  • Describe/identify the steps needed to create and register a new module
  • Describe/identify module dependencies
  • Describe/identify the steps needed to create a controller in a module
  • Describe/identify the steps needed to enable and disable a module
  • Design and layout initialization
  • Identify the steps in the request flow in which:
  • Design data is populated
  • Layout configuration files are parsed
  • Layout is compiled
  • Output is rendered

Request Flow

  • Describe the module layout XML schema
  • Describe layout fallback
  • Describe admin and frontend scopes
  • Structure of block templates
  • Define root template, non-output block
  • Describe how to render a root template
  • Describe how to remove a child from the template page
  • Flushing data (outputs)
  • Describe how and when Magento renders content to the browser
  • Describe how and when Magento flushes output variables using Front_Controller

Rendering

  • Template structure
  • Define, and describe the use of, themes in Magento
  • Define, and describe the use of, design packages3
  • Define, and describe the use of, fallbacks Blocks
  • Describe the structure of blocks
  • Describe the relationship of templates and blocks
  • Describe the stages in the lifecycle of a block
  • Describe events fired in blocks
  • Identify different type of blocks
  • Instantiate a block

Rendering

  • Disable block output
  • Describe how a typical block is rendered
  • Design layout, XML schema, CMS content directives
  • Describe the elements of the Magento layout XML schema, including the major XML directives
  • Register Layout XML files
  • Create and add code to pages
  • Pass variables from layout to block
  • Add and customize Javascript

Working with Database in Magento

  • Models, resource models, and collections
  • Define/describe the basic concepts of models, resource models, and collections
  • Configure a database connection
  • Create and register new entities
  • Load and save an entity from a database
  • Filter and implement group save for a set of records
  • Describe how to use the Zend_Db classes to query the Database

Working with Database in Magento

  • Describe how to filter, sort and specify the selected values for collections
  • Describe how the DB abstraction layer for Magento is implemented
  • Describe how to use and resolve existing table names without hardcoding them
  • Magento Object Relational Mapping
  • Describe Magento Object Relational Mapping
  • Install and upgrade scripts
  • Describe the Install/Upgrade Workflow
  • Write install and upgrade scripts using set-up resources
  • Write downgrade (rollback and uninstall) scripts
  • Identify how to use the DDL class in setup scripts

Entity-Attribute-Value (EAV) Model

  • Define basic EAV concepts
  • Describe the EAV hierarchy structure
  • Describe how EAV data storage works in Magento
  • Describe the EAV data access process in Magento
  • Describe the database tables for EAV entities, and how to create them
  • Describe the key differences between EAV and Flat Table collections
  • Given a new entity, identify the factors that influence the choice of the resource type to use (EAV vs. flat)
  • EAV entity, load and save

Entity-Attribute-Value (EAV) Model

  • Describe EAV entity structure and its difference from the standard core resource model
  • Describe the EAV Load and Save process and its differences from the regular Load and Save process
  • Attributes management
  • Describe EAV attributes, including Frontend-Source-Backend structure
  • Identify the purpose and describe how to implement the interface of attribute frontend models
  • Identify the purpose and describe how to implement the interface of attribute source models
  • Identify the purpose and describe how to implement the interface of attribute backend models
  • Create and customize attributes

Adminhtml

  • Common structure/architecture
  • Describe the difference between adminhtml and frontend
  • Describe the components of Admin structure
  • Create a controller for admin router
  • Describe how to operate with cache clearing
  • Identify how to clear the cache using code (instead of the User Interface)
  • Form and Grid Widgets
  • Define form structure, form templates, grids in Magento, and grid containers and elements
  • Describe grid workflow

Adminhtml

  • Create a simple form and grid for a custom entity
  • Describe how to implement advanced Adminhtml Grids and Forms, including editable cells, mass actions,
  • totals, reports, custom filters and renderers, multiple grids on one page, combining grids with forms, and
  • adding custom javascript to an admin form
  • System configuration XML and configuration scope
  • Define basic terms and elements of system configuration XML, including scopes, website/store/store view
  • Create an option in system configuration and output its value in a form

Adminhtml

  • Fetch a variable from System config
  • Access Control Lists (ACL) permissions
  • Define/identify basic terms and elements of ACL
  • Use ACL to:
  • Set up a menu item
  • Create appropriate permissions for users
  • Check for permissions in permissions management tree structures
  • Enabling and configuring extensions
  • Define Magento extensions and describe the different types of extension available (Community, Core, Commercial)

Adminhtml

  • Describe how extensions are installed and configured
  • Describe how to decouple extensions from Magento
  • Describe how Magento extensions connect with and inherit functionality from the rest of the system, including Payment Methods, etc.

Catalog

  • Product Types
  • Identify/describe standard Product Types (simple, configurable, bundled, etc.)
  • Identify/use standard Magento tools for Product Types
  • Create custom Product Types from scratch or modify existing Product Types
  • Identify how custom Product Types interact with Indexing, SQL, underlying data structures.
  • Price Generation

Catalog

  • Identify basic concepts of price generation in Magento
  • Modify and adjust price generation for products, e.g. during integration of third party software
  • Categories Structure
  • Dynamically alter the category tree structure
  • Choose the best-practice approach to project implementations and upgrades
  • Describe the Category Hierarchy Tree Structure implementation (the internal structure inside the database), including: the meaning of parent_id 0, the construction of paths, and the attributes required to display a new category in the store
  • Catalog Rules

Catalog

  • Identify how to implement catalog Price rules
  • Troubleshoot catalog Price rule implementations
  • Other Skills
  • Choose optimal catalog structure (EAV vs. Flat) for given implementation
  • Troubleshoot, customize, and extend the Magento Catalog DB Structure
  • Implement, troubleshoot and modify Magento tax rules
  • Modify, extend and troubleshoot the Magento layered (aka “filter”) navigation
  • Troubleshoot and customize the Magento Indexes
  • Use custom product options to implement new features

Checkout

  • Quote, Quote Item, Address and Shopping cart rules in checkout:
  • Modify these models and effectively use them in customizations
  • Total models schema:
  • Add custom Total models or modify existing ones

Checkout

  • Shopping Cart:
  • Implement shopping cart rules
  • Troubleshoot shopping cart price rules
  • Extend shopping cart price rules
  • Shipping/payment methods in Magento
  • Implement shipping methods
  • Troubleshoot shipping methods
  • Troubleshoot payment methods

Checkout

  • Perform advanced modifications to the shipping rate calculation
  • Identify possibilities and limitations of the Magento multishipping implementation
  • Implement extensions of the Magento multishipping implementation
  • Payment Method Architecture: Implement new payment methods

Sales and Customer

Sales
  • Modify Order Processing and integrate it into ERP integrations
  • Integrate Magento sales architecture with other systems (SAP, NetSuite, etc.)
Customer:
  • Add to, delete, or customize Customer and Address attributes

Advanced features | Widgets

  • Create frontend Widgets

Advanced features | API

  • Use the Magento API to implement third party integrations
  • Extend the existing Magento API to allow for deeper integrations into third party products
  • Describe the different Web Service APIs available within the Magento Core
  • Describe the advantages and disadvantages of the available Web Service APIs in Magento
  • Identify the configuration files used for the v2 SOAP API
  • Describe the purpose of the configuration files related to the API

Advanced features | Other Skills

  • Integrate Google features (Google base, checkout, adword, analytics) into Magento implementation
  • Advanced Grid/Forms: Design, use, and implement new advanced grids and forms
  • Advanced system configuration: Implement interactive and highly customized system configuration interfaces

Zertifizierungen

  • Magento Certified Frontend Developer
  • Magento Certified Developer
  • Magento Certified Developer Plus

Magento Certified Developer Plus

  • The Plus form additionally includes 20 questions drawn from the following objectives and topics:
  • Customize, extend, and troubleshoot Enterprise Edition catalog target rules
  • Customize, extend, and troubleshoot the Enterprise Edition reward point system
  • Implement, customize, and troubleshoot Enterprise Edition website restrictions
  • Identify the elements and functioning of Enterprise Edition Full Page Cache

Magento Certified Developer Plus | Challenge questions on:

  • Advanced Grids/Form
  • Advanced System Configuration
  • EAV concepts
  • Form and grid widgets
  • Catalog product types
  • Total models schema
  • Magento indexes

Sonstiges

  • Feedback

Danke!