I'm using it.  It's fabulous.

I like the idea of including a drop down so that dependencies can be set
without editing the tiddler manually.  You'd want a multi-select list box,
if such a thing exists in MonkeyGTD, because some actions depend on more
than one prior action.

On Mon, Jan 12, 2009 at 8:12 PM, Simon Baird <simon.ba...@gmail.com> wrote:

> Carsten,
>
> I'm excited about this. Nice work. As for Jim's comments, I think this
> seems lightweight enough so you can just ignore it if you don't want to use
> it.
>
> When I get a chance I will have a play with this and hopefully include it
> in MGTD. I have some ideas about the UI also, something similar to the
> contact drop down but for other actions.
>
> Thanks for the contribution. Now that some time has passed, is anyone out
> there using this in production?
>
> Best wishes,
>
> Simon
>
>
> On Sat, Dec 20, 2008 at 11: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-SequencedActionsPlugin-demo.zip
>> ) 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
>>
>>
>
>
> --
> simon.ba...@gmail.com
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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