Welcome to the Magento extension roundup, the first in a new series of regular posts where we look at recently released free extensions that have caught our eye. We review extensions that have been published on Magento Connect and GitHub and share our thoughts on their premise and execution.

Wishlist Admin Email by Magevolve

This simple extension creates an observer to watch for items added to a customer's wish list and notifies the administrator. It's great that the extension can be completely disabled from the admin panel, without having to dive into code, and that it doesn't try to do too much. It is easy to imagine receiving emails every time someone adds a product to their wishlist would become unruly on large sites, but if you're just starting out it could be an easier alternative to setting up logging of this kind of action. Hopefully "wishlist" is spelled correctly in the actual notifications!

View on Magento Connect

Simple SMTP by kalpeshbalar

This extension allows you to set up Magento to send email through an SMTP server. This can be a custom server you've already set up, or you can use an external service like Gmail. It supports authentication and SSL/TLS. One good feature is the ability to completely disable email communication from the admin panel. The ability to use a third-party email system like Gmail means one less piece of server software to set up and manage if you'd rather avoid configuring mail otherwise.

There are of course many solutions to this problem already, and this particular extension doesn't seem to do any more than Ashley Schroder's widely used SMTP Pro.

View on Magento Connect

Maintenance by Magegiant

This extension gives you the ability you to display a maintenance or holding page on your site, completely within Magento. It means you don't need to change your webserver configuration and mirrors similar functionality found in other CMS software like Wordpress or Drupal. It hooks into the controller action predispatch event and, if the site is set to be in maintenance mode, will display the maintenance page. It also allows you to set a list of IP addresses to be allowed through, so that site maintainers can still view the frontend.

You can see how this extension could be useful for sites on shared hosting, or where you're not able to directly change the server configuration. You would certainly want the site to be in maintenance mode when new modules are running install scripts for example. One significant drawback is that every request to the site will still have to initialise a Magento stack and make requests to the cache and/or database to test if the site is in maintenance mode. If there's an issue that causes major problems in Magento then you're going to be shown an error page, rather than your nice maintenance message, which somewhat defeats the purpose.

View on Magento Connect

Delete Orders by Cartin24

Orders in Magento are meant to be immutable, to prevent admins from accidentally deleting crucial information. We've seen extensions like this one that let you delete or edit orders in the admin panel and one thing they all seem to have in common is no clear explanation of why you would want to allow deleting orders. If a customer tried to purchase something on your site, that data should be recorded as part of the site's financial history and altering that history may cause problems down the road. If you wanted to delete dummy orders created for testing, these should really be done on a development version of the site, rather than using the live database.

If you really want to be able to delete orders, then this extension will work, but it would be great if it at least included permissions specifically for order deletion, so that you could restrict who can delete them.

View on Magento Connect

Checkout Promotion by Magegiant

The description of this extension is poorly worded and cryptic, but what it does is add the ability to show static blocks on the checkout page based on shopping cart price rules.

This extension allows you to show special offers and content, as well as offering discounts. You can show a banner, perhaps enticing customers to add cross-sells (e.g. custom cases, in the case of phones) just before they complete the checkout process. The customers shown the banner can be tweaked to be based on what other products are in their cart, attributes on those products, the customer's location, and even the payment method they've selected.

Making further offers to customers at the checkout could be a good opportunity to increase sales on small impulse purchases.

View on Magento Connect

Magento Guest Audit by steverobbins

The idea behind this tool is similar to our own Mage Audit, but lets you target sites without installing the script onto the server running the site. It is an interesting concept, but it has to make some assumptions about how your site is structured, which may not always be correct. For example, to check for the installation of modules it has a hard-coded list to check for, and tries to download a CSS or JavaScript file it knows those modules contain. If a site has customised any of these then the module will not be found.

The uses for this tool for a merchant are limited, so the primary audience would seem to be developers who may be looking to take on a new site, or searching for sites with problems to scout for potential clients.

View on Github

Magento Highlighter by jreinke

Editing CMS content in the Magento admin panel can be a hassle. WYSIWYG editors have their uses, and are a necessary evil, but if you're working with HTML directly, there is a whole other level of readability to be gained with decent syntax highlighting. You might otherwise copy CMS content into an external editor that does have syntax highlighting, and then copy the content back into your browser. This extension gives you syntax highlighting for the standard non-WYSIWYG editor in the admin panel without having to constantly copy and paste.

View on Github

Magento Google PageSpeed Optimization Extension by mediarox

Google PageSpeed Insights is a helpful tool to analyse a page on your site and give guidance about things that affect page load times. One of the usual culprits of slow load times is JavaScript running early in the page that blocks rendering for the rest of the page. Similar to some other extensions, such as Fooman Speedster, the Magento Google PageSpeed Optimization Extension attempts to alter the Magento output to better optimise the final HTML sent back to the user. This module does so by adding an observer to the controller_front_send_response_before event, takes the final rendered page, and using some complicated regex magic finds all the JavaScript and CSS that can be re-arranged to optimise the page, and moves them to just before the </body> tag.

This is an interesting approach, but ultimately will only ever be a temporary solution. If an extension is inserting CSS or JavaScript in a way that is slowing down a page, it should be fixed properly sooner or later. An automated tool that is moving code around on a generated HTML file using regular expressions is bound to run into problems. For example, some JavaScript may not work if it is supposed to be executed after another piece of JavaScript. It is not clear how hard this sort of dependency management is to implement using this module.

View on Github