Magento Extensions Quality: Providers, Codes, Community
Categorized as : Ecommerce
The code quality of Magento extensions is a subject of multiple discussions and starting point for several useful initiatives. Both, Magento merchants and solution providers need high-quality and reliable third-party extensions for their stores and projects.
And if professionals have already found safe and beneficial selection standards, merchants can still be confused, when they purchase one or another third-party Magento extension. So, we’ll try to find out some necessary criteria of that choice for store owners and Magento admins.
There is no need to remind you that not all Magento extensions provide sufficient quality and their price is not the ultimate cost of their installation. They may carry so called “hidden” expenses associated with security vulnerabilities or platform breaks as a result of the module’s functioning. These hidden expenses may exceed the cost of the extension many times and take much effort to fix them. So, we need a reliable basis, we could use, during our selection of a third-party Magento extension.
Reliability of the Extension Provider
The reliability of an extension provider is the matter of multiple factors, including its business reputation, maturity of business, developer’s rating among other companies, the number of customers and products, confirmed expertise of the staff, etc. Choosing the best provider you eliminate the majority of potential issues related to the code and functionality.
Extension’s Support
Most vendors provide technical support of their products, but the quality and effectiveness of it may differ. However, it is a very significant aspect of the post-purchase customer service able to handle multiple technical issues.
Extension’s Reviews
Despite the value of online reviews is compromised significantly today, they still remain one of very important quality indicators and worth your close attention.
Refund Availability and Terms
The last strong-hold of your calmness and safety of finances are refunds. The longer is the refund availability period, the more chances you have to test the module properly and make sure that this product is the one you need.
Simple and Effective Codes
The adjective “simple” is, perhaps, even more important for the code quality, as it describes a clear code and obvious business logic easily perceived by other developers. Meanwhile, effective codes provide extension’s functionality in the best possible manner balancing between the simplicity and full-value performance.
No Duplicated Codes
Source code clones are a fairly common problem and definitely indicate a sloppy approach to the extension development. Avoid the products containing duplicate code extracts.
No Excessive Codes
There are two kinds of possible excessive codes: codes that have no underlying logic for their execution and dead codes. Never executed source codes, so called “dead” codes, and excessive codes should be deleted once they have been found.
Compliance with Zend/Magento Code Standards
The Magento development team almost completely adopts the Zend Framework Coding Standard for PHP and extension providers should also try to follow it. The document provides guidelines for PHP File Formatting, Naming Conventions, Coding Styles, and Inline Documentation. It indicates a consistent approach to coding, if you know that an extension provider follows these standards.
Current Magento Version Support
If any extension does not support the latest Magento version and the one you use in you store, it will likely require additional coding and extra expenses to run such module on your Magento installation.
No Hacks Overriding Magento Core Components
Magento is very flexible and developers usually have no need to modify core Magento classes, models, and controllers, as it makes difficult further Magento upgrades. Core class overrides can be replaced by event changes, which are supposed to be more professional and flexible functionality injections.
Rewrite Conflicts
If you have already installed third-party Magento extensions or made some rewrites yourself, you should check the new extension for conflicts with other modules.
No Magento Performance Suppression
Third party extensions should not slow down the performance of your store, and you should check out some common Magento performance killers possibly delivered by the extension.
Layout Updates and Template Changes
Frontend violations are, perhaps, not so dangerous for your data, but very frustrating, when you discover your navigation missing in the frontend right after the extension installation. So, make sure that the extension you purchased does not break down the layout and design of the Magento store.
Dependencies
Make sure the extension does not depend on any other modules as you will not be able to delete the last one, if necessary, and keep you code clean.
Extension’s Events
If the extension dispatches or observes any Magento events, make sure they do not affect basic functionality or other installed extensions.
Cron Jobs
Magento admins should also carefully inspect the cron job triggered by the extension, as it may execute some unwanted actions able to overload the server or database, or even damage the store.
Core Database Table Changes
Adding its own tables to you database by an extensions is usually normal and acceptable, but changing core database tables is rarely required. You should carefully revise these very changes, as they can become the ground for further potential conflicts.
Magento Extensions Security Leaks
Gradually this issue becomes more and more discussed within the Magento community, and numerous opinion leaders call Magento extension providers to pay more attention to security tests. Many extensions can be gateways for malicious data inputs, and those extension vendors, who care about this aspect of quality, will have the highest priority for customers.
The evaluation of the mentioned above factors and characteristics of a Magento extension requires much time and definite knowledge from an average store owner. So, the idea of automated tests available to a wide audience of interested users was embodied by Netresearch App Factory AG in their Judge tool.
Judge is a tool examining the quality and compatibility of Magento extensions on the source code level. It allows admins to check extension’s code comment ratio and Magento coding guidelines compliance, detect incomplete codes and Magento core components overrides, look for most compatible Magento versions for the extension, determine the presence of some well-known Magento performance killers, count rewrites made by the extension, detect security leaks and the extension’s code complexity.
The tool is still in beta and welcomes valuable contributions to the code and functionality on GitHub.
Institutional Improves (Ideas for Getting High-Quality Magento Extensions)
At the end of this post we’d also like to discuss some ideas regarding institutional improvements of the Magento extensions selection process. Many community members expressed their opinion on this topic and below we aggregated several valuable ideas. We’d like to know your personal opinion and ask you to take part in our short poll:
The code quality of a Magento extension really matters as it influences the functionality of the module itself and the performance of the Magento store. Secured and high-quality extensions develop and promote the entire platform, maintain the highest standard of Magento, and make it credible for numerous customers.
If you have something to add to this post, share your ideas in comments below, please.
Subscribe to our RSS.
And if professionals have already found safe and beneficial selection standards, merchants can still be confused, when they purchase one or another third-party Magento extension. So, we’ll try to find out some necessary criteria of that choice for store owners and Magento admins.
Magento Extensions Selection
There is no need to remind you that not all Magento extensions provide sufficient quality and their price is not the ultimate cost of their installation. They may carry so called “hidden” expenses associated with security vulnerabilities or platform breaks as a result of the module’s functioning. These hidden expenses may exceed the cost of the extension many times and take much effort to fix them. So, we need a reliable basis, we could use, during our selection of a third-party Magento extension.
Magento Partner Program totals 74 technology partners. Source: Magento
Reliability of the Extension Provider
The reliability of an extension provider is the matter of multiple factors, including its business reputation, maturity of business, developer’s rating among other companies, the number of customers and products, confirmed expertise of the staff, etc. Choosing the best provider you eliminate the majority of potential issues related to the code and functionality.
Extension’s Support
Most vendors provide technical support of their products, but the quality and effectiveness of it may differ. However, it is a very significant aspect of the post-purchase customer service able to handle multiple technical issues.
Extension’s Reviews
Despite the value of online reviews is compromised significantly today, they still remain one of very important quality indicators and worth your close attention.
Refund Availability and Terms
The last strong-hold of your calmness and safety of finances are refunds. The longer is the refund availability period, the more chances you have to test the module properly and make sure that this product is the one you need.
General Code Evaluation
Simple and Effective Codes
The adjective “simple” is, perhaps, even more important for the code quality, as it describes a clear code and obvious business logic easily perceived by other developers. Meanwhile, effective codes provide extension’s functionality in the best possible manner balancing between the simplicity and full-value performance.
No Duplicated Codes
Source code clones are a fairly common problem and definitely indicate a sloppy approach to the extension development. Avoid the products containing duplicate code extracts.
No Excessive Codes
There are two kinds of possible excessive codes: codes that have no underlying logic for their execution and dead codes. Never executed source codes, so called “dead” codes, and excessive codes should be deleted once they have been found.
Magento Extensions Code Evaluation
Compliance with Zend/Magento Code Standards
The Magento development team almost completely adopts the Zend Framework Coding Standard for PHP and extension providers should also try to follow it. The document provides guidelines for PHP File Formatting, Naming Conventions, Coding Styles, and Inline Documentation. It indicates a consistent approach to coding, if you know that an extension provider follows these standards.
Current Magento Version Support
If any extension does not support the latest Magento version and the one you use in you store, it will likely require additional coding and extra expenses to run such module on your Magento installation.
40% of people will abandon a web page, if it takes more than three seconds to load. Source: Econsultancy
No Hacks Overriding Magento Core Components
Magento is very flexible and developers usually have no need to modify core Magento classes, models, and controllers, as it makes difficult further Magento upgrades. Core class overrides can be replaced by event changes, which are supposed to be more professional and flexible functionality injections.
Rewrite Conflicts
If you have already installed third-party Magento extensions or made some rewrites yourself, you should check the new extension for conflicts with other modules.
No Magento Performance Suppression
Third party extensions should not slow down the performance of your store, and you should check out some common Magento performance killers possibly delivered by the extension.
Layout Updates and Template Changes
Frontend violations are, perhaps, not so dangerous for your data, but very frustrating, when you discover your navigation missing in the frontend right after the extension installation. So, make sure that the extension you purchased does not break down the layout and design of the Magento store.
Dependencies
Make sure the extension does not depend on any other modules as you will not be able to delete the last one, if necessary, and keep you code clean.
Extension’s Events
If the extension dispatches or observes any Magento events, make sure they do not affect basic functionality or other installed extensions.
Cron Jobs
Magento admins should also carefully inspect the cron job triggered by the extension, as it may execute some unwanted actions able to overload the server or database, or even damage the store.
Core Database Table Changes
Adding its own tables to you database by an extensions is usually normal and acceptable, but changing core database tables is rarely required. You should carefully revise these very changes, as they can become the ground for further potential conflicts.
Magento bug report payments reach 10 thousand dollars. Source: Magento
Magento Extensions Security Leaks
Gradually this issue becomes more and more discussed within the Magento community, and numerous opinion leaders call Magento extension providers to pay more attention to security tests. Many extensions can be gateways for malicious data inputs, and those extension vendors, who care about this aspect of quality, will have the highest priority for customers.
Automated Magento Extensions Evaluation
The evaluation of the mentioned above factors and characteristics of a Magento extension requires much time and definite knowledge from an average store owner. So, the idea of automated tests available to a wide audience of interested users was embodied by Netresearch App Factory AG in their Judge tool.
Judge is a tool examining the quality and compatibility of Magento extensions on the source code level. It allows admins to check extension’s code comment ratio and Magento coding guidelines compliance, detect incomplete codes and Magento core components overrides, look for most compatible Magento versions for the extension, determine the presence of some well-known Magento performance killers, count rewrites made by the extension, detect security leaks and the extension’s code complexity.
The tool is still in beta and welcomes valuable contributions to the code and functionality on GitHub.
Poll
Institutional Improves (Ideas for Getting High-Quality Magento Extensions)
At the end of this post we’d also like to discuss some ideas regarding institutional improvements of the Magento extensions selection process. Many community members expressed their opinion on this topic and below we aggregated several valuable ideas. We’d like to know your personal opinion and ask you to take part in our short poll:
Conclusion
The code quality of a Magento extension really matters as it influences the functionality of the module itself and the performance of the Magento store. Secured and high-quality extensions develop and promote the entire platform, maintain the highest standard of Magento, and make it credible for numerous customers.
If you have something to add to this post, share your ideas in comments below, please.
Subscribe to our RSS.