8 Mar 2019 by Marcin Gębala
February Release: Model translations and improved checkout flows
A model translations API, three new Dashboard 2.0 sections and great tweaks — welcome to the February 2019 release of Saleor!
- We've added or improved a number of dashboard sections this month, with new features for shipping, pages, and discounts
- Draftail editor now allows you to do rich-text editing directly in the dashboard, for better-looking pages
- Support for model translations is a significant new feature in the GraphQL API
- The PWA Storefront is gathering pace with more new features, including improved checkout flows
Sale details view in Dashboard 2.0
Vouchers are discount codes that you can give to your customers to offer lower product or shipping prices. They can be configured in a similar manner to sales, but they also allow you to specify usage limits.
Creating a voucher for free shipping in Dashboard 2.0
Shipping Methods management is also new and can be accessed via Configure > Shipping Methods in Dashboard 2.0. You can configure the countries you deliver to by creating shipping zones. For each shipping zone, you can define particular price- and weight-based shipping methods.
Details of a shipping zone in Dashboard 2.0
Saleor allows you to create simple static pages for your online store, which can be used for messaging like terms and conditions. This functionality has now been migrated to Dashboard 2.0. To use it, go to Configure > Pages.
Editing a page in Dashboard 2.0
While working on the “Pages” section, we added rich-text editing capabilities in Dashboard 2.0 by integrating Draftail editor. We chose Draftail because it works well with React and is built and maintained by the team behind Wagtail — one of the most popular CMS platforms written in Python/Django. As opposed to MediumEditor in Dashboard 1.0, Draftail outputs content in JSON instead of HTML. For that reason, we had to extend some of the models with additional JSON fields. Draftail is now available to use as an editor for the descriptions of products, collections and categories, as well as content on static pages.
Draftail editor in Saleor
Note: Rendering JSON content isn’t supported in both storefronts yet and will be added in future releases. We recommend sticking to Dashboard 1.0 and the previous MediumEditor for rich-text editing for now.
One of the most significant changes in the GraphQL API is support for model translations. Within each model that supports translations, we’ve added a translations field which returns translated content for a given language code. There is also a single top-level query translations that returns all translatable items of a given type. Lastly, for each model, there are mutations to provide new translations. The example below shows how to add a translation for a product and then query it:
Example mutation to add translation and a query to fetch it
These were the highlights of this release. As always, for the full changelog go to the release page on Github.
With the release of Saleor 2.4.0, we’re also bringing an update to our PWA Storefront. In the last month, we were mainly focused on improvements in the checkout flow. We’ve added the ability to dynamically switch between multiple payment methods, an order confirmation page, and an order details page that customers see after successfully completing checkout.
New order confirmation page in PWA Storefront
Make sure to check out the full release on Github!
We’re not slowing down. In the next release we’re planning to deliver a completely new feature: UI for model translations! This new section in Dashboard 2.0 will allow you to translate your models to different languages. This will be available for core Saleor models such as products, categories, collections, attributes, pages and a few more. Here is the preview, which we are pretty excited about:
Incoming model translations UI (old theme)
Another important change that we’re planning to introduce soon is a migration to Black as the default Python code formatter. Black has recently gained a lot of popularity and we hope its zero-configuration approach will help improve the readability of Saleor’s code and maintain formatting in pull requests from the community.
We’re really excited about hitting 4k stars on Github! 🤩 Also, the number of contributors jumped to 100. A big thank you 🙏 to all contributors, stargazers, and other supporters of Saleor!
For those of you who are interested in contributing to the project, we prepared a bunch of issues labeled as help wanted. Don’t worry if you don’t fully understand the problem — our team will try to guide you and answer all your questions. Remember to check our channels on Gitter and Spectrum; they serve best if you have quick questions that don’t require opening an issue on GitHub.