Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State...
-
Upload
leslie-allen -
Category
Documents
-
view
213 -
download
0
Transcript of Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State...
![Page 1: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/1.jpg)
Ibiza June 4th – 7th 2011
![Page 2: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/2.jpg)
Magento Developers Paradise
Magento 2 Project Plans, Ideas and State
Dmitriy SorokaSystem Architect
![Page 3: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/3.jpg)
Talk Structure
• Dates, ScopeAmbiguity
• Main directionsGoals
• What will be addedNew Functionality
• Research resultsR&D
• Where we areState
![Page 4: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/4.jpg)
AMBIGUITY AROUND THE PROJECTRelease Date, Framework, Rewrite or Refactoring, JavaScript …
![Page 5: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/5.jpg)
Technology Changes
•PHP 5.3
•ZF 1.x
PHP•MySQL•Oracle•MSSQL
RDBMS
•JQueryJavaScript
![Page 6: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/6.jpg)
Complete Rewrite or Refactoring?
RewriteBetter architecture
Latest technologies
Experience
RefactoringProcess improvements
Improvements of existing functionality
Developing new features
![Page 7: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/7.jpg)
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
![Page 8: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/8.jpg)
PROJECT GOALSQuality, Performance, Scalability, Security, Modularity, WEB API, RDBMS’s
![Page 9: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/9.jpg)
Clear Process and Transparency
• A clear roadmap• Publicly available development
and collaboration tools• A public code repository
![Page 10: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/10.jpg)
Improved product quality
• Automated testing– Unit, Integration, Functional, Performance etc.
• Continuous integration• Stable upgrade
![Page 11: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/11.jpg)
Improved product performance and scalability
• Optimization of page load time• Optimization of page
generation time• Vertical and horizontal
scalability • Automated performance
tests
![Page 12: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/12.jpg)
Improved product security
• Server side validation for all data input• Development process should prevent
any vulnerability from OWASP top 10 vulnerabilities list
![Page 13: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/13.jpg)
Truly Modular Product
• Loose coupling principles• Module enabling/disabling• Modularity on view level• Improved backend modularity
![Page 14: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/14.jpg)
Improved WEB API
• SOAP• XML-RPC• JSON-RPC• REST
![Page 15: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/15.jpg)
Support of multiple RDBMS's
• MySQL• Oracle• MSSQL• PostgreSQL
![Page 16: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/16.jpg)
Simplified Customization Process
• Development of a new functionality• Customization of the existing functionality• Replacing and disabling
of the existing functionality
![Page 17: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/17.jpg)
Improved Multiple Languages support
• Data entry per language• Separation of frontend and backend
translations
![Page 18: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/18.jpg)
Decreased Learning Curve
• Code documentation• Documentation integrated with
development process
![Page 19: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/19.jpg)
NEW FUNCTIONALITYGUI Design Editor, Templates Editor, Upgrade Preview
![Page 20: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/20.jpg)
• Managing page types• Managing page
layouts• Positioning page
blocks• Customizing the
blocks look and feel
GUI Design Editor
![Page 21: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/21.jpg)
Templates Editor
one_template.phtml
abc.html
footer.phtml
header.phtml
![Page 22: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/22.jpg)
Safe upgrade between versions
• Upgrade in preview mode– Separate DB for upgrade preview– Dedicated code base
• Upgrade confirmation step• Latest version backup option
![Page 23: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/23.jpg)
RESEARCH & DEVELOPMENTModels, EAV, Modularity, Themes fallbacks, View …
![Page 24: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/24.jpg)
Models architecture
• Encapsulation• Relations between objects
![Page 25: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/25.jpg)
Modularity
Module Part Location
Definition file app/etc/modules/<module>.xml
Classes, configuration app/code/<pool>/<space>/<module>/*
Translations app/locale/<code>/<module>.csv
Templates and layouts app/design/<area>/<interface>/<theme>/*
Skins skin/<area>/<interface>/<theme>/*
app/code/<pool>/<space>/<module>/
![Page 26: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/26.jpg)
Component - group of modules with high code coupling.
Conditional dependency outside of component will allow to use just particular components
Modules coupling
Catalog
BundleRule
SearchReview
CMS
PageWidget
Block
Customer
AccountSegment
Balance
Sales
PaymentOrder
Report
Checkout
CartShipping
PriceRuleTax
![Page 27: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/27.jpg)
View Architecture
• Templates standardization• Themes modularity• Communication with models
![Page 28: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/28.jpg)
Themes Fallback
My Store Theme
Summer Theme
Independence Day
Customization for the theme
Special Day
Winter Theme New Year Theme
One more theme
![Page 29: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/29.jpg)
Conflicts Between Modules
• Multiple extends of one class• Unknown potential conflicts• Database schema modification
![Page 30: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/30.jpg)
And more
• Routing• Controllers level• Caching• Translations• Product prices• HTML page semantic• …
![Page 31: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/31.jpg)
MAGENTO 2 STATE
![Page 32: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/32.jpg)
• Scrum• Acceptance criteria
– Tests– Documentation– Code review
Agile Software Development
![Page 33: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/33.jpg)
Atlassian Software Development Tools
JIRA issues tracker
Confluence documentation
Crucible code review
Fisheye repository browser
Bamboo continuous integration
![Page 34: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/34.jpg)
• Unit testing• Integration testing• Functional testing• Performance testing
Automated Testing
![Page 35: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/35.jpg)
• Unit tests• Integration tests on
– MySQL– Oracle – MSSQL
• Code inspection
Continuous Integration
![Page 36: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/36.jpg)
• Tracking calls stack (tree)
• Various output formats:– HTML– CSV– Firebug
• Output filtering
Magento_Profiler
![Page 37: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/37.jpg)
• Module as last level of fallback
• Module “view” folder• Skin files in module• Theme structure
Themes Modularity
![Page 38: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/38.jpg)
Magento 1.x
app
errors
js
lib
media
skin
tests
tools
var
Magento 2app
dev
tests
tools
lib
pub
error
jslib
media
skins
var
Changes in File System Structure
![Page 39: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/39.jpg)
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
![Page 40: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/40.jpg)
Autoload
• Classes map (http://bit.ly/cYYFWX): – Absolute path to the file– No overhead of code pools– No needs in Mage_Compiler
![Page 41: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/41.jpg)
Performance Improvements (~20% already)
1 rps 10 rps 30 rps
Magento 1Magento 2
![Page 42: Ibiza June 4 th – 7 th 2011. Magento Developers Paradise Magento 2 Project Plans, Ideas and State Dmitriy Soroka System Architect.](https://reader036.fdocuments.net/reader036/viewer/2022070305/5513de8255034674748b5318/html5/thumbnails/42.jpg)
Summary
• Goals– Transparency, modularity, quality, performance, WEB
API, documentation
• Research– Models, EAV, components, view
• State– Process, tools, tests, base theme modularity,
performance