Jul 29, 2008
My first contact with the website JazzForYou.de happened when the owner and jazz guitarist Gunter 'Ruit' Kraus was recommended to me as a teacher for the two months I was to spend in Heidelberg. Despite a decent first impression, a 1997-esque structure and some too common faults very quickly popped up, so after meeting with Gunter for the first time it didn't take long before we agreed on a site redesign.
The project took me at the heart and what had started as a simple drupalization quickly became a complete site overhaul, from the site structure to the design, for which I called for the assistance of Troy Shields with whom I have worked on numerous projects before.
JazzForYou turned out to be an ideal project to test Drupal 6, the RC versions of Views and CCK as well as a few other modules whose port is still unstable: not too big to be risky, not too small to be trivial.
- Drupal 6.3
- Views 2
- CCK, with Date and Link fields
- Webform for the concert and lesson booking forms.
- Development version of imagefield, imagecache & imageapi
- Filefield for the rest of a variety of files, from pdf documents containing notes to mp3's for download.
- TinyMCE's media plugin for youtube videos.
- Google analytics
- Custom Breadcrumbs
- Pathauto, token
- Devel and the included theme developer module, admin menu.
- TinyMCE used with a limited set of functionality.
Benefits of Drupal 6
- The new interface for views 2 took some time to get used to, but the adaptation time was worth it. The possibility to create multiple instances of a view, each of which can override specific properties, proved to be very useful, even on a relatively small site like JazzForYou.
- Small but very important changes in CCK's user interface improved usability drastically. The click count for any task is now much lower, especially when combined with admin_menu which lets you access directly a specific field on a specific content type.
- Drag and drop is awesome! Core uses of this functionality is nice, to reorganize blocks or input filters for example, but the biggest advantage came when reorganizing multiple-valued CCK fields, which wasn't possible at all before. The drawback is that users get so excited that they want to drag and drop everything on the screen.
- Using the theme developer module and the theme information tab from views 2, creating custom theme templates became incredibly easy. I used page-specific body classes before, but having them built in saved some time. I didn't even need a template.php file!
- Making a German website, most of the interface was actually in German, which confused me at first, so I switched my own user account to English. What I didn't is that URL aliases can be language-specific, even when multilingual content is not enabled. I ended up with a mix of English and German aliases, which would of course behave differently depending on the user. After finding the cause of the problem, I did everything using the German interface, which turned out to be great for the expansion of my technical vocabulary. The language of the aliases had to be fixed by editing the URL alias table directly in the database.
- Video: For various reasons, including bandwidth (the site is on a shared host), complexity of the video upload and traffic increases, I decided to include videos from youtube rather than host them. The video portion of the embedded media field being not functional yet under Drupal 6, I had to use the media TinyMCE plug-in. It's not as elegant from an architectural prospective, but it's very easy and intuitive to use for the end user.
- The reworked theme system is great, but it took me some time to figure out some rules that didn't seem obvious at first. For example, you cannot override a node-type specific template if you don't have a generic node template in your theme. The same works for content field templates.
- Due to the dependency of imagefield on filefield, I had to use the latest development version of filefield as well. It might not be as stable, but the upgrade had some new features and fixes for a few bugs that were affecting me.
- Inline images: still no good solution. The image sidebar provided an elegant alternative in this case, but it doesn't provide a generic solution.
As I experienced it through many hours of music and discussion, Gunter Kraus is not only an incredible jazz guitarist but also a teacher passionate about his art, and the new website proved to be the tool he needed to communicate his love for jazz to the world.