Reconsidering dotProject

Nov 19, 2009 at 9:05 am, Jared Stein

We’ve used dotProject in my Instructional Design Services unit for almost two years. dP is an open source project management and task tracking tool that has benefited our unit organizationally, and has helped us follow-through on projects in a more efficient manner. It has also helped me as a manager manage staff resources and understand time-to-delivery of common project types.

However, dP is not without its flaws; indeed, I became so frustrated that late last week I asked my lead developer Ken Woodward to send me some examples of competitive systems that did not include BaseCamp. While BaseCamp is a great system, and probably amongst the top few project management tools out there, it’s not cheap, and we have a lot of projects running simultaneously. Plus, I am a constant advocate of OSS solutions, and in this situation, where many of my staff are student developers, having a locally-owned OSS platform that can be modified by my staff as they learn their trade is very attractive.

Let me note that I always feel guilty critiquing an OSS project, especially when I myself haven’t made any significant contributions to the code. At the same time, with increasing competition in OSS solutions, one has more liberty to leave behind that which doesn’t suit one’s needs. Further, reasonable explication of the features and failures of any system is valuable to developers who are committed to building and maintaining a quality system. So here’s a quick review of dotProject with some particular attention to the broken bits. My next post will introduce the alternatives that we are considering.

Here’s a list of dP’s strengths or notable features:

  • user-based and password protected
  • email integrated
  • distinction between projects and tasks (you’d be surprised how many “project management” tools omit this!)
  • robust data at the project level, with good hierarchical layout of tasks
  • project tasks may be imported into other projects, thus “templates”
  • calendaring
  • task dependency
  • good, flexible task logging and time tracking
  • decent gant charts
  • written in PHP
  • themes

Now, a list of complaints:

No RSS. For my unit, RSS or Atom feeds are taken for granted. If I can’t put my task list on my Google home page, I’m not happy. RSS is easy to script, however, so we could add this feature to our To Do list.

Inconsistent task/to do list. I haven’t quite figured this out, but one’s “tasks” list is different from the “to do” list that dP presents. This appears to just be a bug, as the To Do list–which is actually harder to get to–is more accurate.

Some weird PHP scripting. For instance, project categories: one can create categories for projects, like “in planning” or “in progress” or “pilot” or “complete”. The problem seems to be that dP attaches a simple numeric id to each of these category names. It attaches the same numeric id to the projects in the category. Makes sense, right? Wrong. The category ids correspond to the order in which they appear as tabs in the dP interface; if you change the order, the numeric ids of the categories change, and thus no longer match the project categories. I’ve actually found several examples of similarly breakable scripting in the system (including a stubborn “masking” of certain projects related to this) but this was the most frustrating one.

Calendar/date entry is inadequate. In order to set a task due date to, say, December 2010, you can’t type 12/01/2010, you have to open the calendar GUI, then click, click, click, click through the months until you get to December 2010.

Little data available outside of gant charts. And the gant charts fail to react intelligently to clearly “inactive” projects, instead extending them perpetually as if someone were still working on it (even though no hours were logged). But really the main complaint here is that there is no simple, easy way to access data on staff or projects. For example, I can’t click a user’s name and determine how many hours they logged in dP this week. I can’t look at all projects of a type and get an average of hours spent to completion. I can get clear, individual project data from individual projects

Not embeddable, widgetizeable. Several project management systems have scripts, or embeddable widgets, or even desktop apps that help you monitor your tasks. dP does not yet. If they only had RSS, we’d be able to get somewhere. XML RPC? That’d be cool.

Average GUI. The graphical user interface in dP is average at best. It’s not horrible; it’s not elegant. It could be adjusted with a new CSS, but my experimentation with theming in dP is that too much can go wrong, and I’ve tried several themes that actually break basic features of the system! OK, so maybe I just need to spend more time on this, but compared to theming in Drupal or WordPress, dP theming is no fun.

Small community support. Though the quality of people involved in dP is great, the number of people developing, contributing, and using the system is a lot smaller than I’d hoped for. The last date of a major upgrade or bug fix was July 2008. I really want to add some of my staff to that community, but right now may not be the best time in the history of our organization.

So, we’re looking at other options–and I’ll review some of those next time–but I recognize that in the end we may stick with dP. If we do, it will have to be with a greater commitment to participate in the dP community, because several of these complaints I’ve listed simply can’t be allowed to stand, and its true we haven’t given much back.

2 Responses to “Reconsidering dotProject”

  1. Keith Casey Says:

    If you’re evaluating some other options, you should check out web2project. Three of us split from dotproject about 2 years ago to form the team. Anyway, we address a *lot* of your points:

    * First, we do quarterly point releases with a Major release every June. It gives us the ability to pass recent features and fixes to the community quickly without a crazy upgrade cycle. The team is still small but active… we added the latest member last month – Trevor Morse – who has led development on our unit test suite.

    * While we don’t have RSS output, we do have iCal for Tasks, so you can get them on your calendar right now. While it’s been in since v1.0 (June ‘09), I just started writing the developer docs now… My team uses it with Thunderbird and Mac’s iCal now.

    * The hardcoded todo list and project status issue is still there… we’re working on it. We’ll likely attack that – along with a bunch of other hardcoded things – in the v1.3 (March ‘10) release. One thing we *have* fixed is that the tab order and the id’s are completely independent of one another.

    * Next, you can use the date-picker if you want or you can type the date in manually. As long as you use the right format, we don’t care.

    * On Gantt charts, we filter the Inactive Projects. I’m working on simplifying some of the Gantt chart display now… we eventually hope to convert to a jQuery-driven version for the UI and only use the static image when someone wants to print them.

    * On the widget front, we’ve built out a pretty robust API with a RESTful interface coming next. There are people working on Adobe AIR Task Tracker projects and a few other things right now. We hope more will appear soon.

    * In terms of additional reporting or the additional data, it’s still a little rough. Every person, group, and organization asks for a different type of data expressed differently. We’re hoping to standardize and simplify this, but we wanted to get the rest of the system cleaned up first.

    * The GUI is ugly. In the dotProject world, *way* too much of the business logic was in the View. In the first release of web2project, we were able to move most of that back to the Controller. In the v1.2 Release (T-15 days, December ‘09), we’ve moved most of it back to the Models. While this makes the API above much easier and better, it’s trimmed down the logic of the Views significantly… to the point where a designer isn’t going to kill the system, probably just wound it. ;)

    And more specifically, I’ve been a Drupal user for 5+ years and recently spoke at WordCamp NYC, so in terms of theming, we’re stealing… er… borrowing ideas from people who already had great ones.

    So if you’re reconsidering dotProject, I understand. But in the process, you should probably consider web2project too.

    Sincerely,
    D. Keith Casey, Jr.
    web2project Team Member 2007-present
    dotProject Team Member 2004-2007
    http://CaseySoftware.com

  2. Jared Stein Says:

    Thanks for the info, Keith! I’ll add web2project to our list of systems to try between the holidays.

Post a comment

Anti-Spam Protection by WP-SpamFree