phpCollab Community
Discuss everything phpCollab!

The forums are currently in READ-ONLY mode while we upgrade the forums.
Home » Development » Development » Design Discussion - When is a task a Project and a Project a Task
Design Discussion - When is a task a Project and a Project a Task [message #7903] Sat, 27 January 2007 08:56
mcasey is currently offline  mcasey
Messages: 8
Registered: January 2007
Location: Sydney Australia
phpCollab guest
Hi All

Hi Guys - This is a great project

d723 Asked - why a separate subtask table? [message #6272]

But I have to say I dont think he went far enough....


To the discussion, lets start with some definitions for task, project and subtask

What is a Task?
Something we need done that someone has to do, with associated information like start and completion times, who, what etc. and may have subtasks.
A task is a component of a Project.

What is Project
Something we need done that someone has to do, with associated information like start and completion times, who, what etc. and normally has tasks.

What is a SubTask
Something we need done that someone has to do, with associated information like start and completion times, who, what etc. and may have subtasks.
A subtask is a component of a Task.

Um Ah - Notice any similarities ? I copied and pasted the definitions for Project and Subtask and with minor alterations made the relevant.

Ok - So we know what a task is, something we need done that has a parent and may be a parent. A Project is something we need done that has components. A subtask is something we need done with a parent.

See where I am going?

In a design world, why have all three tables when one will do ?

If we take the task table (because it is in the middle)
If we change the project field to be parent and add field called taskcount.

Parent points to the parent task, taskcount is incremented each time we add a task to the parent etc.

In trying to fill the forseeable search requirements four conditions arise:


- parent field empty - task is a root project.

- taskcount > 0 or parent field empty - task is a project.

- parent field has value - task is a task or subtask

- taskcount empty - task is a task only

So what do we get out of this.

- The ability to do top down project design.
- Nested Tasks
- No distinction between tasks and subtasks - Reduced coding (click on a subtask and you open it as a task) therefore no 'code for subtask is redundant'

Comments please: Where is the flaw in this design ?


Previous Topic: SJIS
Next Topic: Having JPGraph Issues?
Goto Forum:
  


Current Time: Fri May 24 12:45:37 CEST 2013

Total time taken to generate the page: 0.28463 seconds