Loading ...
Sorry, an error occurred while loading the content.

Re: [todotxt] Tasks dependency in todo.txt

Expand Messages
  • sabre23t
    A few thoughts ... (1) Having a WBS (work breakdown structure) coding may provide sufficient dependencies between the tasks. Child task depends on parents.
    Message 1 of 9 , Apr 10 7:38 PM
    View Source
    • 0 Attachment

      A few thoughts ...

      (1) Having a WBS (work breakdown  structure) coding may provide sufficient dependencies between the tasks. Child task depends on parents. Sibling task depends on earlier tasks.

      (2) WBS coding could be simple one word dotted numbers ...
      1.
      1.1
      1.1.1
      1.1.2
      1.2
      1.4
      1.5
      ... etc

      (3) The todo.txt clients can display the task properly sorted and indented. And possibly make the sort permanent in the todo.txt file.

      Make sense?

      On Apr 11, 2012 6:31 AM, "Paul Beckingham" <paul@...> wrote:
       

      On Apr 10, 2012, at 5:23 PM, Ed Blackman wrote:

      … Here are my design thoughts. …

      Speaking from the position of having implemented this elsewhere, I'd like to point out that there are some tricky aspects to this, which warrant careful planning.  This is a can of worms.

      The dependencies themselves are not a problem, but what lies next can be challenging.  For example, you might want to think about:

      - Can one task depend on multiple other tasks?
      - Is dependency circularity allowed?  Probably not.
      - Can you easily determine whether a task is blocked?  Probably not, because it will involve walking a chain of dependent tasks to the end.
      - Can you easily identify blocking tasks?  Not easily because it involves looking at the reverse relationship - if "1" depends on "2", then "2" is blocking "1", but "2" contains no metadata to that effect.  This also involves walking the chain.
      - Dependencies imply that a tool can then be used to determine things like critical path.
      - Can a task depend on a project?  Vice versa?

      Nice job with 2.9 everyone!

    • Danilo Zanatta
      Thank you all for the suggestions. One thing in common in all of those (and also a sentiment that I share) is that the todo.txt is supposed to be simple. So,
      Message 2 of 9 , Apr 11 12:33 AM
      View Source
      • 0 Attachment
        Thank you all for the suggestions.

        One thing in common in all of those (and also a sentiment that I share) is that the todo.txt is supposed to be simple.

        So, my next question to the community is:

        How do you handle dependency among tasks in your daily workflow?

        Thanks again,
        Danilo

      • Mike Searcy
        I say do this with +projects for instance: (C) Clean out the garage @home +SpringCleaning +CleanGarage Rent a storage unit @errand +CleanGarage Buy storage
        Message 3 of 9 , Apr 11 6:04 AM
        View Source
        • 0 Attachment
          I say do this with +projects for instance:

          (C) Clean out the garage @home +SpringCleaning +CleanGarage
          Rent a storage unit @errand +CleanGarage
          Buy storage unit @errand +CleanGarage
          Organize into trash store and sell piles @home  +CleanGarage  
          Have a yard sale @home  +CleanGarage +YardSale

          This works just fine to organize your project where:
          1. +SpringCleaning is a parent project with many other items (not shown)
          2. "(C) Clean out the garage @home +SpringCleaning +CleanGarage" is a child of #1
          3. all other items with +CleanGarage are children of #2.
          4. "Have a yard sale @home +CleanGarage +YardSale" is also a child of a +YardSale project.
          Having some fancy plugin to indent and auto-complete one task seems like overkill when you could use a sort and solve this without adding any complexity.

          On Wed, Apr 11, 2012 at 3:33 AM, Danilo Zanatta <dan.zanatta@...> wrote:
           

          Thank you all for the suggestions.


          One thing in common in all of those (and also a sentiment that I share) is that the todo.txt is supposed to be simple.

          So, my next question to the community is:

          How do you handle dependency among tasks in your daily workflow?

          Thanks again,
          Danilo




          --

        • Ed Blackman
          ... I try to keep only actionable tasks in my todo.txt. If I need to capture a task that can t be completed right now because some other task is blocking it,
          Message 4 of 9 , Apr 11 2:09 PM
          View Source
          • 0 Attachment
            On Wed, Apr 11, 2012 at 09:33:18AM +0200, Danilo Zanatta wrote:
            >So, my next question to the community is:
            >
            >How do you handle dependency among tasks in your daily workflow?

            I try to keep only actionable tasks in my todo.txt. If I need to
            capture a task that can't be completed right now because some other task
            is blocking it, I'll either add it directly to tickler.txt ("todo.sh
            addto tickler.txt task...") if I'm at my computer, or add it to todo.txt
            via the Android client and move it later, typically during my end of day
            review.

            As tickler tasks become unblocked, I move them back to todo.txt.

            --
            Ed Blackman
          • Ingo Karkat
            ... Unfortunately, the task number is the obvious identifier (in the CLI). However, as long as you avoid auto-archiving, direct edits, and let the CLI do the
            Message 5 of 9 , Apr 13 7:20 AM
            View Source
            • 0 Attachment
              On 10-Apr-2012 17:23:42 -0400, Ed Blackman wrote:

              > On Tue, Apr 10, 2012 at 02:22:49PM -0000, danilo77z77 wrote:
              >> I was wandering if someone has a solution to implement tasks dependency
              >> using the todo.txt tools. I have the cli and the Android Touch
              >> versions.
              >>
              >> My goal is to mark a task as depending on another task and, eventually,
              >> having an option to filter-out tasks that are not doable right now.
              >>From then, it'd be good to have a counter of the tasks that are on hold
              >> because they depend on a particular task and so on...
              >
              > [3 lines deleted]
              >
              > The first requirement is for a way to identify a task that other tasks
              > depend on, and that a task depends on one or more other tasks. The task
              > number doesn't work, since that changes with archive, and can change out
              > of band with direct edits or changes on other platforms.

              Unfortunately, the task number is the obvious identifier (in the CLI). However,
              as long as you avoid auto-archiving, direct edits, and let the CLI do the
              archiving (the Android client isn't able to do that yet, anyway), you can use
              the task number, provided that you adapt it when archiving.

              > [21 lines deleted]
              >
              > Up to this point, this is all doable for the CLI version. Add a few
              > custom actions to give a task an ID, mark tasks dependent on each other,
              > and show dependent tasks. Add a display filter to filter out dependent
              > tasks, and you're done.

              I have implemented such a system for myself. It consists of custom actions:
              wait, unwait, listblockers, lswait, blockerview, depview
              and hooks into do and archive actions. It's probably best described by one of my
              test transcripts:

              https://raw.github.com/inkarkat/todo.txt-cli-ex/master/tests/t2090-dependency-workflow.sh

              I don't use it extensively (I currently have 7 blocked tasks out of 400), but it
              has proven helpful for me, as I mainly use a heavily customized CLI client, anyway.

              > Implementing for the Android version is harder, because the todotxt
              > format isn't open for the id: and dep: extensions (rightly, I think).
              > But the Android code also doesn't have extension points that would allow
              > someone to write a plugin that would add new task menu items for adding
              > IDs and marking dependences, add a new view for seeing dependent tasks,
              > and filtering the display to remove dependent tasks from the default
              > view.

              True. I have brought this up before, and Gina has decreed [1] that simplicity
              trumps extensibility (except for the CLI). It would be difficult to keep all
              implementations of an extension compatible, anyway. So, any such extension
              requires you to chiefly use the CLI.

              -- regards, ingo

              [1] http://tech.groups.yahoo.com/group/todotxt/message/3806
            Your message has been successfully submitted and would be delivered to recipients shortly.