Whoa! What are you talking about? Aren't extensions the cornerstone of Magento? Is this heresy? Well yes ... and no. There is a tremendous misunderstanding about the value and proper use of extensions. There tend to be several camps when it comes to extensions: haters, zealots, and pragmatists.
The haters want no extensions. They want to limit themselves to the core Magento system whenever possible. We find many of the haters have previous Magento 1 experience and have many battle scars working through bugs generated by extensions, extension conflicts, and unexpected side-effects from unprecise extension coding. They are not wrong. Their pain is real. Extensions have a checkered past. System Integrators try to limit themselves to extensions they have used before and found them to already be working as expected or have already worked out the kinks with their own personalized version of them.
The problem of course is that core Magento rarely is not enough. The Magento brain trust has always understood this and that is why they have created and fostered the extension community. To reject all extensions is to give up some of the great power of the Magento system. Too often the result is that the customer may have to incur significant costs for custom development which may meet the exact need of "today" but rarely is built to be the flexible extensions that can adapt over time. This approach leads to a few lifecycle problems:
- Enhancements are expensive because you are continuingly paying for custom development
- Custom development often lacks the appropriate surrounding features like quality admins, logging, documentation
- Customers never get to take advantage of the community of developers that are constantly improving and evolving their extensions.
In short, don't be a hater. You will have significantly more expensive projects, higher long term maintenance, and slower adoption of new features/improvements from the community
Extensions are the future. Who needs developers and engineering? I can find an extension for anything, install it myself, and be on my way. The zealots come from many paths but generally fall into a few categories: startups new to eCommerce, converts from old, legacy systems, and converts from pure custom solutions. These customers have read the marketing material and have bought the extension network hook, line, and sinker.
Anyone who has worked in Magento can tell you this is fool's gold. If you are looking to become a rescue project that a second, or third development team has to rescue from the dead, try to solve all of your problems with extensions.
Why is this? Is the extension community a lie? Have I been hoodwinked? How can I achieve my TCO (total cost of ownership) goals if I still need developers? I thought I was free of being held back by developers, you are telling me I am still beholden to them, how can this be?
The piece of pie was awesome, and the second one was pretty good, but the third one made me feel sick. Why? because too much of a good thing is not a good thing. Extensions are awesome when they do exactly what you need and nothing else. They are even more awesome when they are the only extension overriding some area of Magento. If you start piling the extensions you might become a Hater. All of a sudden that sweet extension for BOGO promotions is interfering with your special tiered pricing and free gift extensions and now the cart is broken. I have three extension vendors and no one thinks it is their problem ...
This approach leads to a few problems:
- Things are happening in your system that no one can explain
- Your system is doing things in a way you don't really want but don't have the power to change
- You are finding that the level of urgency you feel for a problem is not reciprocated by the extension owners because they are sure it is not them
- You may not have a quality development team at your beck and call because you didn't think you needed them ...
Don't be a zealot either. Magento has a powerful framework and extensions can make life easier but nothing replaces a carefully crafted system with some intelligent design.
And then there are the pragmatists. They are cautious and selective about extensions but they realize the power extensions hold and they understand the delicate balance between initial cost, functionality, and long term maintainability. Every system integrator worth their salt and many of the happiest customers are pragmatists. They understand a successful Magento system still needs system design and an engineering team..
To truly get the system that you always wanted you need a strong dose of core Magento functionality, the right extensions, and carefully crafted custom code to tie it all together. If there is an extension that does exactly what you are looking for and fits nicely into its own niche it is a no-brainer. The right extension is dramatically cheaper for the customer, faster to implement, and will come with quality support from the extension provider. These extensions allow Magento to crush their competitors when it comes to implementation cost.
The pragmatist also knows that when a customer has multiple, specific needs around a portion of the Magento system that often the best solution is to build it yourself. Too often people make the foolish mistake of trying to couple multiple extensions together and write some "glue" code ... that seemingly never handles all of the scenarios and breaks every time any of the extensions need to be upgraded.
Be a pragmatist (I know it sounds very boring), find success.