Aimeos 2022.07 release

The second stable release in 2022 contains new features and some changes/improvements for developers to keep an eye on. This version focuses on improvements for editors and on minimizing code developers have to write when creating new features in Aimeos. The most important changes are:

  • Bulk editing in admin backend
  • Customizable theme colors in backend
  • Uses Bootstrap icons instead of Fontawesome
  • No more need for factories
  • Scales images in media manager
  • More fractional quantity support
  • Improved debugging

Bulk editing

One of the features that can simplify life of editors a lot is editing the values of several items at once. The Aimeos admin interface it’s now possible to do exactly that, not only for single values like the status, but also for multiple values in parallel with one bulk edit request.

For all panels, at least the basic item values can be changed as long as they must be not unique. You can add your own bulk edit options by extending the list template of the panel and add the additional code to subparts or decorators if required.

Customizable theme colors

Aimeos uses CSS variables to define colors and several other important values which are used at several places in the CSS files. This allows you to overwrite these values in your custom CSS file to adapt the frontend design to your needs or to the corporate identity.

In Aimeos 2022.07, you can change those variables not only globally but also per site and theme if you have several themes installed. Thus, each customer/company can select the theme and the appropriate colors themselves for their needs which makes Aimeos a perfect fit for building ecommerce SaaS solutions.

New Bootstrap icons

Up to now, Aimeos have used Fontawesome for all icons in frontend and backend. As new icons in Fontawesome are most often available only in their proprietary icon packages, there was time for choosing a new icon set. In the shop frontend, Fontawesome icons have been replaced in the 2022.04 release and now they are also gone in the admin backend.

Instead, Aimeos is using the Bootstrap icons now, giving the backend a cleaner, more lightweight look and feel that supports the colored theme available since 2021.

Removed factories

Each manager, controller and client required its own factory for creating a new object of that type. This lead to a lot of boilerplate code because the factories had mainly the same code and were just different in the used configuration options and the names of the classes. Beginning with the 2022.07 release, implementing a manager or controller for a new data domain or job as well as clients for the frontend or backend doesn’t require a supporting factory any more.

All objects are now created by the central factories only that have been available for a long time:

$manager = \Aimeos\MShop::create( $context, 'product' );
$cntl = \Aimeos\Controller\Frontend::create( $context, 'catalog' );
$cntl = \Aimeos\Controller\Jobs::create( $context, $aimeos, 'media/scale' );
$client = \Aimeos\Client\Html::create( $context, 'catalog/detail' );
$admin = \Aimeos\Admin\JQAdm::create( $context, 'product' );

Developer experience

We strive for the best developer experience possible, so working with Aimeos should be as easy as possible. In that light, there are a couple of improvements available in this release.

Instead of using the common media contoller to work with image file, the media manager is now able to do that directly by its new scale() method. It offers the same features as the controller which is going to be cleansed next year.

Ordering fractional product quantities is supported since 2020.04 but now, you can also use fractional quantities for multi-level pricing (also known as block pricing). This gives you fine-grained control over pricing of products that can be bought in quantities of less than one or non-integer quantities.

For debugging purpose, all non-item objects where decorators can be added support a classes() method since this version. Thus, you can easily find out, which class has been used for the inner object and which decorators has been wrapped around, so identifying possible issues is now easier then before.

Leave a Reply

Your email address will not be published. Required fields are marked *