Dr. Gonzo's Instrument Finder

Introduction

Dr. Gonzo's Instrument Finder is a Dutch website that offers an overview of musical instruments and their availability. Altough it currently hasn't got one of the most awe-inspiring designs ever, the functionality and underlying technology are well thought out. I'll relate some of the experiences on the design and maintenance going on behind the scenes.

The Technology

Build or buy?

Main page
Site main page.

One of the first decisions to make was either to build a fully new Content Management Solution, CMS for short, or purchase or download an existing system to build upon. I chose to do the former because of the specific requirements of the site. For the graphics design, I decided to start upon a solid base of Crystal icons provided for KDE.

As a technical base I used the PHP hypertext preprocessing webscripting language, as it is a common scripting language with good security support. The database backend is a PostgreSQL server, which I chose because of a severe lack of features in the other major open-source database server, MySQL. PostgreSQL allowed me to finetune a lot of queries and more importantly it supports proper foreign keys and transactions.

Defining the goal

Shops, lots of them
Overview of shops.

Creating Dr. Gonzo's Instrument Finder was mostly a matter of charity: we wanted to provide a central point for information about the availability of musical instruments and we'd really want the shops to feel involved and update their inventory. Seeing that there are more than 75 shops listed on the site, administrating and maintaining a valuable database would provide tricky without external support.

The problem with a charity based setup was that it wasn't really going to earn us any money, which is no problem at all as long as it doesn't cost as anything either. At that time, we were looking at the cost of the domain name, hosting and trips made to several shops to get the initial contacts going. After several months of running the site without any revenue-generating features, I decided to sign up for Google's AdSense which could deliver some income, and it did.

The site's maintenance is in good hands as well: instead of manually having to go through more-than-seventy shops, we've got a lot of administrators logging in themselves. All in all the site's been doing well ever since it was started up.

Some random numbers

Dr. Gonzo's Instrument Finder isn't really huge, but it's surely outgrown hobby-size. Some random numbers include:

  • 3 instrument categories: guitars, basses and effects.
  • 118 different bass models, 21 different effects categories and 181 different guitar models.
  • 101 manufacturers listed.
  • 1742 unique instruments listed: 469 basses, 461 guitar effects and 812 electric guitars.
  • 80 administrators who've added more than 4600 prices for instruments.

CMS Features

A quick peek behind the scenes

Administrator overview
Administrator overview.

Administrators of the site have access to a special administrative area of the site, which is hidden from a normal visitor's point of view. Because of a least-permission security scheme, not all of the administrators have access to each section of the site. For example, there's only two trusted administrators who have got full superuser privileges to perform remote site maintenance.

The most basic form of administration is adding prices for existing instruments. For the beginning administrators, there's a detailed manual available on how to navigate the site and how to maintain their inventory.

Superuser accounts

Load graph
Load graph.

For the superuser administrators, there are advanced options available like requesting the system's performance status, creating a graph of performance history, optimizing the database backend and managing the administrative accounts.

Besides administering the aforementioned items, superusers can define display templates for displaying the inventory of a shop in a customized graphical format, so that shops do not have to maintain their prices on two separate pages at the same time. Defining a display template can be done through the webinterface of the CMS itself.

Related pages

Check out these pages for more information on Dr. Gonzo's Instrument Finder:

Back to top