1 / 43

Ibiza June 4 th – 7 th 2011

Ibiza June 4 th – 7 th 2011. Magento Developers Paradise. Magento 2 Project Plans, Ideas and State. Dmitriy Soroka System Architect. Talk Structure. Release Date, Framework, Rewrite or Refactoring, JavaScript …. Ambiguity Around The Project. Technology Changes.

alika-tyler
Télécharger la présentation

Ibiza June 4 th – 7 th 2011

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ibiza June 4th – 7th2011

  2. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect

  3. Talk Structure

  4. Release Date, Framework, Rewrite or Refactoring, JavaScript … Ambiguity Around The Project

  5. Technology Changes

  6. Complete Rewrite or Refactoring?

  7. Release Date and Scope • Magento 2 will have almost all features of Magento 1.x • Release scheduled from the middle to the end of 2012

  8. Quality, Performance, Scalability, Security, Modularity, WEB API, RDBMS’s Project Goals

  9. Clear Process and Transparency • A clear roadmap • Publicly available development and collaboration tools • A public code repository

  10. Improved product quality • Automated testing • Unit, Integration, Functional, Performance etc. • Continuous integration • Stable upgrade

  11. Improved product performance and scalability • Optimization of page load time • Optimization of page generation time • Vertical and horizontal scalability • Automated performance tests

  12. Improved product security • Server side validation for all data input • Development process should prevent any vulnerability from OWASP top 10 vulnerabilities list

  13. Truly Modular Product • Loose coupling principles • Module enabling/disabling • Modularity on view level • Improved backend modularity

  14. Improved WEB API • SOAP • XML-RPC • JSON-RPC • REST

  15. Support of multiple RDBMS's • MySQL • Oracle • MSSQL • PostgreSQL

  16. Simplified Customization Process • Development of a new functionality • Customization of the existing functionality • Replacing and disabling of the existing functionality

  17. Improved Multiple Languages support • Data entry per language • Separation of frontend and backend translations

  18. Decreased Learning Curve • Code documentation • Documentation integrated with development process

  19. GUI Design Editor, Templates Editor, Upgrade Preview New Functionality

  20. GUI Design Editor • Managing page types • Managing page layouts • Positioning page blocks • Customizing the blocks look and feel

  21. Templates Editor

  22. Safe upgrade between versions • Upgrade in preview mode • Separate DB for upgrade preview • Dedicated code base • Upgrade confirmation step • Latest version backup option

  23. Models, EAV, Modularity, Themes fallbacks, View … Research & Development

  24. Models architecture • Encapsulation • Relations between objects

  25. Modularity app/code/<pool>/<space>/<module>/

  26. Modules coupling Component - group of modules with high code coupling. Conditional dependency outside of component will allow to use just particular components Catalog Sales Bundle Search Payment Report Rule Review Order Customer CMS Checkout Account Page Block Cart PriceRule Balance Segment Widget Shipping Tax

  27. View Architecture • Templates standardization • Themes modularity • Communication with models

  28. Themes Fallback

  29. Conflicts Between Modules • Multiple extends of one class • Unknown potential conflicts • Database schema modification

  30. And more • Routing • Controllers level • Caching • Translations • Product prices • HTML page semantic • …

  31. Magento 2 State

  32. Agile Software Development • Scrum • Acceptance criteria • Tests • Documentation • Code review

  33. Atlassian Software Development Tools

  34. Automated Testing • Unit testing • Integration testing • Functional testing • Performance testing

  35. Continuous Integration • Unit tests • Integration tests on • MySQL • Oracle • MSSQL • Code inspection

  36. Magento_Profiler • Tracking calls stack (tree) • Various output formats: • HTML • CSV • Firebug • Output filtering

  37. Themes Modularity • Module as last level of fallback • Module “view” folder • Skin files in module • Theme structure

  38. Changes in File System Structure Magento 1.x Magento 2 app dev tests tools lib pub error jslib media skins var app errors js lib media skin tests tools var

  39. Changes in Configuration • Class path declaration config/global/[models|resources|blocks|helpers] • Table names declaration config/models/[code]/ entities • <fieldset> node config/[area]/fieldsets – entity data migrations rules

  40. Autoload • Classes map (http://bit.ly/cYYFWX): • Absolute path to the file • No overhead of code pools • No needs in Mage_Compiler

  41. Performance Improvements (~20% already)

  42. Summary • Goals • Transparency, modularity, quality, performance, WEB API, documentation • Research • Models, EAV, components, view • State • Process, tools, tests, base theme modularity, performance

  43. Q&A dmitriy@magento.com

More Related