Magento 2 Developer Chat 10-31-12
LIVE CHAT WITH MAGENTO 2 DEVELOPMENT TEAM
10/31/12
Agenda
- Discussion Topic
- Introductions - Presentation - Q&A
- Giveaway
- 5 Magento Certified Developer Exam Vouchers
Discussion Topic
- Share key changes in Magento 2 Project
- Discuss technical changes and developer recommendations
- Magento 2 is still in Research & Development
- Magento 2 timeline and roadmap are still being determined
- Lessons learned being implemented to next generation Magento platform
- We welcome your participation and contributions to Magento 2’s GitHub repository
- http://www.github.com/magento/magento2
Presenter & Panelists
Anton Makarento - Sr. Software EngineerPanelistsAnton has been working on Magento projects for more than 4 years. As an experienced PHP- developer: he has worked in Magento 1.x Core; as technical project manager in professional services on Magento Enterprise and Magento 1.x Core; and as the lead of a Support team.Today Anton is active as a senior developer and as an architectural consultant in the Magento 2 Project.Doug McIver – Director of PMBaruch Toledano – Director of PM Sergey Shymko – Software Engineer Andrey Tserkus – Software Engineer Olga Kopylova – Software Engineer Piotr Kaminski – Sr. Product Manager Jimmy Wong – eBay Community Mgr. Mosses Akizian – PM / Evangelist
Magento 2 Project Overview
Backwards-incompatible changes up to date
1.x TO 2.x COMPARISON
Component Changes
Removed some payment methods and bundled community modules
Removed/ceased: Mage_Oscommerce Mage_XmlConnect, Mage_DataFlow, Mage_Compiler
Functional Changes
Theme configuration – simplified into one field
Enabling profiler – handled by bootstrap Customizing email templates – no more
relation to locale
Session lifetime != cookie lifetime (no more cookie lifetime)
File Structure: Modularity
Was in Magento 1.xBecame in Magento 2.xapp/design/<area>/base/default/...app/code/<pool>/<Module>/view/<are a>skin/<area>/base/default/...same as above (no distinction)js/...same as aboveapp/locale/en_US/template/email/*.ht mlapp/code/<pool>/<Module>/view/email /*.html
File Structure: Root Items
Was in Magento 1.x Became in Magento 2.xerrorspub/errorsincludesn/ajspub/jsmediapub/mediapkginfon/ashelldev/shellskinapp/design/<appropriate theme>index.php, cron.php, get.php...index.php, pub/index.php, pub/cron.php...Bootstrap logic scattered across entry pointsapp/bootstrap.php
Framework: Naming
AWas in Magento 1.x Became in Magento 2.xMage::getModel(‘catalog/product’)Mage::getModel(‘Mage_Catalog_Mod el_Product’)(real class names)getTableName(‘admin/role’)getTableName(‘admin_role’) (real table names)customer, checkoutMage_Customer, Mage_Checkout (fully qualified module names across the board)
Framework: Configuration
Eliminated excessive sections (up to 20% of all config.xml)
Moved out some sections to specialized files
Simplified rewrites mechanism
Added merging mechanism that allows XML-schema validation (implemented for new types of configuration)
Framework: Significant Other
Controller: formally separated routing of application areas
View:
– Unlimited theme fallback hierarchy
– Introduced container (structural element in layout in addition to blocks)
Infrastructure, Process
Variety of tests
Public Git repository Contributions from GitHub Public documentation
WORK IN PROGRESS
- Current Development
View Track
Eliminating skins (only themes remain), eliminating packages physically from file system
Managing design themes and packages as entities in database
Decoupling controllers from layout through universal “context” engine
Migrating to jQuery
Model
Dependency injection:
– Object managers (Zend\Di)
– On-going refactoring of legacy code to use dependency injection principle
Model service layer
Web API
Technologies:
– REST API
– SOAP with WSI compliance
“Auto discovery” of API resources, automatic generation of WSDL
Ongoing increase of coverage of Magento functionality
Improving performance for API routing and granular loading of WSDL for only requested resources
Web API versioning support
User Experience
Information Architecture of the menus Product creation flow
Taxes UX
Navigation, ACL
Backend usability and UI And other areas...
Areas of Investigation
Installation, Deployment
Migration tools to assist in data and code from 1.x to 2.x (certain limited set of versions)
Application/components/themes deployment (installation/upgrade) as separate tool
Zend Framework 2
Approach
Timing
Main components – DB access layer – Translations
– Cache engine
– Other minor components
Performance and Scalability
Many aspects of performance and scalability are under investigation.
Common operations and interfaces are carefully reviewed. Examples of areas included are:
– Optimizing database access – Re-indexing operation
– Code improvements
– Staging and many others
Modularity
Dismantle Adminhtml module
Group modules into components
View
Formalization of layout Theme management system,
new “Design” entity
Visual design editor (absorbs “widgets”, inline translation)
Coding Standard
Possibly PSR-X adoption
Simplified license/copyright notice in file headers
QUESTIONS?
Magento 2 Contributions Welcome
http://github.com/magento/magento2
THANK YOU