Having worked with Magento intensively in the last years, I would like to take the opportunity to compare this application to the OXID Community Edition, which also follows an OpenSource strategy but has an entirely different background – not only technically, but also historically. This has been discussed by Björn Schotte about a year ago, and we will see what the situation is like now.
Naturally, this post will be somewhat unbalanced: I wrote a book on Magento (and co-authored a second one) while I’ve only looked into OXID for a couple of hours and talked to a couple of people from the OXID community. If I write something terribly wrong about OXID, please let me know in the comments – after all I’m just a beginner in this field.
Company + History
Magento started out as OS software provided by US company Varien, which got renamed to Magento Inc. just recently. After the first productive version (1.0) of Magento has been released in March of 2008, Magento Inc. has decided to announce the (commercial) Enterprise Edition in April 2009, fitting it with more functionalities to cater for the needs of large-scale customers. An additional version, the Professional Edition, was introduced in May 2010. Magento Inc., as is stated on the company website, has been founded in 2001, has now more than 140 employees and is located in Los Angeles, California.
On the other side, the company OXID eSales AG exists since 2003 and produces its software OXID eShop on a commercial basis, selling both a Professional and an Enterprise Edition of their application. With version 4.0, which got released in October 2008, it was decided to also take a step towards OS and release the Community Edition under GPLv3. OXID eSales AG has about 60 employees and is mainly concentrating on business in Germany, Switzerland and Austria.
Installation
For this comparison, I had a look at the OS versions of OXID and Magento respectively.
After downloading the latest version of OXID CE (4.4.1) and unzipping the installation file, there are about 2,400 files, taking about 31 MB on my local disk. In comparison, the latest Magento CE (1.4.1.1) is more than 14,000 files strong and takes almost 100MB of disk space.
After installation – which is considerably faster with regard to OXID, but works smoothly in both cases due to the easy-to-use installer, OXID lives in 63 tables, whereas Magento needs a whopping 335 tables.
These differences in file and database complexity have their root in the different architectures of these systems, which I will come back to a little later on.
Code
One of the biggest problems Magento developers face these days is the fact that the Magento code is only poorly commented and a full documentation is missing. There are initiatives aiming at improving the Knowledgebase for example, and right now good progress is made because of the great articles written by Alan Storm. The reality of working with the Magento application, however, is that developers still need to find bits and pieces of information scattered across the web to effectively work on the programming tasks assigned to them. (A side note: the Magento community pages are a real pain to use!) With regard to code-quality, up until now there are no unit-tests in Magento (which mostly has to do with its architecture and the way in which all components are highly interconnected).
With OXID, it seems that this has been addressed from an early stage. There are unit-tests and the code coverage has now reached 93%. The results of this automated Selenium testing are published on a regular basis. Documentation, like with Magento, is not overwhelming either and can be found on the OxidForge website.
Backend
After logging into the admin panel, it becomes clear immediately that OXID follows a different usability strategy compared to Magento. Here, the main navigation is located on the left hand side of the screen, overview lists take up the upper half of the main content area, the details are worked on in a frame in the lower content area. Magento, on the other hand, follows a different approach, featuring a horizontal main navigation with dropdown-menus and overview lists taking up the whole of the content area.
It’s mostly up to personal taste which strategy is favoured – and in my opinion is not a killer-argument for one or the other system. Two things, however, are notable and seem to set the tone for each system’s strengths.
In Magento, you will find the omnipresent scope selector: this is the most visible proof of the fact that Magento is multi-store system. For each configuration – be it on system or product level – one can decide how far-reaching this should be. Is it a global setting? Does is apply to only certain websites or just a storeview?
With OXID, on the contrary, there is no such thing because the CE does not feature multi-store functionalities the way Magento does (I was told this is the case in the OXID EE). On the product pages there is a language selector enabling the administrator to enter different language versions for product titles, descriptions, etc. What caught my attention in OXID – and this is a major point of difference between the two systems – is the menu section entitled eCommerce Services. Here, the shop owner has access to a variety of interfaces such as affiliate, payment, price comparison engines. These are parts of the OXID eFire system, which is OXID’s hub for connecting the store software to all sorts of service providers relevant for the German market. eFire, it seems at first sight, is a very advanced and easy-to-use system that has no direct counterpart in Magento.
Products and attributes
Another Magento feature that is often quoted is the product types that can be used. Be it configurable products, bundles, product groups and even virtual and downloadable products, the software offers a wide array of possibilities for shop owners to choose from. OXID, on the other hand, seems much simpler in this regard. As far as I could see it, it is possible to enter simple products, add different product options and combine those simple products to form bundles that are put into the shopping cart automatically.
Magento’s architecture as well as its EAV database structure allows for complete flexibility with regard to attributes. For Magento, there are objects such as products, orders and customers etc. that one can attach attributes to – either on a programmtic level or via the admin panel in the case of product attributes. Those attributes can be of different types, so you will typically find price-, text- and number attributes.
In contrast, OXID is constructed in a simpler way and operates with flat tables. A product can be equipped with further attributes, however, those are simply full-text attributes which can be filled with whatever piece of information is necessary.
Magento’s flexibility in this regard comes with a price: performance. Governing a complex MySQL structure by means of PHP means that a lot of queries are necessary in order to deliver the necessary recordsets, for example if a product list should be rendered. In order to address this problem, Magento uses caching on various levels as well as (redundant) flat tables for example for the product data. OXID, due to its more lightweight architecture does not have these sorts of issues.
Frontend
One of the major differences between Magento and OXID is that there is no filtered navigation in the latter. After having marked certain attributes to be used as filterable attributes in Magento, the shop owner is able to let shop visitors further refine their searches. In OXID, this is not the case: here, one can either use the category or the result list without being offered futher filtering. Apart from this rather obvious difference, what the user sees on the surface regarding product selection and purchase is rather similar.
Underneath the surface, however, there is a world of difference regarding how the theming and frontend design are done in both systems. Magento relies on a complex system of blocks that are arranged by means of XML constructions and designed by a mixture of PHP and HTML. Furthermore, files relevant for graphical output are separated in server-readable and –not-readable parts (cf. /skin/-directory.) OXID, in the other hand, relies on the Smarty template engine and a special syntax in its .tpl files
Extensions
One of Magento’s most valuable – and most often cited – assets is its extension marketplace called MagentoConnect. Here shop owners can find more than 2,600 extensions, most of which are free or available at low prices. Thus, Magento’s functionality can be extended without much effort. The free community extensions can even be installed by copying/pasting the respective extension key into the MagentoConnect manager of the admin-panel, which then downloads the extension sources and installs them automatically.
OXID offers a similar system called OXID eXchange. Here, the user can choose between about 220 extension which are both non-commercial and commercial. Those extensions are downloaded as .zip-files and need to be uploaded/copied to the respective places in the OXID filesystem.
Costs
With regard to the license costs of their commercial editions – from what can be learned from the company websites – Magento and Oxid are also different. The Magento Professional Edition starts at about 3,000 USD a year, the Enterprise Edition license can be bought starting from about 13,000 USD/year. The OXID eShop Professional Edition 4 costs about 2,000 EUR (one-time fee), the Enterprise Edition 4 license can be bought for a 13,000 EUR one-time fee and follow-up fee of 4,000 EUR/year.
Tentative conclusion
Of course there is much more to talk about with regard to those two applications, and I hope this introductory post can contribute to the discussion of both systems. Both OXID and Magento have their individual strengths: For OXID, I would like to highlight its more lightweight architecture, the dedication to code quality and automated testing as well as the eFire platform. Magento’s strengths are the flexible attribute system (and on its basis the filtered navigation), the multi-store functionality and the MagentoConnect marketplace.

Thanks for the comparison Roman! (As you know) I work with Magento on a daily basis (as a service provider) and never used OXID. It’s always interesting to read how other systems compare with Magento.
For most request we get from (potential) clients, the attribute system, layered navigation and multi-store functionality are key-features to choose for Magento. The larger extension marketplace also favors Magento, but that might probably just be a matter of time for OXID if it continues to grow.
After reading your impressions I think OXID might be a good choice for the starting e-commerce entrepreneurs. But I don’t see any of our potential clients or existing Magento users choosing OXID over Magento.
Magento has important benefits for larger shops and the most important downsides are downsides for developers, not the webshop-owners. So the features that favor Magento will be of larger impact on the decision making then the features that favor OXID.
As an addition to your post (or a new post) I’d like to see how both systems compare on internationalization/localization.
Pingback: Tweets that mention Magento vs. Oxid – My first impressions |Roman Zenner -- Topsy.com
Hi Roman, thanks for your interesting comparison. Now I know why you had some questions regarding Oxid. For sure I know Oxid installations featuring several languages or more than 700.000 products. So I wouldn’t say Oxid is more suited for small installations.
You also have to take into account, that large shop installations mostly don’t use the admin tool to manage products but a ERP or warehouse management system syncing via API.
And on a large number of products Oxid can fully leverage its performance.
I think when implementing a new system for a customer, we as shop service providers should probably install both shop systems as demos and let the customer decide. This holds true especially if the customer has some experience with ecommerce systems. Those people often know exactly what they want.
Pingback: Lesetipps KW32 | Magento, RedDot, Wordpress - webguys.de
Pingback: Magento vs Oxid – My first impressions |Roman Zenner | Magento News
Thanks for the fair and well investigated comparison, Roman! Just two points about OXID:
The documentation is presently shared on both, oxid-esales.com as well as on oxidforge.org. At the .com site you will find mostly administration manuals but also information for developers like a template documentation, automatic generated source code documentations for each version and the database scheme. On OXIDforge mostly tutorials for special cases found their place and will be extended step by step.
As I understood it right, the “Layered Navigation” in Magento is pretty similar to what we call an “Attribute Filter”. In OXID, it is resolved slightly different: products can be filtered by attributes within a certain category. Of course, this function can be extended by category or manufacturer to be available for the complete catalogue. It’s just a case of your business model. Also, it is possible to change the design to radio buttons, check boxes or a color picker ;)
The attribute filter is switched off in the standard delivery of OXID eShop and has to be activated explicitly. In our demo installation, we left it switched on for the category “clocks”.
Thanks Roman, for the overviews. I am a die hard OXID fan, so this is what I’m biased to;) Unfortunately I haven’t done much with Magento.
I was wondering what you thoughts were about how the 2 systems compare for maintaining 1) customer data and 2) Order processing. Have you played with those?
Also, how do the checkout processes compare. In OXIDland, we have a 5-step streamlined checkout-process, which has been well done by original programmers.
ps: @Marco, the links to category “clocks” seems broken.
Thanks again for the nice article!
Pingback: Magento: calendar position in IE « Php Bugs