Our business has now been coding for the past 10 years and we’ve built a reputation in the community for advanced and custom development. For about seven years, our take on ecommerce was that there was no system good enough or expanded enough for a company that was serious about taking their business online. In fact, we felt it would be like trying to wrap ones arms around the world to build a really good ecommerce system that could act as a platform for building custom ecomerce onto it. In spite of this challenge, about three years ago I started getting a lot of requests for Magento. Of course we were leery of it because we’d seen so many other systems that blew out over time. However, after a while we took the demand as a sign that Magento might be the real deal.
We are good at what we do, and almost any other system/platform we’ve adopted we’ve been able to learn within a few months. However, with Magento the learning curve has been much longer. I’ve began to explain to clients that Magento is more like running through a land mine field where after one has blown themselves up enough times, you start to really understand how to navigate the field. That being said, if you are a newbie coder to Magento, I’ll warn you upfront that you may have a long road ahead of you. However, because we’ve come down this road, we’ve more and more seen the need for someone to go out and give an overview of the field with some instruction on how to avoid blowing your leg off.
To understand Magento it is important to understand where it came from and where it seems to go. Magento was developed by a web development shop over about a 12 year span where they grew their own system on the Zend framework. One of the problems of developing any complex advanced system is that over time, the system can become bloated and heavy. Magento is 95 MB out of the box, which is huge and makes it a heavy tank. Most people will find that just straight out of the box it will run slow. We will discuss this more in later posts on hosting.
The next point I explain to clients is that there are three ways to expand Magento:
- Expand by Modifying Core Magento
- Expand Through Extensions
- Expand Through the API
1. Expand by Modifying Core Magento
First off I can make this simple, just don’t do it!! Here is why. Magento is releasing new versions every 2-3 months and all the new Magento extensions will be updated and written for the new version. If you mess with the core of Magento you won’t be able to easily upgrade your site, period. Every upgrade you make may break what you’ve previously done, so don’t mess with the core. We know from first hand experience the temptation, which we’ve fallen into, to just change the core. It may in the short term fix a problem, in the long term it never pays off. So if you have any vision for staying competitive, let me repeat it again, don’t change core Magento.
2. Expand Through Extensions
Just as I said don’t change the core, my mantra for this section is, extensions are good. Extensions are good because some poor developer (in fact at least 4,000 of them) have written pre-made extensions to add to Magento. Literally you may be able to save 50 to hundreds of hours plugging in a pre-made extension. Nonetheless, even extensions can be problematic. One problem that Magento has is that in Magento Connect, the place you can find info about extensions doesn’t always have accurate information. A number of times we’ve found that Magento Connect says this extension works for 1.x.x and it doesn’t. Obviously, policing all the extensions would be an impossible task, but any extension you consider installing, you should consider doing some upfront research on it before installing it. What do they say: “A little preventative medicine can go a long way”? Its true here. I will further, in another post, talk a little more about the different types of extensions and what the pitfalls can be there as well.
3. Expand Through the API
If you need a serious modification and no one has made an extension, the next best idea might be to build an extension or work through the Magento API. The API in general is pretty good and helps you stay outside of the core. Obviously this takes you into a realm of more advanced development, but if you are competitive, this is a much safer place to live than the core. In other posts we will explore some of the ways we’ve worked on Magento in this way.
You are going to be much happier if you will approach Magento appropriately as outlined above. In summary, Magento is what I call the best of the worst, and still to date we see nothing better. Best we can see, the Magento competitors seem to be, at the least, years behind them.
If you need an advanced custom ecommerce platform, we think it is the most economical and expandable platform. We will continue to provide our Magento Tips and Tricks in hopes to help you in this journey. If you are interested in talking to us about a problem you have or are interested in us creating a Magento site for you, click here to contact us.