April 2018, at the Imagine 2018 conference in Las Vegas, Magento announced that the new 2.3 version is to be released at the end of this year. The range of features varies from minor enhancements, like a more convenient export/import, to major updates, like CMS page builder or PWA studio. In anticipation of the new functionality, today, we will try to slice and dice all the scattered ideas that you have probably gathered around the web.
Read till the end to get some new info firsthand.
- Magento 2.3 new functionality and improvements
- Features for higher security
- Improvements for better performance
- Brand-new functionality
- Other valuable functionality
- Amasty to contribute to Magento 2.3
Magento 2.3 new functionality and improvements
Features for higher security
Magento keeps improving security and this time provides tools for control over caching and user verification.
Two-Factor Authentication for the Admin panel will include three methods:
- Google Authenticator,
- Duo Security,
- and Authy.
The second authentication stage can be configured to ask users to verify their login by means of SMS, Phone Call, Access Token, or One Touch.
One more security enhancement is the introduction of the Google reCAPTCHA service with its inbuilt mechanism for detecting malicious and SPAM-related activity. The reCAPTCHA tool will help merchants keep key pages secure from bots:
- Admin and User Login Pages;
- Registration Page;
- Contact Form;
- Forgot Password Page.
Cache Management ACL
Magento 2.3 will also take on board a more advanced cache permissions module, which will let admins define the users that can both view and manage ‘Cache Types’. Magento has several cache types as ill-timed cache flush can damage the web store performance. Still, as the number of users grows a cache flushing policy is not enough to protect the web store from unintentional insider threats. Cache management now gets a more accurate approach and that is access restrictions.
So as not to wait for the Magento 2.3 release date you can access security functionality with Google Invisible reCAPTCHA for Magento 2 and 1. The module is designed with user convenience in mind so reCaptcha test appears only in cases of suspicious requests.
Improvements for better performance
Five enhancements below will improve a Magento web store stability and efficiency, as well as speed up data processing.
#1. PHP 7.2 support and libsodium
Magento 2.3 drops the support for PHP 7.0 and turns to PHP 7.2. This change will bring many advantages, such as higher security, better performance, and the access to the latest PHP features for developers (nullable types, class constant visibility, and others). With no mcrypt in PHP 7.2, the libsodium module will now be used for encryption.
The end of support of PHP 7.0 complicates the process of upgrading from Magento 2.1 to Magento 2.3. Magento 2.1 does not support PHP 7.1 so merchants will need to switch the PHP version in the middle of the upgrade. Read more about this on Magento DevBlog.
#2. Asynchronous API
Magento 2.3 also will bring to the table Asynchronous API (RabbitMQ), which will allow making requests without waiting for the response from the server. To check the progress of requests by ID, users will have a separate status reporting API at their disposal. If necessary, Magento will be able to include several entities in API requests and perform them in a queue, which will make memory usage more efficient.
This feature is mainly to the advantage of big websites that integrate with third-party systems, such as ERP or CRM. With no Asynchronous API in place, bulk operations took quite a lot of time. The Magento system could be overloaded, several requests could fail and require repeat actions. Now, such things as customer, order, or inventory data import will no longer be a problem.
#magento Asynchronous API was finally merged!!! You will see it in Magento 2.3 🙂 Thanks a lot to @vrann for a great support, I'm really enjoying work together with Magento team. #contribution #magento2 #AsynchronousApi
— Lyzun Oleksandr (@nuzil) March 30, 2018
#3. Message Queue
One more feature for asynchronous communication between Magento and third-party systems, Message queue will be extended from Magento Commerce to the Magento 2.3 version. This innovation is based on RabbitMQ and allows reducing loads on web servers with help of a message broker. This way Magento will be able to communicate with third-party systems, like ERP or CRM, more intensively and respond to requests faster.
For more information about RabbitMQ, consult Magento documentation.
GraphQL is a data query language for using APIs, an alternative to REST and SOAP. GraphQL allows retrieving exactly the needed data from the server (without processing a bigger amount of returned data) and chaining requests. Such ability will minimize API requests, speed up frontend, and allow independent backend and frontend development – which is crucial for Magento PWA performance. The latest release will bring such functionality of the GraphQL API as:
- mutations to support checkout, payments;
- storefront GraphQL API for checkout, orders, my account;
- improvements in the GraphQL framework.
Read more about GraphQL here.
#5. Declarative Database Schema
The support for Declarative Schema will enable developers to define in XML the structure of a database and the ways it should change. Magento in its turn will convert the XML schema files into SQL statements and will execute them. Such innovation allows for the rollback of database changes, as well as tests and validations against the schema definition files.
Magento documentation describes the work of this enhancement in detail.
The Magento 2.3 version will bring several powerful tools to simplify web store development, those are PWA Studio and Page builder.
Progressive Web Apps are gaining momentum as they are quick, adaptable, and reliable. Thanks to data caching and a more flexible connection between the backend and the frontend, PWAs offer multiple benefits, such as offline operation and accessibility via any device that has a browser. In fact, they are as good as native apps, except they have limited access to the device capabilities.
Magento 2.3. will include a PWA Studio, a new kit for building online stores with app-like experiences.
To get more information, read official Magento notes here.
In brief, the PWA studio will give developers aсcess to more intuitive tools and the community of specialists, which will simplify building powerful apps. For customers, this will mean a more engaging experience on any device with no time spent on an app installation.
For more information about the advantages of Magento PWAs, read our themed post.
Magento 2.3 included a robust Page Builder, formerly Blue Foot CMS, into the upcoming 2.3 version. The new tool will let non-technical users design and customize dynamic CMS pages with responsive capabilities. Page Builder will simplify tweaking the layout of any Magento page, from product descriptions to blog articles. To name a few of its characteristics:
- drag-and-drop layout management;
- ready components and content blocks (tabs, accordions, headings, media, etc.);
- template-based page designing;
- product promotional sections on any page;
- integration with static blocks and third-party content (like YouTube and Vimeo videos).
This video provides more details and shows how the Page Builder works.
Other valuable functionality
Finally, the new version will include two must-haves that were often provided by paid extensions; now, Magento users will enjoy them out-of-the-box.
Just like Message Queue, ElasticSearch v5. will soon be extended to Magento Open Source as a default search engine. Out-of-the-box access to a powerful search experience and attribute filtering will call into question the need for any related extensions. Only the modules that offer extra capabilities, like this Elastic Search, will still be able to bring value to users.
#2. Multi-Source Inventory
MSI will let merchants link multiple inventory sources (stock locations) to one or several Magento websites.
Magento 2.3 introduced 3 new components:
- A Source represents a place where products are physically located (e.g. Warehouse 1)
- A stock groups multiple sources and is linked to a channel (e.g. stock for Europe)
- A channel is your website (e.g. your US website, Europe website)
So, all sales via one website are deducted from the sources that are part of a relevant stock.
A global approach to managing inventory and distribution channels will allow merchants to deliver seamless customer experience across devices, channels, and locations. Before, this was possible only with the help of paid add-ons and with core limitations as there was no separation of ‘stock’ and ‘salable quantity. Now MSI will be available after upgrading and will also allow managing backorders or pre-orders from several sources.
MSI will match products to the Inventory Sources in an optimal way by applying one of the strategies, such as First by priority, Cheapest, or Warehouse utilization. On checkout, Shipping Methods will be offered with respect to the chosen sources.
For further reading on the Magento 2.3 MSI check this article.
Though default MSI capabilities include the functionality that previously merchants had to purchase, there is still room for enhancement. We will return to this in detail below.
Amasty to contribute to Magento 2.3
As an active community member, the Amasty team brings their expertise to the new Magento 2.3 version. In particular, we take part in the development of Multi-Source Inventory to help every platform user benefit from this crucial functionality for free.
Also, we are designing an enhancement module – Advanced MSI for Magento 2 (2.3). With still a lot of work ahead, let’s slightly lift the veil from the add-on features.
Advanced MSI will provide a bunch of smart Source selection algorithms. These algorithms use all available info to calculate from which sources an order can be delivered in the most efficient way. For example, the module will complement Magento 2.3 with such selection strategies as:
- Product Stock Availability that will simplify the distribution of the shipping value among stocks. Magento will check product availability in different sources (stocks), sort them by products quantity, and then suggest one source that fits the search parametres. So, if it is possible, the extension will find one optimal stock to ship all ordered items.
- Nearest that will identify the closest source (stock) to the customer using the Google Map API.
- Aggregative, which will unite and orchestrate the performance of all enabled algorithms. For example, we apply the Product Stock Availability algorithm to identify the sources, each of which has all ordered items. As a result, we get several optimal options to choose from. At the second step, we enable the Nearest algorithm to pick one best option both economically and geographically. At the third step, we acknowledge the priority of stocks. The Aggregative algorithm allows enabling all three algorithms above and perform them one-by-one to achieve better results. So, in our example, the extension will suggest the stock which can be used to ship all items at once, which is the closest one to the customer, and which has the highest priority value.
Advanced MSI for Magento 2 will also include more features that we will keep in secret for now.
The Magento 2.3 release will bring both full-fledged functional modules and system enhancements aimed at better performance and data protection. Such out-of-the-box availability of popular features, like ElasticSearch or MSI, will let retailers save on basic modules, which is definitely a great plus. The introduction of PWA and Page Builder one more time proves that Magento keeps up with market trends and gets better with every new release. And we are so happy to take part in this new step of the Magento evolution and contribute to MSI.
Stay tuned for updates and have a productive weekend!
Special thanks to Leonid Tomashevsky and Alexander Piskunov for the expertise that helped us bring this post to life.