Hi,
   Well done on the coding.  Action dependancies are outside of GTD
though, and within the realm of project planning.  There are loads of
free and commercial project planning tools on the market, that will do
dependancies, critical path ananlysis, "float", resource management
etc.  MS Project is one.

However there are very few GTD tools, and MGTD is probably the best
there is.  Please don't change MGTD from a GTD tool into a ten-a-penny
project manager.

About half the posts to this group are requests for MGTD to be turned
into something else, eg. project planner, mail client, address book,
PIM tool, calenndar manager.  All worthy applications, but nothing to
do with GTD really, and well catered for elsewhere.

Sorry to be so negative around Christmas time.  Have a happy
Christmas!  And well done on the coding, it's more than I could have
managed.

Jim.


On Dec 20, 1:33 pm, Carsten Thiele <googlegro...@carsten-thiele.de>
wrote:
> Hello,
>
> i converted my "Hack" to a complete plugin. I Uploaded a Demo into
> this group as file: monkeygtd-SequencedActionsPlugin-demo.zip 
> (http://gtd-tiddlywiki.googlegroups.com/web/monkeygtd-SequencedActions...
> ) The html-Upload did not work, so i added the zip-File, that can be
> downloaded from the files area.
>
> When you unzip it, and open the file with this added to the filename:
>
> #[[SequencedActions%20Demo]]%20Action1%20Action2%20Action3%20Action4%20
> [[Do%20Something]]%20Action5
>
> or  just open the "SequencedActions Demo" Tidder for instructions.
>
> Maybe this helps,
> Carsten
>
> On 17 Dez., 22:22, Carsten Thiele <googlegro...@carsten-thiele.de>
> wrote:
>
> > Hello,
>
> > i modified my monkeygtd to support "sequenced"-Actions. I use the
> > normal Tag-Feature to Control the sequence of the actions. When i
> > create an action that depends on another action i just "Tag" it with
> > the name of the first one, and set it to "Future". When the first
> > Action is marked as "Done" or, if it is a Ticker, is marked as
> > "Actioned" (only works for one-time-Ticklers). the second action is
> > modified from "Future" to "Next". There is no GUI-Support for this, i
> > have to edit the Actions and type in manualy the name of the Actions
> > in the Tags-Field.
>
> > Maybe with an Example its more clear to understand:
>
> > First
> > Action:
> > "Action 1"
>
> > Can be done when Action 1 is finished:                   "Action
> > 2"      "Action3"
>
> > Can be done when A2 and A3 are finished:                      "Action
> > 4"
>
> > I create the actions like this
>
> > Action 1, a normal "Next" Action
>
> > Action 2 and Action 3 "Future" Actions Tagged with "[Action 1]"
>
> > Action 4 "Future" action Tagged with "[Action 2] [Action 3]"
>
> > - Now, when i finish "Action 1", the code searches for Actions with
> > the Tag "Action 1", and finds "Action 2" and "Action 3".
> > - For each Action the code searches if all required Actions (only
> > "Action 1" in this case) are done. If this is true, the Action (here
> > Action 2 and 3) are moved from "Future" to "Next"
> > - If i "undo" Action 1, Action 2 and Action 3 are moved from "Next" to
> > "Future"
>
> > - When "Action 2" is finished, again all Actions with the Tag "Action
> > 2" are searched, in this case just "Action 4".
> > - The Code starts searching all Actions and Ticklers that are
> > referenced in the Tag-field of Action 4. It finds "Action 2" as done,
> > but "Action 3" as not done, so the "Action 4"-Action is NOT moved from
> > "Future" to "Next"
> > - Now "Action 3" is done, too.
> > - The Code again searches for all Actions and Tickers that are
> > referenced in the Tag-field of Action 4. Now it finds both Actions
> > (Action 2 and Action 3) as "Done" so "Action 4"  is moved from
> > "Future" to Next".
>
> > The visualisation in the GUI for this solution is not very good. In
> > the Project-Dashboard the Actions are not ordered in the right way,
> > and  you can not see that there are dependencies between the actions.
> > But for me this is ok, its just for "auto-nexting" one of the future
> > actions, so that i dont have to do a check of the "Projects with no
> > next action"-View. Or Project Dashboard every time i finish an Action
> > that is part of a Project.
>
> > Maybe someone else can add some UI-Support to this solution.
>
> > Until now i did not test it with MonkeyGTDs with many Actions, so
> > maybe there is still a performance problem with this, but for my (at
> > the moment) small test environment it works good. Next step will be
> > more tests and the integration in my "production"-monkeygtd.
>
> > Please do not integrate this without good testing in your production-
> > Monkey-GTDs. Maybe there is still something wrong that can cause your
> > data to be damaged!
>
> > So here is what i have done.
>
> > I modified the function "TiddlyWiki.prototype.setTiddlerTag". now it
> > contains this code:
>
> > TiddlyWiki.prototype.setTiddlerTag = function(title,status,tag)
> > {
> >         var tiddler = this.fetchTiddler(title);
> >         if(tiddler) {
> >                 var t = tiddler.tags.indexOf(tag);
> >                 if(t != -1)
> >                         tiddler.tags.splice(t,1);
> >                 if(status)
> >                         tiddler.tags.push(tag);
> >                 tiddler.changed();
> >                 this.incChangeCount(title);
> >                 this.notify(title,true);
> >                 this.setDirty(true);
>
> >                // here starts my modification
> >                 if (tag == "Done" || tag == "Actioned") {
> >                         var dependend = this.getTaggedTiddlers(title);
> >                         var tiddlersWithTag = "";
> >                         for(var m = 0; m < dependend.length; m++) {
> >                                 var currentTiddler = dependend[m];
> >                                 if (status) {
> >                                         if 
> > (this.allPreviousActionsAreDone(currentTiddler)) {
> >                                                 
> > this.setTiddlerTag(currentTiddler.title, !status, "Future");
> >                                                 
> > this.setTiddlerTag(currentTiddler.title, status, "Next");
> >                                         }
> >                                 } else {
> >                                         
> > this.setTiddlerTag(currentTiddler.title, !status, "Future");
> >                                         
> > this.setTiddlerTag(currentTiddler.title, status, "Next");
> >                                 }
> >                         }
> >                         story.refreshAllTiddlers();
> >                 }
> >         }
>
> > };
>
> > and i added this new function:
>
> > TiddlyWiki.prototype.allPreviousActionsAreDone = function
> > (tiddlerToCheck) {
> >         var tagsToIgnore = ["Future", "Done", "Tickler", "Action", "Realm",
> > "Project", "[(Waiting For)]"];
> >         var tags = tiddlerToCheck.tags;
> >         var allPreviousDone = true;
> >         for (var m = 0; m < tags.length; m++) {
> >                 var currentTag = tags[m];
> >                 if (!tagsToIgnore.contains(currentTag)) {
> >                         var tiddlerToCheck = this.fetchTiddler(currentTag);
> >                         if((tiddlerToCheck.tags.contains("Action") && !
> > tiddlerToCheck.tags.contains("Done")) || (tiddlerToCheck.tags.contains
> > ("Tickler") && !tiddlerToCheck.tags.contains("Actioned"))) {
> >                                 allPreviousDone = false;
> >                         }
> >                 }
> >         }
> >         return allPreviousDone;
>
> > }
>
> > Maybe this is usefull for someone, comments are welcome.
>
> > Carsten
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "GTD 
TiddlyWiki" group.
To post to this group, send email to GTD-TiddlyWiki@googlegroups.com
To unsubscribe from this group, send email to 
gtd-tiddlywiki+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/GTD-TiddlyWiki?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to