James Website
James (http://www.theiconoclast.ca) has been a friend of the family for many years, and a close personal friend of mine. it has been an interesting process trying to help him to adapt to the new communications options that have come about from the inception of the world wide web and later content management systems.
Originally we had built a single page site years ago which served as an online business card essentially. I gradually talked him into the idea of working toward using a system that would allow him to update his content feed on a regular basis, in spite of some early reservations toward the process. There are a few really amazing things that i'd like to spotlight here as examples not only of what i've helped do for him, but simply features of Drupal which i consider to be very powerful and useful.
I'll try to explain some of the concepts involved with Drupal jargon if i can, but what follows assumes a modicum of knowledge of the web.
Music
James is a musician and composer by professional occupation. One thing that i'm glad i was able to talk him into was the idea of sharing some of the content that comes out of his works in progress, or recordings that simply aren't part of an official release. The consequence has been that i get to enjoy his streaming music for free whenever i feel like popping over to see what he's done lately. There are several parts to this feature.
Here is a link to his music page:
http://www.theiconoclast.ca/songs
Each song that james publishes is published as a filefield connected to a node. A node in Drupal is conceptually a lot like an individual page, and so what i'm saying is that i've created a special type of page called a "song page" which has a field in it to which one attaches a single song file. In order for this functionality to happen in Drupal six one requires the following modules:
Audio MP3 Player (mp3player) CCK Content (content) CCK Content Permissions (content_permissions) CCK FileField (filefield) CCK FileField Meta (filefield_meta) CCK Filefield MP3 Player Formatter (filefieldmp3player) Other Automatic Nodetitles (auto_nodetitle) Other getID3() (getid3) Other Pathauto (pathauto) Other Token (token) User interface jQuery UI (jquery_ui)
This thing is great. When you upload an MP3 to the site a few things happen
- The getID3 module will be able to build information about the song/artist etc from the id3 tags embedded in the file.
- The Automatic Nodetitles module will automatically name the node the same title as the file name, or the artist/song from ID3
- The Pathauto module will make use of text parts provided by Token in order to automatically generate the node URL
- The MP3 Player module fits the uploaded file into a streaming mp3 player.
What's most amazing about all this to me is that when you use a view to aggregate a list of "music" nodes and generate a series of mp3 players, the player that you are currently listening to will stop when you click play on another one, which is magic to me.
This tool has been wonderful for not only giving James a way to share his creations with people, but also for us to have a handy way to listen to it without the hassle of downloading the file and running it in another program.
Photos
Photos operate on a similar principle using the following modules:
CCK Content (content) CCK FileField (filefield) CCK FileField Meta (filefield_meta) CCK ImageField (imagefield) CCK Imagefield Import (imagefield_import) ImageCache ImageAPI (imageapi) ImageCache ImageAPI GD2 (imageapi_gd) ImageCache ImageAPI ImageMagick (imageapi_imagemagick) ImageCache ImageCache (imagecache) ImageCache ImageCache UI (imagecache_ui) Other Pathauto (pathauto) Other Token (token)
- The Filefield module works with ImageField to allow for binding of a single image to a content node.
- The real magic is in ImageAPI which allows for automated image optimization for the web. This means that he can upload a really large photo to his website without shrinking it, and the website will automatically create thumbnail, medium and large size.
- ImageField Import is a fancy tool that is used for a bulk creation of nodes, in such a case as wanting to add hundreds of photos to the website.
- Pathauto / Token are used for automatic creation of URL to the photo nodes
The photo page on his site (http://www.theiconoclast.ca/photos) is a view of the uploaded photos. On the front page is a block that contains a view that displays one random photo.
The Front Page
The main feature of the front page is a feed that displays new content ordered chronologically. We decided, after several versions, that the most tidy looking format was a single line for each new item, and it seems to work nicely. I like being able to see, at a glance, what's new on his site.
