Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.

Similar presentations


Presentation on theme: "Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect."— Presentation transcript:

1 Ibiza June 4 th – 7 th 2011

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

3 Talk Structure Dates, Scope Ambiguity Main directions Goals What will be added New Functionality Research results R&D Where we are State

4 AMBIGUITY AROUND THE PROJECT Release Date, Framework, Rewrite or Refactoring, JavaScript …

5 Technology Changes PHP 5.3 ZF 1.x PHP MySQL Oracle MSSQL RDBMS JQuery JavaScript

6 Complete Rewrite or Refactoring? Rewrite Better architecture Latest technologiesExperience Refactoring Process improvements Improvements of existing functionalityDeveloping new features

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 PROJECT GOALS Quality, Performance, Scalability, Security, Modularity, WEB API, RDBMSs

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 NEW FUNCTIONALITY GUI Design Editor, Templates Editor, Upgrade Preview

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

21 Templates Editor one_template.phtml abc.html footer.phtml header.phtml

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 RESEARCH & DEVELOPMENT Models, EAV, Modularity, Themes fallbacks, View …

24 Models architecture Encapsulation Relations between objects

25 Modularity Module PartLocation Definition fileapp/etc/modules/.xml Classes, configurationapp/code/ / / /* Translationsapp/locale/ /.csv Templates and layoutsapp/design/ / / /* Skinsskin/ / / /* app/code/ / / /

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

27 View Architecture Templates standardization Themes modularity Communication with models

28 Themes Fallback My Store Theme Summer Theme Independence Day Customization for the theme Special DayWinter Theme New Year Theme One more theme

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 Scrum Acceptance criteria –Tests –Documentation –Code review Agile Software Development

33 Atlassian Software Development Tools JIRA issues tracker Confluence documentation Crucible code review Fisheye repository browser Bamboo continuous integration

34 Unit testing Integration testing Functional testing Performance testing Automated Testing

35 Unit tests Integration tests on –MySQL –Oracle –MSSQL Code inspection Continuous Integration

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

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

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

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

40 Autoload Classes map (http://bit.ly/cYYFWX):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


Download ppt "Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect."

Similar presentations


Ads by Google