If you have been looking around for an open source shopping cart / e-commerce system in recent times, you most likely have come across Magento at one point or another and wondered at how it works in real live.
There certainly are some good things to be said for it. It has an impressive feature set, and an intuitive interface which allows the store admins flexible control over discounts, pricing, taxes, etc. However there are some strong drawbacks to consider before taking the plunge and integrating it on a site.
First off, it is fairly resource hungry. If you are in a shared hosting environment, I would not consider it a viable option at all. Page load times will be significant, and adding an item to a cart will require the patience of Job. On a dedicated environment there are a number of tweaks that can be implemented to bring this down to a much more acceptable level however.
Secondly, nail down your requirements for the store first. If Magento doesn’t do what you need out of the box, or there aren’t any modules available in the community that meet your needs, anticipate a steep learning curve. Magento is developed using the EAV data structure, so don’t expect to be doing many direct SQL queries yourself to access data. Also, the object API is poorly documented, and in some cases broken.
Templating can be a bit of a bear until you learn which files to edit. Even then, a single page may be split across about a dozen files. Be sure to enable the theme developer hints in the configuration. This will help you out immensely in tracking down where content is coming from.
Lastly, I would recommend checking out the magento forums. There are so many threads that start with “Has anyone gotten magento to do x?” followed up with “I would like to know as well… anyone?”. The development team doesn’t seem to be able to keep up with the requests for features and isn’t the most communicative.
However, if you have your own server (or a good level of control over the environment and resources the project is being deployed in), and only need the features that are available through the interface, it can be a great solution to put in place.
Has anyone else had experience in Magento they wish to share? I’ve been told I should start a support group.