I agree with this approach. It works well with tree data containing fewer than 1000 nodes. It's also the amount of entities that appengine can fetch in one query.
Here's some example code which I'm using for a forum, it may help you get started: http://gist.github.com/370861 It's running at: http://www.caterpi.com/forum On Apr 18, 8:03 am, Tim Hoffman <[email protected]> wrote: > Here is the approach I would probably take unless you have many > hundreds of child tasks. > > I would keep a list of keys of all children of each project/task. > (You can then do a db.get and get all immediate children with single > call) > and each child has a reference to it's parent. In addition in each > item keep a list of all parents keys back to the root. That way you > can search for all children > in part of the tree/subtree > > (This approach is especially useful if you have multiple child types) > as back ref sets > are kind specific. > > Keep a running count of complete children at each level, rather than > trying to calculate the current state in a single big function, (keep > these subsidiary values up to date through tasks) > > T > > On Apr 18, 8:29 pm, gops <[email protected]> wrote: > > > > > hi , i am designing a simple project based to do list. the idea is to > > define tasks under project ( no workflow - just "task is completed" or > > not is required. ) in a hirarchial way. i.e. each task has multiple > > task and that task may have other multiple task. a project can be said > > to be completed if all task under that project are completed. , i > > tought of using refrenceproeperty to create hirarchy , but could not > > figure out easy way ( which do not take more than 30 seconds to find > > all the children of a project and check weather it is completed or > > not ) . to detect if project is complete or not. how to design > > database for such job ? and also , if i need to copy the project in > > order to define another project , how to copy hierarchical data ? > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google App Engine" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group > > athttp://groups.google.com/group/google-appengine?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group > athttp://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
