Developing Magento module from scratch is not always time and cost-effective. Sometimes, it’s better to purchase a ready-to-use solution at Magento Marketplace. Happily, there are a lot of different modules available there. They allow solving numerous tasks, implementing a wide range of functions, even for unique needs.
If there is nothing appropriate that meets your requirements and you’ve discovered that other people with similar needs are struggling to find the solution, so it’s your turn. Develop and sell your extension on the Magento Marketplace. This article will show you what to pay attention to during module development and how to avoid main pitfalls.
Selling Magento modules via Magento Marketplace has a lot of advantages comparing to selling via your extension store. It allows you to attract customers without intense marketing efforts. You don’t need to ensure customers in the hight quality of your module as Magento due to The Extension Quality Program (EQP) provides that all extensions on the Magento Marketplace meet its coding standards and best practices.
During the review process, Magento examins the structure and code of each extension, testes for evidence of virus/malware infection and plagiarism. The review also includes a thorough technical examination and sanity check conducted by a Magento engineer.
Magento also checks all product reviews on the Marketplace that are real and up-to-date.
It is worth noting the high search functionality on the Marketplace, all products are organized in intuitive collections, so customers can find your module quick and easy.
Let’s talk about The Extension Quality Program
“The Extension Quality Program is powered by Magento expertise, development guidelines, and verification tools to ensure that extensions have a logical and efficient coding structure, acceptable performance and scalability, and are compatible with the Magento core. You can log in to your Marketplace account to check the status of your submission. If your submission does not pass our technical or marketing reviews, we will tell you why, and how to fix it. Otherwise, your successful submissions will be listed on the Marketplace.” Source: Marketplace User Guide.
It seems pretty clear. But our advice - doublecheck that your module is unique, there is no similar solution on the Marketplace. Your module logic is absolutly as you submitted in the module description. Your extension won’t occur cause Magento malfunctions.
If you’ve followed all points from the above, but Magento rejected your module. Don’t fall into depression. Keep calm, fix errors from the report, and submit it again.
Best Practices for extension developers
We’ll list a few essential tips that will help beginners to achieve a higher quality of their code, and experienced developers to refresh their knowledge:
Always remove unnecessary code and comments, avoid duplicated code, follow a set of coding standards (PSR) that will help you make your code more readable, consistent, and maintainable.
Unit testing is an essential step for writing quality code. It ensures that the code you write works correctly. It is worth noting that unit testing is a separate process and should be fully automatic without any manual processing.
Use the Service Contract approach to design your extensions.
Do not use
$ _REQUEST, $ _POST, $ _GET, $ _FILESdirectly.
Use the IDE to make the development process faster and easier. Popular IDEs have a debugger in their toolbox that can be used to test problem areas of code. Also, the IDE can automatically format the code for a given PSR in the project settings. Version control, syntax checking, project management will help save not only your time but also improve the code quality.
Use PHPDoc in your projects.
Use XML templates for functions integrations and expanding functionality.
Use more extensible structures for common logic instead of hard-coding logic in controllers.
Check functionality expanding through Magento compilation php bin / magento setup: di: compile.
Test extension with turned on and turned off cache.
Use Varnish. As a result, you will get faster response times and fewer requests sent directly to Magento. Varnish can reduce response time and network bandwidth consumption for requests while returning cached content very quickly.
- Use Elasticsearch for catalog search:
- Quick and advanced search of products in the catalog
- Works well out of the box
- Supports stop words and synonyms
- Indexing does not affect customers until reindexing completed
- Supports real-time data and analysis
- Accurate, productive, and scalable
- Test module installation and module upgrade (from the earlier version of your module).
Submitting your module for Magento Marketplace, follow the next recommendations:
- Avoid using the Magento logo in your documentation, guides, and product images.
- Add an accurate description of your module.
- Create Installation and User Guides. Your extension won’t pass QA review without guides.
- Check all your documents, guides and description for broken links.
- Don’t add links to other extensions in the description.
- Check grammar, titles, and punctuation.
We hope our recommendations will help you to pass all review stages from the first submission. Otherwise, keep calm and follow Magento Marketplace guides.