Magento : Lets take this out back!

I have a client who recently switched his hosting provider to a more flexible one, and as we transferred to the new provider, we made a few improvements to his site’s back end and found a new product to meet his e-commerce needs as well… or so I thought.

Magento Opensource eCommerce

Enter Magento. So, at first glance, Magento looks like a sweet Web app. It has really cool features and tools that will help my client manage his online sales and order process, notify him when his stock is getting low, when someone has placed an order, and eventually integrate with QuickBooks so that there’s less data entry and more selling. Besides all that, it’s opensource, scalable, and is actually a pretty nice e-commerce solution. For the person who has to develop it (me) it’s a nightmare for now.

When I got this client I started to educate him on best web practices, why they matter, and what is going to improve his website. Eventually I was able to ween my client off of a GoDaddy website and GoDaddy shopping cart set up because it posed limitations, slow response times, and lack of features. But, what do you expect for a “cheap” solution set up by the client himself who isn’t a web developer, much less a designer? So, after a bit of research and keeping an open ear out in the development community, I suggested we try Magento as it looked to be the ideal solution and would allow customization and custom skinning. Little did I know that as soon as I switched over, what should have been a 6-8 hours for set up, product transfer, and skinning turned into a “To be continued…”.

The first thing that threw me off once I started to change the way Magento looked and worked was when I opened Magento’s root folder and got lost trying to find where the files were that I needed to make changes to which would update the design and content accordingly. Everything is done as a PHP include and it’s buried deep within folders, within folders, within folders which aren’t always logically labeled. Besides that there were may files with the same exact name in different folders, so that if you were in the wrong folder and didn’t know it, you might be changing the wrong file. Another issue I encountered had me 4 hours into a debugging with setting security on the site, with an initial attempt at searching on my host server for the security configuration file via Apple’s Terminal and then finally arrived at the problem. The problem turned out to be a corrupted file several folders deep into the site’s files that was corrupted on install. Once I figured that out, I was able to fix my problem in about 10 minutes including uploading the new file and also fixed another administrator side error that was being caused in the admin area.

Other beef I had with it, was that on default set up, it runs sluggish due to the amount of JavaScript that is uses which is placed in the header tag in the HTML. It also takes 5.44 seconds to load a blank page… blank in the sense that there are no products being loaded or displayed, just the design shell. I also fought and continue to fight with the coding to get a simple page to call functions correctly and pull data from my database to basically recreate one page’s content for another page. This ongoing battle is also part of the “To Be Continued…” part that is frustrating. Another learning curve I had to adjust to was based on the fact that their files are built as PHTML and if you’re not familiar with what that is, it’s PHP and HTML combined as a custom PHP extension which is definable in your server’s httpd.config file.

To add the icing to the cake, if you go to the Magento forums, there are many, many, many developer and implementation questions and a few administrator responses. There was a couple of questions that ranged in age of 2 weeks old to 2 or so months old which still had not been answered. Forums for developers are a great way to help out others and yourself overcome issues, bugs, difficulties and learn how to do new things. On the forums currently for Magento , everyone seems to be asking questions with very few answers. Seems like the community as a whole are having problems too. I work with a developer who also has been implementing Magento into a client’s site… and his basic response to Magento was very similar to mine.

Magento was definitely written by back-end developers as you can tell. I think in a version or two, Magento will probably be a pretty solid, front-end developer friendly product with easy skinning and a ton more standard, built-in modules. Until then, plan on long nights and ample frustration… Or maybe you could try all those different desktop stress balls and such that are out there.

29 Responses to “Magento : Lets take this out back!”