ExtDN – Magento Extension Developers Network

- E-Commerce, Magento 2

Today, we are going to review a very interesting community-driven project – ExtDN. Being a Magento extension developers network created by Fooman, it offers various possibilities for both merchants and developers in terms of searching and promoting third-party modules. You can consider it a replacement for Magento Marketplace, but we believe that it is something more valuable, community-driven, and created with each ecosystem member in mind. Let’s try to figure out what ExtDN actually is.

How to Select Magento Extensions

Before exploring the new bastion of developers and extensions, we should say a few words about how people choose Magento modules nowadays. It will help us better understand the motives behind the creation of ExtDN. Let’s take a look at the major source of plugins first – Magento Marketplace.

Choosing Modules at Magento Marketplace

There were lots of speculations behind Magento Marketplace and some of them became real. But we are not going to review the platform – many more people have already done that; instead, we’d like to draw your attention to the efficiency of selecting something on the marketplace to compare it with what ExtDN offers, which doesn’t mean to offer an alternative to Magento Marketplace. 

Magento Marketplace has very strict requirements regarding the content developers want to post on the website. Consequently, junky Magento extensions don’t pass all the control procedures, and you, as a buyer, are prevented from purchasing a useless or harmful tool. But a high-quality code doesn’t prevent you from low efficiency. The module can satisfy the Magento Marketplace requirements but be not as efficient as its counterpart that is not yet available on the platform. Therefore, we recommend reading reviews.

Luckily, Magento Marketplace prevents fake reviews due to strict requirements regarding reviewers. To post something about a module, you have to purchase it first. Thus, Marketplace is free from fake reviews, but what about incompetent users who post negative (or positive) thoughts without any in-depth exploration of the product? You are never prevented from them, but it is always possible to take a look at the extension developer website.

Choosing Modules at Magento Extension Developer Website

What’s the biggest problem when you try to find a module you need on a developer’s website? Favoritism is something that causes fake reviews and descriptions aimed to sell a product instead of describing its real qualities. There is nothing bad in the attempt to sell something – this is how our world works. But it’s sad when someone tries to force-feed you something useless via various marketing tricks. Luckily, not many merchants do that, especially when we talk about some prominent developers, like Aheadworks displayed above (the company is an ExtDN member by the way). 

Furthermore, there is one more drawback of purchasing modules on a developer’s website – you cannot compare them with competitive solutions right there. Therefore, we recommend you to look for multiple similar solutions developed by different companies and compare them. Check everything: reviews, features, and price. You can also dive deep into code if it is possible.

Conclusion

As you can see, it is quite hard to select a Magento extension with the help of the existing means. You still have to do a lot of analysis since the Magento Marketplace requirements are too strict so that not all great modules are posted there; developer websites tend to be blurred by favoritism to some extent. You can read more about choosing third-party extensions here: How To Select Magento 2 Extensions.

The community’s desire to change the name of the game became the key reason for the creation of ExtDN. Let’s try to figure out what key perks and privileges the project offers.

ExtDN – Magento Extension Developers Network Explored

Below, we shed light on various aspects of ExtDN: the project’s mission, vision, purpose, etc.  It helps the Marketplace team by providing a unique view, opinions, and ideas so that merchants and extension developers all have a good experience:

  • ExtDN is the voice of the merchants with over 100,000 Magento merchants in the whole community around the project;
  • ExtDN is the voice of quality extension developers  companies who aim at solving a problem or helping a merchant meet their business needs.

ExtDN Vision

As a Magento merchant, you get an opportunity to find, compare and install quality Magento extensions from trusted solution providers. ExtDN is a fast evolving environment, but what about Magento Marketplace? It still offers the same opportunity, but the devil is in the detail, so let’s continue the exploration.

ExtDN Mission

ExtDN states that one of its goals is to push the Magento ecosystem to guide merchants of all sizes to success. While there is a general feeling that Adobe and Magento strategy is to go up market and target bigger Enterprise clients. ExtDN cares about the 170,000+ Magento 1 stores and 27,000+ Magento 2 stores out there, no matter how small they are.

ExtDN Purpose

Since ExtDN is a community initiative, it has several vectors its members are going to follow. Collectively, they are committed to advancing Magento due to:

Continuous innovations and improvements of their extensions. It means that you can get updates and fixes (for free or on a commercial basis) for a long period of time, while a module on a developer’s website or Marketplace can be abandoned. Is it really so, you will ask? Neither ExtDN nor anyone else can provide such guarantees, but we believe that people behind the project want to increase the average time an extension gets innovations and support.  

Good practice in extension coding standards and technical support. It is an obvious thing that pops up in mind first when it comes to a place that gathers top-notch Magento extensions. All modules have to satisfy the highest coding standards. Good technical support is another vital thing that illustrates whether you choose the right solution or not. Both things are not immune to Magento Marketplace. As for extension provides, they can also apply the same standards on their websites, but you have to double-check everything to get the understanding of their reliability.  

Close collaboration. This is what really makes ExtDN a leading solution for selecting a new reliable Magento extension. The platform’s members should actively work together to increase interoperability between their modules. Sounds really cool since such an approach may dramatically decrease the number of conflicts between third-party extensions. It means that you may easily choose the OneStepCheckoout Magento 2 extension combining it with the Aheadworks Reward Points + Referral Program module without any worries about issues caused by their possible incompatibility. Note that it is only a bare theory and not a guarantee, but it would be cool to see such cooperation between different vendors. 

Fair extension sales. It is hard to imagine how such a huge number of developers will agree about sales, but ExtDN will definitely work in this direction providing both merchants and provides with better conditions. At least, we hope so.

Innovations. Innovations are often more efficient when you work on them within a community. Promoting them is also more successful if you do that together with others. That’s what ExtDN offers to its extension provides. As a result, merchants will also benefit due to continuous enhancements.

Multiple coding standards. ExtDN is going to organize its coding standards and requirements into the following branches:

  • Modifications to the Magento core – making the overall functionality of the platform better;
  • Malicious intent – making it more secure;
  • Plagiarism – fighting the copyright/intellectual property infringements;
  • Encryption on functional code – enhancing the security of the functional code.

Competition. There is enough competition in the ecosystem even without ExtDN. You can find modules with all possible features and price tags, but the ecosystem is too huge to make your search fast and comfortable. That’s why we have ExtDN which also remains such a driving factor as a competition between its members. For instance, the aforementioned Aheadworks and OneStepCheckout offer modules with similar functionality. Thus, to compete within the platform, they have to make their products better and better. When one provider implements a new feature, the other should also add an analog to its module. Engagement in fair competitive behavior is a source of progress, and ExtDN proves it once again.

ExtDN Initiatives

In implement a completely new approach to extension, ExtDN also offers various initiatives. Some of them lead to meetings, others – to practical code. Supported by specific working groups, they can dramatically change the Magento ecosystem. Let’s see what ExtDN and its members are currently working on.

Quality Standards

Although Magento has its standards and requirements regarding the quality of extensions, they are not enough due to multiple reasons. The official source supplies documentation, guidance, and the code to work with, but the community rethinks everything providing us with best practices, which should be followed to minimize the chance of bugs, conflicts, bottlenecks, and other trouble. There are already many rules to aid in Magento 2 development: Magento core ruleset; MEQP; MECG; PSR-1, PSR-2, PSR-12, etc.
However, they are not enough: there is still a room for improvement. Therefore, some best practices still need to be integrated; some existing rules need to be improved. Multiple new requirements need to be created.

ExtDN offers a repository with more advanced rulesets than the whole ecosystem currently offers. The project aims to create rules that cover such different aspects as Magento core, third-party extensions, and Magento implements. While they all have different needs, ExtDN is going to standardize them and their requirements providing the community with a perfect ruleset.

To guarantee the top-notch extension quality, ExtDN proposes to deal with code validation via PHP CodeSniffer. Thus, you can find the aforementioned repo on GitHub that contains the PHP CodeSniffer project. It is meant to create rules through in-depth discussions within the community. Note that everything is guided by proper documentation dramatically improving everyone’s participation in the project. For further information, follow this link: PHP CodeSniffer rules.

Interoperability

We’ve already touched upon the problem of interoperability of third-party Magento extensions, but let’s say a few more words about it. While a standard third-party module might be free of bugs, problems begin when you combine it with the existing plugins.

Since combinations of modules might lead to issues, ExtDN is going to minimize risks caused by this problem. The platform should reduce conflicts between extensions offered by ExtDN members. And this enhancement may affect the whole ecosystem since non-ExtDN provides, motivated by the rising competition, will provide products with higher interoperability. That’s how we see the implementation of the platform’s characteristic. 

Of course, that might cause many new technical issues and the need for specific features that might pop up when you combine two extensions, but it is the only way to make the ecosystem better. ExtDN strives to reduce the number of conflicts between ExtDN extensions, and we believe that this internal desire will affect the whole ecosystem!

Education

The Magento ecosystem is very flexible. Its technology stack changes from time to time providing developers with better opportunities and at the same time the necessity to get new skills. Best practices are formed to guarantee the functionality of the whole ecosystem, but they change over time. Since the Magento devdocs are not as flexible as the ecosystem itself, the changes are described there too late. As a Magento 2 developer, you might have already faced this situation. That’s why ExtDN wants to improve the way best practices are shared within the community. 

The key objective is to help educate the whole ecosystem about what is a good quality extension. This is not strictly defined yet, but you can see merchants going through a lot of hassle because they chose an extension that does not work properly. And this results in more time and more money spent to fix the issue. People behind ExtDN want to avoid this. But what is a good quality extension? Magento Marketplace, Magento Community Engineering, and ExtDN itself are still trying to find the answer. That’s why the objective of any marketing initiative for ExtDN is about education and to spread the word about:

  • How to choose extensions;
  • How to apply coding standards.

Below, you can see one of the education materials provided by ExtDN.

ExtDN Best Practice Guide for Extension Developers

Below, you can see the initial requirements for the extension development aimed at ExtDN members and other people within the Magento ecosystem.

Composer

Composer is one of the most obvious things when it comes to third-party Magento extensions, and people behind ExtDN know that. Therefore, it is recommended to use composer packages to distribute extensions. While it is fine to develop your own code under app/code for a local
Environment, it may cause various difficulties when you distribute your module to other environments. To prevent a situation when dependencies are left unmanaged use Composer. And try to leave the app/code folder empty.

Service Contracts

Abstract a dependency when it is injected into a class. If your project contains a preference for a specific class which is a PHP interface, inject the interface instead. One more requirement states that you should inject only classes or interfaces (which are service contracts) that can be characterized as

  • a part of the Magento framework;
  • the API of specific modules.

Tests

Never forget about writing tests. This habit will prevent multiple issues in the future. All features and functions of your module should be double-checked by integration and functional tests. Use unit tests for isolated code and integration tests – for code that touches the rest of Magento.

Documentation

Always document your dependencies. If your module depends on other modules, and we know that it depends, specify that is your composer file and module.xml file. If the only dependency is related to the Magento framework itself, your module should likely be treated as a library. As a result, the composer version constraints should respect the Magento semantic versioning standards.

Version Releases

Always increase your composer package version number, when a new change is applied to your module. ExtDN recommends following semantic versioning:

  • Major versioning for compatibility changes;
  • Minor versioning for features;
  • Patch – for fixes.

Go to your module.xml file and increase the setup_version number when changes to the database are required.

User Manual

You create your modules for people. Therefore, you should do your products as user-friendly as possible, and user manuals are one of the easiest ways to do that. Provide your clients with clear instructions on how to install, use, update, and remove your extension.

Events & Plugins

ExtDN recommends using events and plugins. Utilize them on API-marked methods as the primary means of customizing functionality. Note that intercepting functionality of non-API methods is less recommended. But is you do so, make sure to reflect this in your composer version constraints. Besides, ExtDN asks developers to avoid redefining existing preferences it is possible.

Double-Check Your Code

ExtDN offers PHP CodeSniffer that includes the platforms’ own ruleset combined with the MEQP one. Use the tool to check whether your extension works in the production mode. Also, check its compatibility with different Magento versions. Ask a third-party specialist review your code if possible – a fresh eye can notice lots of small nuances you’ve already got used to.

Final Words

As you can see, ExtDN is not a replacement for Magento Marketplace nor it will compete with developers’ websites. The project tends to change the approach to multiple issues that have been ignored before, such as the interoperability of third-party extension. The effect could be tremendous, but we will see everything soon.
ExtDN and Magento share a lot in common (how could it be otherwise?), but it doesn’t mean that the Magento extension developers network should share the same agenda. At the same time, by communicating with various Magento departments, ExtDN will guarantee the needs of its members and the overall Magento community.

Here at Firebear, we will watch how the project evolves adding vital updates to this article. As Magento extension developers, we fully support this initiative since it will completely revamp the ecosystem of third-party modules by standardizing them and forcing the community members to create better products that can be easily combined despite their origin and developer. ExtDN is the next step in making a new transparent marketplace where only the best third-party extensions are available. Hope to join the project as soon as possible!