Zim

[feature request] track dependency between (sub)tasks

Bug #654028 reported by novoid
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Zim
Confirmed
Wishlist
Unassigned

Bug Description

I am searching for the ultimate task management tool and Zim has great potential there. I suggest an advanced task management described below. Probably this features can be deactivated by default so that new users are not confused.

What it takes:

* ids for tasks
* possibility to define pre-tasks that have to be marked as done before task is "active"
* hide tasks until (pre-defined) pre-tasks are marked as done

Example story:

Let's say you want to do the small project "Clean up garage"

There are several sub-tasks:

* T1 ask the neighbor for letting place my car in his empty parking spot in order to get room for garage cleaning
* T2 paint the garage door
* T3 throw away old stuff
* T4 find good spots for stuff I keep
* T5 thank neighbor for using his parking spot while working in my garage

But there is a certain logical structure behind those tasks. Usually, task management tools do not allow to make this structure explicit. You have to use a full blown project management tool which is an overkill for small projects like this.

I have to ask my neighbor (T1) before being able to start throwing away (T3) or finding new spots (T4). But painting the door (T2) is independent of the other tasks. And I do not want to thank the neighbor (T5) before I am finished with the garage.

I am sure you recognize similar structure in most of your "small projects"!

And here's the point: I want a (small) task management tool, that helps me accomplishing small projects by hiding tasks that are *not* relevant at this stage of the project.

How can Zim accomplish this requirements? Well, that isn't that hard I'd say:

Let's define the project above like this:

[ ] Clean up garage
  [ ] ask neighbor for car spot [id:asknb]
  [ ] paint garage door
  [ ] throw away old stuff [id:throw] [pre:asknb]
  [ ] place stuff that stays [id:place] [pre:asknb]
  [ ] thank neighbor for car spot [pre:throw] [pre:place]

After that, you see following things in Zim's task list (TODO):

* Clean up garage
  [ ] ask neighbor for car spot
  [ ] paint garage door

Notes:
* "Clean up garage" should not be able to marked done here while sub-tasks are not finished.
* All other sub-tasks of the project are *not* shown because they do not make sense because of not finished pre-tasks.

Then you successfully asked your neighbor:

* Clean up garage
  [ ] paint garage door
  [ ] throw away old stuff
  [ ] place stuff that stays

So the two sub-tasks (of the project) where asking your neighbor was "required" show up first. I think you already get the idea now.

You throw away the old stuff:

* Clean up garage
  [ ] paint garage door
  [ ] place stuff that stays

Now you find time to paint the old garage door with your son:

* Clean up garage
  [ ] place stuff that stays

Then you finished fighting with your wife where to place the old garbage that reminds you of your high-school time:

* Clean up garage
  [ ] thank neighbor for car spot [pre:throw] [pre:place]

OK, if you thank your neighbor and mark this last sub-task finished, the whole project will be marked as finished automatically (option in preferences?).

Notes:
* Did you notice that there is never a task shown, that does not makes any sense at a certain stage of the project? Cool, isn't it? ;-)
* I suggest, that finished tasks stay in the list for one day. Psychology says that this gives the user a better feeling for accomplishing tasks.
* I am not sure whether there is already the possibility to log datestamps/timestamps when a task is finished. Would be a very cool add-on here.

Final words:

I *do* know that this is not a "small" feature I propose. This adds a very flexible and capable way of project management into Zim.

But I like the idea and flexibility of Zim right now and I do think that this feature will be used by a *lot* of so called power-users that Zim is addressing (in my humble opinion).

Over all the implementation should not be that hard compared to the vast amount of possibilities you get!

Tags: tasklist
Revision history for this message
novoid (v-launchpad-karl-voit-at) wrote :

OK, rethinking it once again, I do believe that "[pre:foobar]" should be replaced by "[post:foobar]" or even better "[after:foobar]".

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

I like the idea. But as you already state this is quite a bit of work to fully implement. It would be good to document this use case and the proposal how to support it in the development wiki - see http://www.zim-wiki.org/wiki/doku.php?id=task_list_improvements for related ideas. Looks like this depends at least on work needed for bug #342733.

summary: - provide an (optional) advanced task management
+ [feature request] track dependency between (sub)tasks
Revision history for this message
novoid (v-launchpad-karl-voit-at) wrote : Re: [Bug 654028] Re: provide an (optional) advanced task management

Jaap Karssenberg (<email address hidden>) wrote:

> I like the idea.

Cool ;-)

> But as you already state this is quite a bit of work to
> fully implement.

Yes.

> It would be good to document this use case and the
> proposal how to support it in the development wiki - see http://www.zim-
> wiki.org/wiki/doku.php?id=task_list_improvements for related ideas.

OK. How should I accomplish this? Copy & paste to the Wiki?
Re-describe the use-case?

I'm new to Zim and your development platform and I do not want to
"break" some workflow you guys are using. So what do you want from
me? I'm happy to share my thoughts on good task management because
so far I don't see any tool that provides me that.

Well, if it comes to enhancements to my proposed use-case, I do
have plenty of ideas ;-)

I just did not want to overdo it the first time.

> Looks like this depends at least on work needed for bug #342733.

Yes, I do think that my proposal includes the solution for bug
#342733
too.

--
Karl VOIT

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

On Mon, Oct 4, 2010 at 5:07 PM, novoid <email address hidden> wrote:
> Jaap Karssenberg (<email address hidden>) wrote:
>> It would be good to document this use case and the
>> proposal how to support it in the development wiki - see http://www.zim-
>> wiki.org/wiki/doku.php?id=task_list_improvements for related ideas.
>
> OK. How should I accomplish this? Copy & paste to the Wiki?
> Re-describe the use-case?

Start with copy-paste. Then we can add comments, add cases etc.

> I'm new to Zim and your development platform and I do not want to
> "break" some workflow you guys are using. So what do you want from
> me? I'm happy to share my thoughts on good task management because
> so far I don't see any tool that provides me that.

We don't have a very strict workflow, but I try to keep the bug
tracker for tracking concrete well defined changes. The tracker is not
very suitable for discussion or for defining ideas that may break down
into multiple changes. We have the mailing list for public discussion.
The wiki is also used for discussion and for documenting the outcome
of discussions on the mailing list. What I would like is to use the
wiki for blueprints, and once the scope and functionality is well
defined link them to one or more items in the bug tracker that
actually cover the blueprint. Also wiki content can be used as input
for manual updates once the feature is implemented.

-- Jaap

Revision history for this message
novoid (v-launchpad-karl-voit-at) wrote :

Jaap Karssenberg (<email address hidden>) wrote:

> Start with copy-paste. Then we can add comments, add cases etc.

OK.

> The tracker is not very suitable for discussion or for defining
> ideas that may break down into multiple changes. We have the
> mailing list for public discussion. The wiki is also used for
> discussion and for documenting the outcome of discussions on the
> mailing list.

Got it.

I'll create a suitable Wiki page this week.

--
Karl VOIT

Changed in zim:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
novoid (v-launchpad-karl-voit-at) wrote :

Added a detailed page to the development Wiki with this usecase:
http://www.zim-wiki.org/wiki/doku.php?id=task_list_with_dependencies

tags: added: tasklist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.