ForumsDevelopersToodledo Dependencies


Toodledo Dependencies
Author Message
whitten

Posted: Jun 17, 2008
Score: 0 Reference
I have been thinking about creating todo items that have dependencies and want to share my notes in case someone else has some ideas about it.

First of all, let me define what I am talking about.

One kind of dependency is that you can't do something until a particular time or day comes. The Toodledoo developers have handled this case because they have a "Start Date" implemented now. (Yay!)

Another kind of dependency is when some tasks require other tasks to be done first. For example, if you have a task to wash the car, and you have a task to buy the car, you don't want to have both tasks on your to-do list at the same time. You first must buy the car before you even want to think about washing the car. An alternate example of this idea, is that you must schedule a meeting and coordinate the attendance of all the attendees before you have a meeting. You must buy the food to cook before you can bake it, etc. There are a lot of ways that this issue comes into play.

In the simplest case, you have a task that depends on one other task to get done first. This is a simple linear dependency which basically can be thought of as a chain. Each link in the chain depends upon the previous link of the chain to be done first.

A bit unusual simple case is when a task needs to be done if some other task is NOT done. This case usually involves a contingency

In a more complex case, you have bottlenecks. A bottleneck is a single task that must occur before any of the later tasks can be done. The later tasks are all independent of each other, but all of them require the bottleneck to be done. An example of this might be that you must buy a car first before you put gas in it, before you get a registration sticker for it, and before you take Aunt Matilda on a Sunday Drive. Bottleneck tasks can be seen a prerequisite for all dependent tasks. A more general form of this is where you have list of tasks, all of which must be done to remove the bottleneck, but which don't have any particular order of accomplishment between themselves. I call this an all-list of tasks for a task.

A different complex case is one where you have a bottleneck-choice. In a simple bottleneck, only one task must be done before a group of tasks can be done. With a bottleneck-choice, you have a bottleneck, but it can stop blocking a group of tasks by a choice between several equally possible alternatives. The task "give a cold drink to Dad" might depend on a bottleneck-choice if Dad doesn't really care what kind of cold drink you give him. You go to the vending machine and pick any drink that is available and the bottleneck-choice is removed. I call this general case of a task dependent upon a group the any-list of tasks for a task.

The final way and most general way of describing a dependency is to have a boolean expression of tasks that this task is dependent upon. This basically allows you to have combination of tasks combined with AND, OR, and NOT.

This may seem a bit more elaborate than the designers were considering, however, I think the plan is one that will provide a very useful system. I'm trying to learn enough about the API and Javascript to do this client-side, but I'm still not experienced enough with REST interfaces, so I'm practicing.

The next part of my plan is to try to figure out how to accomplish all of this. I'm thinking of something involving tasks and proxy tasks and using the tags. The 64 byte limit on tags might trip me up. Also, is there a Non-API way to find out the task id for each of your tasks? (so I can try my plan out manually?)

Dave
713-870-3834
whitten

Posted: Jun 23, 2008
Score: 0 Reference
For anyone tracking the progress I am making on this task, I'm able to make queries from Javascript now, but found something out which probably most Javascript people know, which is that you can't use XMLHttpRequest in Javascript (on a client side browser) to attach to an API unless the Javascript refers to the same site that the Javascript was loaded from. This means you have to run a proxy program on your server (that has the Javascript) that then forwards the API request off the server and forwards it on to the Toodledo site. I've found a work-around for right now, but my dreams of making my code available to everyone else on this site have run into the stumbling block of not really being able to run an open proxy (even if it only hits Toodledo) for the general public.

I can test out my ideas right now on my stop-gap server, but it won't be workable once I get out of the development phase and into the active using phase for anyone else but me.

Would the developers consider allowing people to share Javascript code that can be downloaded from the Toodledo.com site (suitably vetted and checked out for suitability) so the proxy issue can be resolved by not having to have a proxy?

Also could someone answer my simple question of:
Is there a Non-API way to find out the task id for each of your tasks? so I can try my different ideas about dependencies manually?


Dave
713-870-3834
Jake

Toodledo Founder
Posted: Jun 24, 2008
Score: 0 Reference
The API was designed specifically to allow people to build upon Toodledo and this is the official supported way to extend our functionality. The API will always be backwards compatible so that your application will always work.

If you wish to modify the javascript running on our site, you are welcome to do this and you may want to look into Greasemonkey to help you. However, keep in mind that your modifications may break at any time as we update our website with new functionality.
whitten

Posted: Jul 15, 2008
Score: 0 Reference
I asked previously:

Is there a Non-API way to find out the task id for each of your tasks? so I can try my different ideas about dependencies manually?

I found that the http://www.toodledo.com/html/

interface gives you task ids as part of the URL when you use it.

I hope this helps someone else.

Dave
Jake

Toodledo Founder
Posted: Jul 15, 2008
Score: 0 Reference
The task id number is also located inside the DOM in several places. If you view the source for your main list, you should see it.
whitten

Posted: Aug 18, 2008
Score: 0 Reference
Another post discussing more user interface issues is at
http://www.toodledo.com/forums/2/507/-2/task-dependencies-lets-brainstorm-how-it-would-actually-look .html

hopefully this will help us decide what we want
and figure out how to do it.
whitten

Posted: Oct 15, 2008
Score: 0 Reference
I don't know why, but I can't follow the above link.
(even though I cut it out of my browser). I'll try to find a better link to the other discussion.


This message was edited Oct 15, 2008.
Jake

Toodledo Founder
Posted: Oct 15, 2008
Score: 0 Reference
The URL had a space in it, so the end was getting cut off.

http://www.toodledo.com/forums/2/507/-2/task-dependencies-lets-brainstorm-how-it-would- actually-look.html


This message was edited Oct 15, 2008.
You cannot reply yet

U Back to topic home

R Post a reply

To participate in these forums, you must be signed in.