The 2021.10 release of the Aimeos e-commerce framework with long term support is available for Laravel, Symfony and TYPO3. It contains a lot of small features repeatedly requested by developers and users and which improve user experience, usability for editors and security. The most important improvements are:
- Laravel 8 distribution and TYPO3 11
- Radius search and maps
- “Price on request” feature
- Product video support
- Improved backend usability
- Custom invoice numbers
- Warehouse management
- PDF with SEPA QR-code and images
- Strict CSP and other improvements
Laravel 8 distribution and TYPO3 11
After Laravel 9 has been postponed to next year, we’ve decided to update the Aimeos standalone shop distribution to Laravel 8 in the meantime. Up to now, the Aimeos distribution was based on Laravel 6 LTS for maximum stability and we will upgrade to Laravel 9 LTS beginning with Aimeos 2022.04+ releases.
Despite of that, the Aimeos Laravel package is available for Laravel 8 since it was released and will be also available for Laravel 9 immediately after its release.
The Aimeos TYPO3 extension is the most widely used e-commerce extension for TYPO3 and even surpassed tt_products this year according to the TER download numbers!
The Aimeos 21.10 LTS release contains full support for TYPO3 11 and also the 1-click Aimeos TYPO3 distribution is available for TYPO3 11.5 LTS since its release.
Radius search and maps
The Aimeos admin backend contains world maps in the customer and supplier panels now, so editors can select or update the coordinates the addresses belong to. Then, supplier coordinates are added to the product index to enable users searching product within a given radius.
The maps in the backend are generated by Leaflet.js and OpenStreetMap and can be used by anyone without fees.
Price on request
One of the most often requested features, especially in the B2B area, is the ability to create a request for the products in the basket without displaying a price. Then, the price is caculated by different factors and printed at the offer sent to the customer.
If editors add prices with empty values to products, the frontend will display “on request” now. Customers can add those products to the basket and can complete the order as normal but the products without a price will be treated like having a price of 0.00.
Mixing products with a regular price and products with prices “on request” is no problem and the payment at the end of the checkout process will be done for the products with a regular price only.
Product video support
The release also includes support for product videos in MP4/WebM format. You can upload one or more videos in the product media panel of the admin backend and a preview image is generated automatically based on the video content.
The videos are shown like regular product thumbnails in the catalog detail component of the HTML frontend but if users switch to the video, it starts playing automatically without sound.
Improved backend usability
To ease daily work for editors, all media panels now support uploading multiple files at once when clicking on the “+” button and each file will create a new card automatically. Before, only the card was added and you had to upload a file for each card. Also, the new release improves cropping and scaling of uploaded images.
In the text panels, CKEditor 5 is now used for editing and styling the text content. The new version also added new features like table and video support within texts which is now available out of the box.
Custom invoice numbers
Many shop owners want to customize the invoice numbers for many reasons but this was hardly possible in the past. Now, developers can register custom functions for generating invoice numbers that are used in the HTML frontend, the e-mails or PDFs, e.g.:
use \Aimeos\MShop\Order\Item\Standard as Order; Order::method( 'ordernumber', function( \Aimeos\MShop\Order\Item\Iface $order ) { return 'RE-' . date( 'Y' ) . '-' . $order->getId(); } );
Warehouse management
To improve order and warehouse management in Aimeos, there’s a new payment status for each ordered product. Thus, you can now mark single products as refunded or use any other payment status.
To display the additional information, the product section of the order detail panel has been rewritten. It’s fully responsive now and easy to use in combination with mobile phones.
For the 2022.x version, you can expect some bigger changes in the Aimeos order domain.
PDF with SEPA QR-code and images
The template for the PDF attached to the payment related e-mails contains a QR-code for European IBAN payments. Mobile users whose bank supports scanning these QR-codes can pay invoices within seconds and 100% error free.
In addition, the template also contains example code how to add a background image to the PDF files. Then, companies can send order confirmations including PDFs that look exactly like their well-designed letter papers.
Strict CSP and other improvements
Starting with 2021.10 LTS, a strict Content Security Policy has been implemented for the Aimeos backend and for the Laravel frontend. This effectively prevents Cross-Site-Scripting (XSS) where foreign Javascript code is executed in the context of the page loaded by the users’ browser and which is a common source of security incidents.
This also means that inline Javascript in any templates is ignored by browsers now and scripts, CSS, images, videos, etc. are only loaded from well-defined sources. To allow a new URL for any of those objects, you have to overwrite the frontend or backend page template and add the URL there:
To allow Javascript required by e.g. payment gateways like Stripe, a “nonce” is available to mark JS code within script tags as trusted. Other security improvements include hardening against potential CSRF attacks and SVG images are now sanitized when uploaded, so they doesn’t contain any Javascript or external URLs.
To improve internationalization, it’s now possible to translate all error messages with placeholders from the core, even those that are only logged. Furthermore, all log messages has been categorized to filter messages by their source effectively.
Last but not least, the catalog detail component can be configured to return a HTTP 404 status instead of displaying an error message that the product could not be found.
Hello Aimeos Team
Thanks for info.
Great job you do. Best shop extension for Typo3.
What about 3. Part Payment-Provider, exept PayPal Service?
Best regards
Fritz Waser
The ai-payments extension offers 100+ payment drivers via the Omnipay PHP libary:
– https://github.com/aimeoscom/ai-payments
– https://omnipay.thephpleague.com/
Well done we are proud of be part of this roadmap )) thanks