in Geek

Drupal modules
used on this site

January - 24, Sun, 2010

How big do you want to see the Drupal icon?

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.


评论

Anonymous user

I really admire this, I mean it really looks interesting! Very nice write up. Anyways, its a Great post.

Anonymous user

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

这不会公开显示
CAPTCHA
这个问题是测试你是否是人类访客,以防止垃圾邮件的自动提交。

Buy from Amazon

Image of Pro Drupal Development 2nd Edition
victoriachan

曾晓恬目前在牛津当网络程序员。她从小在新加坡长大。