Drive:Activated is my personal website launched in December 2006. Basically the idea was that I could claim a small part of the net as my own and flood the net with my thoughts, ideas and occasionally useful stuff. There is also a project section designed to let people know what big things I've been up to, and also a photos section for various photos from my life.
You're probably all wondering, what's with the name and the theme when there's nothing about cars here? The name Drive:Activated refers to personal drive, you know, the feeling you get when you want to do something really badly, no matter what it takes. The idea of the name was to a) immediately give people an idea of the type of person that I am, and b) remind myself to keep striving for new things, and never to sit still.
The whole road design was just a visualisation of personal drive, with the skid marks representing the power, and also that it has been activated. Yeh, shit visual comm skills I know, but hey, I only did that for a semester and that was in year 10. Since when do you remember anything from year 10 art?
As you can probably see, this site is built using the Community Server platform, version 2.1 SP1. It was heavily customised firstly for the look (there are three themes in use - the main site theme, and two blog themes, one for the blog section and another for the projects section - yes that's a blog in disguise). There was also some modifications to the code to turn it into a single-blog configuration as well as into the content style that I wanted. For example, I modified the file gallery and photo gallery so that blog links to those items don't open in a new window. I also modified pages like the profile page to redirect to my about page.
My CS Module basically provides functionality that allows people to filter a blog based on a tag criteria and whether to include or exclude. The chosen option is saved as a cookie on the user's computer. Check out the 'Nerd Posts Filter' on my blog's sidebar to get an idea of what it does. It also extends this to the RSS feed handler (the code for the Atom feed handler is not as comprehensive as the RSS so I did not implement this in the Atom feed handler).
Keep in mind that in order to exclude posts, you have to specify all the tags that the post is associated with.
Make sure you backup your CS installation first in case anything goes wrong.
To use it, follow these instructions:
- Download it - SamuelLai.CS.Modules 1.0.
- Copy the SamuelLai.CS.Modules.dll file in the bin\Release folder to the bin folder in your CS installation.
- Open up the View-Home.ascx file in your blog theme's Views folder.
- Add in the following right after the other Register tags.
<%@ Register TagPrefix="SL" Namespace="SamuelLai.CS.Modules" Assembly="SamuelLai.CS.Modules" %>
- Replace the word Blog in Blog:EntryListContainer tag with SL.
- Save and close the file.
- Open up the Skin-BlogSideBar.ascx file in your blog theme's Skins folder.
- Add in the above Register tag in the same place, just after the other Register tags.
- Add in the following where you want the tag filter selection sidebar object to be shown.
<div id="SetTagFilterCriteriaSideBar">
<SL:SetTagFilterCriteriaSideBar runat="Server" id="tfc" Tags="(tags to filter by)"/>
</div>
Replace the (tags to filter by) bit with the tags that you want to filter by, seperated by commas.
- Put the Skin-SetTagFilterCriteriaSideBar.ascx file in the download into your blog theme's skins folder.
- Open it and adjust as needed.
- If you want to be able to filter posts in the RSS feed as well, continue, otherwise stop here, you're done.
- Open up rss.ashx in the blogs folder of your CS installation and replace the only line with the following:
<%@ WebHandler Language="C#" Class="SamuelLai.CS.Modules.WeblogRssHandler" %>
- Now to filter posts in your RSS feed, simply use the parameter Tags to specify the tags (comma-seperated) and the parameter TagFilterMethod and one of the keywords Include, Exclude or NoFilter to specify what to do with the criteria. For example, http://driveactivated.com/blog/rss.aspx?Tags=nerd&TagFilterMethod=Include means that only posts with the tag 'nerd' are included.
Let me know what you think about the module either via comments or email.