web2project Status Update: Contact Cleanup

Another week, another bit of fun… This is the fourth weekly update on the status of web2project development. If you're interested in staying up to date, check out the web2project newsfeed.

First, we've had five commits in the last week.  All five commits closed bugs – two from the issue tracker, two from the forums, and one via email.  Four of those issues were from the community and not core team members.  As always, bug reports are one of the best ways a community can help a project.  A useful bug report is an amazing contribution that almost anyone can make.  After all, no one can fix your issue if the rest of the community doesn't know about it.

Next, we have four open issues.  This is an improvement over last week but still needs some work.  Two of the issues are relatively low priority and don't prevent a Release Candidate.  One of the issues – related to translation handling – is important for non-English users and would allow a Release Candidate, but not a full Release.  The final issue is one of the nastiest and hardest ones out there…  cascading task dependencies.

Cascading task dependencies are one of the single most important things of any project management system.  When you have a task chain (A -> B -> C -> D) and task B is running late, you need to know how late C and D are going to be.  More importantly, this should happen transparently to the end user without any action on their part.  A few of us are digging into this one again and hope to reach resolution on it soon.

Next, I have a major contribution from my friend and colleague Matthew Turland of Blue Parabola. One of the oddities in the table structure has always been in how the Contacts are stored.  There are columns for "contact_email" and "contact_email2" which is great if there are only two email addresses.  It gets even worse with fields like "contact_yahoo" and "contact_aim".  Whenever you want to add a new contact method (Skype, Google Talk, etc), you have to add a new column… which gets unwieldly and silly at some point.

Therefore, Matthew took the insightful step of breaking these fields out to a Contact_Methods table to allow any number of emails, IM usernames, etc.  More importantly, it allows the System Admin to add new types of contact methods at any times.  No more database structure changes just to add the latest and greatest IM system.

Finally, we could use reviews!  If you're using web2project – or even just want to give it a try – do so and tell the world about it.  We don't mind if it's positive, negative, or whatever… as long as we get feedback, that's the important part.  Though, if you do say something negative, please drop me an email with the link.  I'd love the opportunity to address any criticism.