Using WordPress as the project information repository

As illustrated in my previous post, I have selected WordPress as the tool in building up my project tracking page.

Below is a recap on what I am aiming to do,

  1. Categorize the entry
  2. Allow visitor to leave comment
  3. Searchable!
  4. Can ease my documentation effort
  5. Time tracking or something like completion
  6. Can integrate with the other resources, e.g. version control, file server, etc.


Turns out I can achieve all but the 5th requirement, which I have decided in doing it separately.

 



Categorize the entry


Setting up category is a breeze but what I want to share with you is the structure I use.

Each category of functions that I need to implement will have their own category, e.g. one of the feature we will implement is called "Document Processor", I declared it as one of the primary category and for any related smaller function will become it's child.

Apart from that, I have created task related primary category, e.g. Coding, Architecture.

So when we create a new blog entry, we firstly select the related function and then the task.

 



Allow visitor to leave comment


Searchable!


These 2 are standard features from WordPress, the only thing that once bothers me is the problem in sending out email to author when new comment is posted. But I have it resolved finally.

 



Ease my documentation effort


Originally, my ultimate goal to achieve is allowing me to run a script, gather what have been put up on the repository and have a document generated. It is good but I don't know how I could do so, have thought about using DocBook but no time to look into it yet.

So, I step back and thing, if I could generate PDF for related post and have them join togehter could be something good enough. I started looking for plugin that generates PDF file and I have found Contutto.

The installation is a snap and one could even modify the CSS file used for PDF generation. I am too lazy to have it touched up and used the default for now. Maybe I will change the layout to match how the project web site is like.

 



Integrate with the other resources, e.g. version control, file server, etc.


What I have done is to integrate the RSS feeds and provide links to the web interface of the external resources from the project page. Thus, the user can use this as the entry point in looking for anything.

I have found the Sidebar plugin a very welcoming feature, especially in integrating RSS feeds. You can get a bunch of widgets from the WordPress website and manipulating them is just some drag and drop. The use of AJAX is clever.

I used SVN for version control and WevSVN provides both the RSS feeds and a web interface for user to browse around the repository.

For files browsing, I am using a little PHP script called e-Directory Index that allows user to browse around the file server and download any of them as desired.

To fulfill my last desire, i.e. time tracking, I have once thought about developing a client that integrates with Basecamp. It's doable as the API are all nicely presented but I just don't have the time. And I am now doing this in the old fashioned way - whiteboard. On each week, I will list out the tasks that has to be completed and give a tick on the item finished.

This solution is serving well and see if there are anything that I can refine.