<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    This may be somewhat crazy, but I've never been satisfied with any
    of the todo/task management apps that I know of, mostly because of a
    single common issue that they all suffer from (in my opinion), and
    it suddenly occurred to me a few minutes ago that the typical
    bug-tracking app could be massaged into being a todo/task management
    app that does <i>not </i>suffer from this. So, I'm now wondering
    whether there are any <i>different</i> reasons that this wouldn't
    be a good use case for Bugzilla (or something like it). As
    background, I've used Bugzilla to actually report bugs on various
    projects, but I've never used it running on my own server, or to
    work on bugs that someone has reported.<br>
    <br>
    To back up a bit, the issue that I'm referring to is that it always
    seems like relations between tasks can only be structured as trees
    (well, forests, really): Any particular task can have at most one
    parent task. For me, it always seems much more natural to be able to
    have multiple parents for a single task (i.e. the tasks should form
    an acyclic directed graph, not necessarily a forest).<br>
    <br>
    For a contrived example: In real life, the "Bake a cake" task
    depends upon the "Buy flour" task, which depends upon the "Go
    grocery shopping" task. Typical todo/task apps can handle this just
    fine, insofar as described. But the problem comes up when you
    realize that going grocery shopping can be a dependence for a whole
    bunch of things completely unrelated to baking a cake (e.g. buying
    Liquid Plumber), while at the same time in the other direction,
    baking a cake can be dependent upon a whole bunch of things
    completely unrelated to going grocery shopping (e.g. fixing the
    oven).<br>
    <br>
    I realize that there are workarounds for this sort of thing - e.g.
    allowing a task to have arbitrary "tags", or making multiple in-app
    tasks all meaning "Bake a cake", but these always seem very kludgy
    to me, and I can't help but think using the app would be much
    simpler if it were just able to represent multi-parented tasks in
    the first place.<br>
    <br>
    But, like I said, it just suddenly occurred to me that something
    like Bugzilla does <i>not</i> have this problem. For example:<br>
    <br>
    * Bug "Don't have cake" is blocked by bug "Don't have flour";<br>
    * Bug "Don't have cake" is blocked by bug "Oven isn't working";<br>
    * Bug "Don't have flour" is blocked by bug "Need to go to the
    grocery store";<br>
    * Bug "Toilet is clogged" is blocked by bug "Don't have Liquid
    Plumber";<br>
    * Bug "Don't have Liquid Plumber" is blocked by bug "Need to go to
    the grocery store".<br>
    <br>
    Obviously you wouldn't have to describe the tasks in terms of being
    "bugs", but (A) I'm putting it in Bugzilla-esque terms just to show
    the idea, and (B) I kind of like it, tbh :P<br>
    <br>
    Crazy or not, that sounds pretty great to me, so now I'm just
    generally asking "Are there any other reasons why Bugzilla might not
    be great for this?", plus some specific questions based on that
    general question:<br>
    <br>
    (1) Is there a way (preferably an easily usable way) to do things
    like "Show me all current blockers", ordering by priority and/or due
    date? I'm guessing the answer is "Yes, of course", but more
    specifically:<br>
    <br>
    (2) Can things like "priority" and "due date" in that refer not
    simply to the blocker in and of itself, but also to the things that
    it blocks? For example, I might decide one day that I should (for no
    particular reason) buy some flour, and thus add a "Buy flour" task
    with priority "Low". But the next day, I might REALLY REALLY NEED
    CAKE, so I'd add a "Bake a cake" task with priority "Critical".  In
    the report, I would like the "Buy flour" task to then be considered
    "Critical", without me needing to go and manually update that task.
    And if I then buy enough flour to bake a cake but for some reason <i>not</i>
    enough to cover all my upcoming, low-priority predicted baking
    needs, I'd like "Buy flour" to <i>automatically</i> revert to "Low"
    in the report after I mark "Bake a cake" as being done.<br>
    <br>
    (3) This is really a would-be-nice rather than a need, but: How
    about ordering by something like... not sure of the actual
    terminology to use, but... the <i>combined weight</i> of the things
    that the blocker blocks? So something along the lines of a blocker
    that blocks a bunch of critical tasks being more important than a
    blocker that only blocks a few critical tasks.<br>
    <br>
    (4) Same not-really-a-need sort of thing: What about repeating
    tasks? Is there a reasonably easy way to submit the same sort of bug
    every week or whatever? I mean, that cake I bake today isn't gonna
    last for the rest of my life.<br>
    <br>
    Please help. I really need cake.<br>
    <br>
    <br>
  </body>
</html>