I am trying to implement a task tracker which is basically hierarchal in nature with three files: Projects, Milestones, Tasks.
I need a Project report which will display the associated Milestones and tasks for the found set. The concept of a portal within a portal discribes it nicely, but seems to be impossible.
I thought it might be possible to display from the middle level. Using a portal will show the child-tasks. But not sure how I can group all related Milestones together that are under a singe project.
Very interesting. Feel free to describe this operation of a portal in more detail. Do you think its better to have projects, tasks, and milestones in seperate, individual database files, or set them up to be different kinds of records in one database file? They do share a number of common fields.
I went with different files so I could take advantage of relationals lack of duplication i.e. 10 projects with 10 milestones with 10 tasks each. would mean 10 records in Projects, 100 in Miestones, and 1000 in Tasks.
Might not be the right method.
Since multiple kind of records has come up twice in two replies, I may be way off track. I'm guessing that it becomes a huge flatfile with some sort of match field to link the parents and children and a flag of some sort to say what type it is.
My files are setup the same as yours -- different files for projects, tasks, and milestones. LiveOak seemed to be describing one big flat file which I'm guessing has a field named something like "Type" which is used to classify a record as either a project, task or milestone. I also assume that there are self-joins in this file that allow matching and linking of these different kinds of records. What I thought was very interesting was LiveOaks description of an outline or "tree" type structure that displayed projects until you click on a portal row, then it expands to show indented Milestones which when you click on a milestone expands to show tasks. I'd like to hear more about how this is done with a global to real field relationship.
Phases - ParentIndex = "1"
Collapsing the list is just a matter or removing the element clicked on from gDisplay.
There is also some fooling around to keep the list centered in the portal by controlling the current portal row.
A hope the general idea is clear. A complete explaination with the indented, colored background management would be a little bit lengthly.
Yikes! Looks complicated. Thanks for the explanation. Its nice to know that such sophisticated things are possible with FileMaker. A pro such as yourself can really add a lot of value to a solution using such sophisticated techniques. I bet the final product looked great. I'm going to study your response for awhile, but it will probably be some time before I try something this involved.