I completely agree with this, though my Magento experience is limited to only 2 sites.

The admin interface is awesome - it has so much under the hood and if your site needs this functionality then Magento is probably an excellent choice. But the tradeoff is the over-the-top complexity of getting simple customisations done. I found myself wanting to extract basic data from the system, and having to spend hours reading up about how to interact with a particular object, where other systems would have been a matter of adding a basic SQL query and moving on. Luckily, many of the frustrations I was having were shared by others, so many of my answers were available by googling for a bit.

Adding simple HTML changes like an extra div wrapped around something becomes a hide-and-go-seek exercise trying to find the correct phtml file where other systems have a more intuitive folder structure for templates. It's not that it's difficult, it's just tedious. I felt embarrassed as a developer having to spend 30 mins to make truly trivial changes, and constantly wondering if there is something wrong with me and if I shouldn't go back to school.

Magento connect is a hassle too - for the reasons already mentioned. There's nothing wrong with the 'download-unzip-upload-install' approach that other systems use for plugins/extensions.

Also I found shifting Magento between hosts quite hard as well - not impossible, but considerably harder than it needed to be- aside from getting the perms right, I seem to recall having to do a str_replace on the database dump to fix some hard-coded references to the old domain / webroot folder and we had some issue with a cached pear file that didn't want to play nice after the transfer. Again, this probably gets easier after doing a few, but certainly far from intuitive the first time.

I would use Magento again, but only for busy sites that would utilise it's features properly and get value out of it. In our case, it wasn't the right choice for the site and the learning curve has been quite expensive.

Harvey.

On 16/06/2010 10:38 a.m., Aaron Cooper wrote:
We've done one multiple site store with Magento and it's an extremely powerful shopping solution. It has everything, and what it doesn't have is almost always available as an extension (many are commercial). When we did this site, I was working with DPS to get a neglected Fontis PXPay extension working and republished after a bout of testing. To my knowledge, DPS have taken over maintaining the extension and it works.
But there are a few trade offs to Magento:
1. It is a rather confusing structure, both physically and programmatically - even for a Zend project. You get used to it, but sometimes it's difficult to even know what data objects a particular template even has access to. An example of this is a simple email confirmation template took hours to get functional simply because there was a syntax change in the core methods, the change was poorly documented, and we couldn't find a way to get the required data outputing to the template. Forum posts started appearing with the same issue, and eventually a worked out the issue. 2. The templating system is a tedious setup. Multiple template directories loaded with phtml files, multiple yaml or xml files for configuration. You'll get used to it faster if you have experience with an MVC framework, but even then it's a rather inefficient setup to manage for a first time Magento builder. 3. For such a popular project with mountains of submitted extensions, community support is very quiet, and core devs rarely hit the forums since Magento is also a commerical product. Quite often, you will find yourself on your own unless it is a common problem. You will find tons of unanswered questions in their forums, some you would think are rather basic level queries for any web application. 4. The upgrade/extension installation process, while very slick when running, requires that the entire base code is chmod to 777, and then chmod back to normal when done. There is a way of doing this safely with a shell command found somewhere in their blog, but the fact that you need root access just to add an extension (instead of "ftp this directory" on other systems) is a bit of a PITA. 5. CMS capabilities are extremely basic. Unless the latest version has changed, you don't even get a WYSIWYG editor. There are a few extensions for adding one however. Magento Enterprise ($11k per year) has a beefed up CMS system. There are also quite a few posts out there for bridging Magento with Wordpress and Typo3. (The latter being the more mature bridge project from what I saw) We invested alot of time in Magento, sometimes cursing the choice - but it was just a learning curve. In the end the client is happy and it has everything they need and then some. After this process, I would only consider it for serious ecommerce businesses with hundreds of products and the need for auxillary ecommerce services (like vouchers, matrix rate shipping, tiered pricing). Anything less, and I would be more comfortable with one of the CMS+Cart solutions already mentioned.
Cheers
Aaron

--
NZ PHP Users Group: http://groups.google.com/group/nzphpug
To post, send email to [email protected]
To unsubscribe, send email to
[email protected]

Reply via email to