The new 2020.10 release with long term support contains a lot of polishing and some features users and developers have been asking for. But one of the most important changes is related to the documentation, which has been greatly improved! Feature-wise, the most important additions are:
- Complete product rating and review system incl. JSON API
- Home page component
- Price facet filter
- Date/time range filter in admin backend
- Simplified getter in context
- Better log entries for SQL statements
- Official Laravel 8 support
- Full AWS support
As you may have already noticed, the old documentation Wiki has been retired and a well structured Aimeos documentation welcomes developers and users alike.
Due to the clear structure, it should be much easier now to find the documentation you are looking for. If not, you can use the Algolia based full text search at the top to find matching articles very quickly. Tip: The more words you type, the more accurate the found pages will be.
The documentation is based on the Markdown syntax most developers are already familiar with. Everyone can contribute to the new documentation repository and is invited to do so to improve the documentation further.
Reviews and rating
Aimeos is getting closer to feature completeness by offering a first-class product rating and review system in the new version. This was one of the last big missing features but not any more!
It’s design and feature set is similar to Amazon’s review implementation including the possibility for a vendor response but much nicer in terms of layout and it scales extremely well for very large sites too.
The implementation consists of a new, separate data domain for reviews and ratings. The ratings will be automatically updated when new ones are added and approved. A frontend controller, HTML clients and JSON REST API “review” and “customer/review” endpoints for managing the reviews are part of the release.
New HTML components
For the HTML frontend the new “catalog home” component is available, which creates a nice start page by displaying category information from the root and first level as well as the promotional products assigned to these categories.
The output consists of the stage image from the “home” category (if it exists) and the stage images from its direct sub-categories including their short descriptions. If either the image or the description is missing, the available content uses the available space so the layout adapts to your content in a very flexible way.
Also, the catalog filter component contains a new price filter subpart now:
It enables users to limit products by their price using a native HTML5 slider element connected to the input field for the upper price value. Users can also enforce a minimum price if they want to. The upper price is automatically calculated from the product selection limited by the already applied categories or filter facets.
Admin backend improvements
Thanks to the flatpickr Vue.js component and the range expression support in the Aimeos core, you can now filter items in the list views by date ranges. This applies to all date or date/time columns in all list panels and is extremely useful in the order panel to show all order of e.g. the last month and export them afterwards.
Also, the detail views use the new component too for all date/time fields. There, you can not only select a date but also the time, e.g. for the start and end dates. Thus, a convenient way of selecting dates and times is available for users of the Safari browsers now, which is the only major browser that doesn’t support date/time input fields natively.
For developers, the new release offers shorter methods for accessing data in the “Context” dependency container, continuing the introduction of short methods for managers in the last version. Thus, you can write now for example:
- getDatabaseManager() => db()
- getFileSystem( ‘name’ ) => fs( ‘name’ )
Furthermore, the debug log entries aren’t JSON-encoded any more, so you can copy e.g. logged SQL statements directly from the log panel in the admin interface and paste them into any database client without the need to remove all that additional JSON characters any more.
Laravel and AWS
Aimeos supports the new Laravel 8 release from day one and 2020.10 is the first Aimeos LTS version which is fully working with this major Laravel version. The Aimeos Laravel package now supports Laravel 6, 7 and 8.
Last but not least, deploying Aimeos on AWS using MySQL works like a charm now by passing additional MySQL configuration down to the PDO driver. More concrete, MySQL on AWS requires a certificate configuration that is now supported by custom driver options.