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]