Welcome to the home page for Magento 2 preview documentation.
We publish these guides to let you preview our development as it proceeds. We continually add new documentation, so watch this space for frequent updates about Magento 2.
Update! Magento 2 Webinar focused on changes to layout architecture is re-scheduled for Wednesday, April 9, 9 a.m. – 10:30 a.m. Pacific Time. If you haven’t already registered, you can do so here: Webinar Registration.
Magento 2 Webinar Recording from 12/10/13. Includes programming concepts, testing infrastructure & extensive Q&A session.
- Magento 2 Development Updates. Overview of Magento 2 goals, key changes, and progress to date.
Overview of Magento 2.0
The Magento platform is a flexible open source ecommerce platform written in PHP. It enables merchants to set up and run online stores selling goods, electronic downloads, and services. The main differentiating characteristics of Magento include:
- The product is extremely configurable – you can build a completely different look and feel to your site to help your brand stand out.
- The source code base is open source, so you have access to all code in case you need to inspect or fix anything.
- Magento Enterprise Edition and Community Edition are supplied as software packages and are not SaaS solutions, which means that you own all your data. Note that there are partners who can host the software for you if you wish.
- Due to the flexibility and extensibility of the product, a large developer ecosystem has grown around the product.
Magento Community Edition (Magento CE) is freely available for download and usage free of charge. This gives site developers absolute control over how a web store is built. They can take Magento CE and use it as is, make minor adjustments to customize a store, or make major alterations to develop a completely customized experience for a merchant. Magento Enterprise Edition (Magento EE) is licensed (for a fee) software that is also covered by a support contract. It is an extended version of Magento CE that includes optimized performance and additional features .
This guide is for system integrators and extension developers.
These are the topics we're planning to include in the Magento 2 Developers' Guide. Completed topics are live links; all other topics are planned or in development.
- File system structure overview, autoloader
- Initialization: bootstrap algorithm and initialization parameters
- Request flow: entry point, front controller, routing, controller actions
- Configuration: primary configuration, other types of configuration overview
- Error handling
- Security features
- General Principles of Modularity and Compatibility
- Magento Module
- Magento Framework
- Magento Theme
- Language Packages
- Key components (classes) of view layer
- Layout XML: key concepts overview, merging of layout files
- Working with elements of layout: blocks, containers, references, manipulating elements, reusing handles
- Page: structure of a page, head elements, page types, design abstractions. Mapping of page types to controller actions and to layout handles
- Types of configuration, validation
- Merging. How configuration files are assembled from modules
- User (store) configuration, default values, scopes (website, store view)
- Configuration scopes
- Overview of other types of configuration
- Inversion of control (aka "extensibility points")
- Dependency injection. Interfaces, interface preferences, "virtual types"
- Dependency inversion, loose coupling. Managing dependencies, segregating layers (application, framework)
- Definition of API and SPI
- Service interface
- Versioning policy
- Magento backwards compatibility policy
- Most used OOP patterns: factory, proxy, decorator, observer, interceptor (plugin), strategy, composite
- Code generation, developer and production modes
- Data access layer / DB access layer / ORM (depends on whether we go for Doctrine ORM or not - currently unknown in Milestone 2)
- Database schema setup
- Data fixtures in modules
- Entities and other domain models
- Active record pattern (if Doctrine ORM is not adopted) / Data mapper pattern (if Doctrine is adopted)
- Resource models and collections (if Doctrine ORM is not adopted)
- Entity collections VS report collections
- Logic customization: interceptors, event observers
- Custom extension points
- Look and feel customization: layout, design themes
- Customization of text labels and phrases (currently not distinguished from translation)
- Translation, language packages. Inheritance of languages (currently broken)
- End-user customization: widgets, user (store) configuration
- Standard UI elements, admin elements
- Creating a custom theme
- Packages, Composer and Magento Connect
- Building your own extension / module, minimal module skeleton
- Add new product type
- Classification of tests
- General approach and conventions for automated testing
- Unit testing
- Integration testing
- Integrity and static testing
- Functional testing
- Performance and Load Testing
- DI definitions and code generation
- Coding standard formatter
- Migration toolkit for 1.x to 2.x
- View files materialization for production mode
- Catalog, inventory
- Shopping cart, payments, shipping
- Pricing, promotions, taxes
- Sales order system
- Content staging
Frontend Developers' Guide
Here are the topics we're planning to include in the Magento 2 Frontend Developers' Guide. Completed topics are live links; all other topics are planned or in development.
- Installing a New Theme
- Theme Components and File Locations
- Theme Configuration
- Theme Inheritance
- Theme Materialization
- Frontend Templates for Pages and Modules
- Email Templates
- Using CSS for Responsive Web Design
- Using JS for Responsive Web Design
- Using Predefined Blocks in Responsive Web Design
Comment Is Free
Questions or feedback about Magento 2 preview documents? Ask us anything by email.
You can also submit comments or questions to the Magento 2 developer teams at Magento 2 Github.
Recently Updated Documents