Magento Extension Selection: The Good, The Bad, and the Unknown

Magento, as we all know, is a pretty comprehensive eCommerce platform that comes jam-packed with tons of standard features. That being said, Magento knows what it is…and what it is not. For those eCommerce purists out there you’ll find yourself scratching your head from time to time wondering why Magento doesn’t have “this” or doesn’t have “that”. These items, while not standard in Magento are likely very much an option by installing add-ons. In Magento’s world these add-ons are known as extensions….but be weary not all extensions are created equally.

Let’s take a look at some of the considerations you should be aware of.

Related: Code Quality in the Magento Ecosystem

The Good

Magento Extension Selection
Conforming to proper coding standards:

There isn’t much more to say here. Proper coding standards include comments, proper formatting and indentation which make reviewing code much easier

Purchase extensions from Magento’s marketplace:

A Magento extension should be purchased from their marketplace Magento Connect. The Marketplace is the central location for housing all extensions that have been reviewed by Magento and thus have some assurance that the extension is viable and creditable.

Reviews:
Be sure to do your research. Never has social media been more important. Read, read and read some more, from multiple sources and forums. If the Magento extension allows you to download to test…do so.

Related: Demac Media AffiliateTraction Extension for Magento

The Bad

Magento Extension Selection
Updating core magento files:

Magento has a subset of files dubbed “core” magento files. These files are critical to the smooth operations of Magento. Developers that choose to modify these files have likely done so because 1) they don’t know any better 2) they know better but simply don’t have the skill set to work within the confines of the software. Now granted, unless you are familiar with Magento’s best practises, reviewing code may not be a realistic option for your business. In the event this is your reality, we’ll be happy to help conduct an audit for you, which will catch these issues.

Consequences of that:

Why are core files / templates / modules so important? Magento is built specifically to be upgradeable. This means as the platform evolves, your site can continue to take advantage of Magento’s native functionality. If a core file has been updated, when or if Magento is upgraded, those changes will be overwritten and likely result in that extension not working. At this point you’ll be left with one option, which brings me to my next warning….no or limited technical support.

No / limited support:

When purchasing extensions, be sure to review the terms of the support as this is often a separate line item and cost separate from the actual software. Nothing worse than needing the support of the extension developer and getting malformed sentences as a response to your inquiry weeks from when the assistance was first requested. If you don’t have in-house expertise from a development standpoint it would be best to purchase the additional support to avoid these issues.

The Unknown

Magento Extension Selection
Encoded extensions:

Last but certainly not least are those extension providers that encode their work making it literally impossible to determine what the code is doing (aside from what it markets itself as). This is especially important with extensions that are responsible or interact with customer personal information (name, address, shipping & billing information, payment details). Needless to say, their is little to no reason for encoding an extension to completely hide what is happening. In scenarios like this, you’ll only discover this after the extension is purchased (or someone else comments on it as part of a review / forum) and may not be able to recover the money spent to purchase it, but that may be a small price to pay given the alternative. That being your inability to secure your customers information to a satisfactory level, resulting in a lost customer trust.

What to Keep in Mind

In closing, keep in mind that Magento is an open-sourced platform, making it hugely flexible and customizable. That being said, be cautious of overdoing it, as every extension that is installed makes it that much heavier to manage. It goes without saying that extensions, while hugely beneficial, can be very problematic, and as such you should really only use them when critical to the business.

Related: The Challenges with Magento As a New Developer