Olympus Product Component
A few select people would already know that I have been working on a rather large project at work since late November. Those same people may not, however, know that this very project will go live tonight at midnight tomorrow sometime.
SM2, the company I work for, have been getting A LOT of emails in recent times from companies wanting custom Joomla! components developed. One such email arrived in October of last year from the Olympus Imaging IT department. Their new website (which launches tonight) will be running on Joomla! and required a custom-developed “Product Catalogue” component.
The task fell in my lap, much to my delight, which entitles me to write this very article. The project was a lot of fun (have I said that already?) and incorporates some pretty features.
The back-end of the site is very much setup to be as simple as possible - the marketing team aren’t computer-geeks, so the interface allows them to get things done quickly and in an obvious manner.
A few technical features of note are things like:
- When sample images are uploaded, the component grabs all the EXIF data from the images automatically
- The author can enter a HEX (web) colour code of the product and colour-dots are generated dynamically on the front-end
- The usual - automatic thumb nailing system for uploaded images
- A very complex associated products algorithm, which grabs products that are associated with the product; any products in categories and sub-categories that are associated with the product; any products that associate themselves with this product, any products that associate themselves with this products’ category/parent-categories, etc… etc…
- Completely patTemplate-d and standards-based (of course)
- Plenty of semi-obtrusive JavaScript (wish I could say un-obtrusive, but that would be a big fat lie).
The whole component is built on SM2’s new AMVC (Advanced Model View Controller) framework, which is a buffer between Joomla’s way of doing things and our preferred way of developing. It also means that when the inevitable Joomla! 1.5 finally releases we only have to modify the framework and not all our components.
Hopefully Olympus don’t mind me posting these, but I have some screen-shots of my favourite parts of the component:

The above shows a recursive-method working hard to cascade categories.

Product images can be flagged as a front or back view and allow the editor to specify the colour. On the front end, different colour-variations are represented by dots which the system generates automatically using the supplied HEX colour-code.

Clicking on the smaller image, swaps the images. When multiple colours are available, a colour selector displays which brings a whole new dimension to viewing the product.

I have been very disappointed by Joomla’s Main-menu module, so while doing this project I built a new one which incorporates patTemplate and some nifty JavaScript for a more standards-based approach. The parent (top-most) categories are imported wherever the menu detects a link to the main-page of the product-component. In the above shot, you can also see “hero” products for each sub-category.

The front-page of the site uses 4 custom-built modules and 1 ‘user’ module to display all the most handy links to other parts of the site.
It wasn’t until last week that we were actually commissioned to build the front-page - gotta love patTemplate. :P
All in all, it was a really great project and the IT team at Olympus are just the coolest bunch. I also realised, I very much prefer working on products like this than doing small jobs here and there for clients.
Today, I had a meeting with my project manager, technical manager and director regarding two much much larger projects than this which will have our development team tied up for in excess of a year, which I simply cannot wait to jump into.
I know, I know… You’re thinking - “James, you’re last post was all about how much you dislike Joomla! and PHP.” - Yeah, well this still holds true, but I need to spend a good year or so developing my skills in another language, so I want to make the most of my time with Joomla! regardless.
January 24th, 2007 at 10:46 pm
Great work you have done there, working with Joomla! previously I really do understand the complexity of the task of what you have done.
But what you have done doesn’t have a 100% relevance to Joomla, as you said your using your own style of framework now and its great to see you have put the time into something like this.
Is this a component that SM2 anticipates to be able to sell individually or will it be kept only towards this project.
Great to hear your also doing some larger projects, they really are much better to do as you can commit and manage your time towards them a heap better then a few smaller projects.
January 29th, 2007 at 1:40 pm
Well, we’re putting the final touches on the framework - which we hope to release in the near future along with upgrades to our current components.
I am currently taking what we’ve done for Olympus and turning it into a more “general” product component. SM2 actually has a lot of clients who use VirtueMart WITHOUT the checkout bit… So, for us there’s definitely a market for a simple way of showcasing products like this. Shouldn’t take much before that’s released also!