Download presentation
Presentation is loading. Please wait.
Published byLeslie Allen Modified over 11 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.