what’s in magento 2.3? - imagine.magento.com€™s in magento... · terminology term definition...
TRANSCRIPT
What’s in Magento 2.3? Olga Kopylova | Lead architect | Magento
Terminology
Term Definition
Magento Open Source Formerly Community Edition (CE)
Magento Commerce Formerly Enterprise Edition (EE)
Core Bundled Extension (CBE) Extension:
- By 3rd-party vendor
- Bundled with Magento product
Magento 2.3 Releases
2.3.0 2.3.1 2.3.2 2.3.3
patch releases
• New core features
• Bug fixes
• Possible breaking changes
• Additional features
• Bug fixes
• No breaking changes
Backward Incompatible Changes in 2.3
http://devdocs.magento.com/guides/v2.3/release-notes/backward-incompatible-changes/index.html
Features and
Improvements in 2.3
Progressive Web Apps (PWA)
PWA
• Progressive Web Apps
(PWA) are reliable, fast, and
engaging
• Offline support and push
notifications
• Increase in conversion rates
• PWA Studio built by Magento
https://developers.google.com/web/fundamentals/
Magento 2.3.x
PWA sessions:
• Monday: 9:30-10:15
• Wednesday: 9:30-10:15
GraphQL
GraphQL for Fast PWA
• GraphQL is a query API language
• Optimized queries for faster frontend
• Independent backend and frontend
development
• GraphQL endpoint added, in addition to
REST and SOAP
– Focused on storefront scenarios
http://devdocs.magento.com/
guides/v2.3/graphql/
Magento 2.3.0
GraphQL Schema Magento 2.3.0
GraphQL – request list of products
GraphQL: Future Plans
• Mutations to support checkout, payments
• Storefront GraphQL API for checkout, orders, my account
• Improvements in GraphQL framework
Community project - https://github.com/magento/graphql-ce/wiki
Magento 2.3.x and 2.4
Extensions with GraphQL Support
Separate GraphQl module
GraphQl schema file
BundleGraphQl/etc/schema.graphqls
…
…
Declarative DB Schema
Old Schema Setup Script• Imperative
• Large
• Growing complexity
Declarative Schema Magento 2.3.0
Magento/Store/etc/db_schema.xml
Declarative Schema
• Declare desired state
• Easy to understand how the final schema looks like
• Idempotent
• Rollback support
Magento 2.3.0
Upgrade Patches
• Patches are classes in
Setup/Patch folder
• Data patches for data
upgrades
• Schema patches for
complex schema upgrades
Magento 2.3.0
Data Upgrade Patch
• Implement a patch
interface
• Declare necessary
methods
• The patch will be
executed once and
recorded
Setup Scripts Backward Compatibility
• Magento Framework supports both old and new approaches
• Migration of old scripts using install/upgrade scripts with
“--convert-old-scripts” option
http://devdocs.magento.com/guides/v2.3/
extension-dev-guide/declarative-schema/
Magento 2.3.0
Asynchronous and
Bulk Web APICommunity Contributions
Asynchronous Web API
• Asynchronous Web API allows to
execute Web API calls
asynchronously
• Separate Status Reporting API is
offered to check on the progress of
requests by ID
Contributors:
• Alex Lyzun (Comwrap)
• Alex Vasiliev (Comwrap)
• Carey Sizer (Balance Internet)
Magento 2.3.0
POST /async/V1/products
PUT /async/V1/products
DELETE /async/V1/products
Async requests:
Asynchronous Bulk API
• Processing multiple entities in a single
request
• Asynchronous bulk API
• Both async APIs based on message
queue
Contributors:
• Alex Lyzun (Comwrap)
• Alex Vasiliev (Comwrap)
• Carey Sizer (Balance Internet)
Magento 2.3.0
POST /async/bulk/V1/products
PUT /async/bulk/V1/products
DELETE /async/bulk/V1/products
Async bulk requests:
Message Queue Moved to Open Source
• Simplifies implementation of
modules by avoiding
– custom queue solutions for Open
Source modules
– different solutions for Open Source
and Commerce modules
• Async Web API is available in
Open Source
Contributor:
• Alisson Oldoni (Netstarter)
Elasticsearch UpdatesCommunity Contributions
Elasticsearch Updates
• Moved to Magento Open Source
• May become a default search
engine in the future
• ES 5 support added
Contributors:• Aurélien Foucret
Magento 2.3.0
PHP 7.2 SupportCommunity Contributions
PHP 7.2 Support Magento 2.3.0
• To stay on top of supported technologies
• Ability to use latest language features
• More secure libsodium instead of mcrypt
Initial PHP 7.2 Support
• Breaking changes
– Libraries upgrade
– Any necessary changes in public API
– ZF1 cleanup – 15+ libraries removed
• Critical scenarios on PHP 7.2
• mcrypt_compat library for mcrypt
support on PHP 7.2
Magento 2.3.0
Contributors:• Roma Slobodeniuk
• Patrick McLain
• Paweł Cieślik
• Max Bucknell
• Diego Cabrejas
• John Knowles
• Reka Szekely
• Pablo Benitez (Ebizmarts)
• Marcel Hauri
Complete PHP 7.2 Support
• Complete PHP 7.2 support in 2.3.x patch releases
• Address issues reported after 2.3.0 release, if any
• Migrate from mcrypt to libsodium
Magento 2.3.x
https://github.com/magento-engcom/php-7.2-support/wiki
Package Versioning
in Git Repositories
Package Versioning
• Package versions are removed from composer.json in Git
• Versions are generated during release publication
Magento 2.3.0
Multi Source Inventory (MSI)Community Contributions
Multi Source Inventory (MSI) Magento 2.3.0
• Multiple locations for products
• Locations called sources in Magento
MSI: Reservations
Keep inventory amount (product quantity) up-to-date without
locking.
France Warehouse
SKU-1: 5qtyEU Stock
SKU-1: 15qtyItaly Warehouse
SKU-1: 10qty
Raw data Index Reservations
SKU-1: -5
Salable Qty: 10qty (data from index 15, apply all reservations -5)
Data is NOT changed Reservation has been
added
5 items ordered
MSI as an Exemplar Community Project
https://github.com/magento-engcom/msi/wiki
66 Individual
Contributors
Agencies
Represented
interjar
16
WYSIWYG Upgrade
WYSIWYG Upgrade
• TinyMCE is upgraded from version 3 to version 4
• Fully customizable and replaceable WYSIWYG
– Widgets, variables and media gallery implemented as plugins
– Plugins can be defined globally or on per instance level
• TinyMCE 3 is deprecated and planned for removal in Magento
2.4
– TinyMCE version can be selected in Admin Panel
– Old version of TinyMCE is delivered as “Magento_Tinymce3”
module
Magento 2.3.0
Page Builder
Page Builder
Admin View
Storefront View
Magento Commerce or paid extension in 2.3.x
Page Builder Components
• PageBuilder provides basic
components
• Component declared in XML file
column.xml
Page Builder Technologies
• KnockoutJS
• TypeScript
• Magento UI components
Page Builder Release Schedule
Magento 2.3.0 Magento 2.3.x
Page Builder EAP Page Builder Beta Page Builder GA
• Not listed on Marketplace
• Installed via Composer
• Bundled with Magento Commerce
• Available at Marketplace
• Selected partners• Commerce merchants
• Partners
Page Builder session:
Tuesday, 3:45-4:30 by Olena Tkacheva
Import/Export ImprovementsCommunity Contributions
Import/Export Improvements
Contributors:• Federico Rivollier
• Adam Paterson
• Umar Chaudhry
• Pieter Cappelle
• Andra Lungu
• Marcin Szterling
Magento 2.3.0
https://github.com/magento-
engcom/import-export-improvements/wiki
Cache Management ACLCommunity Contributions
Cache Management ACL
Contributor:• Bartosz Herba (CTI Digital)
Magento 2.3.0
Instant PurchaseCommunity Contributions
Instant Purchase
Contributors:• Joshua Warren (Creatuity)
• Daniel Korzeniowski (Creatuity)
• Michal Pietrzyk (Creatuity)
• Jan Polak (Creatuity)
Magento 2.3.0, 2.2.2
PR was created the next day after
the Amazon patent expired
Google reCAPTCHACommunity Contributions
Google reCAPTCHA Magento 2.3.0
Contributor:• Riccardo Tempesta
Two Factor AuthenticationCommunity Contributions
Two Factor Authentication
Contributors:• Riccardo Tempesta
Magento 2.3.0
Q & A@buskamuza on Twitter
[email protected] for emails and Slack