• Blog >
  • Magento 2.3

In May at Magento’s annual Imagine conference in Las Vegas the news was released about Magento 2.3 and the new features it will bring for merchants.

UPDATE: On the 28th November 2018 Magento 2.3 was officially released, meaning you can now begin to benefit from all of the features detailed in this blog post when you upgrade.

1. @benmarks

Photo by @benmarks

 


Interested in working in a challenging environment? Check out our vacancies for Magento developers. 

Careers at CTI Digital


 

Business Friendly Page Builder

The Magento business friendly page builder provides merchants with the capability of building engaging and dynamic CMS pages with responsive capabilities, without having to have any in-house coding capabilities.

Using a simple and intuitive drag and drop interface, merchants can combine together a series of components such as Tabs, Accordions, Headings, Images, Media and more.

2.@mgeoffray

Photo by @mgeoffray 

 

The Business Friendly Page builder will be released as a beta for Magento 2.3, while the full version will be included as a patch release for the 2.3.x versions.

The page builder will be included as part of the core for Magento Commerce and will be available as a paid extension via the marketplace for Magento Open Source.

 

Asynchronous Web APIs

Asynchronous Web APIs behave differently to traditional Web APIs. In the traditional model, a client makes a request to a Web Service and waits for the returned response.

For example: “Get me information about the product whose SKU is ABKSUSG” - the client then waits for the response before being able to process the data, i.e. to display the product data on screen.

The problem with the above model is that, as the payload sent to the API increases, the response time from the API increases due to the computational effort that is required to process the request.

For example: Let’s consider the scenario where a client’s ERP system needs to update the inventory across 1,000 products and is trying to push these changes to the Magento Inventory API. Due to the size of the payload, Magento may take a while to process the response and the client will be waiting a significant amount of time for a response.

downloadPhoto by @alexanderdamm

 

The Magento Asynchronous Web API provides users with the ability to make a request (including bulk requests) without waiting for a response from the server.

The client can subsequently poll a Status API periodically to return the result which makes batch processing using Web APIs a viable approach for businesses.

 

Cache Management ACL

In September 2017, the CTI Digital team open-sourced a Cache Permissions module which extended the Magento Access Control list, providing control over which users can both see and flush the Magento Cache.

We’re delighted to announce that this feature has now found its way into the core of the Magento 2.3 platform.

To read more about Cache Permissions you can read our blog article on the feature.

 

Declarative Schema

In order to create, update or delete tables in Magento, developers need to create a series of SQL scripts which are executed when module versions change. As of Magento 2.2.3, Magento has five different types of scripts:

  • InstallData & InstallSchema scripts, that are executed on a clean (empty) database.
  • UpgradeData & UpgradeSchema incremental scripts, that modify an existing database.
  • Recurring Scripts, that are executed each time you install or upgrade Magento.

Magento’s 2.3 release will provide support for Declarative Schema which allows developers to define in XML the structure of a database or the changes which should be made to it. Magento will then subsequently convert the XML schema files into SQL statements and execute them accordingly.

6. @JohnHughes1984

Photo by @JohnHughes1984

 

These new schema files will provide numerous advantages over traditional setup scripts, such as the ability to rollback database changes and perform dry-run and validation against the schema definition files.

Further information on Declarative Schema files can be found on the Magento Developer Documentation. 

 

GraphQL

GraphQL is a query language for APIs which allows for efficient transfer of data. A GraphQL query has a number of advantages over a traditional SOAP / REST request, as you define only the data which you require and also have the ability to join data in a single request.

REST

For example: let’s consider that we want to retrieve a product’s description by supplying the SKU of the product. In a traditional REST API request we would make a call to an endpoint, i.e. /V1/products/{sku}, and the response would return all of the attributes associated to the product. We would then filter through the returned response to pull out only the data we require, i.e. the product description.

Dbk3BL-VQAANCIF

Photo by @alexanderdamm

GraphQL

In a GraphQL request we define the information we want to be returned. This means that we do not need to process the returned data to get the data we need. For example:

{
   product(sku: “MJ01”) {
       description
   }
}

GraphQL provides a whole host of other benefits which lie outside the scope of this post. However, if you’re interested in finding out more, please see the post on GraphQL in the Magento Forums.

 

Google reCAPTCHA

The Magento 2.3 platform will take advantage of Google’s reCAPTCHA service, which is a free service designed to protect your website from spam and abuse.

The Google reCAPTCHA service uses an advanced risk analysis engine in order to detect any malicious or SPAM related activity and present a human verification challenge to the user.

The reCAPTCHA tool will help merchants to secure the following pages.

  • Login
  • Register
  • Contact form
  • Forgot password
  • Admin Login
download-1

Photo by @magenticians

The reCAPTCHA service which is being added to Magento 2.3 has been developed by @magespecialist team and merchants who are on earlier versions of Magento can access the module via the GitHub project.

 

Multi Stock Inventory

Multi Stock Inventory allows merchants to define multiple stock locations in the Magento Platform.

Using the MSI interface, merchants can define multiple stock locations and subsequently link channels, i.e. Websites, Marketplaces, International stores, to build their inventory from either one or multiple stock locations.

Screen Shot 2018-04-26 at 19.50.07 copyPhoto by @okorshenko

The Multi Stock Inventory project is a fantastic example of the work being developed by the Magento Community Engineering project.

You can see read about the MSI project online and join the weekly product development screencasts. Alternatively you can view the presentation from Magento Live UK.

 

Two Factor Authentication

Two Factor authentication provides an additional layer of security to your Magento store.

In Magento 2.3, store owners will be able to configure the admin panel to require two factor authentication.

The service will support the following authentication methods:

Depending on the authentication service chosen, when a user has completed a login request using their username and password they will be taken to a further stage which asks them to verify their login via SMS, Phone Call, Access Token or One Touch.

The Two Factor authentication service, which is being added to Magento 2.3, has been developed by @magespecialist team and merchants who are on earlier versions of Magento can access the module via the GitHub project.

 

PWA Studio

Progressive Web Apps is a term invented by Google, which defines websites or web applications that leverage modern web-technologies in order to behave like native mobile applications. One of our own developers went down to google in London recently to study the latest releases in Progressive Web Apps.

In order to meet the “Progressive Web App” requirements developers must adhere to a series of specified criteriawhich ensures the website is fast, reliable and engaging.

Screen Shot 2018-04-26 at 19.53.14 copy

Photo by @_chris_bauer

In order to support Progressive Web Applications, Magento will be releasing a PWA Studio as part of the Magento 2.3 release.

The PWA Studio will be a toolkit from which developers can build Progressive Web Apps on the Magento platform.

Magento have also committed to building a PWA theme which will follow in a later release.

You can read the official press release here

 

Message Queue

Prior to the release of Magento 2.3, Message Queue functionality had been reserved exclusively for Magento Commerce Edition. However, thanks to the contributions from @comwrap and
@balanceinternet, Message Queue support will be available in Magento 2.3.

What is a Message Queue?

A message queue provides an asynchronous communications protocol, whereby messages / tasks are published into a queue and the sender does not require an immediate response to continue processing.

Consider the scenario where we have several systems integrating to the Magento application, all of which require intensive processing i.e. inventory import, order status updated from ERP systems etc.

A message queue is designed to ease strain on the application by providing a system of queuing up tasks which need to be completed. A series of consumers are then responsible for picking tasks out of the queue and ensuring they get processed.

 

Other Notable Highlights

  • Support for PHP 7.2 will be added.
  • Libsodium will be used for password hashing in replace of mcrypt.
  • Tiny MCE will be updated to version 4.
  • Elastic Search will be added to Magento Open Source.
  • Support for Elastic Search 5 will be added.
  • The Magento Import / Export process will be overhauled.

 

How can I Upgrade?

Whilst bringing a slew of new features, the Magento 2.3 release will bring breaking changes to the Magento 2 platform. It’s recommended that you consult with a qualified and experienced Magento development team, in order to review the architectural changes, system requirements and upgrade path.

Speak to an expert

● ● ●