Gettings Things Done in Drupal?

Getting Things Done in Drupal, a very ambitious title and unambiguous. You can get lots of things done in Drupal. What I meant here was an integration of the "work-life management system" Getting Things Done and how Drupal could help you do so.

Getting Things Done is a title of a book (amazon) that evolved into a subculture of its own, lots of nerds and geeks dig the way of GTD to gtd. There are lots of computer programs to support you to use GTD as a management system, Things (screencast) for example for the Mac. The way most of these programs work is rather simple, you organise stuff, you file stuff and you prioritize stuff.

Or to be complete:

  1. Collect
  2. Process
  3. Organize
  4. Review
  5. Do

Except for the actuall "doing" part, most mature CMS can help you here. Drupal for example is rather good at collecting and organizing data. So I was amazed that no-one ever wrote a small gtd.module that is able to collect your tasks from ical and your inbox, processes them with some minimal workflow, helps you label them with taxonomy (freetagging?), let you review the todo items and helps you actually doing things within time.

Drupal is a lot. It is a Content Management Platform, A Content Management System and can do amazing stuff. Part of where Drupal is heading is getting into the enterprise, not the layer on top of it; making a nice website with lots of intercation, but in the enterprise. There it will compete with Lotus and for example Sharepoint. Drupal can beat those, they are monolitic beasts that can do something they way the vendor thought it should be done. Rather well suited for that task but not flexible. Drupal as an intranet tool to let information workers share, grow and keep knowledge from falling into becoming information (or worse data). A big market with Open Source not being dominant as it is on the internet side of the company with other rules and integration problems. But a "getting things done" module in combination with the modules that are already there and more API's to use webservices will certainly help Drupal entering the corporate intranets.

So who will GTD by writing a first GTD.module?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I've thought of this as well

hey bert,
I've thought of this as well, and am surprised that there isn't already a module tying it all together. I think that the project module actually does a pretty good job at coordinating the Drupal community in a GTD fashion, even if the terminology is a bit different.

Here's an excellent GTD Workflow Diagram PDF that you can take a look at for more details.

Here's the Drupal project.module analogies to the five GTD steps:
1.) Collect bugs tasks, bugs & feature requests

2.) Either person who files the issue files a patch him/herself. Or processes it into various folders that delegate and defers it like active, code needs work or review, etc.

3.) The organization comes in by other community members who help decided whether it is validly actionable or else processed into the won't fix, duplicate, postponed, or 'by design' trash bin / reference folders. The issues are also filtered and organized to whether its critical, normal or minor significance.

4.) The review comes in collaboratively by individuals declaring which issues they're tracking and checking in to see what status they are in.

5.) The doing then comes in by getting patches to "ready to be committed" status and ultimately fixed and closed.

There are certainly a lot other GTD nuances like context & Inbox = 0 that haven't been fully translated yet, and I'd love to see a GTD.module.

Tao Starbow had a TODO.module as a sub-module that demoss his AHAH forms, but it's pretty barebones.

Issue queue

I've also found the issue queue to be a bit GTD like in its process. One of the major differences (and drawback?) is that issues don't *have to* be Reviewed and Processed, so for some of them nothing is ever decided, they go through, and the queue ends up being enormous with years old issues.
There's no clear separation between Inbox and Project/Next Action. There are filters that serve this purpose, but the way they are implemented doesn't encourage to empty the "not yet reviewed" list.

Count Agaric among the eager anticipators

And maybe even helpers.

It would be great to tie GTD in Drupal with Chandler for offline integration.

GTD in my opinion ties into the larger (maybe), separate (probably), and overlapping (certainly) issue of project management in Drupal.

Here's a person who does both GTD and Drupal, and must be convinced to help bring them together to make his life complete ;-)

Dreaming, and this ties into GTD + Project Management: It would be great to implement *shared* productivity and shared financial management-- you keep track of things individually, but with the potential tie in with different groups or everyone to really get a picture of what's going on, but controlled by you (democratic, nonprofit, private and transparent as needed, secure) not inevitably turned to data mining for marketers, creditors, and government.

Integrating

I'm also surprised nobody talks about GTD in Drupal.
Drupal could help you build a GTD web app, like the existing ones (SimpleGTD, Vitalist, Todoist...), but tailored to your own system. Could even be an install profile..

Integrating to existing websites is a nice idea, and it's even possible without a dedicated module.
As you said it could be as easy as a GTD taxonomy vocabulary, so you can filter tagged content.
It could also be used in a workflow/actions way: automatically setting states to contents, adding them to user role specific lists or contexts in a GTD way.

Doing Getting Things Done

We've been doing this for about a year now with CCK and Views and a few glue modules. When we started our business we investigated things like RequestTracker and so on, but they were just so unwieldy that we ended up using bits of paper and a whiteboard. After working with Drupal for a while and getting to the "hey, I can do _everything_ in Drupal!" stage, I started with a Todo list, and it's been gradually growing ever since.

A few scaled-down screenshots that hopefully won't compromise the privacy of my clients too much:

  • Front page summary (using Panels)
  • Todo list
  • Reading. Bookmarking on steroids. You can assign these nodes to a user, as you would a todo node, if you want to share something intersting you've found. I use freetagging on this. I've found tags like "blogthis" and "computerclub" useful for keeping track of things I don't have time to blog about right now, or things I want to talk about at my next user group meeting.
  • Code Snippets. Commonly used patterns. (Yes, I should be putting these on a public site; I will one day I promise.)
  • Walkthroughs. Frequently executed procedures with too few steps to be worth scripting, but too many to ever quite stick in my head.

The biggest productivity gain for me has been making it easy to annotate todo items with _how_ they were done at the time I flag them as done, so that when I come across a problem that I know I solved a few months earlier, the solution is searchable.

I'm not sure I can think of a way to pull all this together into a generally useful module, but an install profile might be worth thinking about.

The next steps I think will be to integrate client invoicing, and finding a secure way to expose some of this data to clients so that they can for instance track the progress of projects we're doing for them. Then I think I'll get Drupal to make breakfast for me in the morning. And wash the car. And...

which "glue" modules

Matthew,

Can you comment on what "glue" modules you used, in addition to CCK and Views, to tie it all together?

Thanks!

What about Tasklist Advanced?

While I haven't yet checked it out, installing and test driving the Tasklist Advanced module has been on my to do list for a while. It mentions GTD specifically... "The Tasklist Advanced module extends the existing Tasklist module, and adds categorization, additional views, and filtering based on 'Getting Things Done' by David Allen."

Maybe someone here can give it a test drive and report back.

Getting Drupal Done in the Drupal Newsletter

Well, some people do talk about Drupal and GTD in the same breath:

The July/August Drupal Newsletter hasn't "gotten done" yet, but I made a contribution (and plan to make more) in the form of an interview titled "Getting Drupal Done." The point of the interview - and of which I intend to do more - is to bring to light how various individuals manage to be productive within the Drupal community. ie. tips, tricks, ways of organizing one's workflow, helpful apps or scripts, etc.

The feedback I've gotten from a couple folks is that they like this idea, and I know I do. Nothing like peeking over the shoulder of those whose work inspires you...

I intend to do more of these interviews in the future... looks like I first need to see what we need to do to get this newsletter sent out, though.

Imagine a Drupal GTD module with Willy's response times

I guess everybody into Drupal who encountered GTD has had this thought.

One of the main points of GTD however is to remove friction from your day-to-day work management. This means any tool supporting GTD should be smooth and snappy and give instant feedback. Desktop apps may help you there. I believe web apps never will. Unless you run them locally of course, but then what's the point.

I do see a lot of room for Drupal as an intranet tool, though. Lots to explore.

I've been thinking about

I've been thinking about this for a few hours, and have just done a local Drupal install to get playing. I played with task list and advanced task lists briefly but wasn't that impressed.

I think im just going to see how far i can get with CCK, Views, Taxonomy, Panels and the date API. Oh and my new favorite module http://drupal.org/project/relativity

I figure all you need Projects, Actions, Resources and Tickler content types with a Status taxonomy term (for @work @home @shops etc).

If i get something worth while i might post it.

GTD

Webchick and I just brainstormed what would need to be done to be able to be able to use Drupal's project module to file and organize TODO issues better.
Webchick had the idea to make it possible to tag a subscription via the subscriptions module, which is being integrated. Check out the feature request here: http://drupal.org/node/212820