New Milestone and Key tasks are created on a Program when associating a project to it through the 'Subproject' section under the Program: Properties Tab. When a subproject is added to a master project, a proxy task is automatically created in the work breakdown structure of the master project that serves as a place holder for the subproject.
How do the task details get updated for these tasks which are created by the system? The task Start and Finish dates are updated based on the Start and Finish date of the Project. But how are the other fields like Progress, %Complete, Milestone, Key task etc. getting updated? Under what conditions will these tasks be editable for users?
Milestone and key tasks are both user entered attribute values and they control how the task is scheduled (via auto-schedule). Note that a milestone is more of a 'concept' than a task. It marks a point in time and is typically part of a dependency tree. It is usually not assigned to a staff member and Clarity doesn't support assignments to a milestone task.
Percent Complete has two meanings. In the application it is manually entered by the user and simply indicates the amount of work the user feels has been completed on a task.
In Open Workbench (OWB) and Microsoft Project (MSP), you can optionally have the %Complete value computed based on the ratio of actual work completed to total work assigned on the task.
Proxy tasks should NOT be editable.
The proxy task's status would never change. A regular task becomes "started" when there is actual and remaining work. It becomes "completed" when there is no more remaining work. Since a proxy task cannot be assigned and therefore never have actual work, it would ever have a status other than "not started".
The following query will return results which differentiate the tasks of a project and tasks displayed because of the sub-projects. mp.id = [projectID] (this is the ID of the master project). Output will be all proxy tasks in the given master.
select mp.name masterProject,t.prname proxyTask,sp.name subProject
from inv_investments mp,prtask t,prsubproject s,inv_investments sp
where mp.id = 5000003
and t.prprojectid = mp.id
and s.prtaskid = t.prid
and sp.id = s.prrefprojectid