in Geek
Drupal modules
used on this site
January - 24, Sun, 2010
A few years ago, I moved my blog from Wordpress to Drupal. It was a rather painful experience then, theming Drupal to do what I wanted, because it was my first Drupal website and it was Drupal 5.
One day, when tidying up files and directories on the server, I mistook the blog for a test site I created earlier, and 'accidentally' deleted the entire codebase and database in that one instant. After that I was too heart broken to recreate it (I didn't use any version control or backup at that time), and to be honest, I really hated it anyway. It was all hacked together in such a fragile manner, it was full of bugs and unusable.
So now, after more than a year of bloglessness, I finally thought I could give it another shot. This time, I was more familiar with Drupal, having implemented it at work, and also I was well armed with the wonderful Pro Drupal Development book written by John Vandyk, and also I would be using the much improved Drupal 6.
Indeed it all went quite well; I'm quite pleased with the website, and I enjoyed working on it.
I've listed here the non-core Drupal modules that I am using on this site together with some brief descriptions of why I am using them. I hope someone will find this useful.
Admin modules to my job easier
- Administration menu
- Adds a nice admin menu in the top bar, making it much easier to navigate among admin pages.
- Devel
- Helper functions for developers. Includes the super helpful dsm($vars) function to output complex variables in a nice format, and much more.
- WYSIWYG (with Tinymce)
- Making editing much easier.
- Google Analytics
- So I can see interesting data about the visitors to this site.
CCK / content-type
- Embedded Media Field
- For adding pictures from Flickr, videos from Youtube, Vimeo etc 3rd party providers to my posts as a CCK content field.
- Link
- So I can a link type content field for the 'See also' links at the bottom of the pages.
- Five star + Voting API
- For the 5 stars rating widget on the Reviews pages.
- Webform
- For creating form pages such as the Contact Victoria form.
- ImageCache
- Really useful for resizing uploaded images for display so you can use the same image in different sizes for different areas of the site.
- ImageCache Profiles
- I used this in resizing your avatar picture for output in the comments and in your profile.
- Imagefield + FileField
- For uploading images as a CCK content field content.
- Lightbox2
- Creates a lightbox for uploaded images like on this page.
Theming and front-end display
- Custom Breadcrumbs
- Because the 'Life' and 'Geek' sections share the same content-types, and are only distinguished from each other by the 'Section' taxonomy choosen on each post, the default Drupal breadcrumbs just wouldn't work for it. So I've had to use this module. Also for the Today posts, I wanted to put the dates in the breadcrumb instead of the post titles. I am also using this to configure the user pages breadcrumbs to make the site more usable.
- Menutrails
- So I can have the pages appear to be in the correct section, and highlighting the correct navigation tab without having to manually add them to the menu tree. This probably overlaps abit with the Custom Breadcrumbs module, but the breadcrumb feature is not as powerful as the Custom Breadcrumbs' so I have disabled the breadcrumb feature on this.
- Pathauto
- Essential for creating path aliases.
- Custom pagers
- I'm using this to show the 'next post', 'prev post' links at the bottom of each blog post. I have hacked it a little to make it show the blog titles instead of just 'next' and 'prev'. Note that this module is buggy with block cache. So I've had to turn the caching off.
- Date
- Add more options for the date formats.
Views and queries
- Views
- Can't do without this!
- Term Node Count
- Display node count values for your terms in views. I used this to count the number of posts using each of the topic taxonomy terms so I can style the tag cloud in the Topics page and on the homepage block to show different font sizes for terms according to usage.
- Token
- General useful tool for detailing output in views, and other modules as well.
Others
- CAPTCHA + reCAPTCHA
- Used this is user registration and web form submits. Hopeful this will reduce the amount of spam on the site. So far so good.
- Twitter Pull
- This is a brilliant light-weight module that lets me output Twitter feed in blocks on the site. The feed is cached so we won't have to contact Twitter for every page load (which is what the Javascript widgets normally do), and also so it won't hang the pages when Twitter is down. The module doesn't provide an admin interface or block for output. But it is really easy to create your own custom glue module to be used with this.
- i18n
- Opens up more content for translation. I had to use this to translate user profiles.
- Amazon
- Adds a convenient CCK amazon field for adding an amazon product to the page. Also caches the image and info. It also does a whole lot more. Probably an overkill for my site.
Also, it might be useful to mention that I use Mothership for the site theming. I then created a brand new theme based on the barebone templates. It worked very well, and gave me the flexibility to theme the site according to my design without leaving legacy junk. If there's something else you see on this site that you are curious about, please feel free to ask.
The site is currently still under construction. I have yet to add the RSS feeds, and sort out the search styling, and other nice-to-have features. It is also in my plan to add another theme, a skinny version for users using older browsers or who just like things plain. Also there are the tweaks for usability. But please send me your feedback and suggestions.

コメント
I really admire this, I mean it really looks interesting! Very nice write up. Anyways, its a Great post.
developing an open source analysing tool >> OS-analytics
Landed on your site, searching for a twitter-updater-plugin. Wonder if it still exists ?
To me you seem to be a real techie - my question: why is also a techies like you using google anlytics to know who's visiting their site ? With google-analytics, my data are being stored on google-servers and I've no control over these data. I'd rather have my surf-data stored nowhere.
Why don't "you all" (nerds/techies) develop an open source analytics tool that operates indepently from any global commercial data-collecting company ? That would be great.
NoNerd10