Please Log In or Register - it's FREE!

3 Pages V  < 1 2 3  
Reply to this topicStart new topic
 Chucky Eggs Nested Tasks, Structured Outlook Tasks for WM Professional and Classic
All-Purpose Guru
post Apr 30 2008, 21:50
Post #41


Newbie
Group Icon

Group: Posters
Posts: 6
Joined: 9th January 2008
Member No.: 342,471

Device(s): Cingular 2125 (HTC Faraday)



QUOTE(chucky.egg @ Apr 29 2008, 13:41) *
...but it wouldn't necessarily be able to re-build the nesting, because it won't know which tasks go into which Root task.


Actually, I just rebuilt my trees by doing something similar to what I'm proposing. I went into the tasks and updated the task IDs from the old IDs to the new IDs. As long as you store the current task ID of the parents (what I called the ROOT tag) in the category tag (you can have more than one) you will be able to reconstruct.

If you notice the ROOT tag of any to-do doesn't match the real record ID, all you have to do is search the to-dos for any occurrences of the ID number from the ROOT tag in the parent. All of the tasks that had the old task ID are the children of the task that doesn't match. Update their task IDs to the new value. Then you update the ROOT tag in the parent with the new task ID.

I did this manually by grouping the tasks in Outlook and editing the tasks manually.
Viola, next time I ran Nested Tasks the trees were back.

QUOTE
I don't mean to suggest you remove the Tree and give up, but the device (not your Exchange account or desktop Outlook) provides the Task ID, so with 2 devices you will always have this problem.


I'm not planning on using two different devices. I was getting rid of WM6 because it was destroying my battery life. Same device, new OS. I won't be repeating the process.

What I'm proposing is a way to detect and fix a corrupted tree.

QUOTE
I was thinking about using something else to establish the lineage. Some combination of the Task subject and it's ID (that would make the nesting more useful in Outlook too). The trouble is I can't seem to rely on ANYTHING (except the Task ID) remaining constant.


That's why you store the task ID and when you notice it doesn't match, you can search for the children and update them all.

QUOTE
Filter / Search
I've been thinking of these as 2 functions, but perhaps they are one - a search being a text filter instead of a Priority filter.

What might be nice (depending on how many "branches" your tree has) is to keep the tree structure, but only return "leaf" tasks (those with no children) that match that Priority. You'll still get the context that way. How important is that context? depends on how any of us names our tasks I guess.


I think for now I'll get a simple Filter set up (only returning matching tasks, making them root tasks) and see how that works.


Anything is good. Thanks for your efforts.
Go to the top of the page
 
+Quote Post
chucky.egg
post Apr 30 2008, 22:49
Post #42


Did I say that out loud?
Group Icon

Group: News Team
Posts: 4,468
Joined: 20th August 2003
From: Kent, England
Member No.: 13,469

Device(s): Kaiser, Touch



QUOTE
If you notice the ROOT tag of any to-do doesn't match the real record ID, all you have to do is search the to-dos for any occurrences of the ID number from the ROOT tag in the parent. All of the tasks that had the old task ID are the children of the task that doesn't match.

Sorry, just not following you at all. Repairing nesting is something worth doing, so I'd like to pursue it

At the moment each Task has the ID of it's "parent" stored in its Categories field.
If the stored ID does not match the ID of another Task, then the Task is an "orphan", and gets added to the root.

I think you are suggesting each "parent" also stores the ID numbers of its "children"?
Because (potentially) all of the IDs have changed you'd have to show it, for each "parent" ID, what the new "parent" should be. I can't rely on enough consistency to auto-rebuild by deduction.




I'm working on the filtering at the moment (tearing my hair out!) and some bug fixes. New version in a few days probably.

Go to the top of the page
 
+Quote Post
chucky.egg
post May 1 2008, 13:54
Post #43


Did I say that out loud?
Group Icon

Group: News Team
Posts: 4,468
Joined: 20th August 2003
From: Kent, England
Member No.: 13,469

Device(s): Kaiser, Touch



Just finished adding Filtering (by Priority) functions and some bug fixes. What a nightmare!
I'm going to test it for a few days before I release it
Go to the top of the page
 
+Quote Post
chucky.egg
post May 2 2008, 11:08
Post #44


Did I say that out loud?
Group Icon

Group: News Team
Posts: 4,468
Joined: 20th August 2003
From: Kent, England
Member No.: 13,469

Device(s): Kaiser, Touch



New version: 0.6

Version 0.6 Change Log:

1. ADDED: Filter by Priority (eg Include High, Normal and exclude Low)
2. ADDED: Collapse Others function - collapse all but the currently selected Node
3. ADDED: Moved menus (left = Refresh, right = menu) in line with standards
4. FIXED: Changing Priority sometimes altered the displayed Subject (but not the actual Subject)
5. FIXED: Checking boxes not always marking Task as complete
6. FIXED: Unhandled Error when adding Task if NOT showing Completed Tasks
7. FIXED: Child nodes not always re-drawn when pasting Parent
8. FIXED: Save button not always working in Task edit screen
9. FIXED: Option to "start collapsed" logic was reversed (selected resulted in expanded instead)

Please note: Future releases will be done through AppToDate. The CAB file is now hosted on a mini site, so I don't really want to have to upload it here too. I will try to remember to post an update to this thread though.
Go to the top of the page
 
+Quote Post
chucky.egg
post May 4 2008, 20:07
Post #45


Did I say that out loud?
Group Icon

Group: News Team
Posts: 4,468
Joined: 20th August 2003
From: Kent, England
Member No.: 13,469

Device(s): Kaiser, Touch



New version 0.6.1

Version 0.6.1 Change Log:
1. ADDED: Option: Show Start Date on menu
2. FIXED: Selected node in view after Expand All
3. FIXED: Prefixes for Start, Due dates not loading
4. FIXED: Action button opening wrong Task after paste
5. FIXED: Unchecking box not updating Task Completed status

Download available now through AppToDate

Go to the top of the page
 
+Quote Post
Paul (MVP)
post May 4 2008, 20:46
Post #46


The Main Man
Group Icon

Group: Admin Team
Posts: 18,799
Joined: 6th November 2002
From: Norwich, UK
Member No.: 1

Device(s): MDA Vario III



Just grabbed it, nice use of description field in AppToDate biggrin.gif

P


--------------------
Paul O'Brien - Microsoft MVP, Mobile Devices, MoDaCo.network Founder. Read my Blog or get your own on MoDaCo!

Free 2.25GB online backup from Mozy... Click here for details!

MACHEIST IS BACK! Click Here to check out the uber-bundle of apps for you Mac! Check out MUPromo bundle too :D
Go to the top of the page
 
+Quote Post
chucky.egg
post May 6 2008, 10:03
Post #47


Did I say that out loud?
Group Icon

Group: News Team
Posts: 4,468
Joined: 20th August 2003
From: Kent, England
Member No.: 13,469

Device(s): Kaiser, Touch



Yeah, I read ninodelsol's post and it seemed logical, not sure why I hadn't done it before TBH
Go to the top of the page
 
+Quote Post
All-Purpose Guru
post May 6 2008, 17:08
Post #48


Newbie
Group Icon

Group: Posters
Posts: 6
Joined: 9th January 2008
Member No.: 342,471

Device(s): Cingular 2125 (HTC Faraday)



QUOTE(chucky.egg @ Apr 30 2008, 15:49) *
Sorry, just not following you at all. Repairing nesting is something worth doing, so I'd like to pursue it.

I think you are suggesting each "parent" also stores the ID numbers of its "children"?


No. A root has a different ID number tag, with "ROOT" rather than "TASK" in it. When you see "ROOT" in a category you know it's a root task.

The number of the tag is the ID number OF THAT TASK, not the children.

If it matches, no problem, nothing to see here, you can ignore it.

IF IT DOES NOT MATCH THE TASK ID, nesting is blown. The ROOT id will tell you the OLD task number, and the task number OF THAT TASK is the new number.

When I get some time, I'll draw you a picture. I'm not explaining it well, sorry.
Go to the top of the page
 
+Quote Post
chucky.egg
post May 6 2008, 18:16
Post #49


Did I say that out loud?
Group Icon

Group: News Team
Posts: 4,468
Joined: 20th August 2003
From: Kent, England
Member No.: 13,469

Device(s): Kaiser, Touch



Ahh, I see what you mean.
It should apply to all Tasks, not just the root Tasks, as any of them could be changed (in fact, after a re-sync it's quite possible that ALL of them will have changed).

So every Task has a note of it's "original" Task ID, stored in that Task itself. If that note no longer matches its current ID you can do a replace on the "original" ID, and substitute the current ID, to rebuild the structure.
Potentially tricky to implement. I'll have a look into it.

Thanks for the suggestion, I do like the idea.
Go to the top of the page
 
+Quote Post
All-Purpose Guru
post May 6 2008, 19:32
Post #50


Newbie
Group Icon

Group: Posters
Posts: 6
Joined: 9th January 2008
Member No.: 342,471

Device(s): Cingular 2125 (HTC Faraday)



Here's a quick script of what I was envisioning. Pardon the Royal references.

CODE

Original Tree
123 Elizabeth ROOT-123
124 Charles TASK-123 ROOT-124
126 William TASK-124
127 Henry TASK-124
125 Andrew TASK-123 ROOT-125
128 Beatrice TASK-125
129 Eugenie TASK-125

Blown Tree
500 Elizabeth ROOT-123 // Note ROOT != taskid -> subtree is blown
501 Charles TASK-123 ROOT-124
502 William TASK-124
503 Henry TASK-124
504 Andrew TASK-123 ROOT-125
505 Beatrice TASK-125
506 Eugenie TASK-125

Reconstruction of Tree, first pass (look for TASK-123 (we get this number from the ROOT-123 tag in task 500) and update to TASK-500)
500 Elizabeth ROOT-123
501 Charles TASK-500 ROOT-124 // TASK updated
502 William TASK-124
503 Henry TASK-124
504 Andrew TASK-500 ROOT-125 // TASK updated
505 Beatrice TASK-125
506 Eugenie TASK-125

Reconstruction of Tree, update root, look for other blown subtrees
500 Elizabeth ROOT-500 // ROOT now updated, children are now reattached
501 Charles TASK-500 ROOT-124 // Note ROOT != taskid -> subtree is blown
502 William TASK-124
503 Henry TASK-124
504 Andrew TASK-500 ROOT-125
505 Beatrice TASK-125
506 Eugenie TASK-125

Reconstruction of Tree, second pass (look for TASK-124 and update to TASK-501)
500 Elizabeth ROOT-500
501 Charles TASK-500 ROOT-124
502 William TASK-501 // TASK updated
503 Henry TASK-501 // TASK updated
504 Andrew TASK-500 ROOT-125
505 Beatrice TASK-125
506 Eugenie TASK-125

Reconstruction of Tree, update root, look for other blown subtrees
500 Elizabeth ROOT-500
501 Charles TASK-500 ROOT-501 // ROOT now updated, children are now reattached
502 William TASK-501
503 Henry TASK-501
504 Andrew TASK-500 ROOT-125 // Note ROOT != taskid -> subtree is blown
505 Beatrice TASK-125
506 Eugenie TASK-125

Reconstruction of Tree, third pass (look for TASK-125 and update to TASK-504)
500 Elizabeth ROOT-500
501 Charles TASK-500 ROOT-501
502 William TASK-501
503 Henry TASK-501
504 Andrew TASK-500 ROOT-125
505 Beatrice TASK-504 // TASK updated
506 Eugenie TASK-504 // TASK updated

Reconstruction of Tree, update root, look for other blown subtrees (none, finished)
500 Elizabeth ROOT-500
501 Charles TASK-500 ROOT-501
502 William TASK-501
503 Henry TASK-501
504 Andrew TASK-500 ROOT-504 // ROOT now updated, children are now reattached
505 Beatrice TASK-504
506 Eugenie TASK-504



This post has been edited by All-Purpose Guru: May 6 2008, 19:35
Go to the top of the page
 
+Quote Post
All-Purpose Guru
post May 6 2008, 19:37
Post #51


Newbie
Group Icon

Group: Posters
Posts: 6
Joined: 9th January 2008
Member No.: 342,471

Device(s): Cingular 2125 (HTC Faraday)



BTW, I should reiterate-- this app ROCKS. It does EXACTLY what I need, and works almost flawlessly.

THANK YOU VERY MUCH.
Go to the top of the page
 
+Quote Post
chucky.egg
post May 6 2008, 20:05
Post #52


Did I say that out loud?
Group Icon

Group: News Team
Posts: 4,468
Joined: 20th August 2003
From: Kent, England
Member No.: 13,469

Device(s): Kaiser, Touch



Thanks for the sample, I see what you mean.
Let me have some time to play with it, but in principal it should work. I like the idea, and it is something I wanted (having reset my own device and had to re-nest everything) so I'll see what I can do.

QUOTE
this app ROCKS. It does EXACTLY what I need, and works almost flawlessly.

Thanks for that, much appreciated, but what do you mean "almost" flawlessly?
Aside from re-structuring have you had any issues/errors that I've missed?
Go to the top of the page
 
+Quote Post

3 Pages V  < 1 2 3
Reply to this topicStart new topic

Collapse

Similar Topics

  Topic Replies Topic Starter Views Last Action
No New Posts E650 / S710 Active tasks bug
0 douglasc_uk 411 2nd November 2007 - 22:17
Last post by: douglasc_uk
No New Posts Sync Tasks/contacts over air with outlook/thunderbird
0 barfoo 1,150 6th February 2008 - 01:16
Last post by: barfoo
No New Posts Set Tasks to Vibrate
0 The Squonk 612 19th February 2008 - 18:38
Last post by: The Squonk
No New Posts Copy/Move email to Tasks
0 jimvet 383 19th March 2008 - 05:23
Last post by: jimvet
No New Posts Tasks and More Appointments on the Homescreen
8 dshap 3,163 1st May 2008 - 22:59
Last post by: jbone

2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 


RSS hit counter Lo-Fi Version Time is now: 5th July 2008 - 05:14


Please visit our 'Plus Partners' - these companies support MoDaCo through 'MoDaCo Plus' - Click Here for more details!

VITO Technology | Slipstream Solutions | Aiko Solutions | PDAMill | Inesoft | SBSH | LingvoSoft | Ruttensoft | Astraware | MadBeetle | Sprite Software

Opera | Westtek | TetraEdge | Z4Soft | KBM Systems | Conduits | Mini Lyrics Magic | Proporta | Semsons | SyncData | Active Kitten | Binaryfish | Textr

SPB Software House | Omega One | OmniSoft | Resco | eSoft Interactive | TenGo | ATEKsoft | imei-check | GpsGate | SplashData | DeveloperOne | monocube

WebIS, home of Pocket Informant, FlexMail and Note2Self

Would your company like to become a 'Plus Partner'? Click Here to contact us!