Recently I have been approached by the Amasty employee, asking me if I could do an independent review of two of their extensions. Usually here at Inchoo, we do not have a habit of doing so, however I was caught in a pretty good mood and decided to say yes. It’s probably because I had a pleasure meeting them in person on the last Magento Developer Paradise held in Mallorca September 16th to 19th 2013.
In this article I am going to do a quick review of their Improved Sorting v1.2.4 extension, using the latest Magento Community Edition v184.108.40.206 with nothing but the sample data downloaded from Magento website.
Before I jump to it, I would just like to emphasize one thing. Even though I had a personal contact with Amasty, this review is fully biased, I am sure they would not like it any way around. 😛
As noted on their official website, extension selling points are as follows:
- Sorting by savings, display name ‘Biggest Saving’.
- Sorting by sales, ‘Bestsellers’.
- Sorting by product creation date, ‘New’.
- Sorting by rating and by the number of reviews, ‘Top Rated’ and ‘Reviews Count’.
- Sorting by the number of product views, ‘Most Viewed’.
- Sorting by presence in wishlists, ‘Now in Wishlists’.
- Sorting by the amount of products, ‘Quantity’.
- Works for catalog and search
After unpacking and installing the extension, here is the list of files added to my Magento installation:
Overall, installation took around several seconds and went without any issues.
- Support for the latest Community (1.8) & Enterprise Editions (1.13)
- Affordable price (and yes, regardless what some of you might think, $79 for Magento Community Edition and $229.00 for Magento Enterprise Edition licence is actually cheap, this is eCommerce business, not some amater blogging stuff)
- Clear and concise installation guide (readme.txt file supplied within the extension download archive)
- After installation “Incoming Message” is a nice user friendly touch with a short “Remember to flush all cache, recompile, log-out and log back in.” instructions.
- Addition of special custom “Improved Sorting” indexer found under System > Index Management used for “data for best-selling, most viewed and wishlist sorting options” instills confidence in details they put in code.
- It just works, no issues after installation (at least no issues on my Magento v.1.8)
- Not a technical issue at all, but… Use of local codePool for extension location. This has absolutely no technical impact, since for Magento it’s all the same whether it uses community or local code codePool. However, as a developer, I would expect all 3rd party distributed extensions to be found under community codePool.
- Not a technical issue at all, but… Use of app/design/frontend/default/default/template/amsorting for template view files (.phtml) location. Given that they sell many Magento extensions, I would like to see them all of their template view files under one roof, like app/design/frontend/default/default/template/amasty, further divided into sub-folders named like their extension, for example in this case app/design/frontend/default/default/template/amasty/sorting. Approach like this gives far better overview of things for front-end developers working on Magento project with several extensions from single vendor. Same remark goes for JS, CSS and images under skin folder.
- Not quite that big, if any technical issue at all, but… There is a Magento cron job definition found under config > crontab > jobs > amsorting_index of app/code/local/Amasty/Sorting/etc/config.xml file, that seems to schedule a cron job each day at 1:07. The readme.txt insallation / instruction file I referenced earlier does not mention cron jobs. Which is a slight minus, even though when running Magento you are expected to have your system cron setup to trigger Magento cron every now and then. What this cron job does is that it runs Amasty_Sorting_Model_Indexer_Summary->reindexAll() which in turn runs individual Amasty related indexers like Bestselling, Commented, Mostviewed, Toprated, etc. Now, you might want to keep an eye on this part of functionality if you are running a store with large number of products, or at least adjust the config > crontab > jobs > amsorting_index > schedule > cron_expr value to match the time when your store is experiencing the lowest user hit
- Not quite that big, if any technical issue at all, but… Extension defines two core class rewrites, one for Mage_Catalog_Block_Product_List_Toolbar and other for Mage_Catalog_Model_Config. Be sure to keep that in mind if you have several other 3rd party extensions some of which possibly rewrite the same core classes.
Extension code looks pretty professionally written, and it delivers the functionality it promotes. Even though my cons section might seem big at first, please read carefully what I said as these kind of broad comments apply to almost every Magento extension and they can hardly be taken as serious cons. Overall, if your project requires this exact functionality, then Improved Sorting extension by Amasty is definitely worth the money.