E-commerce platforms come in all different shapes, sizes, and feature sets. Some want to reach for the stars and others have a small, as my American friends would say, Mom and Pop approach. Each has their own pros and cons and address different needs.
Maybe you run an e-commerce shop of your own, or maybe you work for a firm specializing in assisting business owners establish their own e-commerce presence. Irrespective of where on the spectrum you fall, one question is hard to avoid:
What is a reliable, feature rich, e-commerce platform that is easily customizable to my needs?
I don’t have an axe to grind against any of the aforementioned choices. But, having used a few of them, specifically Magento, I personally find they can be a bit complicated to work with to achieve what I need to. If you’ve ever worked with the Magento EAV data model, you know exactly what I’m talking about.
In this 3-part series I’ll be giving you a hands-on introduction to OXID; a platform which the English speaking world hasn’t heard much about. I say English speaking world as the product is based out of Freiburg, Germany and the majority of the available online documentation is consequently in German.
OXID is used by a number of high profile vendors including Mercedes Benz, Zeiss, Carrera, Sindopower. Suffice to say, from this list, the scale of the shops able to be built are sufficient for business of nearly any size.
Disclaimer: I do work for an OXID Certified Partner. So I won’t lie to you. I do have a slight bias towards the product. But I’m not plugging it for that reason; I’m plugging it because, despite its quirks, it’s a simple and effective platform which gets out of your way, letting you get on with the job of setting up and customizing your e-commerce store.
This is how the series will work:
- In part 1 we’ll see how to get up and running with a basic installation of OXID.
- In part 2, we’ll go through the process of customizing the look and feel of an existing installation as well as some of the key backend options.
- Finally, in part 3, we’ll go through how to really spice up your installation by writing a custom module, allowing us to display the latest tweets for our Twitter account.
So with that, let’s get under way.
Features and Requirements
OXID comes in three versions or editions: Community, Professional and Enterprise. For the purposes of this series, we’ll be focusing on the free community edition. Fundamentally there’s not much difference between the three versions. However, the table below lists the key features, as outlined in the official documentation.
The requirements of the shop are surprisingly, rather minimal.
- PHP 5.2.10 or higher (plus extensions: glib, bcmath, json, php-xml, libxml2, icon tokenizer, mbstring)
- MySQL 5.0.33 or higher
- Apache 1.3 or higher
Now this is a bit of a gloss over. Like any good shop, there will be a number of areas to consider, such as caching, proxies, etags, gzip compression and so forth. However, the basic requirements of the shop are still rather lightweight.
The installation that I’m using throughout this series will be using my standard development environment. This is based on VirtualBox VM, with a Ubuntu Linux guest OS.
It’s configured with only 512mb of memory, along with MySQL 5.1.62, Apache 2 and PHP 5.4. If you have a less powerful configuration, you should still do just fine.
I can’t speak for other web servers, such as NginX, Lighttpd or Microsoft IIS. So if you’re using one of those, your mileage may vary. However, if you’re comfortable in managing any of them, feel free to use them; and let me know how you get on in the comments.
The Setup Procedure
Ok, first download a copy of the Community Edition of OXID. You can fill out the registration form if you’d like to, or simply go direct to the download. After the download is complete, extract the contents from the archive and put them into your Apache document root to serve up the shop.
The first thing you’ll see is the setup/install screen. However, we’ve not yet setup a database for our installation. So, if you’re comfortable setting it up, then go ahead and create a new database along with a user with suitable permissions. The following instructions will do this.
CREATE DATABASE oxidtestshop; GRANT ALL ON oxidtestshop.* TO 'oxidtestshopuser'@'localhost' IDENTIFIED BY '<your_password>';
With that done, go back to the browser and step through the configuration options. The first screen which you’ll see is the pre-check screen, which checks PHP is at least at the minimum required version and has all of the required configuration options set and extensions loaded.
You’ll see, on a level of severity, from red to green, how your setup rates. If you have any red items, please configure or install them. If you have yellow graded items, consider if you’d like to address them or not.
If, at first, you see everything in German, you’ll see a select box next to Sprache für Installation. Click it and pick English. The installer will then reload to English and you can continue on with the setup. (If your German’s good enough however, continue on with the installer as is.)
In the second step of the wizard, there are a few options to choose from:
- Your market
- Main delivery country
- Shop language
- Check for updates regularly
I’ve set the market to “Any other”, main delivery country to Australia (I’m Australian and totally biased), and Shop language to English and opted in to the regular updates.
What this step does is to ensure the shop is sufficiently localized for working in the target market extending the localization options appropriately.
The Shop License
With those options chosen, click the button at the bottom, Start installation, where you’ll be taken to the License conditions page. This indicates that the code in the store is covered by the GPL. If you’re comfortable click “I accept license conditions” and then click Continue.
Now we’re at the database configuration stage so enter the database name, username and password which we specified earlier. I’ll assume your database is on the same box as your web server, so leave hostname set to localhost. The two final options are worth noting. Click “Install demo data” and “UTF-8 character encoding”.
The demo data will help make the store more meaningful later on. UTF-8 encoding will make the store much more flexible and friendly for just about any language you’d care to work with; something always handy to have.
Admin User Configuration
Now there’s just a few steps to go. Next, you’ll be able to set the shop URL and administrator user details. You’ll see the shop URL and directories for the shop root and temp directory are already pre-filled.
Unless you need to, leave these as they are. Enter a username and password for the admin user, then click “Save and continue”. At this point, the setup is complete and links to the store frontend and admin login are available.
The Running Shop
By clicking on To Shop, you’ll be taken to the fronted of the shop, which will look like the screenshot above. This shows what the default install of the shop looks like, when loaded with the demo data we chose during the installation.
It has a very stylish theme presenting a surf shop. You can see the latest specials, best buys, a scrolling banner, the top level navigation with colorful drop downs and over in the top right the user and checkout related menu options. It’s clean, stylish, and quite fresh.
In the screenshot above we’ve drilled down to the Kiteboarding category. It, like many other e-commerce shops, shows the sub categories both visually and textually. You can see clearly here down the bottom of the shop all of the sub items which are common to all shops (whether normally or legally) as well.
So all in all, on the front end OXID is a very modern and feature rich e-commerce shop, able to meet all but the most demanding or custom of needs for online commerce. Now let’s look at the backend to finish up this introduction.
Administering the Shop
In the screenshot above, you can see there is an absolute wealth of options available, from the standard basics including:
- Configuring products
- Product categories
- Product attributes
- CMS pages
- User and group management
Then it goes right up to the more advanced options of:
- Custom/third-party modules
- Third party extensions
- Payment methods
- Tax and shipping rules
- Shop statistics
In your installation, have a bit of a play around and familiarize yourself with the options available and just how much configuration is possible. Like all packages with a large amount of features and configurable complexity, it can take a bit of time to become familiar with it all.
That brings us to the end of the broad introduction to OXID eSales. I know it was a bit high-level at this stage, and we didn’t get too hands on. But that’s all going to change. In part 2 we’ll start to create a custom theme based off of the default. Then, in part 3, we’ll be creating a custom module. So stick around and get ready to get stuck right in to some good code.
So what do you think of OXID? It’s not as complex to setup and configure as, say, Magento, but that doesn’t mean it’s not as suitable for yours or your clients e-commerce needs. I hope you’ve seen it’s quite a capable and feature rich store – and in the coming parts of the series, which you can tailor it to suit your project requirements. Have you used it before? Would you be keen to try it for your clients?
Let me know in the comments.
Image via Fotolia
Matthew Setter is a software developer, specialising in reliable, tested, and secure PHP code. He’s also the author of Mezzio Essentials (https://mezzioessentials.com) a comprehensive introduction to developing applications with PHP's Mezzio Framework.